Dogtiti/dsh-subagent-bridge ↗★ 5

dsh-subagent-bridge

Subagent bridge: lets Codex delegate a task to DeepSeek Harness the way it would spawn a subagent (one call, waits for the answer), plus a codex_dispatch tool for the reverse direction.

패키지
dsh-subagent-bridge
호환성
미검증
Harness peer 범위
^0.2.1-0
버전
0.19.0
라이선스
MIT
최근 업데이트
2026. 11. 3.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Dogtiti/dsh-subagent-bridge

Usage

// Synchronous: wait for the turn, get the answer
dsh_task({ prompt: "Review the error handling in src/bridge.ts", cwd: "/repo" })

// Asynchronous: hand out work, then wait for all of it
dsh_spawn({ task_name: "audit_api", message: "…", cwd: "/repo" })
dsh_spawn({ task_name: "audit_ui",  message: "…", cwd: "/repo" })
dsh_wait({ targets: ["audit_api", "audit_ui"], timeoutMs: 240000 })

// Continue an existing worker
dsh_followup({ worker: "audit_api", message: "Expand item 3 and attach a patch" })

Configuration

- insert:
    - id: subagent-bridge
      name: 'dsh-subagent-bridge'
      config:
        port: 47821
KeyDefaultDescription
enabledtrueMaster switch; when off, no listener and no endpoint file
port47821Loopback port; fixed so the client URL survives restarts
endpointFile~/.dsh/bridge/endpoint.jsonWhere the endpoint and token are written
maxResultChars20000Cap on a single result payload (the head is kept)
taskTimeoutSeconds300dsh_task wait cap (client may override, max 240)
assumeDefaultstrueAppend the decide-and-continue instruction
assumptionPolicy(empty)Replacement text for the instruction; empty uses the built-in English default
workersFile~/.dsh/bridge/workers.jsonWorker registry (0600)
maxHops1Delegation depth limit
dispatchPerMinute10Dispatches allowed per window
dispatchWindowMs60000Window length
maxWorkersPerRoot4Workers per working directory
maxWorkers12Global worker cap
workerTtlMs86400000Records stop counting once stale
waitTimeoutMs240000Default dsh_wait timeout
readWaitSeconds25Default dsh_read_result long-poll
codexBincodexCodex executable; a value with / is resolved strictly
codexSandboxworkspace-writeDefault sandbox for codex_dispatch
codexTimeoutMs300000Per-run timeout
claudeBinclaudeClaude Code executable
claudeModel(empty)Empty means the CLI's own setting
claudeTimeoutMs300000Per-run timeout

A busy port is reported, not silently replaced: the endpoint file gets an error field and the host log prints subagent-bridge: could not start on port ….