DeepSeek Harness 的终端 UI(TUI)。
安装
# npm 包(预构建)
dsh plugin --profile web add @huiliyi37/dsh-tianshu-tui
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:huiliyi37/dsh-tianshu-tui
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
把 DeepSeek Harness 变成完整、流畅的终端编程工作区。
中文 · English

dsh-tianshu-tui 是官方 DeepSeek Harness 的交互式终端 UI 插件。自研轻量 ANSI 渲染引擎,提供流式 Markdown、工具卡、会话恢复与回退、图片与视觉桥、LSP 诊断、16 个主题,以及完整的 slash 命令和快捷键体系。
它是一个纯展示层插件:agent 状态来自会话事件流,不另建一套 agent 循环,也不向模型偷偷注入 prompt 或工具。
核心体验
| 能力 | 你可以做什么 |
|---|---|
| 流畅对话与工具视图 | 流式 Markdown、推理过程折叠、并行工具分组、结构化 diff、回合耗时与 token 指标 |
| 完整会话工作区 | 恢复、切换、分叉、回退、导出会话;运行中排队,或通过 /steer 即时纠偏 |
| 高效输入 | slash 菜单、@ 路径补全、历史搜索、多行粘贴、外部编辑器,以及可选 Vim 键位 |
| 图片与视觉 | 粘贴并内联预览图片;识图模型直接接收,文本模型可经视觉桥获得图片描述 |
| Agent 控制面板 | 审批 diff、plan 模式、目标、任务、技能、子代理与 workflow 状态集中呈现 |
| 可定制的开发环境 | 16 个主题、LSP 诊断、项目记忆、MCP 浏览、模型与推理等级热切换 |
快速开始
环境要求
| 组件 | 当前验证版本 |
|---|---|
| Node.js | >=24.9.0 |
| 包管理器 | pnpm,可由 corepack enable 启用 |
| DeepSeek Harness | @deepseek-ai/dsh@0.2.2-rc.1,npm latest / next 均指向此版本 |
| 本插件 | @huiliyi37/dsh-tianshu-tui@1.0.0-rc.5 |
宿主 npm
latest与next当前均为0.2.2-rc.1。安装命令继续显式使用@next,避免落到旧全局 CLI;本包也不是可独立运行的 CLI。
一键安装(推荐)
脚本会检查 Node/pnpm、安装官方 CLI、装配插件并启动:
# macOS / Linux
bash <(curl -fsSL https://raw.githubusercontent.com/huiliyi37/dsh-tianshu-tui/main/scripts/install-tui.sh)
# Windows PowerShell
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/huiliyi37/dsh-tianshu-tui/main/scripts/install-tui.ps1 | iex"
只安装、不启动:macOS/Linux 在命令末尾加 --no-launch;Windows 克隆仓库后运行 powershell -ExecutionPolicy Bypass -File scripts\install-tui.ps1 -NoLaunch。
手动安装
# 1. 将插件装入独立的 tui profile
pnpm dlx @deepseek-ai/dsh@next plugin --profile tui add @huiliyi37/dsh-tianshu-tui
# 2. 启动
pnpm dlx @deepseek-ai/dsh@next --profile tui
首次启动后按引导配置 API Key,或输入 /key。看到 dsh-tianshu-tui 欢迎页即安装成功;按 Ctrl+Q 或输入 /exit 退出。
如果旧全局
dsh导致ERR_FS_EISDIR,或 npm 11 安装大型依赖树时发生 OOM,请改用上面的pnpm dlx命令。更多安装与排障方式见快速开始文档。
常用操作
常用命令
| 命令 | 作用 |
|---|---|
/session |
新建、列出、切换或恢复会话 |
/fork · /rewind |
分叉探索,或回退到历史消息边界 |
/model · /effort |
切换当前会话的模型与推理等级 |
/preset |
查看或切换 standard / PTC / minimal / creative 预设 |
/status · /tasks · /subagents |
查看目标、任务与子代理状态 |
/theme · /density |
切换主题与紧凑渲染 |
/scroll · /export |
浏览完整转录,或导出 Markdown |
快捷键
| 按键 | 作用 |
|---|---|
Enter |
发送 |
Shift+Enter |
换行(或 \+Enter 续行) |
Ctrl+N |
新会话 |
Ctrl+S |
恢复最近会话 |
Ctrl+Q |
退出(同 /exit) |
Ctrl+P |
命令面板 |
Ctrl+. |
完整键位表 |
Ctrl+F / Ctrl+R |
历史搜索;n/N 下一个,p/P 上一个 |
Ctrl+O |
展开/收起最近推理块 |
Ctrl+E |
用 $EDITOR 编辑输入行 |
Ctrl+T |
中轮转向 |
Ctrl+Enter |
打断当前回合并立即发送草稿(需 kitty 键盘协议) |
Ctrl+C |
打断在途回合;空闲空输入时双击退出 |
Ctrl+V |
粘贴剪贴板图片,无图时粘贴文本 |
Alt+W |
经 OSC52 把选区复制到系统剪贴板 |
Shift+Tab |
循环 normal → plan → always-approve |
Tab |
@ 路径补全;接受 slash 菜单选中项 |
Ctrl+U |
删除到行首 |
↑/↓ |
输入历史;菜单打开时为选择;空输入 ↑ 取回排队消息 |
PageUp/PageDown |
slash 菜单翻页 |
Esc |
关闭面板或取消提问;空闲双击打开 rewind |
t |
审批卡:本会话内记住此工具 |
a |
审批卡:本会话放行 |
完整命令、审批操作、Vim 键位和终端协议说明见交互手册。
更新
从 npm 安装的插件会在启动时检查更新;也可以在 TUI 中输入 /update 手动检查。设置 DSH_TUI_SKIP_UPDATE=1 可关闭启动检查。
pnpm dlx @deepseek-ai/dsh@next plugin --profile tui add @huiliyi37/dsh-tianshu-tui
当前版本:1.0.0-rc.5,适配宿主 0.2.2-rc.1。本版精确对齐官方 dsh peer、Cordis ~4.1.0 与 Node >=24.9.0;修复四预设、旧 list-agents 清理与 PTC executor 接线,迁移到 AgentModel 持久化并修复 /effort、/btw;工具卡使用当前 Agent scope 的 presenter,同时完善 Provider 401/settings revision 处理,旧 invariant companion 改为无依赖 no-op。
升级到本版可在 TUI 中执行 /update 后重启,或重跑上方的 plugin add 命令。完整版本历史见 CHANGELOG.md,TUI 内可输入 /changelog 查看。
文档
| 文档 | 内容 |
|---|---|
| 快速开始 | 安装、启动、干净环境安装与故障排查 |
| 交互手册 | 全部命令、快捷键、面板与输入方式 |
| 配置 | 装配选项、环境变量、预设与运行时配置 |
| 主题 | 内置主题、自定义配色与终端降级 |
| 插件生态 | 伴生插件与扩展点 |
| 架构 · 适配契约 | 分层、事件流、服务依赖与展示层边界 |
| VS Code | 在 VS Code 终端中使用 |
| 贡献指南 · 开发说明 | 本地开发、构建、测试与发布流程 |
设计原则
- 事件驱动:所有渲染状态派生自会话事件流,恢复与实时显示走同一套转录桥。
- 不越过展示层边界:不注册自有 prompt、工具或上下文面,不直接改写 agent 请求体。
- 明确降级:宿主可选服务缺失时,对应面板会说明原因,不静默空白,也不阻塞启动。
- 终端友好:支持窄屏、16 色与
NO_COLOR,并针对中文宽字符、长输出和流式刷新优化。
实现细节与边界约束见架构文档和 ADAPTER.md。
已知限制
ask_image图片再询问需要同仓伴生插件vision-ask;基础图片提交与视觉桥不依赖它。- LSP server 采用懒启动;大型仓库可能常驻较多内存,切换会话时
rootUri仍沿用首个会话目录。 - 上游 schedule 依赖 Web
sessionController,当前 TUI 未挂载该工具面。
参与贡献
欢迎提交 Issue 和 PR。开始前请阅读贡献指南,改动后运行:
npm run typecheck
npm test
npm run build
官网与社区
| 入口 | 说明 |
|---|---|
| 天枢 Harness 官网 | 官方网站与项目介绍 |
| Tianshu-harness 上游项目 | 上游源码、Issue 与版本动态 |
| 天枢论坛 | 使用交流、经验分享与问题讨论 |
社区生态
| 项目 | 简介 |
|---|---|
| dshfind | DeepSeek Harness 中文学习与插件社区 |
| dsh-web-ui | DSH Web UI 插件与皮肤合集 |
| dsh-TUI | Claude Code 风格全屏终端插件 |
| deepseek-harness-ux | 长任务进度聚焦与历史自动折叠 |
| DSH-better-sidebar | 文件、终端、Git 与子代理侧边栏工作台 |
| DSH Desktop | 社区桌面端与远程任务控制 |
| dsh-whale-report | 会话、成本、工具调用与风险报告 |
许可与来源
基于 Apache-2.0 开源。终端渲染核心源自作者的 Tianshu-harness 项目并持续演进,文件级来源与修改说明见 SOURCE-MAP.md 和 NOTICE。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 10357
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 10357
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 7530
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 7157
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
omdsh-dev/DSH-better-sidebar★ 5092
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1808
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。