在终端里流式对话、切换会话并应答审批请求
28.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ghbhiee/dsh-plugin-tui该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 66 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
- 读取本地文件lib/index.js:671
const pref = JSON.parse(readFileSync(modelPrefPath, "utf8")); - 写入本地文件lib/index.js:682
writeFileSync(modelPrefPath, `${JSON.stringify(next)}\n`); - 删除本地文件lib/index.js:689
rmSync(modelPrefPath, { force: true }); - 读取本地文件lib/index.js:789
initialHistory = readFileSync(historyPath, "utf8").split("\n").filter((line) => line !== "").slice(0, 200); - 写入本地文件lib/index.js:796
writeFileSync(historyPath, `${entries.slice(0, 200).join("\n")}\n`); - 写入本地文件lib/startup.js:52
mkdirSync(dir, { recursive: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-cmdline@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-session-title@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-approval@deepseek-ai/dsh-user-questions给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 流式REPL对话
- 切换会话与模型
- 应答审批请求
为 DeepSeek Harness(dsh)打造的 Claude Code 风格终端 UI 插件:流式 REPL、折叠思考、交互式会话/模型选择器、历史回放、审批模式、底部状态栏
README
由 DeepSeek 最新模型翻译生成dsh-plugin-tui
一个用于 DeepSeek Harness 的交互式终端 UI:在一个可恢复的编码代理会话之上,提供 Claude Code 风格的 REPL。dsh-plugin-cli-session 只驱动单轮对话然后退出,而这个运行器会在整个对话过程中一直占用终端——在 token 增量、工具调用行和轮次错误提交时实时流式输出,并通过键盘应答审批请求。
安装
dsh plugin --profile tui add github:ghbhiee/dsh-plugin-tui
或者从本地克隆安装(使用 link:,这样本地重新构建会被自动采用):
dsh plugin --profile tui add ./dsh-plugin-tui
tui profile 只需要两个 bundle 层——本插件重新声明了 dsh-headless 原本会贡献的那几行,因此不要添加 headless bundle:
// ~/.dsh/profiles/tui/package.json
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "dsh-plugin-tui"] } }
用法
dsh --profile tui # 在提示符处启动
展开完整文档(README 剩余 1 节)
dsh-plugin-tui
一个用于 DeepSeek Harness 的交互式终端 UI:在一个可恢复的编码代理会话之上,提供 Claude Code 风格的 REPL。dsh-plugin-cli-session 只驱动单轮对话然后退出,而这个运行器会在整个对话过程中一直占用终端——在 token 增量、工具调用行和轮次错误提交时实时流式输出,并通过键盘应答审批请求。
安装
dsh plugin --profile tui add github:ghbhiee/dsh-plugin-tui
或者从本地克隆安装(使用 link:,这样本地重新构建会被自动采用):
dsh plugin --profile tui add ./dsh-plugin-tui
tui profile 只需要两个 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 # 恢复指定会话
dsh --profile tui -w ./scratch # 在另一个目录中新建会话
dsh --profile tui -l # 列出此 profile 在此处的会话
dsh --profile tui -p danger-full-access # 启动即完全访问(无沙箱,无提示)
dsh --profile tui -p workspace-write -y # 沙箱化,但审批自动允许
在 REPL 内部:
| 输入 | 含义 |
| /exit、/quit、Ctrl-D | 退出(先刷新会话) |
| /session | 打印会话 id |
| /sessions | 交互式选择会话(↑/↓ 移动,Enter 切换,Esc 取消);/sessions list 打印静态列表 |
| /resume | 就地切换到另一个会话(索引来自 /sessions list,或 id 前缀) |
| /history [n] | 显示当前会话更早的 n 轮交流(切入时只显示最近的几轮) |
| /new | 开始一个新会话,释放当前会话 |
| /title [text] | 显示会话标题,或重命名(重命名会固定标题) |
| /model [id] | 交互式选择模型(↑/↓、Enter、Esc)或按名称热切换(id 或 provider/id)——从下一步起生效 |
| /effort [id] | 交互式选择推理强度,或按名称设置(/effort default 恢复提供方默认值) |
| /help | 内置命令加上所有 harness 注册的命令 |
| 轮次运行时按 Ctrl-C | 取消该轮次,留在 REPL 中 |
| 空闲时按两次 Ctrl-C | 退出 |
| 审批提示处按 y / N | 允许 / 拒绝一次受门控的工具调用 |
| /approvals [ask\|auto] | auto 允许每个请求并显示一行暗色审计记录(沙箱仍然生效);ask 恢复提示。dsh --profile tui -y 以 auto 模式启动 |
| 在 ⁇ 问题处输入一个数字(或自由文本) | 选择一个选项 / 用自己的话回答;多选时输入以逗号分隔的数字 |
固定在终端底行的状态栏显示实时模型和 effort、审批模式、会话标题以及工作目录——它会随这些内容的变化而刷新,并在调整大小时保持存在;转录内容在其上方滚动。
思考默认折叠——spinner 区域显示推理流上的实时三行窗口,ctrl+o 切换完整的暗色流。
/model 和 /effort 的选择按 profile 记忆(tui-model.json 位于 profile 旁边;机器范围的默认值绝不会被改动)——/model default 清除该偏好。
工具调用始终渲染为一行任务摘要(⏺ Group counts (+14 lines));完整命令或脚本进入 ctrl+o 所显示的同一每轮详情流。
该切换只覆盖当前(或刚刚结束的)交互——开始新的交互会清除它。
恢复或切换到某个会话时,会静态重放其最近的交互(绝不重新运行任何内容);/history 可进一步向前翻页,你的终端自身的回滚缓冲区覆盖其余部分。提示符在远不到一秒内出现—— MCP 服务器在后台连接,其工具稍后加入。
当一轮运行时,盲文 spinner 覆盖安静时段;token 增量按微批次(约 16ms)处理,因此高负载流保持流畅。回答文本按 markdown 渲染,一次一行——粗体标题、彩色项目符号和内联代码、绿色围栏代码块。工具调用通过每个工具自己的呈现器渲染—— ⏺ $ ls -la — List files、⏺ Write foo.txt——其中 ⏺ 按调用的类别(读取、编辑、执行……)着色,对于没有呈现器的工具则回退为紧凑的原始参数行。Todo 快照绘制为 ☑/◐/☐ 清单,每次交互以一行暗色 ↳ 1.2k in · 89 out 统计行结束,并且提示历史在多次运行间持久保留(上箭头可调出较早的输入)。
Ctrl-C 作为按键生效,因为原始模式 readline 拥有终端;启动器自身的 SIGINT 处理程序仍会以完整拆除来响应外部 kill -INT,这正是你从 TUI 外部想要的行为。
开发
pnpm install
pnpm run check # typecheck → vitest → tsdown build
因为 lib/ 已纳入版本控制(git 安装所提供的就是它),每次源代码变更都要重新构建并提交它。
Harness 斜杠命令通过 ctx.commands 分发,因此 /help 也会列出组合所注册的内容——这里就是 /compact、 /feedback、/goal、/permission 和 /plan。/permission workspace-write 将实时会话切换为沙箱化的 ask-mode 预设;受门控的工具调用随后会以 y/N 审批提示的形式出现。
状态 / 已知缺口
- 仅支持一次性审批:harness 审批接缝不携带工具参数,也没有 allow-always 词汇表,因此目前还没有按命令的允许列表。
- 计划审查(/plan → exit_plan_mode)通过通用
- 问题流——计划 markdown 会作为问题的详情打印出来——而不是一个专门的 diff 风格视图。
- Token 增量是未批处理写入的;高流量流可能需要进行合并。
- 配置文件中任何向 stdout 记录日志的兄弟插件都会覆盖 REPL。由机器级 ~/.dsh/cordis.patch.yml 插入的行无法从配置文件补丁中覆盖(全局用户层在其之上应用),因此请在全局文件本身中让啰嗦的 MCP 代理静默——例如将命令包装为 sh -c 'exec npx … 2>>"$HOME/.dsh/mcp-.log"'。
- ctx.commands.execute 在已安装的 0.1.1-rc.2(agent, line, images, signal)与已发布的 rc.6 类型(agent, line, signal)之间存在签名漂移;运行器根据参数个数进行分派。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ghbhiee/dsh-plugin-tui
在终端里流式对话、切换会话并应答审批请求
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目