dsh-tui-app
A pi-tui terminal surface for DeepSeek Harness: `dsh --profile tui` interactive agent chat.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:TheMcSwift/DeepSeek-TUI说明文档
阅读完整 README ↗DeepSeek-TUI
dsh --profile tui —— DeepSeek Harness(dsh)的终端交互客户端。
它是一个 out-of-tree profile bundle:复用 dsh 共享的插件栈(Agent、工具、MCP、会话持久化、权限预设),只追加一层全屏交互式聊天界面——不依赖 Host、HTTP 或浏览器。你日常用 dsh 跑 headless 任务,用 dsh --profile tui 与智能体对话。
English version · 功能对齐基线见 FEATURE-CHECKLIST.md
快速开始
$ dsh --profile tui # 新会话
$ dsh --profile tui --resume # 恢复会话
$ dsh --profile tui -c # 恢复最近会话
dsh tui — DeepSeek Harness 终端客户端
Esc 中断(busy) · Ctrl+C 退出(idle) · / 斜杠菜单 · Ctrl+/ 命令面板
Ctrl+R 会话 · Ctrl+G 模型 · Ctrl+P 权限预设 · Ctrl+F 搜索 · Ctrl+B 分支 · Ctrl+Y 评分
Ctrl+X 复制回复 · Ctrl+W 工作区 · Ctrl+T 思考 · Ctrl+K 折叠 · Ctrl+E 退出 plan
Alt+Enter 插话 · Alt+Up 取回队列 · Tab 焦点环 · 鼠标:行尾 ⏎/▸/▾ 图标点击展开
它是什么
一个给 dsh 智能体会话用的终端界面,以 dsh web 客户端为功能基线逐项对齐(详见 FEATURE-CHECKLIST.md,148 项,覆盖率 ≈ 92%):
- 流式渲染:Markdown 增量解析、推理块分级着色、代码高亮、TeX 数学、Mermaid 图
- 工具执行可视化:终端卡(退出码 pill)、Read 高亮卡、grep/glob 分组卡、web_search 引用卡、
run_code递归子调用树、产物文件 OSC 8 链接 - 交互完备:斜杠菜单/命令面板、多选提问表单、审批弹窗、分支(fork)、消息评分、全文搜索、会话搜索
- 会话级面板:goal / todo / jobs / workflow 运行树(run→member 层级披露)
- 固定状态区(web 布局语义):输入区之上 = 运行状态 + 权限预设;输入区之下 = 会话统计条 + model/ctx 压力/目录/token 计数
- 鼠标支持:滚轮滚动、行尾小图标点击展开(⏎ 折叠消息/工具卡、▸/▾ 思考块)
- 双语界面:zh/en 完整词典(文案逐字复用 web locale 表),
/lang或DSH_TUI_LANG切换 - 主题:深/浅两套调色板(设计 token 逐字取自 web
design-platform.css+ shiki 色板)
架构
分层单向数据流,文档即真相源:
src/
├── control/ # 审批瀑布、userQuestions provider、会话/模型数据源(cordis 服务接入)
├── document/ # ViewDocument 契约:条目类型 + 生命周期 + 纯转录函数
├── projection/ # fold:SessionEvent → ViewDocument(增量、不可变更新)
│ ├── stats.ts # 会话统计(web StatsLine 同款 fold 数学)
│ └── synthesis/ # DSH 块 → pi-ai 形状、工具定义注册表
├── app/ # PiTuiApp:布局/焦点环/overlay/点击命中(TuiAltScreen 实例级 hook)
│ └── pi/ # 主题/调色板/高亮
├── view/ # 组件:消息/工具卡/面板/菜单/弹窗/品牌区 + strings 双语词典
├── index.ts # runner:boot/resume、事件折叠、命令分发、quit/flush
└── startup.ts # profile 启动入口(dsh-tui-app/startup 行)