ccch1mneyyy/dsh-TUI

★ 3,124⑂ 190

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts

About ccch1mneyyy/dsh-TUI

ccch1mneyyy/dsh-TUI is an open-source project on GitHub, mainly written in TypeScript. DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar It currently holds 3,124 stars and 190 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the AI Coding Agents board.

GitHub Repository Details

Repository ccch1mneyyy/dsh-TUI · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/dsh-TUI - DeepSeek Harness terminal interface

简体中文 | English

https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/npm https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/CI https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/MIT License https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/Public beta https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/官方收录

dsh-TUI

一个面向 DeepSeek Harness 的交互式终端界面插件:提供像素鲸鱼顶栏、实时工作状态行、流式思考展示、双击 Esc 时间回溯、上下文进度条与 TPS 仪表。
零核心改动,纯插件挂载。安装插件即可启用,卸载后不会留下核心补丁。
>An interactive terminal UI plugin for DeepSeek Harness: pixel-whale header, live work status, streaming thinking display, double-Esc time rewind, a context progress bar, and a TPS gauge.
Zero core changes, pure plugin mounting. Install to enable; uninstall leaves no core patches.

🎉 官方收录

本插件被 DeepSeek Harness 官方公众号 推文收录,也被 dshfind 插件目录与 GitHub Trending 收录,同时登上了Github Treding日榜第七

https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/DeepSeek Harness 官方公众号推文收录 dsh-TUI
DeepSeek Harness 官方公众号推文收录
https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/dsh-TUI on dshfind
dshfind 插件目录收录

https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/Trendshift
dshfind Github Treding榜第七

核心能力

Windows Terminal 支持 Sixel 时,全屏会话记录可直接显示内嵌缩略图,点击后打开大图预览;非全屏 inline 模式仍保留文字回退。 Sixel 使用最多 256 色的自适应调色板,透明像素与背景合成;Worker 缓存量化结果,滚动时仅编码可见部分,移出视野或被浮层覆盖时擦除旧图。 附件读取与解码最多两路并发;最后一个使用者离开后取消读取,未启动的解码不再执行。多图缓存、排队任务与单帧传输均有容量上限,超限时保留文字回退。 自动探测优先 Kitty,其次使用 DA1 声明的 Sixel 能力。DSH_TUI_IMAGE_PROTOCOL=auto|kitty|sixel|none 可覆盖协议选择; DSH_TUI_DISABLE_TERMINAL_IMAGES=1、无障碍模式、非 TTY 输出以及 tmux/screen 仍禁用图形。 缺少图片依赖或编码失败时保留文字回退;强制协议也不会启用 inline Sixel。 浅色主题的面板和图片预览默认使用白底,图片预览边框使用中性色。 大图预览以对话区约 95% 宽高为预算,最长边可达 2048 像素,仍限制总像素量和后台开销;缩略图大小不变。 预览支持适应窗口、100% 原像素与 200%/400%/800% 放大,拖动、滚轮或方向按钮平移;100% 需终端报告字符格像素尺寸。 底部「打开原图」链接直接调用系统看图程序,打开未经重编码的原始附件,包括从历史会话恢复的图片。 大图弹窗用 / 或底部 / 切换上一张、下一张,显示当前张数,首尾不循环;切图回到适应窗口。

