DeepSeek Harness Hub
← 返回列表

agentforce314/dsh-ccTUI

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

面向 Deepseek-Harness 的 Claude Code 风格 TUI — 🐳 从 clawcodex 的…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/23 · 已提供中文文档

Deepseek-Harness 的 Claude Code 风格 TUI

综合分
28.8
GitHub 分
28.8
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add agentforce314/dsh-ccTUI
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-base@deepseek-ai/dsh-commands@deepseek-ai/dsh-compaction@deepseek-ai/dsh-llm@deepseek-ai/dsh-plan-mode@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence@deepseek-ai/dsh-session-projection
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-ccTUI

面向 Deepseek-Harness 的 Claude Code 风格 TUI — 🐳 从 clawcodex 的 ui-tui 移植而来,
并打包为 dsh 捆绑插件(npm 包 dsh-cctui)。

完整的 Claude-Code 风格外观、质感和交互 — 流式 markdown 记录、带 diff 卡片的工具轨迹、
审批和提问提示、计划审查、会话切换与恢复、
斜杠命令、模型选择器、上下文栏 — 在进程内针对 harness 服务运行
(ctx.agents、session/event、审批瀑布流、ctx.userQuestions、ctx.commands)。

██████╗ ███████╗██╗  ██╗         ██████╗ ██████╗████████╗██╗   ██╗██╗
██╔══██╗██╔════╝██║  ██║        ██╔════╝██╔════╝╚══██╔══╝██║   ██║██║
██║  ██║███████╗███████║ █████╗ ██║     ██║        ██║   ██║   ██║██║
██║  ██║╚════██║██╔══██║ ╚════╝ ██║     ██║        ██║   ██║   ██║██║
██████╔╝███████║██║  ██║        ╚██████╗╚██████╗   ██║   ╚██████╔╝██║
╚═════╝ ╚══════╝╚═╝  ╚═╝         ╚═════╝ ╚═════╝   ╚═╝    ╚═════╝ ╚═╝
🐳 Claude Code style TUI for Deepseek-Harness

╭─── dsh-ccTUI v0.3.0 ─────────────────────────────────────────────────────────────────────────╮
│                                                                                              │
│           Welcome back, you                 │ ▾ Available Tools                              │
│                                             │ harness: bash, create_goal, edit, …+22         │
│                    : ' :                    │                                                │
│                 ___'_______                 │ ▸ Available Skills (0)                         │
│               /'  o        \--.             │                                                │
│              |              ___\            │ ────────────────────────────────────────────── │
│               \____________/  \/            │ 25 tools · 0 skills · /help for commands       │
│                  \__/  \__/                 │                                                │
│                                             │                                                │
│                ────────────                 │                                                │
│           Model deepseek-v4-flash           │                                                │
│   Path ~/workspace/dsh-ccTUI                │                                                │
│    Perms Ask for approval · /permissions    │                                                │
│ Session cctui-56b37bee-41fd-4feb-b270-5988… │                                                │
│                                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────╯

安装

需要 Node ≥ 22.19、npm、pnpm,以及 dsh CLI(npm install -g @deepseek-ai/dsh)。

git clone https://github.com/agentforce314/dsh-ccTUI.git
cd dsh-ccTUI
./install.sh           # 构建,然后:dsh plugin --profile dsh-cctui add "$PWD"
dsh --profile dsh-cctui # 启动(或 ./bin/dsh-cctui.js)

模型/提供商配置来自你的 dsh 配置文件(agent-default-model 设置,或配置文件
cordis.patch.yml 中的 - id: cctui 配置覆盖:provider、model、
cwd、sessionId)。

API 密钥

TUI 不存储任何密钥;harness 会为每个请求解析一个密钥。将其写入托管存储
$DSH_HOME/.credentials.yaml(默认 ~/.dsh/.credentials.yaml)——一个凭据引用到
值的 YAML 映射,除此之外别无他物:

DEEPSEEK_API_KEY: sk-…

对该文件执行 chmod 600,对 ~/.dsh 执行 chmod 700:dsh-credentials-local 拒绝读取
带有任何组或其他权限位的文档,并会在启动时失败并指明修复方法。
该文档会被监视,因此在 TUI 运行时存储的密钥会在下一个
请求时生效——首次运行是“浏览模型、存储密钥、再次提示”,中间无需重启。
在某个密钥解析成功之前,路由保持注册,/model 保持可浏览;失败的是
请求,并会以 MISSING_CREDENTIAL 指明它查找过的每一个入口点。

