dsh-code
DeepSeek Harness CLI core bundle: interactive coding terminal, durable sessions, and model management for dsh --profile cli
AI Analysis
适合习惯在命令行终端(TUI)中进行代码编写、审查及会话管理的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:UNLINEARITY/dsh-codeREADME
Read the full README ↗三、核心功能与使用方式
DSH-Code 的重点是让 DSH 的 Agent、模型、工具和持久会话可以直接在终端中使用,并覆盖从编写代码到审查修改的完整工作流。
1. 会话管理
- 使用
/new新建会话,或通过/resume、--continue恢复已有会话 - 使用
/fork从历史节点创建新的工作分支,同时保留原会话 - 按当前目录、更新时间和会话范围搜索历史记录
- 使用 Up/Down 召回输入历史(含 / 指令),或通过
/history搜索过去的提示词与指令 - 支持持久标题、Markdown 导出、上下文占用、token、缓存、TTFT 和耗时统计
- 恢复会话时同步恢复该会话使用的 Agent Preset 和模型选择


2. Agent、模型与扩展
- 每个会话可以选择独立的 Agent Preset,用于组合工具、提示词、技能、上下文压缩、plan mode 和 subagent 能力
- 使用
/mode选择standard、ptc、minimal、cordis或用户自定义 Preset(旧名称code自动映射到ptc) - 使用
/model切换模型,管理 provider、API key、OAuth/设备码登录、endpoint、可用模型和上下文窗口;Tab进入 provider 管理(已配置供应商置顶分组),任意阶段Ctrl+C直接退出整个 /model 流程 - 在 provider 列表中,Enter 进入统一配置页:同页填写 API key 与 endpoint(留空即官方默认)、编辑已添加模型的上下文/输出窗口,
Tab进入发现页拉取端点真实可用模型并勾选添加 - 在统一配置页的模型行上按
e编辑推理档位声明(格式low:low high:high max:max,false禁用、留空恢复继承),按c从其他已声明模型逐字复制——例如 GLM 系列按官方三档写low:low high:high max:max,新模型(如 gpt-6)可一键复制 gpt-5.6 的映射 - 在 provider 列表中
l发起登录,o经确认后退出登录 - 自动加载 DSH 中可用的命令与技能;使用
/help查看入口,使用/plugin检查扩展状态 - 支持 plan、goal、todo、权限、sandbox、subagent 和运行中的补充指令