推理等级、输入/输出 token 与 Git/会话信息;终端卡多行命令可经 /settings 折叠为首行 + 计数提示(Ctrl+O 或点击卡片展开);全屏模式下悬停在截断的工具卡标题或会话标题上约 600ms,浮层显示完整内容,拖选文本期间浮层一律不出现(避免覆盖待复制的单元格)。全屏模式右侧栏提供 timeline / 滚动条 / 隐藏三种模式;滚动条模式下轨道本身即拖拽目标——未修饰左键按住拖动可按指针所在轨道位置连续滚动(轨道点击定位的直接延伸),Shift/Alt/Ctrl+拖动仍为文字选择。 用户附图及助手/工具结果中的持久图片块会直接显示在会话记录中;Kitty graphics 或 Sixel 可用时显示等比缩略图,否则保留同尺寸文字回退。全屏下点击输入框 [Image #N] 或 transcript 缩略图在对话区域居中打开大图预览,卡片外的对话文字变暗,不遮挡输入栏(Esc/点击外部关闭),标题为 Image #N — 格式 · 尺寸 · 体积 · 文件名,本会话暂存的图片在卡片底行显示来源路径;Finder 复制的图片文件粘贴时直接入附件库为 [Image #N],交给附件库之前先按 profile 的图片限额适配:超过单边像素/总像素上限的图片等比缩放到上限内;profile 不接受该格式时按可接受格式重编码(有透明通道时优先保留透明,只能转 JPEG 时透明区域填白);需要改动字节的动图(多帧)明确拒绝,而不是把它的帧悄悄丢掉。适配过的图片会在粘贴提示里说明最终入库的尺寸与格式(提示取自附件库的回报,因此与预览卡一致;适配需可选依赖 sharp,且只覆盖「交给附件库之前」这一步——附件库自身的归一化不在本功能范围内);输入框里的 [Image #N] 是一个整体,光标整体跳过、删除整体生效,光标落在其上时整块反显并自动打开预览、离开时关闭。Vim 的 x/X/d… 同样整张删除,u 同时恢复文字与附件;撤销仅限当前草稿。 终端图片预览默认开启,可在 /settings → 终端图片预览 或配置 terminalImages: false 中关闭,使用 /restart 后生效。已保存的 /settings 选择优先于 Cordis 配置;若曾保存为开启,请在 /settings 中关闭后再 /restart。关闭时保留文字信息并跳过预览解码,不影响向模型发送图片;DSH_TUI_DISABLE_TERMINAL_IMAGES=1 始终强制关闭预览。 回复中的 ``` `mermaid `` 代码块直接画成 Unicode 字符图(flowchart / sequence / state / class / ER / pie / mindmap / timeline / gitGraph),纯进程内布局,不依赖浏览器或图片协议,流式输出时随内容逐步成形;比终端宽或类型不支持的图保留源码并注明所需列数。默认开启,/settings → Mermaid 图表 或配置 mermaidDiagrams: false` 关闭,立即生效。 /resume 只将完整读取并确认没有用户消息的日志判为空会话;仅发图片、读取不完整或解析失败的会话不会被归入空会话清理。 技能目录暂时不完整时,保留最后一次完整观测的技能菜单与命令注册,并按 800/1600/3200ms 最多重试三次;耗尽后等待 DSH 的 skills/change 通知或显式刷新,不持续轮询。只有完整观测才能移除已消失的技能,包括完整空目录。

界面预览

https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/首屏:像素鲸鱼顶栏
首屏:像素鲸鱼顶栏

快速开始

前置条件:安装Nodejsdeepseek-harness,注册DEEPSEEK_API_KEY

安装命令:

npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui

启动命令:

# 完整命令
dsh-tui

如果你不想按键盘七次

dst

如果你想手动安装,可以使用仓库根目录的 install.sh

sh install.sh

或:dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui

之后 dsh-tui 与 dsh --profile dsh-tui 等价

新用户提示:若 dsh plugin 安装时报 ERR_PNPM_IGNORED_BUILDS(pnpm ≥11 默认阻止带安装脚本的依赖,如 @google/genaiprotobufjs——这些脚本运行时不需要,忽略即可),在 profile 的 pnpm-workspace.yaml 里加入:
>
> allowBuilds:
'@google/genai': false
protobufjs: false
> /updatedsh-tui update 会自动写入这份配置,无需手工处理。
> 更新时还会维护 ignoredOptionalDependencies(忽略异平台的 @img/sharp-* 原生包)——sharp 以全平台可选依赖分发,不处理时 pnpm update 会把各平台二进制一起下载(实测约 200MB)。名单每次更新按当前平台重算,异平台原生包不再下载(当前平台原生包与无平台归属的 wasm 回退包保留);把 profile 搬到别的平台或 musl 容器后,在那台机器上跑一次更新即可刷新。老 profile 的 lockfile 里仍写着全平台条目,第一次更新会照旧下载一遍,之后才被忽略。块内不属于这两张平台表的条目(fsevents、自己写的 @img/sharp-wasm32 豁免)原样保留;需要 pnpm 支持该键,不认识的版本不会因此报错,只失去这项收益。

更面向零基础的安装流程、profile 叠加机制、源码构建与常见问题见安装与快速开始

安全模式(dsh-tui safe

dsh 意外结束时,安全模式提供只读的环境诊断、profile 插件清单与修复指引。

插件扩展与开发指南

想为 dsh-TUI 做插件/扩展?欢迎加入生态!

接缝稳定性参考

按当前实现成熟度给出的非正式分级,帮助插件作者评估投入;正式状态与兼容性协定以 准入与开发指南为准:

| 分级 | 接缝 | | --- | --- | | 稳定候选(形态冻结;如有破坏性变更,先在次版本弃用告警再移除) | 六 设置区块 · 八 全屏场景 · 十 托管对话框 · 十一 状态行 · 十二 键盘快捷键 · 十三 条目渲染器 | | 实验性(仍可能随 dsh-std / 准入规范演进调整) | 九 决策事件 · toast 通知(ctx.tuiToast,新增) | | 跟随上游(稳定性由 cordis / dsh 官方机制决定) | 一 会话事件 · 二 官方 prompt 槽位 · 三 技能打包 · 四 主题 · 五 system prompt 段 · 七 profile 组合 |

另:@deepseek-harness-tui/dsh-tui/api(纯类型入口)为实验性公开面; @deepseek-harness-tui/dsh-tui/test-utils 子路径与 ctx.tuiPluginHost.grants.corrupt 已随 adapter 分层重构(#705)移除,grants 收窄为 HostGrantFacade,迁移细节见该 PR。

文档索引

| 主题 | 内容 | | --- | --- | | 安装与快速开始 | 前置条件、安装、启动、profile 生命周期、源码开发 | | 配置参考 | Cordis 覆盖、配置字段、Agent preset、MCP、环境变量 | | 主题系统 | 内置主题、自动检测、静态 JSON 与 npm 插件主题、校验规则 | | 交互与命令 | 快捷键、鼠标、问卷、slash command 与会话工作流 | | 架构与限制 | 运行链路、渲染与持久化设计、安全边界、已知限制 | | 社区管理框架 | 社区入口、角色、提案流程、roadmap 规则与维护节奏 | | 项目路线图 | 公开目标、阶段、任务状态、退出条件与 Future Work | | VS Code 使用指南 | 在 VS Code 集成终端运行 dsh-tui;companion 扩展 dsh-tui-vscode 提供多会话、会话历史与指定会话恢复(已上架 Marketplace) | | 贡献与开发约定 | 贡献流程、仓库地图、构建产物、验证矩阵与修改规则 | | 插件准入与开发指南 | 接口与兼容性协定 / 插件准入规范 / 插件接缝 / 契约 / 验证清单(已并入 dsh-ecosystem-spec) |

完整的中英文索引见 docs/README.md

社区

| 微信群(dsh-TUI 社区交流 4 群) | QQ 群(群号 572549239) | | :---: | :---: | | https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/dsh-TUI 社区交流 4 群微信群二维码 | https://github.com/ccch1mneyyy/dsh-TUI/blob/HEAD/dsh-TUI 社区交流群 QQ 群二维码 |
微信群二维码约 7 天过期一次,如遇失效请走 QQ 群(572549239),或开个 issue 提醒我们更新。

权限与安全边界

Windows 安全警告: Windows profile 默认使用 danger-full-access,且 approval 默认是 never。这会授予工具不受限制的访问权限;在敏感凭证或不可信仓库环境中启动前,务必先检查并收紧 profile 配置。

dsh-TUI 不实现独立沙箱,而是使用当前 DSH profile 的文件、Shell、sandbox 与 approval 策略。权限预设来自 DSH permissionPresets registry:服务缺失时使用 legacy 三项兼容名册;服务已挂载但为空、损坏或不一致时标记为 unavailable,TUI fail closed,不伪造名册。可用 registry 按声明顺序提供第三方预设并自动进入补全、picker 与 Shift+Tab 循环(排除 custom/status、canonical 预设、重复 identity 与不安全 token);首次观察遵循 registry 顺序,后续刷新保留已见 identity 的相对顺序。服务可用时 /permission 以本地命令形式常驻菜单:切换优先调用官方 /permission 命令;命令行未暴露给本 agent 时,回退到 permissionPresets 服务自身的官方写路径(与命令 handler 同一实现,写真实 permission/preset/sandbox/mode/approval/policy 事件,绝不由 TUI 伪造),并以事件/读回确认;两条路都不可用时显式提示,绝不静默。计划模式退出先恢复进入前的 atom,再把权限身份还原到你进入前所在的预设(registry 仍提供时)。在包含敏感凭证或不可信仓库的环境中启动前,请先检查 profile 配置。

详见权限边界与已知限制

致谢

友情链接

朋友们开发的社区、相关项目与周边工具

Stars

Star History

License

MIT

GitHub Stars & Activity

3,124Stars
190Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars3,124
Forks190
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

thedotmack / claude-mem

TypeScript★ 94,360⑂ 8,336
2

Egonex-AI / Understand-Anything

TypeScript★ 83,490⑂ 7,043
3

stablyai / orca

TypeScript★ 73,877⑂ 4,841
4

ruvnet / ruflo

TypeScript★ 72,954⑂ 8,660
5

diegosouzapw / OmniRoute

TypeScript★ 68,672⑂ 9,716
6

Yeachan-Heo / oh-my-claudecode

TypeScript★ 39,279⑂ 3,510
7

JCodesMore / ai-website-cloner-template

TypeScript★ 34,705⑂ 5,055
8

iOfficeAI / AionUi

TypeScript★ 32,998⑂ 3,418

More AI Rankings