DeepSeek Harness Hub
← 返回列表

jerryxugit-2026/dsh-web-companion

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

侧边栏:DSH 已连接,四个按钮附加页面 / 附加选中内容 / 浏览器控制 / 写入操作,以及一个在聊天中以 @文件…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

一个 Chrome 侧边栏,将 DeepSeek Harness(DSH)智能体置于你正在阅读的页面旁边——你可以自行阅读,也可以让智能体来处理。基于 DeepSeek Harness 构建;与 DeepSeek 无关联,亦未获其认可。

综合分
29.7
GitHub 分
29.7
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add jerryxugit-2026/dsh-web-companion
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH 浏览器助手

侧边栏:DSH 已连接,四个按钮(附加页面 / 附加选中内容 / 浏览器控制 / 写入操作),以及一个在聊天中以 @文件 引用的已捕获页面

English(本节) · 中文 · 安装指南 · 安装部署

一个 AI 智能体,就坐在你正在浏览的网页旁边,位于 Chrome 侧边栏中。
它为你阅读页面,而且——当你开启该功能时——它还会操作页面:填写表单、
翻译、点击、把多个标签页中的内容收集到一处。

它运行在你自己的电脑上(通过 DeepSeek Harness)。不会向第三方
浏览器服务发送任何内容。

你实际要做的事——只有三件,别无其他:

1. 下载并解压——见下方第 1 步。
2. 在终端中运行两条命令——向导在每次更改前都会询问你,并且只询问一次你的
DeepSeek API 密钥。
3. 在 Chrome 中加载扩展——向导会明确告诉你该选择哪个文件夹。

其他所有事情——包括构建扩展——都由向导为你完成。无需编译器、无需 Xcode、
无需开发者工具:只需要 Node 22 或更高版本。

背景:我为什么构建这个

我是 Jerry。我发现浏览器侧边栏加上 AI 智能体能解决一大类日常的
“在网页上做事”的问题——那些过去意味着来回复制粘贴的事情:

- 填写表单——申请、注册、税务和登记表格。
- 翻译页面——保持布局和术语一致,而不只是逐字翻译。
- 总结长页面——一份 50 页的政策、一个长帖子、一个文档页面。
- 从多个标签页收集内容——在三个商店比较同一件商品,从五个页面收集地址。

起初我使用 Chrome + ChatGPT 扩展,它确实很棒。但我注意到
中国很多人无法使用 ChatGPT,而 DeepSeek 4.1 Flash 已经非常好,并且
在中国可以使用。然而 DeepSeek Harness 没有这样的扩展。所以我构建了这个。

这就是全部原因:把我喜欢的体验,变成我身边的人也能用的东西,并在本地运行。

你可以用它做什么

你打开侧边栏,就拥有了一个能看到你所在页面的智能体。

- 询问你正在阅读的页面。 “这份合同实际上让我承诺了什么?”“用五点总结这个。”
无需复制,无需粘贴——页面已经摆在它面前。
- 填写表单。 给它一个表单页面,告诉它你想说什么;它会读取每个字段,理解
什么该填在哪里,然后填写。在更改任何内容之前,它会先询问你。
- 翻译。 整个页面,或只是你选中的部分——术语保持一致。
- 总结长内容。 长政策页面、论坛帖子、文档:获取重要的部分,然后针对它们
提出后续问题。
- 从多个标签页收集。“在三个商店比较这个产品。”“从这五个页面中分别获取地址。”它会将它们汇总到一个答案或一张表中。
- 以三种方式把它正在看的内容交给它。可以是页面、你选中的文本,或截图(用于图表、画布、PDF 查看器——那些不是文本的东西)。还有一个右键菜单,如果你在聊天中输入「看左边」(或“look left”),它会自动抓取另一个标签页中的页面。
- 让它真正点击和输入。打开写操作开关后,它可以填写、点击、选择、滚动和导航——这些是完成表单或走完向导所需的操作。除非你刻意关闭询问,否则每一个此类操作都会先由你确认(在这种情况下,它们会被拒绝,而不是被悄悄允许)。

