@dsh-tui/dsh-tui
v0.1.2
Published
Claude Code-style interactive terminal UI for DeepSeek Harness agents
Readme
@dsh-tui/dsh-tui
English | 中文
DeepSeek Harness 智能体的交互式终端(TUI)入口——在终端里获得 Claude Code / Codex 同款的对话体验,以树外(out-of-tree)dsh 插件 bundle 的形式安装。基于 @earendil-works/pi-tui 构建。
它组合在官方 @deepseek-ai/dsh-base bundle 之上,与官方 web 界面共享同一套插件生态——shell 与文件系统工具、技能、子代理、工作流、沙箱审批——不 fork、不魔改。

功能
- 模型输出与思考过程的流式 Markdown 渲染
- 工具调用卡片(terminal / diff / generic 三种渲染意图);Ctrl+O 三档切换:预览 → 展开 → 隐藏
- 工具审批与
ask_user_question对话框,含 plan 模式评审 @文件路径自动补全与@session会话引用卡片- 斜杠命令:
/model(含推理力度选择)、/resume、/compact、/details、/help,以及其他插件注册的全部命令 - 常驻 todo 面板、token 用量与上下文压力状态栏、会话标题
- 可配置主题;从
COLORTERM自动检测真彩色
安装
需要 Node ^22.19 || >=24 和 dsh CLI(npm i -g @deepseek-ai/dsh@next)。
dsh plugin --profile tui add @dsh-tui/dsh-tui
dsh --profile tui # 在当前目录开启会话
dsh --profile tui --resume <session-id> # 恢复历史会话想跟踪仓库最新代码而非 npm 发布版,用 add github:dsh-tui/dsh-tui。git 安装的插件在安装时通过 prepare 脚本构建,pnpm 默认拦截构建脚本:若该 add 失败,按它打印的键名在 ~/.dsh/profiles/tui/pnpm-workspace.yaml 里追加 allowBuilds 后重跑——
allowBuilds:
"@dsh-tui/dsh-tui": true在环境变量(或启动目录 / $DSH_HOME 下的 .env)里设置 DEEPSEEK_API_KEY。
本地 / 自部署 DeepSeek 端点
零代码配置,三选一:
环境变量:
DEEPSEEK_BASE_URL=http://localhost:8000/v1搭配DEEPSEEK_API_KEY。设置文件(热加载):
$DSH_HOME/settings.yamlllm-deepseek: baseURL: http://localhost:8000/v1OpenAI 兼容网关(vLLM、SGLang 等):在 profile 补丁(
$DSH_HOME/profiles/tui/cordis.patch.yml)里声明一个llm-pi-ai路由并把默认模型指过去——参见 dsh 的 providers 指南。
开发
pnpm install # 自动应用 pi-tui 补丁(patches/)
pnpm build # tsc 类型声明 + tsdown 运行时打包pi-tui 钉在 0.80.7 并带一个 pnpm 补丁(编辑器提示符前缀能力),构建时打包进 lib/,因此仓库之外的安装方永远不会拿到未打补丁的副本。
状态与已知限制
- 基于 pre-release 的
@deepseek-ai/dshrc 线开发,上游稳定前随时可能 breaking;peer 依赖钉在验证过的 rc 版本。 - 恢复出来的测试套件(
tests/)先于本次移植,目前尚不可运行。 - 真实模型回合需要可达的 DeepSeek 兼容端点;请求之前的一切(组合、渲染、审批、resume)无需 key 即可工作。
来源与许可
MIT。TUI 实现恢复自 DeepSeek Harness 仓库历史(packages/ui/tui,上游于 commit 10bb9cbf4a 移除),并移植到已发布的 rc API;上游版权声明保留在 LICENSE 中。
