前言¶
在 DeepSeek Harness(DSH)里做代码类任务,常见做法是本地开 shell、读仓库、改文件。任务一重或需要隔离环境时,本机资源、依赖和权限都会成为瓶颈。把整段会话或单个子任务放到远端沙箱执行,再在对话里看实时进度、把改动推回 Git,是另一条路——前提是 Harness 侧有稳定的挂载、分支策略和多轮追问能力。
下面介绍社区插件 dsh-qoder-cloud-agents(维护者 QoderAI,分类:工作流)。它把 DSH 接到 Qoder Cloud Agents,提供云端模式、子代理委派和斜杠命令三种入口,并在工作区为 git 仓库时按 Qoder 控制台方式挂载 origin,要求云端 Agent 把改动推到 qoder-cloud-agents/<随机8位> 分支。
这是什么¶
dsh-qoder-cloud-agents 是 DeepSeek Harness 插件,在 Qoder Cloud Agents 的沙箱里运行会话或一次性委派任务。当前 package 版本为 0.1.0,许可证 MIT,依赖 Qoder Cloud Agents TypeScript SDK。
- 目录页:skillhub.cn/plugins/QoderAI/dsh-qoder-cloud-agents
- 源码与说明:github.com/QoderAI/dsh-qoder-cloud-agents
DSH 生态强调「一切皆插件」;SkillHub 等目录是社区站点,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看源码与许可证,插件以当前 dsh 宿主进程权限运行,只从可信来源安装。
核心功能¶
插件提供三个入口,用途不同:
| 入口 | 用法 | 适合 |
|---|---|---|
| 云端模式 | 新会话输入框上方最右侧的「云端模式」开关 | 整段会话在云端执行,回复实时显示,同一沙箱内可连续追问 |
子代理工具 subagent_qoder_cloud_agents |
普通会话里由 DeepSeek 调用 | 把某个子任务委派到云端,完成后结果交回 DeepSeek |
斜杠命令 /qoder-cloud-agents |
在对话框输入 | 查看和切换 Qoder 环境、Agent |
工作区为 git 仓库时,插件会把 origin 挂载到云端 /data/workspace/<仓库名>。云端只能使用已推送到远端的提交;本地须配置好 origin,且相关改动已 push。私有仓库或需要云端 git push 时,除 Qoder PAT 外还要配置 Git 平台令牌(见下文)。
前置条件¶
- Node.js 22+ 与 npm(构建安装包时使用)。
- DeepSeek Harness 0.2.x(
dsh --version),或内置 dsh 0.2.x 的 Mac / Windows 客户端。 - Qoder 个人访问令牌:登录 qoder.com,在 Settings → Personal Access Tokens 创建,形如
pt-…,只显示一次。 - 可选
QODER_GIT_TOKEN:私有仓库或需要云端推送时使用(GitHub fine-grained / classicrepo,GitLab 需read_repository与write_repository等;非 GitHub 时在配置里写gitUsername)。
安装与配置¶
官方流程是先在本机构建 .tgz,再用绝对路径装进 profile。以下命令来自项目 README。
- 获取源码并打包(
npm pack会先执行构建):
git clone https://github.com/QoderAI/dsh-qoder-cloud-agents.git
cd dsh-qoder-cloud-agents
npm ci
npm pack
得到 dsh-qoder-cloud-agents-0.1.0.tgz,放到固定目录(例如 ~/dsh-plugins/),profile 里记录的是该路径。
- 安装到 dsh 的 web profile(其他 profile 换成对应名字),路径必须是绝对路径:
dsh plugin --profile web add ~/dsh-plugins/dsh-qoder-cloud-agents-0.1.0.tgz
Mac / Windows 客户端可在侧边栏「插件」→ 安装插件,填写 tgz 绝对路径。安装时 dsh 会用 pnpm 从 npm 源拉取插件运行时依赖,需能访问 npm 或其镜像。
- 令牌写入
~/.dsh/.env,不要写进仓库或 yml:
echo 'QODER_PAT=pt-<your-qoder-pat>' >> ~/.dsh/.env
echo 'QODER_GIT_TOKEN=<your-git-token>' >> ~/.dsh/.env # 公开仓库、只读可不配
chmod 600 ~/.dsh/.env
-
非 GitHub 的通用 Git:编辑
~/.dsh/profiles/web/cordis.patch.yml,在id: qoder-cloud-agents的config下补gitUsername。若文件仅有一行[],先删掉再写完整条目。 -
可选配置写在同一段
config下(patch 会整体替换config,已有字段需一并保留),例如:
- id: qoder-cloud-agents
name: dsh-qoder-cloud-agents
config:
baseURL: https://api.qoder.com/api/v1/cloud
environmentId: env_xxx
agentId: agent_xxx
repository: auto
branchPrefix: qoder-cloud-agents/
archiveOnFinish: false
timeoutMs: 7200000
字段含义与默认值以 src/index.ts 中 Config 为准。
- 重启 dsh:
dsh web终端Ctrl+C后再运行dsh web;客户端需完全退出后重开。dsh 仅在启动时读取插件与令牌。
典型用法¶
云端模式¶
- 在 dsh web 左侧工作区选择本地 git 仓库,点击「新会话」。
- 打开输入框上方最右侧「云端模式」开关,左侧模式标签变为「云端模式」。
- 发送任务,例如:「把 README 的问候语改成中英双语,提交并推送到新分支」。首次使用会弹窗选择 Qoder 环境(常选托管 cloud 环境),选择会写入 profile。
- 继续输入即为追问,仍在同一云端沙箱。
- 在本地拉取云端推送的分支(分支名在回复中给出):
git fetch origin && git checkout qoder-cloud-agents/xxxxxxxx
子代理工具¶
在普通会话中明确要求调用工具,例如:
用 subagent_qoder_cloud_agents 把这个任务交给云端:给 src/utils/date.ts 补单元测试,跑通后推送到新分支。
工具调用会立即返回;云端跑完后结果(含 session id、结果分支、交付文件等)回到对话。一次委派对应独立云端 session,不能在该委派内追问;需要多轮交流时用云端模式。
斜杠命令¶
| 命令 | 作用 |
|---|---|
/qoder-cloud-agents |
查看当前环境、Agent 和网关 |
/qoder-cloud-agents env |
列出环境(* 为当前) |
/qoder-cloud-agents env <id或名称> |
切换环境并保存 |
/qoder-cloud-agents agent |
列出 Agent |
/qoder-cloud-agents agent <id或名称或 new> |
切换 Agent;new 使用插件管理的 Agent |
/qoder-cloud-agents reset |
清除已保存选择,下次重新选择 |
适用场景与注意¶
适合谁: 已在用 DSH 0.2.x、有 Qoder 账号与 PAT,希望整会话在云端跑通改码与 git push,或偶尔把重活委派到沙箱而不占本机资源的开发者。
成本: 每次云端执行消耗 Qoder 额度;README 作者实测一个只读小任务加一次追问约 5.8 credits,实际取决于任务与模型。
安全:
QODER_PAT可代表你调用 Qoder Cloud Agents API;QODER_GIT_TOKEN会随 session 发到 Qoder Cloud 供推送。应使用最小权限、可吊销的令牌,仅放在~/.dsh/.env(chmod 600)或环境变量。- 云端 Agent 在新分支提交推送,不直接改你当前分支;合并前请像审查 PR 一样看 diff。
- 云端模式只发送你输入的文字(及首轮仓库/分支说明),不发送 dsh 系统提示词;本地附加的图片和文件不会上传。
卸载与清理: dsh plugin --profile web remove dsh-qoder-cloud-agents 后重启 dsh;远端结果分支不需要时用 git push origin --delete qoder-cloud-agents/xxxxxxxx;令牌从 .env 删除并在平台吊销。
结尾¶
dsh-qoder-cloud-agents 把 DSH 的三种使用方式(整会话云端、子代理委派、环境与 Agent 管理)对齐到 Qoder Cloud Agents 的沙箱与仓库挂载约定,适合把工作流从「全在本机」扩展到「对话在 Harness、执行在云端、改动回 Git 分支」。