DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Preset Codex Claude — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-preset-codex-claude

Preset Codex Claude

DeepSeek Harness 代理预设:将 Codex 和 Claude Code 作为具有只读和完全访问权限级别的委派子代理。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Magica-Chen/dsh-preset-codex-claude#5e3ae7f0272d8fb18c27bf90ae469b9a42d08f7e
README兼容性版本

兼容性与来源证明

Preset Codex Claude 以 dsh-preset-codex-claude 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/11

版本

1.0.0stable
2026/10/11

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/11
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 agents-orchestration 分类下经过校验的插件。

Headless@deepseek-ai/dsh-headlessdsh one-shot bundle:基于 dsh-base 的直接核心 Agent/Session 运行器,不包含 Host、HTTP 或浏览器层Experimental Agent Team Profile@deepseek-ai/dsh-experimental-agent-team-profile在一个实验性捆绑包中提供 Agent Teams 协作、工具和 Web UIExperimental Ralph Bundle@deepseek-ai/dsh-experimental-ralph-bundle使用全新代理执行明确请求的重复工作。Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。

README

dsh-preset-codex-claude

A DeepSeek Harness agent preset that offers Codex and Claude Code as delegation subagents, each at a read-only and a full-access tier — so one session can use either worker, or dispatch both at once on the same task.

subagent_codex               Codex        full access
subagent_codex_readonly      Codex        read-oriented
subagent_claude_code         Claude Code  full access
subagent_claude_readonly     Claude Code  hard read-only

It uses the official @deepseek-ai/dsh-subagent-codex and @deepseek-ai/dsh-subagent-claude-code providers — no reimplementation. Codex runs over its own app-server protocol; Claude Code runs over the official Agent SDK.

What this gives you

DeepSeek Harness normally hands one model the whole task. This preset adds two external workers you can delegate to from inside a session:

  • Pick the worker per task. Codex and Claude Code have different strengths and different failure modes. You are no longer choosing one for the whole conversation.
  • Pick the permission tier per task. Each vendor is registered twice — a read-only tier for analysis and a full-access tier for changes that need to write files and run tests.
  • Run both at once. The delegation tools accept run_in_background, so you can dispatch Codex and Claude Code on independent parts of the same problem, then reconcile their answers.

It is a thin, declarative layer: four provider registrations and four tools, all using the official providers. No forks, no wrappers, no reimplementation of either agent.

                    ┌─────────────────────────────┐
   your session ───▶│ subagent_codex              │  Codex        full access
   (any model)      │ subagent_codex_readonly     │  Codex        read-oriented
                    │ subagent_claude_code        │  Claude Code  full access
                    │ subagent_claude_readonly    │  Claude Code  hard read-only
                    └─────────────────────────────┘

⚠️ Read this first: the install is two steps

This preset's provider rows are resolved by the DSH loader against the dsh installation directory, not your profile. A profile-installed bundle cannot reach them. That is why this is not a one-command install, and why the preset alone will show “Failed to load” if the providers are missing.

Step 1 — install the provider packages into the dsh installation. Re-run this after every DSH upgrade, because an upgrade will drop them:

DSH_INSTALL="$(dirname "$(dirname "$(readlink -f "$(command -v dsh)")")")"
npm install --no-save --prefix "$DSH_INSTALL" \
  @deepseek-ai/dsh-subagent-codex@0.2.0-rc.2 \
  @deepseek-ai/dsh-subagent-claude-code@0.2.0-rc.2

Version matching is not cosmetic. If a provider resolves to a different version than the host, it registers into its own copy of the ctx.subagents service instead of the host singleton, and delegation fails silently. doctor checks this.

Step 2 — install this preset into your profile:

dsh plugin --profile web add github:Magica-Chen/dsh-preset-codex-claude

Then verify. This package is not on npm, so run the preflight from the installed copy:

node "$HOME/.dsh/profiles/web/node_modules/dsh-preset-codex-claude/bin/doctor.mjs"

Restart dsh and create a new session — the mode appears in the preset picker.

No git? You can also clone the repo and point dsh plugin add at the local directory: dsh plugin --profile web add file:/path/to/dsh-preset-codex-claude

Requirements

  • Node ≥ 18
  • A DSH web profile (dsh web)
  • At least one product CLI on PATH, authenticated:
    • codex — codex login (or OPENAI_API_KEY)
    • claude — claude login (or ANTHROPIC_API_KEY)