启动环境优先于存储(DEEPSEEK_API_KEY=… dsh --profile dsh-cctui),并且
从内部看是刻意只读的;存储又优先于 /.env 和
~/.dsh/.env。将密钥本身排除在 cordis.patch.yml 之外——适配器配置只携带
apiKeyEnv,即要解析的引用。一个密钥同时覆盖对话和
web_search 工具。

模式 0600 阻止的是其他操作系统用户,而不是模型:harness 从不把该文档的
路径交给它,也从不把值加载到环境中,但 bash 和文件系统工具以你的身份运行,
且随附的策略限制的是写入而非读取。

亮点

- 对话循环:流式增量实时渲染;推理显示一两行,完整的
思维链在 Ctrl+O 之后;忙碌动词和加载指示器;Esc 中断(Ctrl+C 从不
杀死应用)。
- 工具:Claude 风格的 ⏺ Tool(args) / ⎿ result 轨迹——每次调用保留自己的一行,
带有它打开的路径或它运行的命令,后面是返回内容的几行以及
… +N lines (ctrl+o to expand);失败的调用带有工具自身的消息,正在运行的
调用带有自己的计时;写入/编辑差异渲染为结构化差异卡片;沙箱升级
审批会弹出审批框(1 批准 / 2+Enter 拒绝);待办列表固定在
忙碌行下方。
- 子代理:一次委派显示为 ⏺ Subagent(Review the diff) / ⎿ Done (2 tool uses ·
1.2k tokens · 11s),其子项流入 /agents——目标、实时工具调用、
token、生成树。
- 会话:/sessions(Ctrl+X)列出活动会话和持久化会话;/resume
重放持久化记录,包括工具结果等;/new、/title、/rename。
- 命令:每个 harness ctx.commands 条目(例如 /plan、/goal)都会出现在
补全菜单并通过 harness 进行分发;/model 打开由 llm 目录支持的
选择器;/effort、/context、/usage、/help、/status。
- 模式:Shift+Tab 循环切换 default → plan → bypassPermissions(映射到 harness 的
plan-mode 控制器和审批策略)。

配置

环境开关使用 DSH_CCTUI_ 前缀——例如 DSH_CCTUI_INLINE=0(使用备用屏幕
而非内联回滚缓冲区)、DSH_CCTUI_THEME=light|dark、DSH_CCTUI_HOME(数据目录,
默认 ~/.dsh-cctui)、DSH_CCTUI_FPS=1。CLAUDE_CODE_SCROLL_SPEED 仍被支持,作为
从 Claude Code 迁移过来的用户的回退选项。

开发

npm install
npm run typecheck && npm test    # 149 files / ~1900 tests
npm run e2e                      # PTY e2e against a real dsh boot + scripted LLM
npm run e2e:install              # the real dsh plugin add install path

工具行是最难用肉眼检查的表面,因此它们有自己的测试工具:
python3 scripts/tool-gallery.py [tool…] [--expand] 通过每个场景一个
harness 工具驱动真实的 dsh 启动(经由脚本化的 test/e2e/probe-llm.mjs),并打印其
渲染出的轨迹——这就是用来与对 Claude Code 发起的相同调用进行对比的东西。

版本管理

每次发布的变更都会将 patch 位数字加一;它会一直递增到 99,然后进位
到 minor 位:

0.2.0 → 0.2.1 → … → 0.2.13 → … → 0.2.99 → 0.3.0 → 0.3.1 → …

编写 patch 号时不要带前导零(0.3.1,而不是 0.3.01——后者不是有效的
semver,npm 会拒绝它)。在变更自身的提交中更新 package.json,然后在其合并后
在 main 上打上 v 标签。

架构和移植细节:docs/ARCHITECTURE.md、
docs/PLAN.md、docs/PORTING-NOTES.md。适配器
边界(src/harness/ 是唯一可以导入 @deepseek-ai/* 的地方)由 CI 把关。

来源与许可证

MIT。相当一部分内容移植自 MIT 许可的 clawcodex ui-tui(包括其
分叉的 Ink 渲染器),并采用了 MIT 许可的 dsh-TUI 项目中的集成模式——详见
NOTICE.md。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群