ccch1mneyyy /dsh-TUI
DSH's officially top-recommended TUI plugin — high performance, low overhead, cute pixel whale, smooth mouse interaction. One-command install via npm. / DSH 官方首推的 TUI 插件,高性能低占用,可爱像素鲸鱼,流畅鼠标交互,npm 一键安装
★ 7,367⑂ 351👁 10⑃ 1,015● 782▤ 38◈ 109
7,367
stars
+90
351
forks
10
watchers
1,015
prs
782
issues
38
releases
109
discussions
README
English | 简体中文 dsh-TUI 面向 DeepSeek Harness 的交互式终端界面:像素鲸鱼顶栏、实时工作状态、流式思考展示、双击 Esc 时间回溯、上下文进度条与 TPS 仪表。 零核心改动,只消费 DSH 的公开导出;正从「挂载型插件」演进为拥有自身入口与组装根的终端应用,届时 DSH 作为首方后端在进程内加载。安装即启用,卸载不留核心补丁。 回合空闲后,已完成目标自动从输入框上方隐藏;Todo 侧栏仍保留历史。Ctrl+Q 在工作中折叠待办,在空闲时隐藏/恢复目标与待办底部面板;空闲时点击待办标题也可隐藏。隐藏只影响当前展示,新目标/待办快照或会话会重新显示;/goal clear 不会清空待办。 分栏 diff 对纯新增、纯删除文件使用完整正文宽度,不保留空的另一栏。普通修改仍双栏显示;多文件分别决定布局,判断先于折叠与流式展开。 窄面板中的压缩状态保持单行:先省略阶段与取消提示,再缩短标签;计时只会完整显示,不拆开数字。 功能亮点 没有可信 Component 身份的面板作为临时项:设置显示可读标题与本次运行的独立编号,勾选立即生效但不保存,无关设置修改会保留当前选择。旧 actN:panel 无法安全辨认来源,请移除占位项后重新选择当前面板。名称为 actN 的可信 Component 保留公开运行时地址;明确勾选时仅在持久偏好中使用 component:actN:panel,避免认领旧匿名项。 默认推理强度设置使用当前后端/模型声明的档位,包括自定义 ID。当前目录不支持的已存值仍显示并保留;目录加载中或不可用时仅可选自动。DSH 自动依次采用已存 /effort、配置默认值、模型默认。Claude/Codex 启动采用自动模式或恢复会话时保留后端偏好;在设置中主动选择自动会重置为模型默认。明确修改设置会作用于下一请求;不支持的偏好会提示回落,不会强行发送给当前路由。 通过 @路径 引用的图片与粘贴图片使用相同的准入、缩放和格式转换策略。调整提示采用实际保存的尺寸和格式;需要转换的动画会明确拒绝,避免静默丢帧。提及图片和暂存图片仍按原文顺序共享数量与实际保存字节额度。 恢复 DSH 会话时保留会话记录的推理强度,重新附着时保留其当前选择。保存的默认值用于新会话;用户明确执行 /effort 或修改默认推理强度设置,仍会作用于当前会话的下一请求。 - 像素鲸鱼娘 — 开屏三选一动画,点击唤醒;开始第一个任务后定格。 - 落地页与首次引导 — 每次普通启动先落在带真输入框的落地页(大字 + 鲸鱼 + 快捷入口,窄/矮终端自动整块降级;鲸娘图像按原生画布紧凑占位,避免图片与大字之间留出大块空白;默认开启,/settings 的 launchpad 关闭后直接进聊天页);命令补全与聊天页一致:Tab 填入输入框,Enter 执行并清空。首次运行走四步向导(账号与模型接入 / 语言主题 / 模型工作区 / 快捷键),/setup 随时重跑;第一步可以直接登录订阅账号并接住新出现的模型(没有就不问、只有一个直接设为默认、多个才问),或经 /provider 向导写入 API key(由向导问切到启用的哪个模型,或保持当前模型)。 - 终端原生界面 — 流式 Markdown、工具卡、/ 与 @ 补全、L12-14 行区间、历史搜索、中英界面。 - 原生光标 — 聚焦的文本输入框继承终端的光标形状、颜色、闪烁及已启用的动画或拖尾效果,inline 与 fullscreen 均支持。/model 选择器在提供商标签、模型行和推理档位之间移动时显示同样的光标,停稳 0.5 秒后隐藏;区域被裁剪时回落到模型行。会话管理界面也会在工作区栏、会话行与搜索框之间移动原生光标;输入时移到搜索框,导航时回到聚焦行。动画与拖尾效果在终端设置中配置。 - 图片 — Kitty/Sixel 缩略图,居中大图可缩放平移,粘贴前按限额适配,无图形时文字回退。Kitty 图片按预留格子的物理像素缩放,适配 HiDPI 终端。 - Mermaid 图表 — mermaid 代码块画成 Unicode 字符图。 - 任务完成通知 — DSH、Claude、Codex 的实时任务成功结束,且没有排队的后续输入或活动目标时提醒。标题为「dsh-TUI · 任务已完成」,正文显示本轮最新回复的单行纯文本摘要(去掉 Markdown 样式,最多 200 字符);OSC 777/9 还会按包含标题和协议开销的 2048 字节预算截短,保留完整字素;没有回复时只显示标题,BEL 只响铃。/settings → 对话:taskNotifications 可选 unfocused(默认,仅失焦)、always(每次完成)、off;notificationMethod 可选 auto(默认)、osc9、bel、windows。自动模式在 Ghostty/WezTerm(OSC 777)与 Kitty(OSC 99)分别显示标题与正文;iTerm2/Warp 与显式 osc9 将标题放在正文前;其他终端使用响铃,实际提醒取决于终端的通知/响铃设置。在本地 Windows 上,auto 解析为 windows,即系统原生通知:任务完成时弹出 toast;首次弹出会注册当前用户的 AppUserModelID(写 HKCU),弹出比任务结束晚约 3 秒(零安装路线要付的 PowerShell 冷启动代价);DSH 会话所在运行中 profile 的外部 DSH 通知插件已启用且处于 active 时,dsh-TUI 让位(不弹也不响);仅安装但已禁用的插件不会吞掉提醒;注册写不进去时回落到响铃,不会静默。jumpBack(Windows,默认关闭)让这些完成 toast 能回到完成任务的那个窗格;它依赖原生 toast 通道(notificationMethod = windows,本地 Windows 的 auto 就选它)。在 /settings → 对话里开启后,窗格标题末尾出现 [dsh-tui:],同一进程内标记不变;关闭后立即去掉后缀。开启期间,本进程会在开启时以及每次发出完成通知前刷新位于 ~/.dsh-tui/notify/jumpback/.json 的标记文件(schemaVersion: 1、marker、pid、startedAt),第一条能承诺跳回的 toast 会注册当前用户的协议处理器(URL Protocol 与 shell\open\command)到 HKCU\Software\Classes\dsh-tui;正常退出会删掉本进程写过的文件;没有其它存活实例再用这个键时,也一并删掉键。只有发送前的探测恰好命中一个目标窗格(或一个标签标题)时,toast 才带 activation URI;点击时会再跑五项核验——同一个窗格、获得键盘焦点、标题仍含标记、窗口在前台、未最小化——任一项不成立就拒绝跳转,而不是跳到别处。目标已经不在的点击不改变任何东西。无法核验的布局——目标位于未选中标签、且不是该标签的获焦
Top issues
#1777[Bug] Edit/Write diff 看不出变更:单栏不做行级比对,双栏不裁剪上下文4 comments · 2026-10-26#1899[Bug] 0.19.0 + dsh 0.2.2-rc.1:preset 仍引用已移除的 @deepseek-ai/dsh-tool-subagent-control/list-agents,启动即失败2 comments · 2026-11-06#1839[Bug] 一长串没有空白的文本会让路径链接退化成 O(n²),btw / 子代理输出能把界面卡住数秒2 comments · 2026-11-01#1819[Bug] host 发现不识别 vite-plus 的单一分发 shim,DSH 内核被判成「没有可用的已装 dsh」2 comments · 2026-10-31#1797[Bug] 正文超链接单击无反应:折叠 onClick 抢先消费点击2 comments · 2026-10-28#1651[Bug] Disposed/completed foreground sessions remain busy and leave follow-up prompts queued indefinitely2 comments · 2026-10-20#1608[Bug] HMR 重载后创建会话崩溃:TypeError: Cannot redefine property: execute2 comments · 2026-10-18#1272[Bug] 全屏下拖选超过一屏:拖到视口边缘视图不滚动,复制缺少滚出视口的部分2 comments · 2026-10-02
Discussions
#1910[建议] 增加 DSH_TUI_MODEL_ROUTE / DSH_TUI_EFFORT 启动级覆盖(默认仍遵循 /model 的 last-used)0 comments · 2026-11-07#1909[建议] 长会话上翻时历史记录在眼前消失:渲染窗口 RENDERED_ROW_CAP 可配置(默认 120)0 comments · 2026-11-07#1908[功能] /vim 开关可持久化:把 vim 模式做成可保存的启动选项0 comments · 2026-11-07#1904Tool cards: let a settled card fold to its header, like thinking blocks1 comments · 2026-11-06#1878[Idea] 把 OSC 9;4 接上,让 Windows Terminal 任务栏显示运行进度0 comments · 2026-11-04#1873Ollama Cloud built in provider implemented0 comments · 2026-11-03#1871Add a /copy command to copy the latest assistant response to the clipboard0 comments · 2026-11-03#1869[Idea] Claude 娘 / Codex 娘 的伙伴动画:两套 22 动画素材包(内置皮肤还是插件皮肤?)2 comments · 2026-11-03
Latest release
v0.19.0 v0.19.0 2026-11-06自 v0.18.0 以来,dsh-TUI 跟上 DSH 0.2.2-rc.1 验证线,让一次 /update 同时对齐 TUI、全局 dsh 引擎与全局启动器, 并修好会话恢复、btw 输入、子代理失败提示与 Codex 后端命令输出等一批问题。 亮点 - 适配 DSH 0.2.2-rc.1 — npm 上的 DSH latest 已是 0.2.2-rc.1,而 v0.18.0 的精确 peer 只到 0.2.1-rc.5,升级 DSH 后 TUI 会被判 incompatible 并 skip。本版把 0.2.2-rc.1 加入验证线与 peer 范围,0.2.1-rc.5 及其之前的验证线继续保留;模型选择改用上游的会话级 Agent.model 接缝、工具限制落到每个 Agent 的作用域、适配 cordis 4.1 生命周期与固定动作审批,旧宿主继续走原来的选择引用与请求瀑布。(1886 by @Lucas2011wastaken) - 一次 /update 对齐 TUI、dsh 引擎与全局启动器 — 以前 /update 只换 profile 里的 TUI,全局 dsh 与启动器留在原地,可能出现新 TUI 的 peer 范围装不上当前引擎。现在预检为三层解析同一份计划,按 TUI → 引擎 → 启动器串行执行:引擎只选目标 TUI peer 范围内已发布的最高版本
相关报道 (10)
腾讯网3小时破千!DeepSeek Harness移动端应用来了2026-10-30blog.csdn2860星的DSH终端界面火了!Claude Code同款鲸鱼顶栏,但这3个坑90%的人会踩2026-09-07blog.csdndsh-tui:将AI编程助手无缝集成到终端工作流的实践指南2026-08-21电子工程专辑太快了!聊聊 DeepSeek Harness 必装的插件。2026-08-1680aj开发者打造 dsh-tui:为 DeepSeek Agent 提供终端可视化调试界面2026-08-15搜狐DeepSeek Harness插件在GitHub上引发创新热潮2026-08-15电子工程专辑EE Times ChinaDeepSeek Harness必装的10个插件2026-08-25view.inews.qq.com16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 2 个版本了2026-08-21智源社区DeepSeek Harness插件一夜燃爆GitHub:长期记忆、电子宠物、4399小游戏全来了2026-08-16搜狐网最新!DeepSeek Harness桌面版和CLI来了!2026-08-16