🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

页面结构读取器 LISHUANGXI1412/dsh-page-struct

DeepSeek Harness
LISHUANGXI141214 天前有提交已提供中文文档扫描:含敏感能力

只读提取表格坐标、影子DOM字段与代码块结构

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LISHUANGXI1412/dsh-page-struct
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · search
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    index.js:29
    url = existsSync(abs) ? pathToFileURL(abs).href : abs
  • 读取本地文件
    index.js:38
    if (!existsSync(portFile)) return undefined
  • 读取本地文件
    index.js:39
    const port = String(readFileSync(portFile, 'utf8')).split(/ ? /)[0].trim()
  • 发起网络请求
    index.js:80
    const response = await fetch(`http://127.0.0.1:${port}/json/version`, {
  • 读取本地文件
    vendor/page-struct/index.mjs:24
    const PROBE = readFileSync(join(here, 'core', 'probe', 'inpage.js'), 'utf8')
  • 读取本地文件
    vendor/page-struct/index.mjs:47
    for (const p of BROWSERS) if (existsSync(p)) return p
  • 读取本地文件
    vendor/page-struct/index.mjs:56
    if (!existsSync(abs)) throw new Error(`本地文件不存在: ${abs}`)
  • 发起网络请求
    vendor/page-struct/index.mjs:63
    const res = await fetch(`http://${host}:${port || 9222}/json/version`)
  • 写入本地文件
    vendor/page-struct/index.mjs:123
    mkdirSync(dirname(outPath), { recursive: true })
  • 写入本地文件
    vendor/page-struct/index.mjs:124
    writeFileSync(outPath, snapshot, 'utf8')
  • 发起网络请求
    vendor/page-struct/core/cdp.mjs:22
    const res = await fetch(`http://127.0.0.1:${port}/json/version`)
  • 执行外部命令来自配置/变量
    vendor/page-struct/core/cdp.mjs:63
    const child = spawn(exe, args, { stdio: ['ignore', 'pipe', 'pipe'] })
  • 执行外部命令固定命令
    vendor/page-struct/core/cdp.mjs:86
    spawnSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' })
  • 删除本地文件递归
    vendor/page-struct/core/cdp.mjs:103
    rmSync(profileDir, { recursive: true, force: true })
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 的只读页面结构:表格坐标、shadow DOM 字段、代码块、置信度标签。

README

由 DeepSeek 最新模型翻译生成
dsh-page-struct 给 DSH 用的只读页面结构读取器,挂在 CUA 浏览器上。 提取表格坐标、shadow-DOM 字段、代码块和置信度标签——不用截图,也不用整页 dump。 只读的页面结构读取器:CUA 负责浏览器和登录,page-struct 只负责把页面读成结构。不做点击、输入或页面操作。 架构 CUA browser (profile: %LOCALAPPDATA%\CuaDriver\BrowserProfiles\dsh-page-struct) │ CDP 127.0.0.1:<port> ├── CUA tools: browser_navigate / browser_click / browser_type └── dsh-page-struct: page_structure / page_region → same process, same cookies, same localStorage 插件不启动浏览器,也不维持浏览器存活。它读取 browser_prepare 为指定 CUA 配置档写下的端口,通过 CDP 连上去,在同一个浏览器里打开页面。浏览器生命周期和登录状态都归 CUA 管。
展开完整文档(README 剩余 1 节)
dsh-page-struct

给 DSH 用的只读页面结构读取器,挂在 CUA 浏览器上。 提取表格坐标、shadow-DOM 字段、代码块和置信度标签——不用截图,也不用整页 dump。

只读的页面结构读取器:CUA 负责浏览器和登录,page-struct 只负责把页面读成结构。不做点击、输入或页面操作。

架构

CUA browser (profile: %LOCALAPPDATA%\CuaDriver\BrowserProfiles\dsh-page-struct)
│ CDP 127.0.0.1:<port>
├── CUA tools: browser_navigate / browser_click / browser_type
└── dsh-page-struct: page_structure / page_region
→ same process, same cookies, same localStorage

插件不启动浏览器,也不维持浏览器存活。它读取 browser_prepare 为指定 CUA 配置档写下的端口,通过 CDP 连上去,在同一个浏览器里打开页面。浏览器生命周期和登录状态都归 CUA 管。

为什么需要它

原生快照经常丢掉智能体需要的结构:

- 表格的行列坐标、合并单元格、多级表头;
- shadow-DOM 组件字段(等级 = Lv.42);
- 不是 的 div/grid 伪表格;
- GitHub 风格页面上的代码块和日志块;
- 某个区域是否可信(high / partial / unreliable)。

在项目自带的 4 页 × 13 题基准测试里,结构化表示让 13/13 道题都能确定答案,扁平快照只有 2/13,字符数还少了 10 倍。基准测试和它的注意事项见上游 page-struct 项目。

前提:CUA 浏览器正在运行

先启动一次指定的 CUA 配置档:

browser_prepare({ profile: { mode: "isolated_named", name: "dsh-page-struct" } })

会弹出一个可见的 Chrome 窗口。在这个窗口里登录你要用的站点。配置档会持久化,所以持久 cookie 和 localStorage 重启后还在。

之后插件的默认端点就能用了:

{ "url": "https://example.com" }

CUA 浏览器没运行时,工具会返回明确的错误。用 browser_prepare 启动后重试。插件没法启动它,也没法维持它存活。

工具

| 工具 | 用途 |
| page_structure | 区域索引、表格矩阵、shadow-DOM 字段、代码块、置信度证据。 |
| page_region | 索引被截断后,单独取一个区域(T1 / P1 / X1 / S:<host> / C1)。尽量复用最近一次分析结果。 |

两个工具都是只读的。点击、输入、导航请用 CUA/浏览器工具。

配置

config:
proxy: ''
endpoint: cua:dsh-page-struct
cuaProfile: dsh-page-struct
exe: ''
cacheTtlMs: 120000
cacheMax: 3

| 键 | 含义 |
| endpoint | cua:<profile>(默认)、host:port,或 "" 表示一次性临时浏览器。auto 是 cua:<cuaProfile> 的别名。 |
| cuaProfile | 指定的 CUA 配置档。默认 dsh-page-struct。 |
| proxy | 仅用于 endpoint: ""。 CUA 或另一个浏览器必须在启动时配好自己的代理。 |
| exe | 可选,一次性临时浏览器用的 Edge/Chrome 路径。 |
| cacheTtlMs / cacheMax | page_region 使用的内存快照缓存。 |

端点模式

- cua:dsh-page-struct — 连接到正在运行的 CUA 浏览器,不新开浏览器。
- host:port — 连接到任何已暴露 CDP 的浏览器。
- "" — 启动一次性临时浏览器(若设置了 proxy 则带上);适合测试夹具、离线快照,或需要走代理的外部页面。

登录状态

CUA 的 isolated_named 配置档就是普通的持久化 Chrome 配置档:持久化 cookie 和 localStorage 在关闭并重新运行 browser_prepare 后依然保留。会话 cookie(没有 Max-Age)仍会按设计过期。

插件绝不碰你日常用的 Edge/Chrome 配置档,也绝不复制 cookie。

读取当前标签页

page_structure({ tab: "current" }) 连接到 CUA 浏览器里已有的页面,不新建标签页,也不导航。它共享 cookie/登录状态,读取当前的 DOM(点击后、登录后、SPA 路由切换后)。

选择顺序:

1. 显式指定的 targetId;
2. URL 精确匹配(url),再按 URL 前缀匹配;
3. 最后一个非空白页面目标。

CDP 不暴露「活动」标签页,所以有多个标签页时,要精确指定就传 targetId。输出的 页面: 行会报告实际读取的 URL。

示例:

{ "tab": "current" }
{ "tab": "current", "url": "https://example.com/report" }
{ "tab": "current", "targetId": "A95662CFE231DF63DE2DAEF4049DAB6F" }

page_region 接受同样的 tab/targetId,缓存键匹配时复用分析结果。

安全与隐私

- 页面内容作为工具结果返回给 DSH 模型。插件不会自行把它发给任何第三方服务。
- CUA 浏览器是带持久化配置档的真实 Chrome。把它当作已登录的浏览器对待:不要把它的 CDP 端口暴露给不可信的本地进程。
- proxy 可以让临时浏览器的流量走代理;CUA 浏览器的流量遵循 CUA 浏览器自身的启动配置。
- 插件运行在 DSH Host 进程里,只读取页面;不点击、不输入、不下载、不修改 cookie。

限制

- 仅支持 Windows。 依赖 CUA 的原生浏览器配置档布局。
- CUA 必须正在运行。 插件无法启动它;请用 browser_prepare。
- 只读。 不点击、不输入、不滚动、不导航。
- 标签页选择是启发式的。 打开多个标签页时,tab:"current" 可能选错;要精确指定就传 targetId。
- 延迟。 复用热浏览器约 0.6–0.8s;冷导航可能 1–2s。大页面会截断到索引;细节用 page_region。
- 不支持的内容。 闭合 shadow DOM、纯自定义绘制的 canvas,以及部分虚拟化列表会标记为 unreliable。

许可证

MIT。内置的 page-struct 核心(vendor/page-struct/)同样是 MIT;署名信息见其 package.json 和上游项目。
预览分享卡片长什么样 ↓LISHUANGXI1412/dsh-page-struct
分享 · DeepSeek Harness Hub
LISHUANGXI1412/dsh-page-struct

只读提取表格坐标、影子DOM字段与代码块结构

回到顶部