它捕获的所有内容都会作为普通 Markdown 文件保存在你的工作区中,并在聊天中以 @网页捕获/….md 的形式引用——因此你可以像任何其他文件一样阅读、编辑、保留或删除它。

工作原理

┌──────────────────────────── Chrome ────────────────────────────┐
│  the page you are on                side panel                 │
│  ┌──────────────┐                  ┌─────────────────────────┐ │
│  │  web page    │                  │ Companion panel         │ │
│  │              │                  │ page / selection / shot │ │
│  └──────┬───────┘                  │ control / write switch  │ │
│         │ reads the page           └───────┬─────────────────┘ │
│         ▼                                  │ shows the DSH UI   │
│  ┌──────────────────────┐         ┌────────▼─────────────────┐ │
│  │ extension background │         │ DSH chat UI (in a frame) │ │
│  └────────┬─────────────┘         └────────┬─────────────────┘ │
└───────────┼────────────────────────────────┼───────────────────┘
│  local connection              │  local connection
▼                                ▼
┌──────────────────────────────────────────────────────────┐
│  DeepSeek Harness — running on your computer             │
│    └ the Companion plugin (inside DSH)                   │
│       · talks to the browser                             │
│       · gives the AI its browser abilities               │
│       · asks you before any change is made               │
│       · saves the captures and keeps a local log         │
└──────────────────────────────────────────────────────────┘
▲  lets Chrome start DSH when it is not running
┌─────┴──────┐
│ small      │
│ launcher   │
└────────────┘

三个小部件,全部在你的机器上:

1. Chrome 扩展——唯一能够接触网页的部分。它在你安装时于你的计算机上构建,并内置你自己的设置。
2. DeepSeek Harness 内的插件——它与你的本地 DSH 运行在同一进程中,为 AI 提供浏览器能力、对更改进行把关,并保留日志。
3. 一个小型启动器——这样点击扩展时,如果 DeepSeek Harness 还没有运行,就可以为你启动它。

为什么要这样构建

最简单的版本可能是:把 DSH 放在侧边栏里,输入“向左看”,抓取页面文本。
我没有止步于此,因为那个版本只能读取:

- 仅仅读取是不够的。 填写表单和翻译页面是你要做的事情。只读版本
无处安放“点击这里”、“输入这个”、“等待页面加载”——也无处先征求你的同意。
- 一次性大转储并不总是你想要的。 有时是你选中的文本,有时是一张图表的
图片,有时是一个由控件而非文本组成的页面。所以有三种独立的方式把它交出去,
而不是一种隐藏的行为。
- 只有扩展才能访问页面。 显示在框架内的页面无法读取其他标签页或其他
网站。所以扩展是手,DeepSeek Harness 是大脑。
- 更改需要许可和记录。 任何修改页面的操作都要经过确认,并且
每次捕获都会写入本地日志。“AI 悄悄点击了什么东西”是不可接受的。

它安全吗?

简短版:它完全在你的电脑上运行,未经你的同意什么都不会发生。

- 没有第三方浏览器服务。 你的扩展读取页面并将其交给你自己的本地 DSH
进程。中间没有公司。
- 没有任何内容暴露到网络。 插件只在你自己的机器上监听,不与
互联网通信。
- 只有你的浏览器能与它通信。 连接需要一个在你的机器上生成的密钥配对
密钥,并且它会检查调用方确实是你的扩展。一个随机的网页无法访问它。
- 你的扩展身份是被固定的,所以另一个扩展无法冒充它。
- 写操作默认拒绝。 如果无法询问——或者会话被设置为从不询问——
该操作会被拒绝,并且它会告诉你,说“不”的是设置,而不是某个人。
- 每一次更改都会先征求同意,并被记录在一个你可以阅读的本地日志中。
- 此仓库中没有机密:没有密钥,没有配对文件,没有构建好的扩展。构建过程会检查这一点。

