dsh-ccgui:在 DSH 里像选模型一样使用多种 Agent CLI

前言

DeepSeek Harness(DSH)擅长用插件扩展会话界面和模型提供方,但若要在同一会话里驱动 Claude Code、Codex、PI 等命令行 Agent,以往往往要在终端与 DSH 之间来回切换,工具调用、审批和改动也不走同一套界面。dsh-ccgui 把多种 Agent CLI 注册为 DSH 的模型提供方:在输入框旁选一个 CLI,对话、工具卡片和(在支持时)审批流程仍走 DSH 原生 UI,费用与账号则沿用各 CLI 自己的配置。

这是什么

dsh-ccgui(仓库 zhukunpenglinyutong/dsh-ccgui)由社区维护者 zhukunpenglinyutong 发布,在 DSH 插件目录中归类为客户端插件。它在 DeepSeek Harness 里直接接入 Claude Code、Kimi、Codex、PI、OMP、OpenCode 等 Agent CLI,并附带变更面板、启动脚本、工作区文件快捷引用等界面增强。安装与使用以插件仓库 README 为准;社区目录页见 SkillHub 上的 dsh-ccgui。

环境与依赖

使用前需满足:

  • DSH 版本:>=0.2.2-rc.1 且 <0.3.0(与 package.json 中 engines.dsh 一致)。
  • 对应 CLI 已安装并完成登录(部分 CLI 可通过 npx 由插件自动拉取,见下文功能表)。
  • 插件以当前 DSH 进程权限运行;DSH 沙箱管不到 CLI,CLI 自行决定是否询问权限,安装前宜阅读源码与 MIT 许可证。

核心功能

切换 CLI 与模型

输入框 + 右侧有 CLI 菜单;选中后还有模型菜单,列出该 CLI 真实可用的模型,第一项为默认模型,超过 4 项可搜索,中途换模型下一条消息生效。不在 CLI 上的会话(例如 DeepSeek)只显示 DSH 自带提供方与推理等级。CLI 只能在发第一条消息前切换,要换 CLI 需新建会话。

README 功能对照表(节选):

能力 Claude Code Kimi CLI Codex CLI PI CLI OMP CLI OpenCode
真实账号验证 支持 支持 支持 支持 支持 支持
免安装(npx 自动拉取) 支持 支持 支持 支持 需先装 omp 需先装 opencode
会话中途换模型 支持 尚未验证 支持 支持 支持 支持

标准模式与 PTC 模式均可用;PTC 下 CLI 工具调用会包成 run_code,长时构建或测试建议切回标准模式。

变更面板与工作区工具

右侧栏「变更」按已暂存、未暂存、未跟踪分组,支持暂存、撤销、提交、推拉与分支切换,并可查看行内 diff。会话标题栏可保存按工作目录区分的启动脚本,在独立终端标签中执行。工作区文件中可右键「添加到对话」,将 @路径 插入输入框;标题栏终端按钮可开关右侧栏终端。

会话状态与设置

会话列表项前显示所用 CLI 图标,回合进行中旁有状态指示。DSH 设置中的「CC GUI 设置」可调整 CLI 菜单顺序与开关,并单独关闭插件增加的界面交互以恢复 DSH 原样;DeepSeek 作为内置提供方始终保留。设置保存在浏览器本地。

安装与启用

图形界面

  1. 在 DSH 左侧栏打开「插件」,点右上角「添加插件」。
  2. 输入 dsh-ccgui,点「安装」。
  3. 提示重启时,应完全退出 DSH(例如 macOS 上 Cmd+Q)再打开;不要仅点「立即启用」,否则新旧代码混在同一进程可能启动失败。
  4. 新建会话,在输入框旁选择要使用的 CLI。

命令行

桌面版需先完全退出应用,再用内置 dsh 安装;命令行版(dsh web)使用 profile web:

# DSH 桌面版
"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" plugin --profile desktop add dsh-ccgui@1.0.2

# DSH 命令行版(dsh web)
dsh plugin --profile web add dsh-ccgui@1.0.2

卸载时将 add 换为 remove dsh-ccgui。从源码安装时先 pnpm install && pnpm run build,在「添加插件」中填本地仓库路径(命令行安装时把 dsh-ccgui@1.0.2 换成该路径)。

典型用法

完成安装并重启后,新建会话,在 CLI 菜单中选择已登录的 Agent(例如 Claude Code 或 Codex CLI),在模型菜单确认模型,即可像与 DeepSeek 对话一样发送消息。工具调用与改动摘要走 DSH 界面;若使用 Claude Code 手动模式或 OpenCode 的权限配置,相关操作会走 DSH 审批卡片。

让 Claude Code 或 OpenCode 先询问再执行时,可在项目配置中设置(示例来自 README):

Claude Code(.claude/settings.json):

{ "permissions": { "defaultMode": "default" } }

OpenCode(opencode.json):

{ "permission": { "edit": "ask", "bash": "ask" } }

接入其他 CLI

在 profile 的 cordis.patch.yml 中为 dsh-ccgui 配置 agents 列表;config 会整体替换默认项,因此需把默认 CLI 一并写明。README 提供了含 npx 固定版本号的示例;自定义项可增加 { id: my-cli, name: My CLI, command: my-cli, args: [acp] } 等形式。

审批、停止与已知限制

README 强调:不同 CLI 对写文件、执行命令与「停止」的行为不同(例如 Codex 默认不询问直接执行,按停止后已启动命令可能仍在后台运行)。后台命令通常在会话关闭或 DSH 退出时结束。

使用前宜知晓的主要限制包括:不支持 /compact、fork、回滚与运行中插话;不转发图片及部分 DSH 内部提醒;上下文用量显示可能不准;每个打开会话占用一个 CLI 进程。/model 不宜在同一会话内在 DeepSeek 与 CLI 之间切换,以免上下文丢失。

适用场景与注意

适合已在 DSH 中开发、又希望统一界面驱动多种 Agent CLI 的开发者:同一工作区内完成对话、diff 与常用脚本启动,而不必单独开多个终端会话。使用前请确认 DSH 版本落在 README 要求范围内,并为各 CLI 单独配置权限与账号;社区插件目录(SkillHub)与 DeepSeek / 幻方无官方从属关系,版本与星标等信息以 GitHub 仓库页面为准(README 展示 CI、覆盖率与许可证徽章;仓库当前在 package.json 中为 1.0.4,安装示例仍指向 dsh-ccgui@1.0.2,可按发布渠道选择对应版本号)。

结尾

dsh-ccgui 把多种 Agent CLI 接到 DSH 的模型提供方机制上,用菜单切换后端、用原生 UI 承接工具与变更,是「一切皆插件」思路下的客户端增强。进一步说明与限制列表见 GitHub README,目录入口见 SkillHub 插件页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye