huiliyi37/dsh-tianshu-tui · 上手攻略

  • 仓库:huiliyi37/dsh-tianshu-tui
  • 链接:https://github.com/huiliyi37/dsh-tianshu-tui
  • 分类:DevTools / Terminal UI / DeepSeek Harness 生态
  • 作者:Tom
  • 更新:2026-08-16

这是什么

dsh-tianshu-tui(npm 包名 @huiliyi37/dsh-tianshu-tui)是 DeepSeek Harness(官方 CLI @deepseek-ai/dsh)的交互式终端极简风格 UI 插件。它以自研 ANSI 渲染为核心,在官方 Web UI 之外提供类 Claude Code 风格的纯终端对话界面,并叠加了 TDD 工作流、证据门、视觉图像、代码智能检索、记忆等扩展功能。

换句话说:它是 DeepSeek Harness 的终端「壳」,让开发者可以在命令行里完成原本需要浏览器的 AI 编码协作体验。

核心定位是展示层:TUI 自身不注册任何 prompt、工具或上下文面,所有 agent 状态都派生自会话事件流——这意味着它的行为完全受宿主 harness 控制,可审计、可预测。


解决什么问题

  • 纯终端党不想开浏览器:DeepSeek Harness 官方提供 Web UI,但大量开发者偏好全程 terminal 操作
  • 需要 TDD / 证据门工作流:在终端内直接驱动 Test-Driven Development 循环和验证门
  • 需要视觉桥接:不具视觉能力的主模型通过独立视觉模型中转看图
  • 需要会话持久化与回退:rewind/fork 机制让多轮对话探索更安全
  • 需要代码智能:LSP 诊断、语义搜索、代码图谱直接上屏

快速安装

环境要求

  • Node.js ^22.19>=24
  • pnpm(CLI 会转发给它,PATH 上需有)
  • 官方 harness CLI:先装 @deepseek-ai/dsh@0.1.0-rc.6

⚠️ 注意:本包不是独立程序,没有 @deepseek-ai/dsh 跑不起来。

安装插件

# 方式一:从 npm 安装(推荐)
npx -y @deepseek-ai/dsh plugin --profile tui add @huiliyi37/dsh-tianshu-tui

# 方式二:从 GitHub 安装(获取最新未发布版)
npx -y @deepseek-ai/dsh plugin --profile tui add github:huiliyi37/dsh-tianshu-tui

启动

npx -y @deepseek-ai/dsh --profile tui

看到欢迎页品牌 dsh-tianshu-tui 即成功。按 Ctrl+Q/exit 退出。

常见问题:ERR_FS_EISDIR

若报错 ERR_FS_EISDIR / Path is a directory .../@deepseek-ai/dsh,说明旧版 dsh 冲突。换干净目录处理:

DSH_HOME=/tmp/dsh-tianshu npx -y @deepseek-ai/dsh plugin --profile tui add @huiliyi37/dsh-tianshu-tui
DSH_HOME=/tmp/dsh-tianshu npx -y @deepseek-ai/dsh --profile tui

核心用法

会话管理

命令 作用
/session new 新建会话
/session list 列出所有会话
/session switch <id> 切换会话
Ctrl+N 新建会话
Ctrl+S 恢复最近会话
/rewind 回退到指定消息(两阶段:消息列表 → 粒度文件回退)
/fork [directive] 分叉当前会话,可选带起始指令
/export 将会话转录导出为 Markdown

模型与推理