获取并安装它

第 1 步——下载它(逐步点击,无需 GitHub 经验)

你不需要绿色的 Code 按钮,也不需要 git。GitHub 有一个专门为此
设计的页面:Releases。以下是你要点击的内容。

1. 打开此页面——

(或者打开项目页面,点击右栏中的 Releases。)

2. 你会在顶部看到最新的条目(目前是 v3.47.3)。点击它的标题。

3. 在该页面上,滚动到最底部——最后一个部分叫做 Assets。
在它下面,点击写着 Source code (zip) 的那一项。一个 .zip 文件就会开始下载。
(除非你确定需要,否则忽略 Source code (tar.gz);忽略 Assets 上方的所有内容。)

4. 找到下载的文件——通常在下载文件夹中——然后双击它来解压。
你会得到一个名称以 dsh-web-companion 开头的文件夹。
把它移到你以后还能找到的地方(放在你的主文件夹里就行)。

(熟悉 git?git clone https://github.com/jerryxugit-2026/dsh-web-companion.git
能得到同样的东西。)

你下载的是什么(以及不是什么):只有项目自身的源代码。里面没有
node_modules,没有预构建的扩展,也没有密钥。这就是下载体积很小的原因。

我需要编译任何东西吗?——不需要

对你来说没有构建步骤,也不会有任何东西在背后偷偷下载。 你自己用复制粘贴的命令安装两个
前置依赖(见下文);然后向导会检查它们,如果有任何缺失就准确告诉你缺什么,并为你构建 Chrome 扩展
(只需几秒钟)。你从不需要打开编译器,也不需要 Xcode 或任何开发者工具。

安装程序刻意不下载或安装任何东西。 它过去会自行决定并拉取东西;这在实践中被证明是错误的
——在一台已经从源码安装了 DeepSeek Harness 的机器上,检查只看了 PATH,没有看到它,于是就会安装
第二份副本。所以现在它只报告:缺什么、装到哪里、以及要运行的确切命令。有一个
例外——它为依赖项唯一会写入的东西是一个指向你已经拥有的 esbuild 的符号链接,而不是下载一个。
而且如果缺少某个依赖,它会在写入任何一个文件之前就停下。

为什么扩展没有已经构建好放在下载包里? 因为构建过程会把你的 DSH
端口和你的配对密钥烘焙进去。预构建的副本在你的机器上根本无法工作——所以向导改为在本地构建它。

第 2 步——运行安装程序

你需要 macOS、Node 22 或更新版本以及 Chrome。

有两样东西需要你先自行安装。 向导会检查它们,如果缺少某一个就告诉你确切的命令
——但它不会替你安装它们:

1. DeepSeek Harness —— 插件所依附的宿主程序。
固定版本:npm 上其子包的 latest 是一个损坏的占位包。
npm install -g @deepseek-ai/dsh@0.1.5-rc.2

2. esbuild —— 只使用一次,用来构建 Chrome 扩展(约 11 MB)。
如果缺少它,向导会为你的文件夹打印出确切的命令。
npm install --prefix "/extension" esbuild

已经通过源码检出(一个没有 node_modules 的 git clone)拥有 DeepSeek Harness?那是
源码,不是可用的安装——先构建它,或者别动它,按上面的方法安装已发布的包。如果你从自定义位置
运行它,请把向导指向它的启动器:--dsh 。

让终端进入正确的文件夹(每个人都会卡住的地方):
1. 按 Cmd + Space,输入 Terminal,按回车——会打开一个黑色窗口。
2. 输入 cd  ——字母 c、d 和一个空格——然后从 Finder 把解压后的文件夹拖进
那个窗口(路径会自己打出来),按回车。
3. 现在运行:

node bootstrap/install.mjs          # 试运行:它只打印它将会改动什么
node bootstrap/install.mjs --apply  # 真正的操作:每一步之前都会先问你

几乎每个人都会犯的那个拼写错误:文件是 bootstrap/install.mjs——中间是斜杠,
因为 install.mjs 位于 bootstrap 文件夹里面。bootstrap.install.mjs(一个点)不是
文件,Node 会回答 Cannot find module。让它自己打出来吧:输入 node boot,按
Tab(它会补全为 bootstrap/),输入 in,再按一次 Tab,然后回车。

绝对路径在任何目录下也有效:

node /full/path/to/dsh-web-companion-3.49.1/bootstrap/install.mjs

向导在做任何事之前会问你两件事——程序安装到哪里,以及
你的 DSH 数据放在哪里。两者都有合理的默认值,所以直接按两次回车:

? 本程序安装到哪个目录? [/Users/you/Downloads/dsh-web-companion-3.49.1]   ← 按回车
? DSH 数据目录(配对钥匙/凭据放这里)? [/Users/you/.dsh]                            ← 按回车

(这两个提示是中文的——安装程序是为这个项目写的终端程序。

它会安装到你解压的那个文件夹里——这是默认值,而且很安全。向导会把
源代码留在原处,并在它们旁边添加它需要的东西(node_modules、构建好的扩展、
一个启动器)。这样程序就待在一个你看得见、删得掉的文件夹里,而不是把自己散落到
某个你还得去找的地方。如果你更想把它放到别处,可以传 --install-dir
或者在那个提示处输入一个路径。)

然后,只需一次:

1. 在 Chrome 中打开 chrome://extensions,开启开发者模式,点击加载已解压的扩展程序,然后选择
安装程序刚刚为你构建好的 extension/dist 文件夹。
2. 点击扩展图标打开侧边栏——那就是你的智能体的窗口。
3. 重启 DeepSeek Harness(dsh web)以便它加载插件,然后检查一切:

node bootstrap/doctor.mjs           # 验证 DSH、配对、构建好的扩展、连通性

安装程序会问你安装到哪里,以及你的 DSH 数据放在哪里。它会检查 Node、DSH、Chrome 和
端口;如果缺少 DSH 就安装它;在你的机器上构建扩展;向你的 DSH
设置中添加一行(先备份);然后验证结果。要再次移除它:
node bootstrap/uninstall.mjs。

(不支持 Windows。安装程序会说明这一点并停止,而不是假装支持。)

面向工程师

设计文档、变更日志和账本位于 docs/。面向模型的工具是
browser_read、browser_tabs、browser_wait、browser_screenshot、browser_ax,以及受门控的写入
操作;两个本地通道是 /ag/agent(扩展)和 /ag/client(DSH 页面)。
npm run check 运行整套门禁测试;npm run probe:all 运行真实 Chrome 探测。

DSH Browser Companion(中文)

English(见上) · 中文(本节) · 安装说明 · 安装部署

一个 AI agent,就坐在你正在看的网页旁边 —— 在 Chrome 侧边栏里。它替你读页面,在你同意时也替你操作页面:
填表、翻译、点击、把好几个标签页里的东西收拢到一处。

它跑在你自己的电脑上(通过 DeepSeek Harness),网页不需要交给任何第三方的浏览器服务。

你实际要做的 —— 只有 3 件事:

1. 下载并解压 —— 见下面「第一步」。
2. 在终端运行两条命令 —— 向导每改一处都会先问你,并会问你一次 DeepSeek API key。
3. 在 Chrome 里加载扩展 —— 向导会告诉你具体该选哪个文件夹。

其余全部(包括构建扩展)都由向导自己做。不需要编译器、不需要 Xcode、不需要开发者工具,
只需要装好 Node 22 或更高版本。

开发背景:为什么做这个

我是 Jerry。我发现浏览器侧边栏 + AI agent 能解决一大类"上网办事"的问题 —— 那些以前只能来回复制粘贴的事:

- 填表 —— 申请、注册、报税与登记类表单。
- 翻译网页 —— 保持版式与术语一致,而不是逐词硬翻。
- 长页面总结 —— 几十页的条款、很长的帖子、一篇文档。
- 跨标签页收集 —— 在三家店比一个商品、从五个页面里收地址。