3. 模型切换动画
模型或 reasoning effort 发生以下变化时,输入框会播放 Wave、Aurora 或 Pulse:
| 使用场景 | 触发条件 | 动画文字 | 效果档位 |
|---|---|---|---|
| 官方 DeepSeek 模型 | 切换到该模型,或修改该模型的 reasoning effort | deepseek | Flash 使用单波段档位,其他 DeepSeek 模型使用多波段档位 |
| 其他模型 | 切换模型或 reasoning effort 后,实际生效的强度严格高于 high | Into the Unknown | 使用与非 Flash DeepSeek 模型相同的多波段档位 |
高于 high 的等级包括 xhigh、x-high、very-high、max、maximum 和 ultra;high、medium、low 与 off 不会为非 DeepSeek 模型触发动画。
| 样式 | Flash | 其他 DeepSeek / Into the Unknown |
|---|---|---|
| Wave | 一个蓝色波峰从左向右扫过,约 1.2 秒 | 两个错开的蓝色波峰依次扫过,并带有 · ✦ ✧ 尾部星光,约 1.5 秒 |
| Aurora | 两条蓝色光带交错漂移,约 1.5 秒 | 三条不同色调的光带交错漂移,约 1.8 秒 |
| Pulse | 一个圆环从输入框中心向外扩散,约 1.1 秒 | 两个圆环先后向外扩散,约 1.45 秒 |
4. 编码工作流
- 使用
@引用工作区文件或已有会话;选择 PNG、JPEG、WebP、GIF 时会自动作为真实图片附件 - 支持启动 prompt、多个
--image参数,以及从终端拖入或粘贴附件:图片按图片附件发送,其他文件按原样文件附件发送(单文件 8 MiB、每条消息 8 个以内) - 使用
/diff按文件检查改动,使用/review发起只读代码审查 - 使用
/copy复制最近一条完整回复,使用 Ctrl+O 查看完整历史和工具详情 - 支持工具审批、结构化提问、plan review、多选和自定义答案
- 使用权限 Preset 和 sandbox 控制 Agent 可以执行的操作;任务运行中仍可补充指令或中断
5. 命令与快捷键
启动 TUI:
dsh --profile cli # 新建 standard 会话
dsh --profile cli --mode ptc # 使用指定 Agent Preset 启动(standard/minimal/cordis/ptc)
dsh --profile cli --continue # 恢复当前目录最新会话
dsh --profile cli --resume abc123 # 按 id 或唯一前缀恢复会话
dsh --profile cli --session my-id # 使用指定 id 新建会话
进入 TUI 后,可以使用以下内置命令。当前 profile 提供的其他 Harness 命令和用户技能会随安装内容变化,完整列表以 /help 显示为准。
会话与记录
| 命令 | 用途 |
|---|---|
/new [preset] | 创建新会话,可同时指定 Agent Preset |
/resume [id|前缀] | 搜索或恢复已有会话 |
/resume cancel | 取消正在等待的会话切换 |
/fork [event-seq] | 从最近完成的 turn 或指定事件位置创建分支会话 |
/delete [id|前缀] | 删除指定会话及其 subagent 会话 |
/title | 修改当前会话标题 |
/export [path] | 将当前会话导出为 Markdown |
/history | 搜索并复用过去提交的提示词与 / 指令 |
/clear | 清空当前终端显示,不删除持久会话 |
Agent、模型与权限
| 命令 | 用途 |
|---|---|
/mode [preset] | 查看或选择当前会话的 Agent Preset |
/model | 切换模型,管理 provider、API key、网页登录、endpoint 和可用模型 |
/effort | 调整当前模型的 reasoning effort |
/permission [preset] | 查看或切换权限 Preset |
/subagent | 选择 subagent 执行任务时使用的模型 |
编码、任务与后台工作
| 命令 | 用途 |
|---|---|
/diff [--staged|ref] | 按文件查看工作区、暂存区或指定 ref 的 Git diff |
/review [--staged|ref] | 使用只读权限审查 Git 改动;新会话中可直接使用,审查提示词作为首条消息建立会话 |
/todos | 查看当前会话的完整 todo 列表 |
/agents | 查看当前会话创建的 subagent 会话 |
/jobs | 查看后台任务及其运行状态 |
/schedule | 查看活动提醒(模型经 schedule 工具创建/取消,面板只读展示,逾期优先) |
/copy | 复制最近一条完整助手回复 |
扩展、显示与退出
| 命令 | 用途 |
|---|---|
/plugin [query] | 查看已加载扩展及其状态 |
/update | 一键对齐升级:按目标版本的 peers 锁定宿主 Harness 线,同步升级 dsh-code、全局宿主与 profile 内伴生插件,升级前展示完整计划与拒绝条件,完成后提示重启生效 |
/statusline | 选择状态栏显示的项目 |
/vscode-keys | 将 Ctrl+R 放行进 VS Code 系终端(幂等写入用户级 keybindings.json) |
/theme | 切换终端配色主题 |
/animation | 开关计时动画(shimmer/追逐/闪烁/切换波浪),/animation [on|off] |
/help | 查看快捷键、内置命令、Harness 命令和用户技能 |
/quit | 退出 DSH-Code |
输入与快捷键
| 操作 | 用途 |
|---|---|
Enter | 提交当前输入 |
Up / Down | 召回上一条或下一条输入记录 |
Tab | 补全命令、技能或 @ 引用 |
@ | 引用工作区文件或已有会话;图片文件自动作为附件发送 |
Ctrl+O | 查看完整历史与工具详情 |
Ctrl/Alt+R | 折叠或展开思考过程;VS Code 系终端先运行 /vscode-keys 放行 Ctrl+R |
Shift+Tab | 循环切换权限 Preset |
Delete | 输入框为空时,取消最新一条排队消息 |
Ctrl+K | 删除光标到行尾的内容 |
Ctrl+U | 清空当前输入行 |
Ctrl+A / Ctrl+E | 移动到当前行开头或结尾 |
Esc | 关闭当前菜单或中断正在运行的 turn |
Ctrl+C | 依次用于取消任务、清空输入或退出 |
Ctrl+D | 退出 DSH-Code |
状态指示
| 指示 | 触发条件 |
|---|---|
✻ Deep diving... | 回合运行中且当前没有内容流出(等待首个输出、工具执行间隙);超过 15 秒追加计时 |
✻ Thinking… | 模型思考内容正在流出;默认折叠为动效占位行,Ctrl/Alt+R 展开正文 |