前言¶
DeepSeek Harness(dsh)把模型、工具、存储、策略和界面都做成可插拔组件,Agent 会话、工具调用和权限策略由同一套服务驱动。官方提供 Web UI,但在本地仓库里写代码、看 diff、跑审查时,很多人更习惯终端里的交互方式——类似 Codex CLI、Claude Code 那种 TUI 工作流。
下面介绍社区插件 DSH-Code(维护者 UNLINEARITY)。它以树外 bundle 的形式叠在官方 @deepseek-ai/dsh-base 之上,与 Harness Web UI 共用 Agent、Session、工具、命令、技能、权限、sandbox、上下文压缩与插件服务;界面换成终端 TUI,运行行为仍由 DSH 进程和配置决定。插件在 SkillHub 目录归类为「客户端」,GitHub 约 27 stars(截至资料抓取时)。
这是什么¶
DSH-Code 是 dsh 的终端编码界面(Claude-Code-style TUI bundle)。 它不另起一套 Agent 运行时,而是读取 Harness 的实时注册表,把持久会话、模型管理、Agent Preset、subagent、plan mode 和编码相关命令搬到终端里。
与「单独装一个 CLI 工具、自己维护会话和工具链」的做法相比,DSH-Code 直接接入 DSH 的 Cordis 组合与 Session 事件投影:恢复会话时会同步还原 Agent Preset 和模型选择;/plugin 展示的是当前 loader 状态,而不是本地副本。
核心功能¶
会话与工作流¶
/new新建会话,/resume、--continue按目录、时间或 id 恢复;/fork从历史节点分支,原会话保留- 支持持久标题、Markdown 导出(
/export)、上下文占用与 token 统计 - Up/Down 召回输入,
/history搜索历史提示词 @引用工作区文件或已有会话;PNG、JPEG、WebP、GIF 自动作为图片附件/diff按文件查看改动,/review以只读权限审查 Git diff;支持工具审批、plan review、任务运行中补充指令
Agent、模型与扩展¶
- 每会话可选 Agent Preset:
standard、code、minimal、cordis或用户自定义;/mode切换,--mode启动时指定 /model管理 provider、API key、OAuth/设备码登录、endpoint 与可用模型;未配置模型时仍可进入 TUI 使用非模型功能/effort调整 reasoning effort;/permission切换权限 Preset;/subagent指定子代理模型- 自动加载 DSH 中的命令与技能;
/help查看入口,/plugin检查扩展状态 - 切换模型或 reasoning effort 时,输入框可播放 Wave、Aurora 或 Pulse 动画(官方 DeepSeek 模型与其他高强度模型触发条件不同,详见 README)
与 DSH 的接入方式¶
Host 平面持有注册表、持久化、查询、权限与 sandbox;每个会话获得隔离的 Agent scope,由 Agent Preset 组合工具、提示词、技能、上下文压缩与 subagent 能力。提示词、流式输出、工具调用、模型选择与 preset 均写入 Session 事件,恢复与导出共用同一份记录。
安装与启用¶
需要 Node ^22.19 || >=24,以及预览版 dsh CLI(当前版本线:@deepseek-ai/dsh@0.1.1-rc.2)。dsh-code@1.0.1 面向该版本构建,Harness 依赖均锁定为 0.1.1-rc.2,请保持全局 dsh 与 dsh-code 同步,避免宿主与插件混用候选版本。
初次安装与更新使用同一组命令:
npm install -g @deepseek-ai/dsh@0.1.1-rc.2 dsh-code@1.0.1
npm install -g pnpm
dsh plugin --profile cli add dsh-code@1.0.1
pnpm 会忽略发布不足 24 小时的包,发布首日请写精确版本 dsh-code@1.0.1;24 小时后可省略版本号。npm 不受此限制。
典型用法¶
安装完成后,以下三条命令等价,后续参数会原样转发:
dsh --profile cli
deepseek
dsh-code
带参数启动示例:
dsh --profile cli --mode code # 使用 code Agent Preset
dsh --profile cli --continue # 恢复当前目录最新会话
dsh --profile cli --resume abc123 # 按 id 或唯一前缀恢复
deepseek --resume abc123 # 别名同样支持参数转发
进入 TUI 后,常用内置命令包括:
| 命令 | 用途 |
|---|---|
/mode [preset] |
查看或选择 Agent Preset |
/model |
切换模型,管理 provider 与登录 |
/diff [--staged\|ref] |
查看工作区或指定 ref 的 Git diff |
/review [--staged\|ref] |
只读审查 Git 改动 |
/fork [event-seq] |
从指定事件位置创建分支会话 |
/export [path] |
导出当前会话为 Markdown |
/help |
查看快捷键、内置命令与用户技能 |
快捷键方面:Tab 补全命令与 @ 引用,Ctrl+O 查看完整历史与工具详情,Esc 可中断正在运行的 turn,Ctrl+D 退出。完整列表以 /help 为准。
适用场景与注意¶
适合谁: 已在用或打算用 DeepSeek Harness,希望在终端完成编码、diff、审查和会话管理的开发者;需要与 Web UI 共用同一套 Agent、工具和持久会话的人。
使用前注意:
- DeepSeek Harness 仍处于 developer preview,插件接口可能随上游变化;DSH-Code 声明会持续跟随演进。
- 插件以当前
dsh进程的权限运行,安装前建议查看 GitHub 源码 与 MIT 许可证。 - SkillHub(目录页)是社区插件目录,与 DeepSeek / 幻方无官方从属关系。
- 安装、原生模块或插件加载异常,可参考仓库内 常见问题与排障。
结尾¶
DSH-Code 把 DSH 的 Agent 运行时、持久会话和插件生态接到终端 TUI,覆盖从会话管理、模型切换到 /diff、/review 的编码工作流,而不另建一套工具链。若你已在用 dsh --profile cli,装上 bundle 后即可用 deepseek 或 dsh-code 直接进入同一套服务。