我最开始用的是 Chrome + ChatGPT 的插件,确实非常好用。但我发现很多人在国内无法使用 ChatGPT,
而 DeepSeek 4.1 Flash 已经非常好用、国内可以直接用。可是 DeepSeek Harness 没有这样的扩展程序。
于是我自己做了这个。

理由就这么简单:把我喜欢的那种体验,做成身边的人能用、而且跑在本地的东西。

你能让它做什么

点开侧边栏,你就有了一个看得见当前页面的 agent。

- 就着当前页面问它。 "这份合同到底让我承担了什么?""用五句话总结这一页。" 不用复制粘贴,页面已经在它眼前。
- 替你填表。 给它一个表单页,告诉它你想写什么;它读懂每个字段要什么,然后填好。动手之前会先问你。
- 翻译。 整页翻,或只翻你划中的那段 —— 术语前后一致。
- 总结长内容。 长条款、长帖、文档:只给要紧的部分,然后可以就着它追问。
- 跨标签页收集。 "把这个商品在那三家店比一下。""从这五个页面里把地址取出来。" 它会汇总成一段答案或一张表。
- 把你在看的东西交给它,三种方式。 整页、你划中的文字、或截图(图表、canvas、PDF 阅读器这类不是文字的东西)。
也有右键菜单;在对话里打「看左边」(或 "look left"),它会自己把另一个标签页抓过来。
- 让它真的动手。 打开写操作开关,它就能填、点、选、滚、跳 —— 那些能真正填完一张表、走完一个向导的动作。
这些动作每一个都先经过你确认;除非你特意关掉询问(那样它们会被当场拒绝,而不是偷偷放行)。

它抓到的内容会作为普通 Markdown 文件存在你的工作目录里,并在对话中以 @网页捕获/….md 引用 ——
你可以像对待任何文件一样读它、改它、留着或删掉。

它是怎么工作的

┌──────────────────────────── Chrome ────────────────────────────┐
│  你正在看的网页                      侧边栏                     │
│  ┌──────────────┐                  ┌─────────────────────────┐ │
│  │   网页        │                  │ Companion 面板          │ │
│  │              │                  │ 页面 / 选区 / 截图      │ │
│  └──────┬───────┘                  │ 浏览器控制 / 写操作开关 │ │
│         │ 读取页面                  └───────┬─────────────────┘ │
│         ▼                                  │ 显示 DSH 界面      │
│  ┌──────────────────────┐         ┌────────▼─────────────────┐ │
│  │ 扩展的后台            │         │ DSH 对话界面(在框里)   │ │
│  └────────┬─────────────┘         └────────┬─────────────────┘ │
└───────────┼────────────────────────────────┼───────────────────┘
│  本机连接                       │  本机连接
▼                                ▼
┌──────────────────────────────────────────────────────────┐
│  DeepSeek Harness —— 跑在你的电脑上                       │
│    └ Companion 插件(在 DSH 进程内)                      │
│       · 与浏览器通信                                      │
│       · 给 AI 浏览器能力                                  │
│       · 任何改动之前先问你                                │
│       · 保存抓取内容并留一份本机日志                       │
└──────────────────────────────────────────────────────────┘
▲  让 Chrome 在 DSH 没跑时把它拉起来
┌─────┴──────┐
│ 小启动器    │
└────────────┘

三块小东西,全在你机器上:

1. Chrome 扩展 —— 唯一能碰网页的部分。安装时在你的电脑上现场构建,把你的设置烤进去。
2. DeepSeek Harness 里的插件 —— 和你的本机 DSH 同一个进程:给 AI 浏览器能力、给改动把关、留日志。
3. 一个小启动器 —— DSH 没在跑时,点扩展就能把它拉起来。

为什么做成这个结构

最省事的版本是:把 DSH 放进侧边栏,打一句「看左边」,把页面文字抓过来。我没有停在那里,因为那个版本只会读:

- 光读不够。 填表和翻译都是你要做的事。只读的版本没有地方安放“点这里”“输入这个”“等页面加载”,
也没有地方先问你一句。
- 整页一把抓不总是你要的。 有时要的是你划中的文字,有时要一张图表的截图,有时页面是由控件而不是文字拼成的。
所以是三种各自独立的交付方式,而不是一个藏在背后的行为。
- 只有扩展能碰到页面。 框里显示的页面读不到别的标签页、读不到别的网站。所以扩展当“手”,DeepSeek Harness 当“脑”。
- 改动需要许可与留痕。 任何会修改页面的动作都走一次确认,每次抓取都写进本机日志。
“AI 悄悄点了什么”是不可接受的。

它安全吗

一句话:全部跑在你的电脑上,没有你的同意就什么都不做。

- 不经过第三方浏览器服务。 扩展读到页面后交给你本机的 DSH 进程,中间没有厂商。
- 不对外暴露网络。 插件只监听你自己的机器,不与互联网通信。
- 只有你的浏览器能跟它说话。 连接需要一把在你机器上生成的配对钥匙,并校验对方确实是你那个扩展。
随便一个网页连不上它。
- 扩展身份是钉死的,别的扩展冒充不了。
- 写操作 fail-closed。 问不成、或会话被设成“从不询问”时,动作会被拒绝,并告诉你是设置拒绝的。
- 每次改动都先问、且留痕 —— 本机日志可查。
- 仓库里没有任何机密:没有钥匙、没有配对文件、没有构建产物。构建门禁会扫这些。

怎么下载、怎么安装

第一步:下载(一步步点,不需要用过 GitHub)

不要点绿色的 Code 按钮,也不需要 git。GitHub 有一个专门给这件事的页面叫 Releases。
你要点的就是下面这几下:

1. 打开这个页面 ——

(或者打开项目主页,在右侧栏点 Releases。)

2. 你会看到最上面那一条(当前是 v3.47.3),点它的标题。

3. 进去后拉到页面最下面,最后一块区域叫 Assets。在它下面点 Source code (zip)
那一项,浏览器就开始下载一个 .zip。
(除非你明确知道自己要,否则不要选 Source code (tar.gz);Assets 上面那些内容也都不用管。)

4. 找到刚下载的文件(通常在下载文件夹),双击解压。你会得到一个名字以
dsh-web-companion 开头的文件夹。把它挪到你找得到的地方(比如你的主目录)。

(熟悉 git 的话,git clone https://github.com/jerryxugit-2026/dsh-web-companion.git
拿到的是同一份东西。)

你下载到的(以及没有下载到的):只有项目自己的源码。里面没有 node_modules、没有预先构建好的扩展、
没有任何钥匙。所以下载包很小。

需要我自己「编译」吗?—— 不需要

没有需要你做的编译步骤,也不会有东西在你不知情时被下载。 两个前置依赖由你自己用一条可复制的
命令装好(见下),向导只负责检查它们、缺什么就明确告诉你、然后替你构建 Chrome 扩展(只要几秒)。
你不用打开任何编译器,也不需要 Xcode 或任何开发者工具。

安装器是故意不下载、不安装任何东西的。 它原来会自己判断、自己去下 —— 实测下来这是错的:
有台机器上 DeepSeek Harness 是用源码装的,而检查只看 PATH,没看见它,于是差点又装一份全局的。
所以现在它只报告:缺什么、装到哪、跑哪条命令。唯一的例外是:一旦发现关键依赖缺失,它会
在写任何一个文件之前就停下来。依赖层唯一的例外是:本机已经有一份 esbuild 时,它建一个符号链接过去复用,
而不是下载。

为什么下载包里不直接放构建好的扩展? 因为构建会把你的 DSH 端口和你的配对钥匙烤进去;
预构建的副本在你机器上根本跑不起来,所以由向导在本机替你构建。

第二步:运行安装器

需要 macOS、Node 22 或更高、Chrome。