You do not need both. Tiers whose CLI is absent simply cannot run.

Use

Pick “Codex + Claude Code” in the mode selector of a new session, then delegate:

subagent_codex task="Run the test suite and fix the two failures in parser.js"
subagent_claude_code task="Review the diff on this branch for security issues"

Every subagent starts fresh without your conversation, so its prompt must be self-contained.

Both products accept run_in_background, so a session can dispatch both independently and reconcile the results. Pairing is offered, not mandated — the persona says so explicitly.

Permission tiers — what they actually mean

ToolNative modeWrites filesRuns commands
subagent_claude_codebypassPermissions✅✅
subagent_claude_readonlydontAsk❌❌ (Bash denied)
subagent_codexdangerously-bypass-approvals-and-sandbox✅✅
subagent_codex_readonlyneverinherits your ~/.codex configinherits

Two of these are counter-intuitive, and both are consequences of running unattended:

  • Claude's read-only tier is a hard block. Every non-bypass mode installs canUseTool: () => deny, and with no human attached anything needing approval is refused — including Bash. So a Claude subagent cannot run tests or builds unless it is in bypassPermissions. acceptEdits is not a middle ground: it auto-accepts file writes and still denies Bash.
  • Codex's read-only tier is advisory, not enforced. The never mode sends no sandbox field, so Codex inherits whatever your own Codex config says. Only Claude's tier is a guarantee.

Caveats

  • An existing session keeps the preset it started with. You must create a new session after installing; restarting dsh alone does not retro-fit open conversations.
  • A broken preset is cached for the life of the process. If it failed to load, reloading the page will not help — restart dsh.
  • Delegation is one-shot. These providers expose no continuable mode, so you cannot send_message to a Codex/Claude child afterwards (unlike in-harness subagent / subagent_fork).
  • The full-access tiers are genuinely unrestricted: --dangerously-bypass-approvals-and-sandbox and --bypassPermissions. That is what makes them useful unattended, and it means they can modify anything the process can reach. Prefer the read-only tiers when you only need analysis.
  • These providers declare NO_START_CAPABILITIES, so per-child toolFilter and persona are not available. Permission level is fixed per provider registration, which is why this preset registers each vendor twice rather than exposing one provider with a switch.

How it works

The preset declares four host-plane provider registrations plus four delegation tools. Providers register on the process-wide ctx.subagents singleton, so their names must stay unique across the whole process — hence the distinct codex-readonly / claude-readonly names.

cordis.patch.yml is generated. generate-patch.py holds the canonical row list and the persona, and is the single source of truth; it writes the patch atomically so the installed copy is never partially written. To change the mode, edit the generator and run:

npm run build      # python3 generate-patch.py

The preflight

bin/doctor.mjs exists to replace an otherwise opaque failure. It verifies the installation anchor resolves, that both providers resolve from the installation at the host's exact version, that the CLIs are present and authenticated, and that the preset declaration is structurally sound — including that the plan-mode row carries its required section guidance. (Omitting that one config fails the entire preset to load, with a message that never explains why.)

bin/doctor.mjs
  ✓ node 24.7.0
  ✓ dsh installation: …/node_modules/@deepseek-ai/dsh
  ✓ @deepseek-ai/dsh-subagent-codex@0.2.0-rc.2
  ✓ 4 providers declared: codex, codex-readonly, claude-code, claude-readonly
  ✓ 4 delegation tools: subagent_codex, subagent_codex_readonly, …

It exits non-zero when something must be fixed, and prints the exact command to fix it.

Uninstall

dsh plugin --profile web remove dsh-preset-codex-claude

To also remove the providers:

DSH_INSTALL="$(dirname "$(dirname "$(readlink -f "$(command -v dsh)")")")"
npm uninstall --no-save --prefix "$DSH_INSTALL" \
  @deepseek-ai/dsh-subagent-codex @deepseek-ai/dsh-subagent-claude-code

Compatibility

Pinned to dsh 0.2.0-rc.2 and provider 0.2.0-rc.2. Other dsh releases will likely need matching provider versions; doctor reports a mismatch rather than letting it fail silently. Note that npm's latest tag for these packages is an older 0.0.1-rc.1, so always pin explicitly.

License

MIT