dsh-tui
已验证 · 实测可装 dsh-tui
功能简介
Claude Code风格终端UI,用于DSH代理,树外插件
可用 — 实测通过,社区增长中
Claude Code风格终端UI,用于DSH代理,树外插件 实测能干净安装、正常启动。社区在增长,是个稳妥选择。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
@dsh-tui/dsh-tui
English | 中文
An interactive terminal (TUI) front door for DeepSeek Harness agents — a Claude Code / Codex-style chat interface in your terminal, installed as an out-of-tree dsh plugin bundle. Built on @earendil-works/pi-tui.
It composes over the official @deepseek-ai/dsh-base bundle, so the whole plugin ecosystem — shell and filesystem tools, skills, subagents, workflows, sandbox approvals — is the same one the official web surface uses. Nothing is forked.

Features
- Streaming model output and reasoning, rendered as Markdown
- Tool-call cards with terminal / diff / generic render intents; Ctrl+O cycles collapsed → expanded → hidden
- Approval and
ask_user_questiondialogs, plan-mode review included @filepath autocomplete and@sessionreference cards- Slash commands:
/model(with reasoning-effort selection),/resume,/compact,/details,/help, and every command other plugins register - Standing todo panel, token usage and context-pressure status line, session titles
- Configurable theme; truecolor detected from
COLORTERM
Install
Requires Node ^22.19 || >=24 and the dsh CLI (npm i -g @deepseek-ai/dsh@next).
dsh plugin --profile tui add @dsh-tui/dsh-tui
dsh --profile tui # start a session in the current directory
dsh --profile tui --resume <session-id> # resume a persisted session
To track the repo instead of the npm release, use add github:dsh-tui/dsh-tui. Git-hosted plugins build on install via their prepare script, which pnpm blocks until you allow it: if that add fails, append the key it prints under allowBuilds in ~/.dsh/profiles/tui/pnpm-workspace.yaml and re-run —
allowBuilds:
"@dsh-tui/dsh-tui": true
Set DEEPSEEK_API_KEY in your environment (or a .env in the launch directory or $DSH_HOME).
Local / self-hosted DeepSeek endpoints
No code changes needed — pick one:
Environment:
DEEPSEEK_BASE_URL=http://localhost:8000/v1alongsideDEEPSEEK_API_KEY.Settings (hot-reloaded):
$DSH_HOME/settings.yamlllm-deepseek: baseURL: http://localhost:8000/v1OpenAI-compatible gateways (vLLM, SGLang, …): declare an
llm-pi-airoute in your profile patch ($DSH_HOME/profiles/tui/cordis.patch.yml) and point the default model at it — see the dsh providers guide.
Development
pnpm install # applies the pi-tui patch (patches/)
pnpm build # tsc declarations + tsdown runtime bundle
pi-tui is pinned at 0.80.7 with a pnpm patch (editor prompt prefixes) and bundled into lib/ so installs outside this repo never see an unpatched copy.
Status and known limitations
- Under active development against the pre-release
@deepseek-ai/dshrc line; expect breakage until upstream stabilizes. Peer dependencies pin the tested rc. - The recovered test suite (
tests/) predates the port and does not run yet. - A real model turn requires a reachable DeepSeek-compatible endpoint; everything up to the request (composition, rendering, approvals, resume) works keyless.
Provenance and license
MIT. The TUI implementation was recovered from the DeepSeek Harness repository history (packages/ui/tui, removed upstream in commit 10bb9cbf4a) and ported to the published rc API; upstream copyright is preserved in LICENSE.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tui」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:dsh-tui/dsh-tui Headless(CLI)profile:
dsh plugin --profile headless add github:dsh-tui/dsh-tui 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
改变 dsh 的外观或交互方式——一套主题、皮肤或新面板,重塑工作区。
适合谁
在 web UI 里一待几小时、想让它按自己的习惯好看又好用的人。
二次开发建议
皮肤、面板和主题 token 是扩展点——写新皮肤、加面板,或与上游配色同步 token。