by ccch1mneyyy
DSH 官方尚无终端 TUI 的补位之作:Claude Code 风格全屏交互终端插件——像素鲸鱼顶栏、实时工作状态行、思考流式展开、双击 Esc 回滚、上下文进度条 + TPS 仪表。npm 一键安装。
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/ccch1mneyyy/dsh-cc-tuiGuides for using ai agents skills like dsh-cc-tui.
DeepSeek Harness 官方目前还没有终端 TUI(只有 Web UI)——这个项目就是来补位的: 一个美观且实用的 Claude Code 风格 TUI 插件(cordis 挂载):像素鲸鱼顶栏、双流光大字、 实时工作状态行、思考流式展开、双击 Esc 时间回溯、蓝白上下文进度条 + TPS 仪表。 零核心改动,纯插件挂载。


截图放
screenshots/目录,文件名与上面一致即可自动显示;建议 Windows Terminal 全屏后截图(Win+Shift+S),窗口建议 ≥110 列。
DEEPSEEK HARNESS 是
自绘 5 行块状大字——品牌蓝→冰蓝横向渐变,白色流光窗口循环扫过;
探索未至之境! 欢迎语带冰蓝流光。窄终端(<64 列)自动收起鲸鱼。嗯…让我捋捋、深夜档、30s/1m/5m 分档轮换)、真正在跑
的工具(改改 src/channel.ts · 12s)、⏵ 模型自述,配 28 种动画指示器
(默认 Claude 官方帧序列)、白色流光扫过文案、上下文占用 ≥80% 亮黄 / ≥95% 亮红
预警(⚠ 上下文85% · …),行尾保留 ↓ N tokens 计数。回合结束自动变成
搞定 ✓ · N 工具 · 想Xs 干Ys 收尾统计。ctx 17k/1.0M 1.7% 983k)、
模型 · 实时 TPS(流式 gauge / 历史 sparkline)· 思考深度 · 缓存命中率(一位小数) · 进出 tokens、
右侧 git 分支 · 工作目录 · 会话标题。∴ Thinking · 12s,Ctrl+O 随时展开全文。/ 命令菜单(竖排、Enter 执行选中项、Tab 补全)、
灰色气泡用户消息、● 助手正文 + Markdown 表格/代码高亮、工具调用卡片、
? 快捷键菜单、/ 全文搜索、Ctrl+R 历史搜索、@ 文件补全、Shift+Enter
多行输入、滚动时置顶的「当前提示词」栏与「↓ N 新消息」药丸。前置:官方 dsh CLI(npm install -g @deepseek-ai/dsh)与 pnpm。
# 1. 安装官方 CLI(已装可跳过)
npm install -g @deepseek-ai/dsh
# 2. 装入本插件(仓库根目录 install.sh 已封装这条命令,含 pnpm 预检)
sh install.sh
# 或手工执行:
dsh plugin --profile cc-tui add dsh-cc-tui
# 3. 启动
# Windows 也可用仓库里的 dsh-cc.cmd(等价,且 --resume 恢复上次会话)
dsh --profile cc-tui
add 的语义(官方 app-boot / CLI 实现):首次执行会在
$DSH_HOME/profiles/cc-tui/ 自动初始化 profile——manifest 的
dsh.profile.bundles 首层为 @deepseek-ai/dsh-base——然后在 profile 内执行
pnpm add <包>;安装成功后按「依赖是否声明 dsh.bundle.patch」自动把该包
追加为 bundle 层,无需手动改任何文件。启动时按 bundle 顺序
dsh-base → 各 bundle → 你的 profile cordis.patch.yml 叠加:base 提供
llm/session/fs/工具/技能/审批等核心行,bundle patch 按 id 覆盖或插入自己的
行。重复执行安全(已初始化的 profile 不会被改动)。
工作状态行(随本包自动挂载):dsh-working-activity 是本包的 npm 依赖,
安装时自动带入 profile 的 node_modules;本包的 bundle patch 会直接 insert
它的行(publishIntervalMs: 500),无需单独 add——对同一 profile 再
单独 add dsh-working-activity 会产生重复行(wa 自带的自挂载补丁仅面向
不含 cc-tui 的 profile,如纯 Web UI 场景)。
构建产物
lib/已打包进 npm 包,安装无需构建。开发者想改源码:从 git 仓库npm install后npm run build(tsc)即可。
官方 profile 模型下没有独立的 cordis.yml 启动文件:$DSH_HOME/profiles/cc-tui/
下只有 cordis.patch.yml(你的补丁层,顶层 YAML 数组,!!js 可用)。
以下是「想改什么怎么写」的示例,不是完整配置:
# 覆盖某行的 config:整段替换,想保留的 key 都要重写
- id: cc-tui
config:
provider: deepseek-official # LLM 路由
model: deepseek-v4-flash # 模型
effort: max # 顶栏/状态栏启动显示的思考深度
activity: true # 工作状态行开关(默认开)
activityFrames: claude # 指示器预设:claude/moon/comet/dots/…/random
cwd: !!js process.cwd() # 工作目录
fullscreen: false # 备用屏幕全屏模式(默认关)
sessionId: !!js process.env.DSH_CC_RESUME_SESSION ?? undefined # --resume
# 调优实时工作状态行数据源(与 Web UI 共享):随 add 已自动挂载(bundle
# patch 自 insert),按 id 覆盖 config 即可——不要再 insert 同名行;
# 500 让状态栏计时更跟手(先装 dsh-working-activity 时本包 patch 已带 500)
- id: working-activity
config:
publishIntervalMs: 500
依赖(均由 dsh-base 层提供,无需手工挂载):llm-deepseek(thinking 开启)、
session(SQLite 持久化由本包 patch 插入 sessions 行)、bash、fs、tool-fs、
tool-todo、subagent(spawn/fork)、plan-mode(/plan,section 由 base
提供)、commands(命令注册表)+ command-goal(/goal)、token-meter、
compaction-basic(/compact)以及 dsh-working-activity(工作状态行,随 add
自动挂载,见上)。
配置注意:覆盖
plan-mode时section必须给非空值(空值会导致整树加载 失败);subagent核心服务必须先于 spawn/fork 行挂载(base 层顺序已保证, 在自己 insert 相关行时保持同样顺序)。
官方 @deepseek-ai/dsh-mcp-client 已提供完整 MCP 能力:每个配置行挂载一个服务器,其工具以 mcp__<服务器>__<工具> 名字注册进工具运行时,模型自动可用。
在 profile 补丁层(~/.dsh/profiles/cc-tui/cordis.patch.yml)里 insert 即可:
# stdio 服务器(本地命令)
- insert:
- id: mcp-context7
name: '@deepseek-ai/dsh-mcp-client'
config:
transport: stdio
serverName: context7
command: npx
args: ['-y', '@upstash/context7-mcp']
# streamable-http 服务器(远程)
- insert:
- id: mcp-remote
name: '@deepseek-ai/dsh-mcp-client'
config:
transport: streamable-http
serverName: remote
url: https://example.com/mcp
headers: { Authorization: !!js process.env.MCP_TOKEN }
/mcp 命令查看当前已连接服务器及其工具数。
| 键 | 功能 |
|---|---|
Enter |
发送(Shift+Enter 换行);命令菜单打开时执行选中项 |
Ctrl+C |
中断当前回合;空闲时连按两次退出 |
Esc |
关闭命令/文件菜单;空闲双击清空输入;空输入双击 = 时间回溯 |
Ctrl+O |
展开/收起详情(思考全文、工具参数与输出) |
Ctrl+R |
历史消息搜索 |
/ |
会话内全文搜索(n/N 跳转) |
Tab |
命令 / @ 文件补全 |
Ctrl+V |
粘贴:文本直接插入光标处;Explorer 复制的文件/图片 → 插入文件路径 |
? |
快捷键菜单 |
Shift+↑ |
消息选择模式(Enter 展开单条) |
鼠标(fullscreen: true 全屏模式;默认关,profile 补丁层覆盖开启)
| 操作 | 功能 |
|---|---|
| 拖拽选择 | 应用内文本选区,松开即复制(OSC 52 + wl-copy/xclip/xsel 原生兜底;tmux 内走 load-buffer -w),复制后自动取消选区并弹出「已复制 N 个字符」提示 |
| 双击 / 三击 | 选词 / 选行,同样即选即复制 |
| 滚轮 | 滚动消息列表 |
Esc |
拖拽进行中取消选区(不复制) |
全屏模式用 alt-screen 渲染(退出 TUI 后内容回主屏);设
fullscreen: false退回 inline 模式,鼠标交还终端模拟器原生选择("选择即复制"由终端自身 设置决定,如 kittycopy_on_select yes)。CC_TUI_DISABLE_MOUSE=1可在 全屏模式下临时禁用鼠标点击处理。
问卷(模型发起 ask_user_question 时)
| 键 | 功能 |
|---|---|
↑/↓ |
选择选项 |
Space |
多选题勾选/取消 |
Tab |
切到自定义回答(不选选项直接打字) |
Enter |
提交当前选择 |
Esc |
中断提问(模型收到 ASK_ABORTED,可继续对话) |
本地命令(CC 指令全集复刻,均走 DSH 官方链路)
| 分组 | 命令 |
|---|---|
| 会话 | /new 新会话 · /resume 恢复 · /clear 清屏 · /compact 压缩 · /export 导出 Markdown |
| 状态 | /status 会话信息 · /cost token 用量 · /doctor 环境自检 · /config 配置来源 · /init 创建 AGENTS.md |
| 模型 | /model 选择器 · /thinking 思考显示 · /tokens token 明细 |
| 账号/策略 | /login 凭证状态 · /logout 登出说明 · /permissions 权限说明 · /add-dir 文件策略范围 · /hooks · /mcp · /memory |
| 技能 | /audit 代码审计 · /bug bug 报告 · /review 代码评审 · /practice 编程练习 · /pr_comments PR 评论 · /release-notes 发布说明 · /vuln-check 漏洞检查 |
| 其它 | /agents 子代理列表 · /vim · /terminal-setup · /connect · /help · /exit |
| 注册表 | /plan /goal(DSH 命令注册表插件,随插件自动并入 / 菜单) |
/菜单 = 本地命令 + 注册表命令的并集(注册表描述来自插件本身);/plan [off|消息]切换计划模式,/goal [create/edit/pause/resume/clear 目标]管理持久化目标。 技能命令通过 DSH 技能系统驱动:skills/目录随 npm 包分发,插件启动时 自动注册进技能注册表,无需手动复制。也可把 SKILL.md 放入 技能发现目录(~/.dsh/skills、~/.agents/skills或项目.dsh/skills)覆盖同名技能, 命令只是把激活提示发给模型(模型用技能目录/加载工具取用)。npm 版 install.sh 不再自动安装技能。
Gentle Mist Blue 配色:雾蓝只承担品牌、焦点、交互与高亮,正文保持
中性灰。启动时查询终端背景色(OSC 11)自动选色:浅色终端用严格的
Gentle Mist Blue 色卡(墨色 #343945 正文 + 暖米白家族),深色终端用
雾蓝适配版(暖灰白 #E8E6E0 正文 + 柔雾蓝 accent);终端不响应时回退
深色。CC_TUI_THEME=light|dark|dark-ansi 可钉死配色并跳过检测。
事件驱动渲染:session/event 事件流 → 增量差分渲染,滚动状态独立维护。
布局级虚拟化:布局引擎是纯 JS 移植版 Yoga,每次提交都会全树重排—— 长会话的每帧成本随记录线性增长(越用越卡的根因)。消息列表按可视窗口 挂载:屏幕外的行渲染为"量高占位符"(高度来自上一帧 Yoga 实测),其 子树完全不参与布局,单帧成本从 O(全会话) 降到 O(可视窗口);滚动几何 (总高度/底部跟随/滚动条)、搜索跳转(未挂载行先强制挂载再寻址)保持 不变。
上下文进度条:参考 pi-nano-context 算法(最大余数法分段着色 + 右侧多级 缩略读数),DeepSeek 蓝白配色。
TPS 仪表:参考 pi-tps-meter——流式 1/8 格 gauge、历史 min-max sparkline、 速度语义色(≥50 绿 / ≥20 黄 / <20 红)。
working-activity 生态:工作状态行消费
dsh-working-activity
的 log-only activity/status 事件(与 Web UI 同一数据源,cc-tui 只做渲染);
⏵ 自述行自动从聊天正文剥离。
会话恢复:/resume 列表标题 = 会话第一条 user 消息(最新 20 个会话),
8 行滚动窗口;按最近使用排序(发消息/恢复/切换都会把该会话提到最前,
记录在 ~/.dsh-cc/last-used.json,缺失时退回按创建时间);Enter 立即切换
到该会话并回放历史;--resume 启动同链路。
回滚语义:fork 边界取消息所属 turn 的起点(DSH 事件序 turn/start → user/message → turn/end),中断回合先等落盘再 fork。
终端粘贴:raw 模式下 Ctrl+V 由应用接管——PowerShell Get-Clipboard
读剪贴板:Explorer 复制的文件/图片返回 FileDropList → 插入文件路径(含空格
自动加引号);纯文本按原文插入光标处(含换行,不会误提交)。终端原生粘贴
(Ctrl+Shift+V / 右键)走 bracketed paste,同样插入而非提交。
问卷(ask_user_question):DSH user-interaction 生态的 TUI 适配——模型
调用 ask_user_question 时不再以工具卡片出现,而是弹出雾蓝风格问卷面板
(每题一屏:进度头 第 x/N 题、题头徽标、选项 + 描述、多选勾选、Tab 自定义
回答),按键流转走官方 dsh-tui 同款语义(↑/↓ 选择、Space 多选、Enter 提交、
Esc 中断 → ASK_ABORTED)。问答结束后把 Q&A 摘要折叠进会话记录;批内多题
与子代理并发提问按 FIFO 排队逐题呈现。服务行由 dsh-base 提供,插件在裸装
时自建服务并注册 provider、挂载模型侧工具。
/model 实时切换走"会话 fork 续聊"(DSH 无原位换模型 API):历史原样保留,
新会话路由到新模型,旧会话仍留在 /resume 列表里。Ctrl+V 读剪贴板依赖 PowerShell Get-Clipboard:剪贴板被其他进程
(如 Explorer)短暂锁定时自动重试,持续锁定时静默放弃(显示"剪贴板为空"提示)。/permission(沙箱模式切换)未适配:需要 approval 服务 + 审批 UI,
当前 TUI 不消费审批流,刻意不挂(/permissions 仅说明现状)。/vim /connect /hooks /memory 为 CC 同名占位:对应能力在 DSH
侧无等价机制或未在本 leaf 挂载,命令会给出明确说明而非静默。dsh-cc-tui is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ccch1mneyyy. DSH 官方尚无终端 TUI 的补位之作:Claude Code 风格全屏交互终端插件——像素鲸鱼顶栏、实时工作状态行、思考流式展开、双击 Esc 回滚、上下文进度条 + TPS 仪表。npm 一键安装。. It has 188 GitHub stars.
dsh-cc-tui's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/ccch1mneyyy/dsh-cc-tui" and add it to your Claude Code skills directory (see the Installation section above).
dsh-cc-tui is primarily written in TypeScript. It is open-source under ccch1mneyyy on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dsh-cc-tui against similar tools.
No comments yet. Be the first to share your thoughts!