ccch1mneyyy/dsh-TUI · 上手攻略

  • 仓库:ccch1mneyyy/dsh-TUI
  • 链接:https://github.com/ccch1mneyyy/dsh-TUI
  • 分类:developer-tool · cli-enhancement
  • 作者:Tom
  • 更新:2026-08-16

这是什么

dsh-TUI 是 DeepSeek Harness(DSH)官方公众号收录的终端 UI 补位插件,目标是解决 DSH 官方 CLI 缺少全屏交互界面的痛点。它的风格对标 Claude Code CLI,提供像素鲸鱼顶栏、流式 Markdown 渲染、实时 TPS/Token 仪表盘、思考流展开、双击 Esc 会话回溯等体验。零核心改动,纯插件挂载,卸载不污染 DSH 核心。

解决什么问题:DSH 官方只提供纯文本 TTY 交互,对习惯了 Claude Code 全屏 TUI 界面的用户而言缺乏操作反馈和状态感知。dsh-TUI 以插件 profile 形式叠加,不需要 fork DSH 源码或打补丁。


快速安装

前置条件

  • Node.js(官方建议 Node 24,CI 使用 pnpm 11)
  • pnpm ≥ 10
  • 已安装官方 dsh CLI:npm install -g @deepseek-ai/dsh
  • DEEPSEEK_API_KEY 环境变量(运行模型必需)

一键安装(推荐)

# 全局安装 dsh CLI + dsh-tui 插件
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui

# 启动(首次运行自动初始化 profile,需 pnpm)
dsh-tui

备选:手工 profile 安装

# 仓库根目录 install.sh 封装了 pnpm 预检
sh install.sh

# 或手动添加 profile
dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui

# 之后 dsh-tui 等价于 dsh --profile dsh-tui

Windows 备选

仓库根目录提供 dsh-tui.cmd,等价于 dsh-tui 命令。

更新插件

TUI 启动后若发现 npm 有新版本会提示,输入 /update 自动更新并恢复当前会话。


核心用法

会话工作流

命令 说明
dsh-tui 启动 TUI,新建会话
dsh-tui --resume 恢复上次会话
/new 新建会话
/resume 切换工作区内会话
/compact 压缩上下文
/export 导出会话
/btw 侧问(不打断主对话)

键盘快捷键

功能
Enter 发送(Shift+Enter 换行)
Ctrl+C 中断当前回合;空闲时连按两次退出
Esc 关闭命令/文件菜单;空闲双击清空输入;空输入双击 = 时间回溯
Ctrl+O 展开/收起详情(思考全文、工具参数与输出)
Ctrl+R 历史消息搜索
/ 会话内全文搜索(n/N 跳转)
Tab / Enter 命令 / @ 文件补全
Ctrl+V 粘贴文本或文件(含图片附件)
Ctrl+X $VISUAL/$EDITOR 编辑当前输入
? 快捷键菜单
Shift+↑ 消息选择模式(Enter 展开单条)

⚠️ macOS 用户 修饰键需要终端支持扩展键盘协议(iTerm2 / kitty / WezTerm / ghostty / tmux)。macOS Terminal.app 不支持,建议继续使用 Ctrl

状态栏实时信息

  • 实时工作状态(Idle / Thinking / Working…)
  • 上下文分段进度条(蓝白配色 + TPS 仪表)
  • 缓存命中率
  • 推理等级
  • 输入/输出 token 计数
  • 当前 Git 分支与会话信息

主题切换

/theme          # 选择器(auto / light / dark / dark-ansi)
/theme auto     # 自动跟随终端背景色(OSC 11)

