无尘阁日记

无尘阁日记

AI 编程助手总被厂商锁死?DeepSeek 把整套东西拆成了插件(28 万星)
silcano

github监控器 · 2026-11-10 · 约 4128 字 · deepseek-ai/deepseek-harness

 

你想给 AI 编程助手换个模型,得等官方发版;想加个自定义工具,得改配置文件赌它认。DeepSeek 的答案是:把整个助手拆成插件,谁都能换。

这个项目叫 DeepSeek Harness,缩写 dsh,8 月 13 日开源,现在 27.8 万星,平均每天涨 3093 星,是眼下 GitHub 涨得最快的一个。它不是又一个"AI 写代码工具",而是一个装工具的壳——模型、工具、上下文管理、界面,全都是可替换的插件。

我把它的 README、package.json、安全声明和文档站通读了一遍。下面这篇按"能不能装、装了怎么用、用起来会卡在哪"来讲,看完你自己能跑起来。

一、先说人话:它解决的是"锁死"

你现在用的 AI 编程助手,本质是一个打包好的产品。厂商把模型、提示词、工具集、上下文压缩策略全焊死在一起,只给你留几个开关。

于是你遇到这些事的时候,只能等:你想把主力模型换成另一家的;你想让它读你公司内部的接口文档;你想让它在提交前跑一遍你自己的检查脚本;你觉得它的上下文压缩把关键信息压没了。

这些需求都不大,但每一个都要等排期。dsh 的思路是把焊接处全部改成插槽:

  • 模型是插件——换一家模型,等于换一个插件,不用等发布;
  • 工具是插件——你的内部接口、你的脚本,包一层就能挂上去;
  • 界面也是插件——Web UI 只是默认那一个,可以换;
  • 连"上下文怎么管"都是插件,这意味着压缩策略你可以自己写。

这套设计有个正式名字,叫 everything-is-a-plugin,底座是 Cordis 这个插件框架。README 里给了一篇论文标题:《A Programming Paradigm for Spatiotemporal Composability》。名字很学术,翻成人话就是:让插件可以随时插拔,而且插拔的时候不影响别人。

DeepSeek Harness 仓库首页

二、它现在是什么状态:开发者预览,不是成品

这一段必须先说,不然后面全是白讲。README 里用加粗写着:THERE WILL BE COMPATIBILITY-BREAKING CHANGES——会有破坏性变更。

翻译一下:你今天配好的东西,下个版本可能就不认了。这不是他们不负责,是项目明确处在 developer preview 阶段,接口还在改。

所以判断标准很简单:


你的情况
合不合适
想找个稳定工具天天干活
不合适,等 1.0
想研究 agent harness 怎么搭
非常合适,这就是教科书
想基于它做二次开发 / 做插件
合适,现在进场正好占坑
公司要上生产
不合适,兼容性风险太高

还有一个细节值得注意:仓库里单独放了一份 SAFETY.md,README 让你运行前先读。一个 agent 框架主动写安全声明,说明它清楚这东西拿到 shell 权限后能干出什么事。

三、5 分钟跑起来:一条命令

先看环境要求。package.json 里写得很死:

"engines": { "node": ">=24.9.0" }
"packageManager": "pnpm@11.28.5"
"version": "0.2.2-rc.1"

Node 必须 24.9 以上。你现在大概率是 20 或 22,先升。查版本:

node --version
# 如果低于 v24.9.0,去 nodejs.org 下 LTS 或者用 nvm/fnm 装

然后一条命令,不需要 clone、不需要装依赖:

npx @deepseek-ai/dsh web

它会做三件事:起一个本地服务、监听 127.0.0.1:3080、然后自动打开默认浏览器。看到界面出来,就算装完了。

两个参数要知道:

  • --no-open:只起服务不开浏览器。你在服务器上跑、用 SSH 隧道转发的时候必须加,否则它会去调远端的 xdg-open,然后卡在那里;
  • SSH 场景下它只打印地址不打开浏览器,因为本地转发地址归你的 SSH 客户端或编辑器管。这句话是 README 原话,不是我的推测。

第一次启动会慢,因为要下载依赖和初始化工作区。别以为卡死了,给它两三分钟。

README 里的两条启动路径

四、从源码跑:只有这三种情况值得

README 给了源码路径:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

注意最后两步的分工:pnpm run build 是准备构建产物,pnpm dsh web 是直接用这些产物起服务、不再重新构建。所以改了源码之后要重新 build,只跑 pnpm dsh web 是不会生效的。

什么时候该走这条路?三种:

  1. 你要改它的源码——比如改界面、改上下文策略;
  2. 你要调试插件加载过程——看它到底怎么把插件挂上去的;
  3. npx 那条路在你机器上装不下来——公司网络、内网源、代理问题。

开发时还有一条更省事的:pnpm run dev:web,它会在一个终端里同时做三件事——构建、起服务、监听源码改动自动重建客户端包。改一行存一下,浏览器就更新了。

另外 make help 会列出 Web 和 Desktop 对应的 Make 目标,不想记 pnpm 脚本就看这个。

五、everything is a plugin:好处和代价

好处很直接:换东西不用 fork。你不喜欢它的模型接入方式,写个插件替掉;你要接公司内部的代码检索,写个插件挂上去。

