PerryLink/dsh-background-agents ↗★ 13
dsh-background-agents
Interactive long-session background agents plus persistent multi-agent team rooms for DeepSeek Harness: durable continuable child agents with progress, steering and interruption, and cross-session team rooms with a message bus, shared task board, approval-gated handoffs and a shared timeline that survive DSH restarts.
AI 분석
适合需要运行跨会话、可中断及持续跟进的复杂多智能体协同任务的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-background-agentsConfiguration
Every tunable is a validated Schemastery Config field — change it in cordis.yml, never in code. Only provider is required.
| Key | Default | Meaning |
|---|---|---|
provider | (required) | ctx.subagents provider name for continuable starts (spawn) |
autoReport | true | Inject one progress line into the parent after each child turn |
reportDelivery | quiet | quiet appends the line to the next model request; wakeup starts a parent turn when idle |
reportThrottleMs | 15000 | Minimum gap between two progress injections for one child |
reportSummaryMaxChars | 300 | Hard cap on the injected progress-line text (ellipsized) |
resultMaxChars | 4000 | Hard cap on the bg_result text (ellipsized, flagged truncated) |
maxBackgroundAgents | 4 | Hard cap on non-archived background agents per parent session |
autoArchive | true | Idle-archive toggle; when false, the sweep never archives quiet children |
idleTimeoutMinutes | 120 | Idle window after which a quiet child is archived (>= 1) |
idleSweepIntervalMs | 60000 | Archive sweep period |
maxLabelChars | 120 | Display-label cap (ellipsized) |
childProvider | (inherit) | Provider route for child model requests |
childModel | (inherit) | Model id for child model requests |
maxChildDepth | (none) | Config ceiling for a start's max_depth argument |
allowedChildTools | (none) | Allowlist for tool_filter names; empty/absent = no limit |
maxRooms | 16 | Hard cap on team rooms across the profile |
maxMembersPerRoom | 8 | Hard cap on members per room |
maxRoomsPerMember | 4 | Hard cap on rooms one member session may join |
busRetention | 200 | Bus messages kept per room |
timelineRetention | 500 | Timeline events kept per room |
taskRetention | 50 | Completed tasks kept per room |
maxMessageChars | 4000 | Hard cap on one room message's text (rejected above, never truncated) |
injectRoomBrief | true | Inject the short room brief into member sessions (join + resume) |
roomOpenTimeoutMs | 15000 | How long the team_rooms storage-domain open may take before every room operation fails loud (store-unavailable) instead of hanging |
allowUnmarkedFacts | false | Force log-only fact events on hosts that drop the ignorable marker (dangerous: unmarked facts make sessions unresumable elsewhere); default is detect-and-skip |
observability | true | Per-agent cost/status observability toggle: capture one metrics fact per child turn (tokens, turn wall time, error flag) and aggregate them into each row's metrics totals for the cost panel; false disables the capture (the panel renders metrics as unavailable) |
inbound.enabled | false | Enable the stdio JSON-RPC inbound bridge for external agent runtimes (OpenAI Agents SDK / CrewAI). Disabled by default (fail-closed). |
inbound.command | (none) | External runtime launch command; when enabled and present, the plugin spawns it and listens for newline-delimited JSON-RPC notifications. Absent/unspawnable = the bridge stays dormant (logged). |