DSH 是 DeepSeek 自己出的开源 Harness,架构上一切皆插件,权限走沙箱 × 审批,Skill 和 AGENTS.md 能直接复用。
前面几节用的工具,背后都不是 DeepSeek,我们一直是借别人的 Harness 来跑 DeepSeek 的模型。
前言里讲过模型 + Harness = Agent。光有好模型不够,还要有一个配套的 Harness,DeepSeek 也是照这个想法做的,就是 DSH(DeepSeek Harness)。
一、DSH 是什么
DSH 由 DeepSeek 开源(MIT 协议),2026 年 8 月发布第一个开发者预览版,9 月底的 0.2 预览版加上了 macOS、Windows 的桌面安装包和插件管理页面。
README 的第一句是:一切皆插件。模型接入、工具、Skill、会话、沙箱、Agent 循环、甚至界面上的每个面板,都是可以替换的插件,底层用的是一个叫 Cordis 的插件框架。
和前面几个工具摆在一起:
| Claude Code | Codex | DSH | |
|---|---|---|---|
| 出品方 | Anthropic | OpenAI | DeepSeek |
| 主要界面 | 终端 | 终端 | 网页(也有桌面端) |
| 项目说明 | CLAUDE.md |
AGENTS.md |
AGENTS.md 和 CLAUDE.md 都读 |
| 权限 | 问不问你 | 沙箱 × 审批 | 沙箱 × 审批,和 Codex 很像 |
| 扩展方式 | Hooks、插件 | Hooks、插件 | 一切皆插件(TypeScript) |
| 状态 | 正式版 | 正式版 | 开发者预览 |
几种运行形态:
| 形态 | 怎么启动 | 适合 |
|---|---|---|
| 网页界面 | dsh web |
本节主要讲这个 |
| 桌面端 | DeepSeek 官网下载 macOS、Windows 安装包 | 不想碰命令行的同学 |
| 无界面 | dsh headless "任务" |
脚本、CI |
| SDK / ACP | dsh --profile sdk、dsh --profile acp |
接进自己的程序或编辑器 |
桌面端是在网页界面外面套了一层壳,界面和功能基本一样,下面的操作在桌面端里同样适用。
二、安装与接模型
1. 启动
装了 Node.js 之后,一行命令就能跑起来:
cd your-project
npx @deepseek-ai/dsh web经常用的话,装成全局命令:
npm install -g @deepseek-ai/dsh
dsh web启动后终端会打印一个带 token 的地址,默认还会自动打开浏览器:

几个常用参数:
| 参数 | 作用 |
|---|---|
--no-open |
不自动打开浏览器 |
--port 8080 |
换端口,默认 3080 |
地址里的 token 是访问凭证,不要把这个地址发给别人,也不要把服务直接暴露到公网。
第一次打开会弹出预览版说明,点继续:

2. 接入 DeepSeek
DSH 是 DeepSeek 自家的,接 DeepSeek 也最简单。打开左下角的更多 → 设置 → 模型,点 DeepSeek 卡片上的编辑:

两种方式任选,推荐用环境变量。启动 DSH 前已经设好 DEEPSEEK_API_KEY 的话,输入框留空就行,下面会显示绿色的已检测到环境变量;也可以在界面里直接填,把 Key 粘进去点保存。Key 存在 ~/.dsh/.credentials.yaml 里,而且是只写的,保存之后界面上再也看不到明文。
改完立刻生效,不用重启。
如果你有 DeepSeek 账号,更多菜单里还有一个登录,登录后可以直接用账号里的模型。
⚠️ 设置 → 通用设置最下面有一项在使用官方模型 API 时上传 Session Log,帮助改进 DeepSeek 模型与产品,我实测默认是打开的。如果你用 DSH 处理公司代码,先确认公司的规定,需要的话把它关掉。

3. 选择工作区
DSH 的输入框在选中工作区之前不能用。点左侧工作区旁边的添加工作区图标,在目录选择器里选中项目文件夹,点打开:

选好以后,就是主界面了:

输入框周围有四处,各对应一个概念。order-admin 是当前工作区;标准模式是当前的 Agent 预设(马上讲);工作区内修改是当前的权限模式;DeepSeek-V4.1-Flash · High 是当前模型和推理等级,点一下可以切。
三、概念对照表
| 概念 | Claude Code(第一本) | DSH | 主要差别 |
|---|---|---|---|
| 项目说明 | CLAUDE.md |
AGENTS.md、CLAUDE.md 都读 |
内容一样的只算一份 |
| Skills | .claude/skills/ |
.dsh/skills/、.agents/skills/ |
默认不读 .claude/skills/ |
| 调用 Skill | /skill名 |
/skill名 |
一样 |
| MCP | claude mcp add |
在配置文件里加一个 mcp-client 插件 |
目前没有界面入口 |
| 权限模式 | Shift+Tab 切换 |
输入框下方的权限菜单,或 /permission |
三档:仅可查看、工作区内修改、完全权限 |
| 计划模式 | 一种权限模式 | /plan |
只是引导,不限制工具 |
| 子代理 | .claude/agents/*.md |
内置委派工具 | 插件页里设置并发和深度 |
| Hooks | settings.json 里的 shell 脚本 |
插件(TypeScript);实验插件能直接跑 Claude Code 的 hooks | 进阶第 4 节 |
| 压缩上下文 | /compact |
/compact,也会自动压缩 |
一样 |
| 长任务 | /goal |
/goal |
一样 |
| 换一套工作方式 | 输出风格、插件 | Agent 预设:标准、PTC、极简、创造 | DSH 独有 |
| 定时任务 | — | 左侧自动化任务 |
在输入框里输入 /,能看到所有指令:
