Plaaasma/dsh-subagent-claude-live ↗★ 0

dsh-subagent-claude-live

将Claude Code集成为流式子代理的插件 适合需要在系统内调用本地Claude命令行工具进行辅助开发的用户。

套件
dsh-subagent-claude-live
相容性
待驗證
Harness 依賴範圍
>=0.1.1-rc.1 <0.1.2 || >=0.1.2-rc.1 <0.2.0-0
Cordis 依賴範圍
^4.0.1
版本
0.1.1
授權
MIT
最近更新
2026年9月5日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Plaaasma/dsh-subagent-claude-live

Configuration

Defaults from the bundle layer (cordis.patch.yml). Override by targeting subagent-claude-live in your profile's cordis.patch.yml — a config override replaces the whole object, so restate the keys you keep.

- id: subagent-claude-live
  config:
    providerName: claude            # name on ctx.subagents
    toolName: claude_code
    modelsToolName: claude_models
    defaultModel: fable             # preset, alias, full id, or '' for the CLI's own default
    presets:                        # friendly name -> what the CLI accepts
      fable-5.1: claude-fable-5-1
      fable: fable
      opus: opus
      sonnet: sonnet
      haiku: haiku
    permissionMode: bypassPermissions
    allowPermissionModeOverride: true
    executable: ''                  # '' = `claude` on PATH / ~/.local/bin; 'bundled' = SDK payload; or a path
    env: {}                         # layered over the scrubbed parent environment (e.g. ANTHROPIC_BASE_URL)
    disposeGraceMs: 3000
    modelsCacheMs: 600000
    maxTurns: 0                     # 0 = CLI default
    aliases: {}                     # extra tool names with the model pinned, see below

Aliases

aliases registers additional delegation tools with the model (and optionally the effort) pinned and no model parameter:

    aliases:
      subagent_claude_fable: { model: fable }
      review_with_opus:      { model: opus, effort: high, description: 'Code review by Opus.' }

This exists for one reason: a session whose history contains a call to a tool name that no longer exists will happily issue that call again, and an OpenAI-compatible serving stack drops a call to an undeclared function before the harness ever sees it — the turn ends with nothing said and no error reaches the model. If you are replacing the shipped per-model subagent_claude_* tools, alias them for the sessions that remember them.

bypassPermissions is the default because a delegated coding task that stops at the first permission prompt is a failed task — there is no human on the child's side to answer it. It means the child edits and executes in the parent session's working directory with no checks. Set permissionMode: dontAsk (deny anything not pre-authorized in your Claude settings) or plan (read-only, returns a plan) if that is not what you want, and allowPermissionModeOverride: false to stop the model raising it per call.