DeepSeek Harness (DSH) 采用插件化架构。传统的命令行插件(如 dsh-plugin-cli-session)通常驱动单轮对话并立即退出。dsh-plugin-tui 保持终端会话持续开放,提供流式 token delta、工具调用行渲染和实时批准请求,构建了一个 Claude Code 风格的 REPL。
插件概览¶
- 名称:
dsh-plugin-tui - 维护者:
ghbhiee - 类别:客户端
- 许可证:MIT
- 核心价值:在终端内提供持久的、流式交互的 AI 编程环境,支持会话管理、模型切换、历史回放及权限审批。
核心功能¶
该插件为 DSH 提供了一个交互式终端用户界面,主要能力包括:
- Claude Code 风格 REPL:保持终端活跃,支持流式输出。
- 流式交互:实时显示 token delta,工具调用行渲染,以及错误信息。
- 会话管理:支持交互式会话/模型选择器、历史回放、会话恢复与切换。
- 权限控制:提供询问(ask)和自动(auto)两种批准模式,并在终端内直接响应审批请求。
- 状态反馈:底部状态栏实时显示当前模型、推理 effort、审批模式、会话标题及工作目录。
- 思考折叠:默认折叠推理流,通过快捷键可展开查看详情。
- Markdown 渲染:支持渲染 Markdown 格式文本。
- MCP 服务器连接:在后台连接 MCP 服务器。
安装与配置¶
安装插件需要指定 tui 配置文件。安装命令如下:
dsh plugin --profile tui add github:ghbhiee/dsh-plugin-tui
安装后,需在配置文件中指定 bundle。该插件仅需要两个 bundle 层(它重述了 dsh-headless 的部分行),切勿添加 headless bundle。
编辑 ~/.dsh/profiles/tui/package.json:
{
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "dsh-plugin-tui"]
}
}
}
典型用法¶
启动与基础命令¶
dsh --profile tui # 进入交互模式
dsh --profile tui "explain this file" # 发送初始消息并进入交互
dsh --profile tui -r # 恢复最新的 tui 会话
dsh --profile tui -s <id> # 恢复特定的会话 ID
dsh --profile tui -w ./scratch # 在指定目录启动新会话
dsh --profile tui -l # 列出当前配置文件下的会话
dsh --profile tui -p danger-full-access # 启动时给予完全访问权限(无沙箱、无提示)
dsh --profile tui -p workspace-write -y # 启动时给予工作区写入权限,并自动允许所有审批
REPL 内部命令¶
在交互界面中,支持以下内置命令:
| 输入 | 含义 |
|---|---|
/exit, /quit, Ctrl-D |
退出 REPL(会先刷新会话) |
/session |
显示当前会话 ID |
/sessions |
交互式选择会话(↑/↓ 移动,Enter 切换,Esc 取消) |
/sessions list |
静态列出所有会话 |
/resume <n\|id> |
在当前 REPL 中切换到指定会话(索引或 ID 前缀) |
/history [n] |
显示当前会话中 n 条早期的交换记录 |
/new |
启动新会话,释放当前会话 |
/title [text] |
显示或重命名会话标题(重命名会固定标题) |
/model [id] |
交互式选择模型或通过名称热切换(provider/id) |
/effort [id] |
交互式选择推理 effort 或通过名称设置 |
/effort default |
恢复提供商默认设置 |
/help |
显示内置命令及所有已注册的 Harness 命令 |
/approvals [ask\|auto] |
设置审批模式(auto 允许所有请求,ask 恢复提示) |
y / N |
在审批提示时允许或拒绝 gated tool call |
Ctrl-C(运行中) |
取消当前轮次,保持在 REPL |
Ctrl-C(空闲时) |
退出 REPL |
数字 或 文本 |
在 ⁇ 提示时选择选项或回答 |
注意事项与已知限制¶
- Bundle 层级:TUI 配置仅需两个 bundle 层。此插件重述了
dsh-headless的部分行,不要添加dsh-headlessbundle。 - 审批模式限制:目前仅支持一次性审批(one-shot approvals),尚无按命令的允许列表。
- 计划审查渲染:
/plan命令的渲染通过通用问答流程进行,而非专门的 diff 风格视图。 - Token Delta:Token delta 未批量写入,对于高负载流可能需要自行优化。
- 兄弟插件日志:同 profile 中任何输出到 stdout 的兄弟插件日志会覆盖 REPL 显示。建议在全局配置
~/.dsh/cordis.patch.yml中静默 MCP 代理。 - 类型签名漂移:
ctx.commands.execute在安装版本(0.1.1-rc.2)和发布版本(rc.6)之间存在类型签名差异,插件通过检查参数数量进行分发。 - MCP 连接:MCP 服务器在后台连接,工具可能稍后加入。
总结¶
dsh-plugin-tui 是为 DeepSeek Harness 提供持久交互式终端体验的插件。它通过流式输出和会话管理,解决了传统单轮插件无法进行长时间、多步骤编程协作的问题。如需了解更多细节,请访问插件目录或查看源码仓库。