Announcing Meshfleet v0.3.0 — Fleet-native agent orchestration for OpenCode
Today we're shipping the first public release of Meshfleet. Spawn parallel agents as independent OS processes. Route work to specialists. Let agents collaborate peer-to-peer. No timeouts. No markups. MIT licensed.
Announcing Meshfleet v0.3.0
Today we’re shipping the first public release of Meshfleet — an MCP server that gives OpenCode true peer-to-peer agent orchestration. Spawn parallel agents as independent OS processes. Route work to specialists. Let agents collaborate directly. No timeouts. No markups. MIT licensed.
The problem we kept hitting
OpenCode ships with a task() primitive for delegating work to subagents. It’s great — until you need to do anything that takes longer than 30 minutes. The built-in 30-minute inactivity timeout is a hard wall. Long-running explorations, deep reasoning, large codebase refactors — all hit it.
We tried the obvious workarounds. A second process. A wrapper script. Cron-driven heartbeat files. They all became more complex than the actual problem we were solving. The agent-mesh was born from that frustration.
What Meshfleet does
Meshfleet is an MCP server that spawns agents as independent opencode run child processes. The 30-minute timeout doesn’t apply because the children are full OS processes, not background tasks. They run until they finish — or until you kill them.
On top of that core, v0.3.0 adds three layers:
1. P2P messaging between agents
Five message types — handoff, question, result, alert, request_help. Agents send messages directly to each other through a JSON-backed inbox. No orchestrator mediation. The mesh becomes a true peer-to-peer network, not a star.
// Agent A → Agent B
await callTool("send_message", {
from_agent_id: "a1",
to_agent_id: "a2",
fleet_id,
type: "handoff",
payload: JSON.stringify({
context: "Found 3 auth middleware files",
next_step: "Review architecture for fragmentation",
}),
});
2. Capability-based routing
Agents self-describe their skills. route_work matches a task description to the best agent using keyword + role overlap scoring. Replace fragile hand-wired task assignment with semantic matching.
const { matches } = await callTool("route_work", {
description: "audit authentication security vulnerabilities",
});
// matches[0] → Security Auditor (highest score)
3. Premade agent discovery
We bundle support for 100+ specialized agent personalities from the agency-agents project. list_agents discovers them. attach_agent dynamically joins one to a running fleet mid-flight. Pick the right specialist at the right moment, not the first agent that happened to be running.
// Attach a security reviewer mid-flight when an alert fires
await callTool("attach_agent", {
fleet_id,
role: "Security Reviewer",
prompt: "Audit the auth middleware for vulnerabilities",
agent: "application-security-engineer",
});
Why this matters
Three patterns become trivial once agents can talk to each other:
- Pipeline handoff: Explore → Oracle → Engineer, each specialist hands context to the next.
- Debate consensus: Two agents review the same artifact, debate, converge before reporting.
- Failure recovery: An agent hits a wall, broadcasts an alert, peers with relevant skills respond with fixes.
None of these require the orchestrator to mediate. The mesh self-organizes.
What’s next
- v0.4.0 (next 2 weeks): Heartbeat watchdog, automatic retry with exponential backoff, partial result recovery.
- v0.5.0 (Q3): SSE push notifications, fleet events, a CLI inspector.
- v0.6.0 (Q3): Embedding-based capability matching (semantic, not just keyword).
- v1.0.0 (Q4): Schema versioning, backward compatibility,
npm publish.
Try it
git clone https://github.com/johnmwhitman/agent-mesh.git \
~/.config/opencode/mcp-servers/agent-mesh
cd ~/.config/opencode/mcp-servers/agent-mesh
npm install && npm run build
Add to your ~/.config/opencode/opencode.jsonc:
{
"mcp": {
"agent-mesh": {
"type": "local",
"enabled": true,
"command": ["node", "~/.config/opencode/mcp-servers/agent-mesh/dist/index.js"]
}
}
}
Restart OpenCode. Spawn a fleet. Watch the agents mesh.
Get involved
- Star the repo — github.com/johnmwhitman/agent-mesh
- Read the spec — AGENT-MESH-SPEC.md, SPEC-P2P.md
- Open an issue — bugs, features, questions, all welcome
- Contribute — see CONTRIBUTING.md
Meshfleet is MIT licensed. Use it, fork it, ship it. If we disappear tomorrow, the code still works.
— The Meshfleet team