有两个东西要你自己先装好。 向导会检查它们、缺了就告诉你确切的命令 —— 但它不会替你装:
bash
1. DeepSeek Harness —— 插件寄宿的那个宿主程序。
版本要钉死:它在 npm 上的 latest 子包是个跑不起来的 stub。
npm install -g @deepseek-ai/dsh@0.1.5-rc.2

2. esbuild —— 只在构建 Chrome 扩展时用一次(约 11 MB)。
缺了的话,向导会连你的路径一起把确切命令打出来。
npm install --prefix "/extension" esbuild

已经有一份源码形式的 DeepSeek Harness(git clone 下来、没有 node_modules)?那是源码,
不是能跑的安装 —— 先把它装起来,或者干脆不管它、按上面装官方发布的包。如果你的 DSH 跑在自定位置,
用 --dsh  点给向导。
怎么让终端进到那个文件夹(大多数人卡在这一步):

1. 按 Cmd + 空格,输入 Terminal(终端),回车 —— 会开一个黑窗口。
2. 先输入 cd 再加一个空格,然后把刚才解压出来的文件夹从访达(Finder)拖进这个窗口
(路径会自己填上),按回车。
3. 然后运行:
bash
node bootstrap/install.mjs          # dry run:只打印“打算”改哪些文件
node bootstrap/install.mjs --apply  # 真装:每一步都会先问你

几乎所有人都会打错的一个地方:是 bootstrap/install.mjs —— 中间是斜杠,因为 install.mjs
在 bootstrap 文件夹里面。写成 bootstrap.install.mjs(点)就不是文件了,node 会回你
Cannot find module。省事的办法是让终端替你补全:输入 node boot,按 Tab(自动补成 bootstrap/),
再输入 in,再按 Tab,回车。

用绝对路径也行(在任何目录下都能跑):
bash
node /你的完整路径/dsh-web-companion-3.49.1/bootstrap/install.mjs

向导在动手之前会问你两件事 —— 程序装到哪、DSH 数据目录在哪。两个都有合适的默认值,
直接按两次回车就行:

? 本程序安装到哪个目录? [/Users/你/Downloads/dsh-web-companion-3.49.1]   ← 回车
? DSH 数据目录(配对钥匙/凭据放这里)? [/Users/你/.dsh]             ← 回车

(它就装在你解压出来的那个文件夹里 —— 这是缺省值,而且是安全的。 向导把源码留在原地,
只把需要的东西加到旁边(node_modules、构建出的扩展、拉起器)。这样程序就在一个你看得见、删得掉的
文件夹里,而不是散落到某个你还得去找的地方。想装到别处,就加 --install-dir ,或者在那个
提示处直接输入路径。)

然后一次性的事:

1. Chrome 里打开 chrome://extensions,开启开发者模式,点加载已解压的扩展程序,
选安装器刚为你构建出来的 extension/dist 文件夹。
2. 点扩展图标打开侧边栏 —— 那就是 agent 的窗口。
3. 重启 DeepSeek Harness(dsh web)让它加载插件,然后自检:
bash
node bootstrap/doctor.mjs           # 检查 DSH、配对、构建产物、连通性

安装器会问你装到哪、DSH 数据目录在哪;检查 Node、DSH、Chrome 与端口;DSH 缺了就替你装;
在你的机器上现场构建扩展;往你的 DSH 设置里加一行(改前先备份);最后自证一遍。
想卸掉:node bootstrap/uninstall.mjs。

(不支持 Windows。安装器会明确说明并当场停下,而不是假装成功。)

给工程师

设计文档、变更记录与台账在 docs/。面向模型的工具是 browser_read、browser_tabs、
browser_wait、browser_screenshot、browser_ax,以及受闸门保护的写操作;两条本机通道是
/ag/agent(扩展侧)与 /ag/client(DSH 页面侧)。npm run check 跑全部门禁,npm run probe:all 跑真 Chrome 探针。

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

💬 加入 DPharness 群聊

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

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群