dsh-chrome:DeepSeek Harness 的 Chrome 侧边栏插件

前言

在 DSH / 智能体开发中,agent 经常需要知道当前页面、读取页面请求、执行简单浏览器操作。已有做法通常是手动复制页面文本给 agent,或另写脚本调用浏览器。下面介绍 dsh-chrome:一个把完整 dsh web UI 嵌入 Chrome side panel 的插件,并让本地 dsh agent 读取当前页面、按需捕获 HTTP 流量、驱动浏览器。

这是什么

stuarthu/dsh-chrome 是 DeepSeek Harness(DSH)的浏览器 companion,许可证为 MIT,package.json 版本为 0.1.3

它面向本地受信环境,要求:

  • 本地 dsh web 运行,默认地址为 http://127.0.0.1:3080
  • Chrome 118+
  • Node >=18
  • 可选 peerDependencies:@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm

插件分两部分:

  • 加到 dsh web profile 的 host plugins
  • 加载到 Chrome 的扩展文件

其中 host plugins 包含:

  • bridge.js:WS bridge
  • browser-tools.js:agent tools + redaction
  • page-injector.js

核心功能

侧边栏嵌入完整 dsh web UI

Chrome side panel 内嵌完整 dsh web UI,包括 sessions、settings、approvals、tasks、goals、workspaces。

side panel 顶栏提供:

  • bridge status
  • 手动 Stop capture
  • 通过 Settings 修改 dsh address

自动感知当前页面

切换标签或导航后,插件会把 http(s) 页面的 URL、标题和正文文本注入最近活跃 session。SPA 路由变化也会触发。

页面变化检测包括:

  • tab 切换
  • 主帧导航
  • SPA 路由变化

检测约 2 秒去抖;滚动不触发;只计 active tab;bridge 重连时重发当前页面。

自动注入的页面正文上限为 1,000,000 字符。

按需捕获 HTTP 流量

捕获是 opt-in,并且只作用于活动标签。

启动捕获:

browser_start_capture

读取捕获结果:

browser_capture_requests

捕获记录活动标签请求的方法、URL、状态、请求体和响应体。HTTP headers 不捕获,因此 Cookie、Set-Cookie、Authorization 头不会到达模型。

捕获保留滚动最后 500 条;每个请求/响应体和自动注入页面体上限为 1,000,000 字符。

停止捕获会停止记录,但保留已记录内容直到标签关闭。读取捕获结果不做 intent-gate,同一浏览器的其他 dsh session 可读取。

浏览器控制

提供以下浏览器工具:

browser_navigate
browser_click
browser_open_tab

读取或操控页面状态的浏览器工具(包括捕获)仅作用于 active tab;browser_list_tabsbrowser_open_tab 是自然例外。

browser_get_page 的按需读取限制约为 40,000 可见文本和最多 400 链接。

browser_click 不重试;若点击结果丢失,工具会报告无法确认点击是否生效。

工具级 intent unlock

dsh-chrome 免审批,但状态变更操作受工具级 intent unlock 限制:仅在当前轮真实消息包含指定浏览意图词时允许。

注入的当前页面消息标注为 untrusted data,且 intent-unlock gate 会阻止页面内容触发状态变更操作。这些是 best-effort 防护,不是硬保证。

安装与启用

先做 host plugins 安装,再做 Chrome 扩展安装。

添加 host plugins

为 dsh web profile 添加 dsh-chrome host plugins:

dsh plugin --profile web add dsh-chrome

这一步会把 bridge、browser tools、page injector 注册到 dsh web profile。随后刷新浏览器。

加载 Chrome 扩展

运行扩展安装命令,打印扩展目录:

npx dsh-chrome install

接着在 Chrome 中加载扩展:

  1. 打开 chrome://extensions
  2. 开启 Developer mode
  3. 点击 Load unpacked,选择打印目录
  4. 点击 dsh-chrome 工具栏图标打开 side panel

经过上面的步骤,可以在 side panel 中查看 bridge status,并使用完整 dsh web UI。

升级

升级包后,重新运行:

npx dsh-chrome install

并在 chrome://extensions 重新加载扩展。

如需确认扩展目录,可以运行:

npx dsh-chrome path

卸载

删除扩展目录:

npx dsh-chrome uninstall

随后在 chrome://extensions 移除扩展。

移除 dsh host plugins:

dsh plugin --profile web remove dsh-chrome

典型用法

在 side panel 中打开 session 后,可以直接向 agent 发出类似指令:

  • open the xx page
  • click the login button
  • capture this page's requests

side panel 顶栏用于查看状态和手动控制:

  • bridge status:查看 dsh 连接状态
  • Stop capture:手动停止捕获
  • Settings:修改 dsh address

安全与适用场景

dsh-chrome 仅限受信本地使用。bridge 和 browser tools 会赋予本地 dsh agent 读取页面、捕获流量、驱动浏览器的能力。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。

默认会对 secret-shaped URL query 参数、请求体和响应体中的 token 进行掩码。如需捕获未掩码的 raw 流量,可设置:

redactCredentials: false

redaction 是 best-effort,不保证覆盖所有情况。捕获流量应视为敏感内容,只在受信站点启用捕获。

注入页面标注为 untrusted data,intent-unlock gate 也会限制页面内容触发状态变更操作,但这些仍属于 approval-free 模式下的 best-effort 防护,不是绝对保证。

结尾

dsh-chrome 把 dsh web UI、当前页面感知、HTTP 流量捕获和基础浏览器控制放到同一个 Chrome side panel 中,适合在受信本地环境中为 dsh agent 增加浏览器上下文。

社区目录页:https://www.skillhub.cn/plugins/stuarthu/dsh-chrome
GitHub:https://github.com/stuarthu/dsh-chrome

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