自定义主题放在 ~/.dsh-tui/themes/*.json,热切换即时生效。环境变量 DSH_TUI_THEME 优先级最高。

MCP 接入

# 通过 @deepseek-ai/dsh-mcp-client 挂载 MCP 服务器
/mcp            # 查看连接状态

MCP 工具以 mcp____ 前缀注册,配置文件见 docs/configuration.md

Agent Preset 切换

/preset         # 在 standard / code / minimal / cordis 四种模式间切换

已在对话中的会话不可切换 preset;空白会话立即生效并持久化到 ~/.dsh-tui/agent-preset.json

模型切换

/model          # 打开模型选择器

切换后走"会话 fork 续聊"(DSH 无原位换模型 API):历史原样保留,新会话路由到新模型,旧会话留在 /resume 列表。选中模型持久化到 ~/.dsh-tui/model.json


典型适用场景

  1. 重度 DSH 用户:需要实时感知 token 用量、上下文分段、TPS 的高频使用者。
  2. 从 Claude Code 迁移的用户:习惯全屏 TUI 交互,不接受纯文本 CLI 的视觉反馈缺失。
  3. 长会话维护:双击 Esc 回溯、消息选择展开、上下文压缩 /compact,适合数小时以上的项目级会话。
  4. 多模态会话:图片附件(PNG/JPEG/WebP/GIF)直接粘贴发送,保存为持久附件块。
  5. 中文界面需求:内置 /lang 中英切换,适合中英文混合工作流。

坑与注意

  1. pnpm 强依赖:安装脚本要求 pnpm ≥ 10,npm 用户需先装 pnpm。
  2. Windows 无沙箱:Windows profile 当前没有沙箱后端,回退到 danger-full-access 且不弹审批,敏感环境慎用。
  3. macOS ⌘ 快捷键限制:系统 Terminal.app 会消费 快捷键,建议换用 iTerm2 / kitty 等支持扩展键盘协议的终端。
  4. Ctrl+V 剪贴板平台差异:Windows 用 PowerShell Get-Clipboard;macOS 用 osascript/pbpaste;Linux 需要 wl-paste/xclip/xsel 之一,工具缺失时提示"无可用剪贴板工具"。
  5. 会话 fork 模型切换:DSH 无原位换模型 API,/model 切换后旧会话留在 /resume 列表,需手动管理。
  6. 插件 profile 生命周期:profile 插件卸载后需手动清理 ~/.dsh-tui/ 目录。
  7. 零核心改动 ≠ 零依赖:依赖 DSH 官方 CLI 和 dsh-base 的服务注册表,若 DSH 底层 API 变更可能影响插件行为。

与同类对比

维度 dsh-TUI Claude Code 原生 TUI DSH 官方 CLI
交互界面 全屏 TUI + 状态栏 全屏 TUI 纯文本 TTY
安装方式 npm profile 插件 内置 npm 全局
状态感知 TPS + Token + 缓存命中率 TPS + Token
会话回溯 双击 Esc /rewind
上下文进度条 蓝白分段条 简单进度
主题系统 内置 + 自定义 JSON 有限主题
MCP 支持 ✅ 通过 dsh-mcp-client ✅(官方)
平台覆盖 macOS/Linux/Windows macOS/Linux 全平台
维护状态 活跃(社区插件生态) 官方内置 官方

dsh-TUI 的差异化价值:作为 DSH 官方生态的补位插件,不 fork 源码,适合既想用 DSH 又想要 Claude Code 级交互体验的用户。


一句话推荐结论

dsh-TUI 是目前 DSH 生态里唯一成规模的 Claude Code 风格 TUI 插件,适合重度 DSH CLI 用户在不改造底层的前提下获得完整的全屏交互和状态感知体验。


最小可跑命令

# 前置:Node 24 + pnpm 10 + DEEPSEEK_API_KEY
export DEEPSEEK_API_KEY=sk-xxxx

# 安装
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui

# 启动
dsh-tui

⚠️ Node 版本要求:CI 使用 Node 24 + pnpm 11;包声明支持 ^22.19 || >=24

来源

  • https://github.com/ccch1mneyyy/dsh-TUI(README + 6 篇文档)
  • https://www.npmjs.com/package/@deepseek-harness-tui/dsh-tui