← 返回列表
未验证
面向 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。
扫码进群