🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Suguyun/dsh-insight

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
⚠ 装前注意

dshDeepSeek Harness浏览器伴侣:网页划词即解读、侧栏多轮追问,并让 dsh…

基本兼容但装前注意:npm 同名包「dsh-insight」归属 863683348/dsh-insight,装到的可能不是本插件 · 最近上游提交 2026/9/23 · 已提供中文文档

dsh(DeepSeek Harness)浏览器伴侣:网页划词即解读、侧栏多轮追问,并让 dsh 智能体读取页面、抓取流量、驱动浏览器。Chrome/Edge MV3 扩展 + 配套 dsh host 插件。

综合分
30.7
GitHub 分
30.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Suguyun/dsh-insight
npm 同名包「dsh-insight」归属 863683348/dsh-insight,装到的可能不是本插件,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 2 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-insight @ 0.1.0
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

npm 同名包「dsh-insight」归属 863683348/dsh-insight,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 11:29:23

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-insight

dsh(DeepSeek Harness)的浏览器伴侣。 在网页上选中任意一段文字即时解读,并在侧栏就这段解读继续追问;同时把浏览器交给 dsh 智能体 —— 读页面、点击、抓包、开标签页。

侧栏

功能

划词即解读

选中文字后浮现一个小浮标(文字可自定义,默认「解读」),点一下就把选区文本 + 页面 URL + 标题发给本机 dsh,解读结果用 Markdown 渲染出来。

四种触发与展示方式:

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

同一段文字只解读一次。连续划词时新选区排队覆盖旧选区,不会像早期版本那样在请求飞行途中把新选区丢掉。浮窗位置可选「跟随选区」或「固定在右下角」。

侧栏没打开时,上面两种「只进侧栏」的模式不会发起解读,也不弹浮标 —— 结果没有地方能显示,白跑一次模型没有意义。两种「页面浮窗」模式不受影响:它们的结果画在页面上,本来就不需要侧栏。

选区原文可折叠,也能就地改

侧栏里那条「选区原文」超过 160 字默认折叠成约 5 行(底部渐隐),点「展开」看全文;展开态本身也有上限,不会把解读挤出屏幕。

划词常常选得不精确 —— 点「编辑」直接改文字,再点「用这段重新解读」就按改过的内容重来一遍。没改动时按钮是禁用的。

侧栏原生多轮追问

解读结果下方就是追问输入框(Enter 发送 · Shift+Enter 换行)。追问走原生多轮,携带最近 16 轮、每轮上限 4000 字符的历史,不跳转到别处开新会话。

设置就在侧栏里

点侧栏右上角「设置」就地切换,不再跳独立的扩展选项页;按钮会变成「返回解读」。设置页是懒加载的,没点开不会加载。

外观可配置

侧栏背景色与字号(11–20px)可调,跟随浅色 / 深色主题。

解读口径:内置 + 自定义

内置六种口径:默认解读、一句话讲清、直译 + 术语、代码 / 报错讲解、批判性审阅、讲给完全不懂的人。

内置口径也可以改(改动作为覆盖层保存,可恢复默认),另可新建任意多个自定义口径。

智能体侧:browser_ 工具

装上宿主半边后,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)。会改动页面的动作(导航 / 点击 / 开标签 / 开始抓包)要求本轮用户消息里含明确意图词才放行 —— 这是防提示注入的闸门,不是 bug。

组成

两个半边,缺一不可:

| 路径 | 作用 |
| --- | --- |
| 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。

环境要求

- 一个跑得起来的 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(dsh plugin 是 pnpm 的转发器,装完会对齐 bundles 列表)。

为什么不用 link: 指向本地克隆? Node 按模块的真实路径向上解析依赖,符号链接进来的包实际留在 profile 之外,解析不到 dsh 自己的 @deepseek-ai/dsh-llm,插件会加载失败。

若访问 github.com 的 HTTPS 受限(github: 规格拉不动),可改用 SSH 克隆到 profile 目录内部再安装 —— 这样它就在 profile 里,依赖能正常解析:

cd ~/.dsh/profiles/web
git clone git@github.com:Suguyun/dsh-insight.git
dsh plugin --profile web add ./dsh-insight

2. 装扩展

方式 A:用发布包(不需要命令行)

从 Releases 下载 dsh-insight-.zip,解压到一个固定不动的目录(manifest.json 就在解压出的那一层)。

方式 B:命令行

npx github:Suguyun/dsh-insight install

它会把扩展复制到一个稳定的用户目录并打印该路径。
注意:本包没有发布到 npm,所以必须带 github: 前缀,直接 npx dsh-insight 会失败。

两种方式之后都一样 —— 要选的是「里面直接就有 manifest.json」的那一层:

1. 打开 chrome://extensions(Edge 是 edge://extensions),打开「开发者模式」;
2. 点「加载已解压的扩展程序」,选中那一层;
3. 点工具栏图标打开侧栏。
命令行方式装的目录就是 …/dsh-insight/ 本身,清单在它根部 —— 这里有意不嵌套 extension/ 子目录。选成上一层会报「清单文件丢失或不可读取」,Edge 没说错:那一层确实没有 manifest.json。

