dsh-sidebar-cdp

DSH PLUGIN浏览器与联网

仓库 xingzoudefengye/dsh-sidebar-cdp

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-sidebar-cdp 是 xingzoudefengye 维护的 浏览器与联网 类 DSH 可安装插件, 仓库为 xingzoudefengye/dsh-sidebar-cdp,许可证 NOASSERTION。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-sidebar-cdp 是浏览器与联网类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类浏览器与联网 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-29 创建于 未标注
README 8.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:xingzoudefengye/dsh-sidebar-cdp
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

联网搜索

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在浏览器与联网场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-sidebar-cdp当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-our-free-model L3 · 安装规范通过 低风险 8,796 未标注 有
dsh-web L3 · 安装规范通过 低风险 8,549 未标注 无
BrowserSkill L4 · 沙盒安装通过 低风险 8,456 未标注 有
dsh-pocket L5 · 运行验证通过 低风险 1,656 0.2.0-rc.2 等 12 个 有
Browser4 L4 · 沙盒安装通过 中风险 1,152 未标注 有

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方xingzoudefengye仓库 dsh-sidebar-cdp · 默认分支 未标注
分类浏览器与联网search
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-29最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-sidebar-cdp

让 agent 直接读、点 DSH 桌面版侧栏里那个原生浏览器页面——不是另开一个有头窗口,也不是 iframe 镜像。

纯插件,零配置:装完就能用,不需要启动参数、不需要改快捷方式、不碰官方桌面版。

它是怎么做到的

工具注册在 host 进程,而页面是壳渲染进程里的一个 ``。所以插件有两半:

host 进程                          壳渲染进程
sidebar_* 九个工具        ──路由──►  client.js
GET  /dsh-sidebar-cdp/jobs          └─ 抓  元素
POST /dsh-sidebar-cdp/result        └─ executeJavaScript / sendInputEvent / capturePage

三个能力都长在 `` 元素上:

能力 用途
executeJavaScript 读正文、取结构树、填输入框、跑任意表达式
sendInputEvent 真实鼠标事件(element.click() 是合成事件,isTrusted === false)
capturePage 像素截图

宿主和客户端之间只隔着插件自己的两条 HTTP 路由;客户端长轮询取任务,执行完回写结果。没有第二个进程,没有端口,没有对应用的任何修改。

兼容性

平台 支持 说明
Windows 10/11 ✅ 已实测(Windows 11,DSH 0.2.1-rc.2 桌面版) install-desktop.mjs 与 smoke.mjs 都是 Node 脚本,PowerShell 里直接 node 跑
macOS ⚠️ 设计支持,未实测 桌面版 profile 路径同样是 ~/.dsh/profiles/desktop;` 的executeJavaScript/sendInputEvent/capturePage` 是 Electron 跨平台 API
Linux ❌ 官方桌面版不发 Linux
  • Node:engines 要求 >=22。
  • DSH:peerDependencies 全是 *,不锁版本;需要能装第三方 bundle 的 0.2.x(本文按 0.2.1-rc.2 验证)。
  • 只对桌面版有效:它驱动的是应用自己的 `,web 端(浏览器里开127.0.0.1:…`)的侧栏没有这种元素。

安装

装官方桌面版,启动一次(它会创建 profile),然后:

git clone https://github.com/xingzoudefengye/dsh-sidebar-cdp
node dsh-sidebar-cdp/scripts/install-desktop.mjs
# 完成 → 完全退出桌面版,从图标重新启动

脚本做两件事:往 ~/.dsh/profiles/desktop/package.json 写依赖与 dsh.profile.bundles(桌面版 profile 由应用独占管理,dsh plugin add 会拒绝写入),然后在那个目录跑 pnpm install。改配置前备份到 %TEMP%\dsh-desktop-profile-<时间戳>\。

参数:--dry-run 只看会改什么,--no-install 只改配置,--spec=link:<路径> 装本机源码。

验证

按顺序四步,每步都有可核对的输出:

  1. host 半边:node scripts/smoke.mjs → 工具数:9 → sidebar_targets, … + 注册通过。
  2. 重启桌面版(完全退出,不是最小化),侧栏「+ → 浏览器」打开任意页面。
  3. 列页面:让 agent 调 sidebar_targets → 应该看到 w 标题 — 地址 一行。
  4. 真链路:sidebar_read 能出正文 → sidebar_click 点一个链接并看标题变化 →
    sidebar_screenshot 返回 PNG 路径(用普通文件工具读回来确认不是白图)。

排错见下节。

工具

工具 用途
sidebar_targets 列出侧栏里所有页面(* 标记可操作的)
sidebar_read 读可见文本 + 前 40 条链接,最省 token 的入口
sidebar_snapshot 结构树(role + 名字 + [e12] 引用),用来找控件
sidebar_click 按选择器或可见文字点击,真实鼠标,落点被遮住时拒绝
sidebar_type 聚焦并写入,回报读回来的值
sidebar_eval 页内执行 JS,兜底用
sidebar_navigate 跳转并等加载完成
sidebar_wait 等某个选择器出现
sidebar_screenshot 截图写盘,返回路径

