dsh-plugin-tui:DeepSeek Harness 的 Claude Code 风格终端 UI

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
数字 或 文本 在 ⁇ 提示时选择选项或回答

注意事项与已知限制

  1. Bundle 层级:TUI 配置仅需两个 bundle 层。此插件重述了 dsh-headless 的部分行,不要添加 dsh-headless bundle。
  2. 审批模式限制:目前仅支持一次性审批(one-shot approvals),尚无按命令的允许列表。
  3. 计划审查渲染:/plan 命令的渲染通过通用问答流程进行,而非专门的 diff 风格视图。
  4. Token Delta:Token delta 未批量写入,对于高负载流可能需要自行优化。
  5. 兄弟插件日志:同 profile 中任何输出到 stdout 的兄弟插件日志会覆盖 REPL 显示。建议在全局配置 ~/.dsh/cordis.patch.yml 中静默 MCP 代理。
  6. 类型签名漂移:ctx.commands.execute 在安装版本(0.1.1-rc.2)和发布版本(rc.6)之间存在类型签名差异,插件通过检查参数数量进行分发。
  7. MCP 连接:MCP 服务器在后台连接,工具可能稍后加入。

总结

dsh-plugin-tui 是为 DeepSeek Harness 提供持久交互式终端体验的插件。它通过流式输出和会话管理,解决了传统单轮插件无法进行长时间、多步骤编程协作的问题。如需了解更多细节,请访问插件目录或查看源码仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