扩展是从该目录就地加载的:改完源码(或换了新版本)后,重新复制一次文件,并在扩展页点一次「重新加载」。注意别删掉这个目录,否则扩展会失效。

3. 验证

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

数据流向与隐私

- 划词解读会把选区文本 + 页面 URL / 标题 POST 到 {你的 dsh}/dsh-insight,由 dsh 用它自己配置的模型生成解读。这段文本是否离开你的机器,取决于你给 dsh 配的模型服务商 —— 这一层由 dsh 决定,不由本扩展决定。
- 扩展自身的对外请求只有两类,且都指向本机:你配置的 dsh 地址(默认 127.0.0.1:3080),以及跨扩展页面回退用的 CDP 端点 127.0.0.1:9222。没有遥测,没有第三方端点。
- 页面自动注入默认关闭(两层都关:宿主不挂载 + 扩展推送开关默认 false)。开启后你浏览的页面正文会进模型上下文,是否接受请自行判断。
- 抓包默认脱敏;要抓未脱敏的原始流量需在 cordis.patch.yml 里显式把 redactCredentials 设为 false。

权限说明

| 权限 | 用途 |
| --- | --- |
| sidePanel | 侧栏本身 |
| storage | 保存设置与最近一次解读 |
| tabs / activeTab | 列出标签页、读取活动标签页 |
| scripting | 注入脚本读取正文与链接、执行点击 |
| webNavigation | 标签切换 / 导航 / SPA 路由变化时推送页面变化 |
| debugger | 用 CDP 抓取网络请求(Network.enable) |
|  | 内容脚本需要能作用于你浏览的任意页面 |

debugger 是强权限,这里只用于抓包。它会让被调试的标签页顶部出现「正在调试」提示条,停止抓包即断开。

另外,别的扩展的 chrome-extension:// 页面既不能注入脚本、也不能用 debugger 读,唯一通道是浏览器远程调试协议。要读这类页面,需要用 --remote-debugging-port=9222 启动浏览器。

配置

侧栏「设置」里可改:dsh 地址、浮标文字、触发与展示模式、浮窗位置、侧栏背景色与字号、解读口径。

设置存在 chrome.storage.local,键名如下(便于脚本化改写):

| 键 | 含义 |
| --- | --- |
| dsh_url | dsh 地址 |
| insight_mode | click / click-sidebar / auto / auto-sidebar |
| insight_label | 浮标文字 |
| insight_position | follow / fixed |
| insight_preset | 当前选中的口径 id |
| insight_system | 当前生效的口径全文 |
| insight_overrides | 对内置口径的修改 |
| insight_custom | 自定义口径列表 |
| insight_thread | 追问线程 |
| last_insight | 最近一次解读记录 |
| panel_bg / panel_font_size | 侧栏外观 |
| insight_autopush | 页面推送开关,默认 false |

例:

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

想打开页面自动注入

需要两处一起开,只开一处会静默空转(生产端与消费端互不感知,不报错):

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

本仓库的实现是有界的:单次最多 4000 字符、正文里出现注入标记(自身回声)就整条跳过、单会话累计 60000 字符封顶。

已知限制

- 侧栏宽度由浏览器决定(Chrome 最小约 320px),扩展无法控制。
- Markdown 渲染器是零依赖自研的,不支持表格;支持标题、列表、引用、代码块、行内代码、加粗、链接。
- 只在 http(s) 页面上工作:file:// 本地文件、PDF 阅读器、扩展商店等页面注入不了内容脚本。正文嵌在 iframe 里的页面是支持的 —— 内容脚本会在所有帧里运行(含 srcdoc / about:blank 帧)。
- 只在 Chrome / Edge(MV3)上验证过,未测 Firefox。
- 划词解读只处理单段选区,不做整页摘要。
- 划词解读不建会话、不写日志,是一次性的问答。

开发

git clone https://github.com/Suguyun/dsh-insight
cd dsh-insight
node tests/run.mjs      # 或 npm test

tests/ 下是 17 个自包含套件(会打印计数的那些合计 168 项断言),覆盖划词触发模式、侧栏开合闸门、请求队列、孤儿脚本守卫、侧栏视图与追问、Markdown 渲染、设置页、口径预设、抓包脱敏、安装器目录层级等。

每个套件自带 DOM / chrome API 打桩并直接 import 仓库源码,不需要构建。其中 test-host-mt 与 test-presets 直接测 host/insight.js,需要能解析到 dsh 的 @deepseek-ai/dsh-llm;裸克隆里它们会打印 SKIP 并计为跳过,而不是失败。

侧栏截图(docs/screenshot.png)由 headless Edge + playwright-core 渲染生成。

致谢
本项目 fork 自 stuarthu/dsh-chrome(MIT)。上游提供了桥接、浏览器工具与页面注入的原始实现;本仓库在其之上做了划词解读、侧栏原生多轮追问、设置内嵌、外观定制等改造,并收紧了页面注入与正文上限。上游的版权与许可声明按 MIT 要求保留在 LICENSE 中。

许可证

MIT,见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群