大家好,我是老张。
这两天翻 GitHub Trending,看到一个离谱的数字------DeepSeek Harness 这项目,从 0 到 17 万 Star,只用了 8 天。上线当天 9.5 万,三天后涨到 17 万,fork 1.8 万。一周跑完 Claude Code 半年的路。
更让我这个老运维坐不住的是它的玩法:它把 Claude Code、Codex 这些闭源的同类产品,当作子代理(sub-agent)来调用。你不是选 A 还是选 B,而是你坐在中间,A 和 B 都是你的工具。
今天聊这个项目------也聊聊它对咱们运维的实际意义。
项目速览
| 项目 | 详情 |
|---|---|
| 项目名 | DeepSeek Harness(命令名 dsh) |
| GitHub | github.com/deepseek-ai/deepseek-harness |
| Star | 17 万 ⭐(8 天) |
| 技术栈 | TypeScript,约 45.3 万行代码,219 个 workspace 包 |
| 协议 | MIT(完全开源,可商用) |
| 当前版本 | v0.1.1-rc.1(3 天发了两个 rc) |
| 底层 | Cordis 4.0.0-rc.7(DeepSeek 内部 fork 并打了 18 个补丁) |
这个项目和 Claude Code、Codex 有什么区别
很多人第一反应是"又一个 AI 编码工具"。不对。这是"AI 编码工具的操作系统"。
Claude Code 和 Codex 长这样:
模型是定死的(Anthropic / OpenAI 自家),工作流是定死的,你只能选模型、加 MCP、调 system prompt,底下的 agent loop 你碰不到。
DeepSeek Harness 长这样:
模型可选(DeepSeek、Anthropic、OpenAI、自部署的都行),工具可换,agent loop 本身都是插件,甚至连 UI 都是插件。
一句话总结:everything is a plugin。这一点在 README 里被强调成 4 个字的口号。
1️⃣ 子代理可混搭------Claude Code + Codex 都给你打工
这是最炸的功能。dsh 允许你同时挂多个异构 Agent作为 Profile Bundle,按需激活。
举个例子。你在排查一个 K8s 集群问题:
dsh主代理拿你的需求,做任务规划- 它把"读 Helm chart 配置"交给 Claude Code
- 把"查 Prometheus metrics"交给 Codex
- 自己负责汇总、汇报、执行修复命令
两个原本互斥的商业产品,被你当成不同技能点的工人混用。这不是 PPT------rc.8 的 release notes 里明确写了"Claude Code 与 Codex 子代理均可作为 Profile Bundle 按需安装"。
2️⃣ 多模态 + 原生图片请求
rc.8 给 DeepSeek 适配器加了一个能力:原生图片请求 。/goal、/plan 这些命令可以直接吃图文输入,@ 菜单能引用本地文件。
运维场景:你在监控告警里截一张 Grafana 异常图,丢进对话,AI 直接看图说话,不用你再口述"左上角第三条曲线飙到 800"。
rc.1 更进一步,新增 DeepSeek-V4-Flash-Vision-Exp 多模态视觉理解模型------快+能看图,专门给日常巡检场景用。
3️⃣ 安全沙箱:Bubblewrap + /proc//root 漏洞修复
rc.1 修了一个值得说一嘴的漏洞:Bubblewrap 沙箱内的受限进程可经 /proc/<pid>/root 绕过限制。
听起来很学术?翻译成人话:
原本
dsh在沙箱里跑子命令,被设计成"只能访问你授权的目录"。结果 Linux 的/proc文件系统有个洞------沙箱里的进程通过/proc/<自己的pid>/root能"看见"沙箱外的真实文件系统,相当于穿了隐身衣越狱。
这是个真实的 Linux 内核级逃逸路径,能被本地提权利用。DeepSeek 在 rc.1 主动修掉,说明这项目安全迭代是真的在做,不是发完版本就躺。
4️⃣ 性能优化:SQLite 重写 + 大会话分叉
rc.8 把 SQLite 后端整个重写了,数据结构不兼容(升级要重建)。换来的是:
- 读写性能明显提升
- 存储体积降低
- 大历史会话分叉(fork)操作变快
运维场景:你做完一次重大变更,让 AI 拉一个分支会话来"如果当时选了另一个方案会怎样"------以前会话超过几千条就卡,现在顺滑。
5️⃣ 体验细节:99.x% 缓存命中率精度
rc.1 加了一个我看会心一笑的优化:缓存命中率在 99.x% 时显示更多精度。
以前显示 "Cache hit rate: 99%",现在显示 "99.83%"。
为什么我会心一笑?因为这正是运维做容量评估时最常纠结的地方------99% 和 99.9% 差了一个数量级的成本。这种小细节说明项目团队真的在用。
️ 老张怎么用:先在测试环境跑通
老实说,这项目还在 rc(release candidate) 阶段,文档里自己都写了"会有兼容性破坏变更"。生产环境不要上。
但在测试环境跑通还是很快的。
方式一:npm 全局装(推荐)
sh
npm install -g @deepseek-ai/dsh
dsh web
rc.8 加了一个贴心改动:dsh web 启动后会自动打开浏览器 。不用你手敲 http://localhost:5173。
方式二:本地源码
sh
git clone https://github.com/deepseek-ai/deepseek-harness
cd deepseek-harness
pnpm install
pnpm build
./bin/dsh web
⚠️ 踩坑提醒:45 万行 TS 代码、219 个 workspace 包,本地 build 至少 5-10 分钟。Node 版本建议 20+,低于 18 装依赖会失败。
关键配置
按官方文档,配置分两份:
| 文件 | 内容 | 能否共享 |
|---|---|---|
| $DSH_HOME/.credentials.yaml | 真实 API Key | 绝对不能共享 |
| $DSH_HOME/settings.yaml | 配置引用 | 安全,可分享 |
这种拆分对运维很友好------密钥和配置解耦,方便审计和交接。
老张的评价
✅ 优点
- 真的开源:MIT 协议 + 真开源仓库,没有"开源但限制商用"的猫腻
- 插件化设计扎实:不是营销口号,Cordis 是有学术论文支撑的时空可组合性框架,DeepSeek 还自己 fork 了
- 闭源工具可调用 :这是它和 Claude Code/Codex 不是竞争而是互补的核心理由
- 8 天 17 万 Star:说明这定位踩到了大量开发者的真实痛点
⚠️ 值得注意的地方
- 还在 rc 阶段:v0.1.1-rc.1,commit 频率高、API 会变、SQLite 数据格式还不兼容(rc.8 重写过)
- 生态刚起步:第三方插件少,主要靠官方 Profile Bundle
- 45 万行 TS:clone 下来 1.5 GB+,部署前先确认磁盘
- V4-Flash-Vision 是实验模型 :
Exp后缀说明还在迭代,生产不要押注
适合谁用?
| 场景 | 推荐程度 |
|---|---|
| 个人开发者做 AI Agent 玩具 | ⭐⭐⭐⭐⭐ |
| 小团队搭私有 AI 编码平台 | ⭐⭐⭐⭐ |
| 中小公司评估多模型方案 | ⭐⭐⭐⭐ |
| 运维场景(K8s + 监控 + 排障) | ⭐⭐⭐⭐ |
| 大厂生产环境 | ⭐⭐(等 v1.0) |
资源汇总
| 资源 | 链接 |
|---|---|
| GitHub 仓库 | github.com/deepseek-ai/deepseek-harness |
| rc.8 Release | github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.0-rc.8 |
| rc.1 Release | github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.1-rc.1 |
| 底层框架论文 | A Programming Paradigm for Spatiotemporal Composability |
互动话题
- 你在用 Claude Code 还是 Codex?看完这个会想试试把它们当子代理混用吗?
- Agent = Model + Harness 这个公式你认可吗?咱们的运维工作里哪些场景最需要这种"框架层"
- 9.9x% 和 9.99x% 这种细节优化,你认为是过度设计还是真痛点?评论区聊聊你的看法
我是老张,一个在云平台一线摸了 多年的运维。公众号「老张聊运维」,聊点真用得上的。