Skip to main content

v0.4.0 — Multi-Agent Cooperation

Multiple agents working together on a single task.

Local (Ollama)

IDFeatureFilesDetail
COOP-01Team-lead delegationcore/orchestrator.py, core/cooperation.pyTeam-lead on qwen2.5-coder decomposes tasks and delegates to sub-agents
COOP-02Parallel agent executioncore/orchestrator.py, core/agent.pyBackend + frontend agents run on separate Ollama models simultaneously via asyncio.gather
COOP-03Shared context storecore/context_store.py (new)Agents publish artifacts (code, specs, API contracts) that others can read
COOP-04Agent-to-agent messagescore/cooperation.py, dashboard/events.pyMessage passing visible in the inter-agent communication panel
COOP-05Dependency graphcore/orchestrator.pyOrchestrator respects ordering (e.g., backend API must complete before frontend uses it)

Cloud (OpenRouter)

IDFeatureFilesDetail
COOP-06Hybrid cooperationcore/orchestrator.pyTeam-lead on cloud (Qwen 3.5 Plus), sub-agents on local Ollama
COOP-07Cloud escalationcore/orchestrator.py, core/agent.pyIf local agent stalls (max retries), auto-escalate to cloud model
COOP-08Cross-provider artifactscore/context_store.pyLocal and cloud agents share the same context store
COOP-09Conflict resolutioncore/cooperation.pyWhen 2 agents (local + cloud) modify same file, team-lead resolves
COOP-10Progress trackingdashboard/static/, dashboard/events.pyReal-time progress bar per agent with provider badge (local/cloud)

Implementation Notes

COOP-03 (Shared context store) is the key dependency — most other features build on it.

core/context_store.py:
class ContextStore:
async def publish(agent: str, key: str, artifact: Any)
async def get(key: str) -> Any
async def list_artifacts() -> list[str]
async def subscribe(key_pattern: str) -> AsyncIterator[Artifact]

COOP-07 (Cloud escalation) requires changes to Agent.execute():

  • After max_retries_per_approach failures, check if an escalation provider is configured
  • If yes, swap provider and retry
  • Emit agent.escalated event for dashboard visibility