dsh Browser Control(dsh 浏览器助手)
让 DeepSeek Harness 直接操控你正在使用的 Chrome/Firefox 标签页,纯文本接口、无需视觉能力,保留登录与会话状态。
测试文件显示有安全意识:敏感值掩码(password 输入回显为 ••••)、拒绝回显页面内容攻击文本、内容预算(maxItems/maxChars)限制数据外流量。但 manifest 权限声明未在证据中,最小权限只能推断;用户确认机制仅见 includePageDelta 开关,未见明确的敏感操作确认流程;数据流向说明依赖未展示的 README;外部效果(点击、导航、新标签)存在但未展示防御性确认;回滚机制完全未见;来源归属有 LICENSE 与作者信息。扣分点:无 manifest、无确认/回滚证据。
CI 流水线(clean install、frozen lockfile、typecheck、test、build、smoke)支持依赖可用性与自洽性;测试显示明确的错误消息(如 'Button [7] is disabled.')与导航等待语义。扣分点:核心 dsh 依赖为 0.1.2-rc.1 预发布版本,稳定性风险未说明。
包描述表明目标是 Chrome/Firefox 双环境与 dsh 桥接场景;测试覆盖受控框架外新标签、noreferrer/ping 等边界,能力边界处理较细。扣分点:受众与使用场景文档未在证据中出现,仅能依赖标题级描述。
信息架构清晰(monorepo、extensions/ 目录、双语 README 一致性记录);命名稳定(dsh-browser、@yuxianglin scope);MIT 许可证完整。扣分点:无 CHANGELOG、安装说明与 FAQ 未在证据中体现、已知限制文档缺失、版本 0.1.3 无变更记录佐证。
快照+动作+delta 的输出设计(含 budget 限制)对 LLM 消费友好,测试证明输出结构可预期;相对纯视觉方案有边际价值主张。扣分点:实际输出形态仅能从测试断言推断,无执行验证。
测试与声明高度对应(掩码、信任边界、settle 策略均有针对性测试),事实与推断可区分;双语一致性记录提供跨源核对机制。扣分点:未展示 README 正文,多数产品级声明无法交叉印证。
- 核心依赖为 0.1.2-rc.1 预发布版本,生产使用前请评估其稳定性与变更风险。
- 扩展权限清单未在本次证据范围内,安装前请自行核对 manifest 所请求的权限是否最小化。
- 发布者未经企业注册表验证,身份未知;依赖注入型供应链(@deepseek-ai/* 组)请通过锁文件哈希校验。
- 未提供回滚或撤销已执行浏览器操作(导航、点击、表单输入)的机制说明。
这个 Agent 能做什么,适合哪些场景?
dsh Browser Control 是一个独立的 pnpm 工作区,包含一个 dsh 桥接插件和一个 Chrome/Firefox MV3 浏览器扩展,用于把 DeepSeek Harness(dsh)连接到用户已经打开的真实浏览器标签页。工作区固定依赖 dsh 0.1.2-rc.1,不支持更旧的 dsh 版本。其页面通道完全基于文本:页面被转换为结构化文本和带编号的交互元素清单,模型按编号操作元素,浏览器工具从不截屏;侧边栏会话界面则支持在宿主声明图像能力时附加 PNG/JPEG/WebP/GIF,走 dsh 的独立多模态消息通道。模型可以读取页面内容、点击控件、填表、按键、滚动、导航和管理标签页,同时保留登录态、会话与 Cookie。安全方面采用持有令牌握手、仅限回环的特权网关方法、密码与银行卡值始终以 •••• 显示且永不出页,所有点击/输入/导航等操作默认需用户批准。2026 年 8 月 18 日的 60 次配对基准测试显示,相较匹配的 Playwright 基线,平均端到端延迟 5.32 秒对 6.67 秒,平均浏览器工具调用 3.4 次对 4.7 次。
安装后通过一键脚本构建并注册桥接插件(packages/browser/bridge-browser/),把 Chrome 扩展构建到 ~/.dsh/browser-extension,再以 dsh web 启动(默认 http://127.0.0.1:3080)。扩展自动探测端口 3080/3081/3090/14389 并通过 WebSocket 桥(/ext/bridge)连接。模型可调用的工具包括:browser_snapshot(结构化文本快照,支持 delta 增量)、browser_click(按编号点击)、browser_type(兼容 React/Vue 的输入)、browser_press、browser_scroll、browser_navigate/browser_open_tab/browser_back/browser_forward/browser_reload、browser_list_tabs、browser_follow_tab、browser_close_tab、browser_get_text、browser_wait,以及 session.prompt/session.attachment 发送图像附件。用户在页面中高亮的文本会作为带来源的引用出现在侧边栏输入框中,随下一条消息发送。操作绑定到单个用户受控标签页,切换标签页时暂停并询问是否跟随。
- 已在使用 DeepSeek Harness 并希望模型能在自己登录态下的真实浏览器中完成查资料、填表、导航等任务的个人开发者
- 需要在不截屏、不传页面截图的前提下让模型操作网页、重视隐私的用户(密码与卡号永不出页)
- 在多个标签页之间工作、希望助手能列出并跟随指定标签页(browser_list_tabs / browser_follow_tab)而无需激活它们的用户
- 希望高亮页面某段文字后直接让模型"解释这段"、免去向模型描述页面位置的用户
- 需要在 Firefox 中使用侧边栏会话界面、愿从源码构建临时扩展的技术用户
- 对比过 Playwright 自动化、希望更低延迟与更少工具往返轮次的自动化使用者
这个 Agent 有哪些优点和局限?
- 在真实浏览器中操作而非无头副本,完整保留登录态、会话与 Cookie
- 纯文本页面接口:编号控件、跨快照稳定 ID、delta 增量更新、敏感值脱敏,无需截图即可操作页面
- 基准测试显示比 Playwright 基线平均快约 20%(5.32s 对 6.67s),工具往返更少(3.4 对 4.7 次)
- 安全边界明确:持有令牌握手、特权方法仅限回环、点击/输入/导航默认 fail-closed 需批准、密码与卡号永不出页
- 强绑定 DeepSeek Harness 生态:固定 dsh 0.1.2-rc.1,旧版 DSH 不受支持
- 标准 dsh plugin 命令无法安装本项目,必须运行一键脚本或从源码构建
- 浏览器工具永不截屏、纯文本操作,无法处理需要视觉理解的页面任务(图像仅限聊天附件路径)
- Firefox 需手动加载临时扩展并复制桥接令牌,且 moz-extension UUID 不具备认证能力
- 项目当前未发布为 npm 包,更新需重跑安装脚本并重新加载扩展
如何安装或部署这个 Agent?
需要 Node.js ^22.19 或 >=24、Corepack/pnpm,以及 Chrome 116+ 或 Firefox 140+(Windows 需 PowerShell 5.1 或 7+)。
macOS / Linux 一键安装:
curl -fsSL https://raw.githubusercontent.com/Lum1104/dsh-browser/refs/heads/main/scripts/install.sh | bashWindows(PowerShell):
$s="$env:TEMP\dsh-install.ps1"; irm https://raw.githubusercontent.com/Lum1104/dsh-browser/refs/heads/main/scripts/install.ps1 -OutFile $s; powershell -NoProfile -ExecutionPolicy Bypass -File $s安装脚本会下载 main 分支、构建并注册桥接插件、把 Chrome 扩展构建到 ~/.dsh/browser-extension,并打开 chrome://extensions——首次安装请加载该目录为"未打包扩展",更新时点击"重新加载"。若 dsh 已在运行需重启。
Firefox:从源码 checkout 执行 pnpm install && pnpm --filter dsh-browser-extension run build:firefox,然后在 about:debugging#/runtime/this-firefox 加载 extensions/dsh-browser/dist-firefox/manifest.,并把 ~/.dsh/ext-bridge-token 中的令牌填入扩展设置。
注意:npm 上未加作用域的 dsh-browser 包属于另一个无关项目,本项目当前未发布为 npm 包。
如何使用这个 Agent?
托管安装后启动:
cd ~/.dsh/dsh-browser && pnpm start源码 checkout 则在仓库根目录运行 pnpm start。
发布后的官方运行时为:
npx @deepseek-ai/[email protected] webChrome 本地使用零配置;Firefox 需填入 ~/.dsh/ext-bridge-token 的令牌。打开任意页面,点击 DeepSeek 鲸鱼图标,等待侧边栏显示 Connected。已有 HTTP(S) 标签页会在首次操作时被注入。之后即可在侧边栏与模型对话,让其读取页面、点击、填表、导航或管理标签页;高亮页面文本后引用会出现在输入框中。在浏览器保护页与扩展商店,模型只能读取标签元数据并使用浏览器级导航,无法操作页面 DOM。若侧边栏显示 Not connected,确认 dsh web 正在运行并访问 http://127.0.0.1:3080/ext/bridge-config 应返回 {"wsUrl":"ws://127.0.0.1:3080/ext/bridge"} 形式的 JSON。
这个 Agent 与同类方案有什么区别?
README 提供了与匹配的 Playwright 基线的配对基准对比:Playwright 平均端到端延迟 6.67 秒、平均 4.7 次浏览器工具调用,而 dsh Browser Control 为 5.32 秒、3.4 次;Playwright 耗时约长 24%。差异来源是本项目在真实浏览器中以文本接口操作,而非独立的无头浏览器自动化。