代价也很直接:你得知道插件怎么加载。一个纯插件架构,行为取决于装了什么、加载顺序如何、谁的钩子先跑。出问题的时候,报错信息往往指向插件而不是核心,你得自己判断是哪个插件干的。

这跟你熟悉的"单体应用"是两种心智模型。用单体应用,你排查的是"这个功能为什么不工作";用插件架构,你排查的是"哪个插件让它不工作"。后者更快,但要求你知道自己装了什么。

我的建议:第一次装完,只装官方默认插件,跑通一次完整任务,然后再一个个加。一次装十个插件再排错,你会怀疑人生。

六、装插件前先看三样东西

生态刚起来的时候,插件质量一定参差不齐。README 给了一个官方约定:插件仓库打上 dsh-plugin 这个 topic,就能被搜到。这是唯一的官方发现机制。

所以判断一个插件靠不靠谱,看三处:


看什么
在哪看
怎么判断
依赖声明
package.json 的 peerDependencies
没写 dsh 版本范围的,大概率会随版本崩
维护活跃度
commits 和 issues
最近一个月有没有人动过
权限边界
它读不读你的 ~/.ssh、~/.aws
插件跑在你的机器上,权限跟你一样
来源
是不是官方组织下的仓库
同名仓库 + 抄来的 README 是常见套路

最后一条不是危言耸听。另一个同期的热门项目 REA 在 README 里专门写了警告:"相似的仓库名、抄过来的 README,不能证明这个下载是官方的"。agent 生态里这类事已经发生了。

七、出问题先查这张表

我把常见的启动问题按"现象 → 原因 → 处理"整理成表,遇到对照着看:


现象
大概率原因
怎么处理
npx 报引擎不匹配
Node 低于 24.9
node -v 确认,升级 Node
服务起了但浏览器没开
SSH / 无桌面环境
手动访问打印出来的地址,或加 --no-open
3080 端口被占
别的服务在用
先 lsof -i:3080 看是谁
改完源码没变化
只跑了 dsh web 没 build
重新 pnpm run build
插件装了但没生效
加载顺序 / 未启用
看启动日志里插件加载列表
启动卡住几分钟
首次下载依赖
等;别急着重装

这张表只能救急。真要排查,最有用的是启动日志——它会告诉你加载了哪些插件、哪个失败了。先把日志存下来,再问人。

文档站是主要信息来源

八、开发者预览期的四个真实风险

这一段是提醒,不是劝退。

  1. 接口会变。 README 用全大写强调破坏性变更。你写的插件可能下次就编译不过;
  2. 文档滞后。 预览项目的文档永远慢半拍,遇到问题先去 GitHub Discussions 搜,那里比文档新;
  3. 安全边界要自己兜。 它有 shell 权限。SAFETY.md 是必读,别拿它直接跑在存着生产密钥的机器上;
  4. 别拿它做唯一方案。 你的日常工作流不要压在预览版上。

反过来说,正因为是预览期,现在进场成本最低——插件生态还没定型,你写的东西有机会变成标准。这是时间窗口,不是能力问题。

九、六个坑,按踩到的概率排

  • Node 版本。 24.9 是硬门槛,不是建议。低一点就是起不来,报错还不一定直白;
  • 包名。 是 @deepseek-ai/dsh,带 scope。写成 deepseek-harness 或 dsh 会 404;
  • 端口。 默认 3080。你机器上如果有别的服务占了,它不会自动换端口,直接失败;
  • SSH 场景。 加 --no-open,然后用 ssh -L 3080:127.0.0.1:3080 转发;
  • 源码模式的两个命令分不清。 build 是准备产物,dsh web 是用产物。这两步分开是有意的:你可以 build 一次、反复启动;
  • 拿预览版当生产。 这是最大的坑,而且踩了不会立刻报错,会在某次升级后集体爆炸。

十、谁该装,谁别装

我的判断:


人群
建议
理由
Agent 工具开发者
强烈建议
插件架构 + 开源底座,是做二开的现成地基
重度 Claude Code / Codex 用户
值得试
能直观看到"harness 层"到底管什么
想省钱换模型的人
可以看
换模型这层是插件,理论上更自由
只想写代码不想配环境的人
先别
预览期,配环境的成本高于收益
企业生产环境
别
兼容性和安全边界都不够

一句话:把它当研究和二开的地基,不要当日常工具。

十一、地址与版本汇总

全部官方入口,认这几个就够:


用途
地址
仓库
github.com/deepseek-ai/deepseek-harness
文档站
deepseek-harness.github.io/deepseek-harness/
官网
deepseek.com/harness
讨论区
仓库的 GitHub Discussions
插件发现
GitHub topic: dsh-plugin
安全声明
仓库根目录 SAFETY.md

版本信息(截至 2026-11-10):

npm: @deepseek-ai/dsh
版本: 0.2.2-rc.1
Node: >=24.9.0
包管理: pnpm@11.28.5
许可: MIT
默认端口: 127.0.0.1:3080

最后说句实在话:这个项目的价值不在"又一个 AI 编程助手",而在于它把"harness"这个词从论文里拽到了你能 npx 的地方。你装它,装的是一套可以拆开看的骨架——这比一个更聪明的助手值钱。

 

关于作者 · 江天(楠哥)
AI 实战导师 / 企业 AI 落地顾问 / 智能体工程师,17 年跨界、15,000+ 小时 AI 实操、20+ 套已交付工作流。 看完整履历海报 → skills 实验室 →