dsh-insight:把浏览器划词解读和智能体控页接到 DSH

前言

在 DSH(DeepSeek Harness)里跑智能体时,常见做法是另开终端、复制页面内容,或自己写脚本把浏览器和 host 连起来。读网页、点按钮、看网络请求,往往和「当前正在看的那一段字」脱节。若你已经在用 dsh 的 web profile,又希望在 Chrome / Edge 里选中文字就能解读、在侧栏继续追问,同时让智能体直接读页面、抓包、导航,就需要浏览器扩展和 host 插件成对安装。dsh-insight(维护者 Suguyun,GitHub 仓库 Suguyun/dsh-insight)就是为此设计的 DSH 浏览器伴侣:MV3 扩展负责划词、侧栏与设置;host 半边注册 WebSocket 桥接、划词解读路由和 browser_* 工具。下面介绍它的组成、安装步骤和典型用法。

这是什么

dsh-insight 是 dsh 的浏览器伴侣,分类上属于 DSH 生态里的客户端插件。它由两部分组成,缺一不可:

路径 作用
extension/ MV3 扩展:侧栏、划词、浮窗、设置
host/bridge.js 扩展与 dsh 的 WebSocket 桥接(路由 /dsh-insight/bridge)
host/browser-tools.js 注册 browser_* 工具
host/insight.js 划词解读路由 POST /dsh-insight
host/page-injector.js 把「当前页面」注入会话(默认不挂载)

协议细节见仓库内 docs/bridge-protocol.md。当前 package 版本为 0.1.9,许可证 MIT。

核心功能

划词即解读

选中网页文字后会出现可自定义的小浮标(默认文案「解读」)。点击后会把选区文本、页面 URL、标题 POST 到本机 dsh,解读结果以 Markdown 渲染。

四种触发与展示方式:

模式 触发 结果去向
click(默认) 选中后点浮标 页面浮窗
click-sidebar 选中后点浮标 只进侧栏
auto 划词停手约 0.45 秒即解读 页面浮窗
auto-sidebar 划词即解读 只进侧栏,页面上不出现元素

同一段文字只解读一次;连续划词时新选区排队覆盖旧选区。浮窗位置可选「跟随选区」或「固定在右下角」。侧栏未打开时,click-sidebar 与 auto-sidebar 不会发起解读也不弹浮标;两种页面浮窗模式不受影响。

侧栏:原文编辑与多轮追问

侧栏里「选区原文」超过 160 字默认折叠;可点「编辑」改文字后再「用这段重新解读」。解读下方有追问框(Enter 发送,Shift+Enter 换行),走原生多轮,携带最近 16 轮、每轮上限 4000 字符的历史。

设置集中在侧栏右上角「设置」,无需独立扩展选项页。侧栏背景色、字号(11–20px)可调,可跟随浅色 / 深色主题。

解读口径

内置六种:默认解读、一句话讲清、直译 + 术语、代码 / 报错讲解、批判性审阅、讲给完全不懂的人。内置口径可改(覆盖层保存、可恢复默认),也可新建自定义口径。

智能体:browser_* 工具

装好 host 半边后,dsh 智能体可用 8 个工具:browser_get_page、browser_list_tabs、browser_navigate、browser_click、browser_open_tab、browser_start_capture、browser_stop_capture、browser_capture_requests。

抓包走 CDP,默认对凭据脱敏(redactCredentials: true)。会改动页面的动作(导航、点击、开标签、开始抓包)要求本轮用户消息里含明确意图词才放行,用于防提示注入。

环境要求

  • 可运行的 dsh,且启用 web profile(默认 http://127.0.0.1:3080)
  • Node.js ≥ 18,以及 pnpm(dsh plugin 依赖它)
  • Chrome 或 Edge ≥ 118

安装与启用

1. 装宿主半边

在资料原文中,安装命令为:

dsh plugin --profile web add github:Suguyun/dsh-insight

这条命令会安装本包,并自动把 dsh-insight 写进该 profile 的 dsh.profile.bundles。若 HTTPS 拉取 github: 规格失败,可在 profile 目录内 SSH 克隆后再 dsh plugin --profile web add ./dsh-insight(README 说明了为何不宜用指向 profile 外的 link: 符号链接)。

2. 装浏览器扩展

方式 A:从 Releases 下载 dsh-insight-<版本>.zip,解压到固定目录(manifest.json 在解压根目录)。

方式 B:

npx github:Suguyun/dsh-insight install

本包未发布到 npm,必须带 github: 前缀。命令会把扩展复制到稳定用户目录并打印路径。

两种方式之后相同:

  1. 打开 chrome://extensions 或 edge://extensions,开启「开发者模式」;
  2. 「加载已解压的扩展程序」,选中直接包含 manifest.json 的那一层(命令行安装时即为 …/dsh-insight/ 根目录,不是外层的 extension/ 父目录);
  3. 点工具栏图标打开侧栏。

3. 验证

侧栏顶部应显示 「桥接已连接」。若显示「未连接」,确认 dsh 在运行、侧栏里 dsh 地址正确,然后刷新页面。

典型用法

划词与侧栏追问

  1. 在任意 http(s) 页面选中一段文字;
  2. 按当前模式点浮标或等待自动解读;
  3. 在侧栏阅读 Markdown 结果,必要时编辑选区后重新解读;
  4. 在追问框继续多轮对话。

脚本化改设置

设置保存在 chrome.storage.local。例如切换为划词后只进侧栏:

chrome.storage.local.set({ insight_mode: "auto-sidebar" });

常用键包括:dsh_url、insight_mode、insight_label、insight_position、insight_preset、panel_bg、panel_font_size;页面自动推送开关 insight_autopush 默认为 false。

打开页面自动注入(可选)

需两处同时开启,只开一处会静默空转:

  1. 在 cordis.patch.yml 里取消注释 dsh-insight-page-injector 相关两行;
  2. chrome.storage.local.set({ insight_autopush: true })。

实现有界:单次最多 4000 字符、带注入标记的正文会跳过、单会话累计 60000 字符封顶。

智能体读页与抓包

在 dsh 对话中,由模型调用 browser_* 工具。若要抓未脱敏原始流量,需在 cordis.patch.yml 里显式设置 redactCredentials: false(默认脱敏)。

数据流向、权限与限制

划词解读把选区与 URL / 标题发到 {你的 dsh}/dsh-insight,是否离开本机取决于你为 dsh 配置的模型服务商。扩展对外请求仅指向本机 dsh 地址与 CDP 回退端点 127.0.0.1:9222,README 写明无遥测、无第三方端点。

扩展使用 sidePanel、storage、tabs、scripting、webNavigation、debugger、<all_urls> 等权限;debugger 用于 CDP 抓包,被调试标签页会出现「正在调试」提示条。

已知限制包括:侧栏 Markdown 渲染不支持表格;仅在 http(s) 页工作(不含 file://、PDF 阅读器、扩展商店等);划词解读为一次性问答、不建会话;只在 Chrome / Edge MV3 上验证过。侧栏宽度由浏览器决定,扩展无法控制。

适用场景与注意

适合:已在本地跑 dsh web profile、希望浏览网页时划词解读并在侧栏追问;希望 dsh 智能体通过标准工具读当前页、点元素、抓网络请求的开发者。

注意:host 插件与 dsh 同进程运行,安装前应阅读仓库源码与 MIT 许可证,确认权限与数据路径可接受。社区目录 skillhub.cn 上的 dsh-insight 页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」。

链接

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

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

Xiaoye