处理DeepSeek Harness 快速上手指南之安装、多模型接入与「自带黑匣子」的会话日志这类问题时,先确认目标场景,再按步骤核对配置或玩法细节。
DeepSeek Harness(dsh)目前是开发者预览版,基于 Node.js 生态,你需要先准备好:

最简单的方式是用 npx 直接拉起 Web UI:
npx @deepseek-ai/dsh web
命令执行后会启动 Web UI,默认地址是:
http://127.0.0.1:3080
浏览器打开这个地址,按照页面引导填入你的 API Key 即可开始对话。
如果你想要「从源码运行」以获得更完整的控制(比如自定义插件、参与调试):
git clone https://github.com/deepseek-ai/deepseek-harness.gitcd deepseek-harnesspnpm installpnpm run buildpnpm dsh web
注意:源码安装依赖
pnpm,请先npm install -g pnpm。
DSH 的核心卖点之一是不锁定模型。它把「模型适配器」也做成了插件,所以切换模型提供商不需要改核心代码,只需要在配置层完成注册。
官方支持近 40 种提供商,包括:
在 Web UI 的配置界面里,你只需要选择提供商、填入对应的 API Key 即可。多个模型可以并存,同一会话里也可以按需切换。
此外,DSH 还内置了把 Claude Code 和 Codex 作为子 Agent 调用的 Provider——这意味着你可以把 DSH 当作上层编排器,把已经熟悉的编码工具挂到它下面当「员工」。
运行中的 dsh 本质上是一棵插件树,由启动时按顺序叠放的多层组合而成。官方文档里有两个关键概念:
cordis.patch.yml 补丁。web 和 headless 是随发行版交付的两个模板 profile。想看看你机器上实际启动的配置树,可以:
dsh --profile web --dump-config
它打印出来的每一个条目,都可以被你自己的 patch 替换——这就是「一切皆插件」在工程上的具体落地。
DSH 有一个非常实用的能力:所有模型可见的内容、推理过程、工具调用,都会被记录在只增不改的会话日志中。
官方文档用一句话概括了这一设计原则:
模型可见即已记录。
也就是说,凡是送到模型请求里的内容,都必须能够从日志中重建(由一项运行时不变式来保证)。基于这条事件流,DSH 提供了几个关键能力:
对需要调试 Agent、复现 bug、或者做评测的研究者来说,这个「黑匣子」的价值很高——出了问题,你不是靠猜,而是能「回放现场」。
Agent 要执行 Shell 命令、操作文件系统,安全就是绕不开的问题。DSH 的沙箱机制封装了子进程的执行环境,针对不同平台使用系统原生的隔离能力:
这意味着「限制 Agent 能启动哪些进程、能碰哪些文件」这类策略,是在系统层面强制执行的,而不是靠应用层的字符串过滤。
总结一下,最快把 DSH 跑起来的步骤:
npx @deepseek-ai/dsh web;http://127.0.0.1:3080;到这里,你已经能跑起来一个可用的 Agent 了。但如果想理解它为什么「看起来能装能拆、很灵活」,就需要深入它的架构——这正好是下一篇的内容。
参考:deepseek-ai/deepseek-harness 官方 README 与架构文档。
测试用例写得太慢?用私有 AI 一键批量生成测试用例
小米路由器青春版固件怎么升级(小米路由器青春版固件升级方法)
不想手写重复代码?用 Apifox 一键生成多语言 SDK 和类型定义
如何把接口测试塞进 CI CD 流水线?用 Apifox CLI 自动跑测试
既有 HTTP 又有 Dubbo 和 gRPC?中移互联网如何一套工具搞定多协议
测试步骤多被限频了?用私有化 Runner 跑大规模并发测试