所有工具都接受 target(URL / 标题子串或 id,缺省取最后打开的那页)。

四个边界,先说清楚:

  • sidebar_screenshot 拍到的是视口,不是整页(capturePage() 没有 captureBeyondViewport;fullPage 参数目前无效)。
  • sidebar_snapshot 是DOM 结构树,不是浏览器的无障碍树。角色由标签与 role 属性推出来,够用来找控件,但不如真 AX 树准。
  • sidebar_eval 的返回值不可结构化克隆时会被处理:函数/Map 类会退化成 JSON 文本,DOM 节点则直接变成 {}(Electron 的静默行为,不报错)——要节点信息就在页面里先取属性,例如 document.body.className。
  • 窄侧栏会把桌面布局裁掉。 侧栏页面宽约 575 CSS 像素(截图 863 px = 575×dpr1.5),而百度这类首页按 1260 宽布局、还把 overflow-x 设成 hidden,于是右侧元素既看不见也横滚不到,sidebar_click 会如实拒绝而不是乱点。要够到它就把页面缩小:sidebar_eval 跑 document.body.style.zoom = '0.45',用完再置空。

工具在动手前会挡掉三种"看起来成功"的情况:元素尺寸为 0(新版页面常把老 input 留成 0×0 的壳)、落点被别的元素接住、元素在视口外滚也滚不过去。命中多处时优先挑屏幕内那一个(吸顶导航和页尾导航常是同一个链接的两份)。

可选旁路:CDP

应用假如正好带 --remote-debugging-port=9222 启动,可以把它切到 transport: 'cdp'(改 profile 的 cordis.patch.yml):这条路能给出浏览器自己的无障碍树,也方便离线冒烟(node scripts/smoke.mjs 9222)。默认不用它,上面两处边界在默认路径下即适用。

安全

两条路由自己做信任检查(connection.requestRejection,与 /api 同一套),只接受带会话认证的请求,且宿主只监听回环。它能做的事等于"用你侧栏那个浏览器的登录态操作页面",不值得对任何本机进程开放。

排错

现象 原因
侧栏里没有打开的网页 侧栏浏览器没开页面;打开一个地址即可
侧栏插件没有客户端半边在跑 装着插件之后没重启过桌面版;新客户端模块在启动时加载
装了插件但工具列表里没有 sidebar_* 检查 profile package.json 的 dsh.profile.bundles 里有 dsh-sidebar-cdp,以及 node_modules/dsh-sidebar-cdp 是软的还是真目录
工具返回 value is not lossless JSON 0.1.0 的 bug(桥返回 {value,page} 没取 .value),升到 0.1.1 并重启
第一次操作抛 An object could not be cloned 0.1.0 的 bug(注入页面库时把带函数的对象当返回值),升到 0.1.1 并重启
改了代码但行为没变 客户端半边(lib/client.js)热更;host 半边(index/tools/bridge/client-page)必须重启桌面版

卸载

从 ~/.dsh/profiles/desktop/package.json 里删掉 dependencies 与 dsh.profile.bundles 中的
dsh-sidebar-cdp,在该目录 pnpm install,然后完全退出并重启桌面版。
截图落在系统临时目录(%TEMP%\sidebar-cdp\shots\),可以直接删。

相关插件

插件 关系
dsh-browser 旧方案:每会话起独立 Chrome 再镜像到侧栏。和官方侧栏不共享页面,2026-10 起被本插件取代
dsh-env(私有) 另一台机器的复原清单里会通过 git clone + install-desktop.mjs 装本插件

目录

lib/index.js        插件入口:装配桥 + 注册工具
lib/tools.js        九个工具的定义与渲染
lib/bridge.js       两条路由、任务队列、信任检查
lib/driver.js       传输层门面(client 默认 / cdp 可选)
lib/client-page.js  host 侧的客户端传输实现(与 page.js 同签名)
lib/client.js       客户端半边(壳渲染进程)+ 注入页面的库
lib/cdp.js          CDP 传输(旁路)
lib/page.js         CDP 下的页面操作(旁路)
lib/schema.js       作者写法 → JSON Schema + 参数校验(不依赖 dsh-tools)
scripts/install-desktop.mjs  装进桌面版 profile
scripts/smoke.mjs            假 ctx 冒烟
scripts/patch-shortcuts.ps1  维护:把快捷方式上的 --remote-debugging-port 去掉(曾经加过才有用)

维护须知见 AGENTS.md。

许可

MIT

常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
dsh-sidebar-cdp 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:xingzoudefengye/dsh-sidebar-cdp` 即可。

dsh-sidebar-cdp 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-sidebar-cdp 安全吗?

低风险。

dsh-sidebar-cdp 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-sidebar-cdp 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

xingzoudefengye 的其它插件

5 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。