命令 作用
/model [target] [effort] 切换模型(支持别名 spark-flashdeepseek-v4-flashspark-prodeepseek-v4-pro
/effort off\|high\|max\|auto 设置推理等级(当前会话热切)

交互快捷键

按键 作用
Ctrl+C 打断在途输出(空闲时空输入时需双击才退出)
Esc(单次) 打断输出(同 Ctrl+C,80ms 防误触)
Esc+Esc(1s 内) 打开 rewind 回退面板
Ctrl+O 展开/收起最近推理块(实时 think 通道)
Tab 接受 slash 菜单选中项 / 路径补全
Ctrl+V 粘贴剪贴板图片(无图时回退为文本)
Ctrl+P 命令面板
Ctrl+. 完整键位表
Shift+Tab 模式循环 normal → plan → always-approve
Ctrl+E 用 $EDITOR 打开输入行
Ctrl+T 中轮转向(不中断地纠正方向)
Ctrl+F 历史搜索(n/N 下一条,p/P 上一条)

面板与工具

命令 作用
/status 状态面板(goal/todos/plan 投影 + 会话汇总)
/config 设置面板(settings / permission / credentials)
/skills 技能浏览面板
/tasks 任务窗格(后台任务)
/subagents 委派树面板
/workflow workflow 运行面板
/goal 目标管理
/memory 记忆浏览器(列表/过滤/删除/预览)
/doctor 终端诊断 + 修复指引
/mcp [tools <name>] 列出 MCP server 及工具清单
/cost 会话成本汇总(按模型分桶 + 合计 $ 估算)
/theme [name] 切换主题(16 个内置主题,实时预览)

视觉能力

  • 直接识图:主模型支持 vision 时,剪贴板粘贴图片自动内联渲染并发送
  • 视觉桥(主模型不识图时自动启用):自动探测已装配的视觉桥服务,通过独立视觉模型中转生成图片描述;桥失败有明确警告
  • 视觉副驾(需同仓插件 @deepseek-ai/dsh-vision-ask):每张已发送图片被登记为 img_1 …,模型可不限次数定向追问

代码智能(需装配伴生插件)

# 安装 LSP 插件(提供 goto/find_refs/diagnostics 模型工具面)
npx -y @deepseek-ai/dsh plugin --profile tui add github:omdsh-dev/dsh-lsp

装配后 TUI 展示桥自动消费其 LSP 服务,诊断徽标上工具卡。


典型适用场景

  1. 终端重度用户:完全不想开浏览器,全程在 iTerm2/kitty 等终端内完成 DeepSeek 协作编码
  2. TDD 驱动开发:结合 dsh-evidence-gate 实现 RED-first 验证循环
  3. 多会话探索/fork/rewind 让分支实验安全可控,适合方案评估
  4. 视觉 + 代码混合任务:截图、设计稿直接粘贴提问,代码诊断内联上屏
  5. 成本敏感用户/cost 实时显示 token 消耗,避免月底账单惊喜

坑与注意

  1. 本包不是独立程序:没有 @deepseek-ai/dsh 就跑不起来,不要 npm i 本包然后直接运行
  2. 旧版 dsh 冲突:PATH 上若有旧 dsh(version 不是 0.1.0-rc.6),会报 ERR_FS_EISDIR,必须用干净的 DSH_HOME 目录
  3. DeepSeek Spark 别名:官方 API 没有 spark 模型,/model spark-flash 实际映射到 deepseek-v4-flash,使用前需确认模型供应商支持
  4. peer missing 警告:pnpm 安装时可能提示 peer missing,可忽略——peer 由官方 dsh 宿主提供
  5. 视觉桥非默认:主模型不识图时需要已装配的视觉桥插件,TUI 会自动探测服务存在性;两者皆无则图片不发送并警告
  6. 不要在 Harness 工作区根目录跑 tsdown:会把未发布的 @deepseek-ai/dsh-root 写进 bundle,导致加载失败
  7. 自更新需重启:插件更新后看到「插件已更新到 …,请重启 dsh 后生效」提示,必须重启 dsh --profile tui 才能生效

与同类对比

特性 dsh-tianshu-tui 官方 DeepSeek Harness Web UI
交互界面 纯终端(ANSI 渲染) 浏览器
视觉支持 ✅(含视觉桥)
TDD / 证据门 ✅(配合 dsh-evidence-gate) ❌(无内置 TDD 门)
会话持久化 ✅(/rewind/fork/export)
LSP 诊断上屏 ✅(需 dsh-lsp 插件)
记忆跨会话 ✅(/memory) ❌(会话级)
依赖 harness 本身 ✅ 强依赖 独立
主题系统 ✅ 16 个内置 + 自定义 有限

dsh-tianshu-tui 的核心优势是终端原生 + 可审计 + 扩展插件生态,劣势是必须有 harness 基础设权。


一句话推荐结论

如果你是 DeepSeek Harness 的终端党、或者需要 TDD/证据门这类结构化工作流,dsh-tianshu-tui 是目前生态里最完整的终端交互方案——但它本质上是一个「壳」,必须先跑通官方 harness 才能使用。