top | item 47160980

Show HN: OpenSwarm – Multi‑Agent Claude CLI Orchestrator for Linear/GitHub

34 points| unohee | 4 days ago |github.com

I built OpenSwarm because I wanted an autonomous “AI dev team” that can actually plug into my real workflow instead of running toy tasks. OpenSwarm orchestrates multiple Claude Code CLI instances as agents to work on real Linear issues. It: • pulls issues from Linear and runs a Worker/Reviewer/Test/Documenter pipeline • uses LanceDB + multilingual-e5 embeddings for long‑term memory and context reuse • builds a simple code knowledge graph for impact analysis • exposes everything through a Discord bot (status, dispatch, scheduling, logs) • can auto‑iterate on existing PRs and monitor long‑running jobs Right now it’s powering my own solo dev workflow (trading infra, LLM tools, other projects). It’s still early, so there are rough edges and a lot of TODOs around safety, scaling, and better task decomposition. I’d love feedback on: • what feels missing for this to be useful to other teams • failure modes you’d be worried about in autonomous code agents • ideas for better memory/knowledge graph use in real‑world repos Repo: https://github.com/Intrect-io/OpenSwarm Happy to answer questions and hear brutal feedback.

17 comments

order

csto12|4 days ago

Is there a new agent orchestrater posted every day? Is this the new JS framework?

guessmyname|4 days ago

Yes. Everyone and their grandma wants to build the ultimate panacea of AI so of course you’ll see a myriad of AI-powered products and services on a daily basis until the tech industry as a whole is done with the topic.

himata4113|4 days ago

Everyone has different needs. I've made one for oh-my-pi that has file backed tasks which accept natural language to create jobs (parallelize them whenever relevant).

Haven't felt the need to show the world tho.

unohee|4 days ago

Kind of. My point is that agent orchestrators become actually useful when the framework is specific about what's safe to delegate to machines — things that reduce friction in CI/CD operations, not agents that shoot iMessages, click around in browsers, or delete files without approval.

verdverm|4 days ago

life with tools like openclaw means life with ns;nt abundance

hopefully it dies down as people realize there's more to it that the code

reconnecting|4 days ago

The timeline is always the same.

Day one: Develop a new agent orchestration with 70K LOC from Claude.

Day three: Post it on Show HN.

Day four: Get 50–150 stars on GitHub.

Day seven: Never open this repo again.

mihneadevries|4 days ago

the reviewer/worker pipeline is honestly the part I'm most curious about. like how do you handle disagreements between agents, does the reviewer just block and the worker retries, or is there a loop with a hard cutoff?

the failure mode I'd worry about most is cascading context drift, where each agent in the chain slightly misunderstands the task and by the time you get to the test agent it's validating the wrong thing entirely. fwiw I think the LanceDB memory is the right call for this kind of setup, keeping shared context grounded is probably what prevents most of those drift issues.

unohee|4 days ago

The worker-reviewer pipeline typically runs 1–2 self-revision iterations. In my experience, agents handle most tasks fine, but they tend to miss quality gates — docstrings, minor business logic edge cases, that kind of thing. The reviewer catches what slips through on the code quality side. This is all based on observed behavior from daily Claude Code CLI usage, where I've added hooks specifically to catch systematic failure patterns. OpenSwarm is essentially a productized version of those scaffoldings from my actual workflow — packaged into a more reusable architecture. On context drift — good call, and yeah, that's exactly why the shared memory layer matters. LanceDB keeps the grounding consistent across the chain so each agent isn't just working off its own drifting interpretation. As for disagreements: right now the reviewer blocks and the worker retries with feedback, with a hard cutoff to prevent infinite loops. It's simple but it works — the revision depth rarely needs to go beyond 2 rounds. And when it does fail, that's actually the useful signal — especially when you're triaging larger projects, the points where agents break down are exactly where a human engineer needs to step in. At this point, what OpenSwarm really needs is broader testing from other users to validate these patterns outside my own workflow.

das-bikash-dev|4 days ago

the context isolation approach is smart — cascading drift between agents is a real problem. i run 10 microservices with claude code and solved a similar issue by maintaining curated reference docs that agents read on-demand per task area instead of loading everything. the model escalation on failure (haiku → sonnet) is a nice touch too. do you find the lancedb memory layer actually helps with repeated similar tasks, or is it more useful for the code knowledge graph side?

vladgur|4 days ago

have you consider having different models(e.g. codex) do the reviews? i wonder if its presents an opportunity to catch more issues than the same model

unohee|4 days ago

For the collaboration between two different models — I’d love to explore that. Expanding model compatibility to broader providers (Codex, Aider, and other API models) is already on my roadmap. I’m planning to add a reviewer feature that supports multiple models, configurable simply by adding an API key to the .env file. Thanks for the suggestion!

jamiecode|4 days ago

[deleted]

unohee|4 days ago

For the current build, OpenSwarm uses max retry count with an escalation scheme: the first worker starts with Haiku, and if the tester/reviewer blocks enough times, it escalates to Sonnet. Each pipeline step updates Linear's updates tab with iteration count and total cost, so there's a full audit trail per issue. Failed jobs stay as 'in progress' or 'in review' in Linear rather than being auto-closed. I'm currently working on an 'Auditor' layer that analyzes why jobs failed — and longer term, the goal is for OpenSwarm to maintain itself using its own agents. That said, not every failure should be resolved automatically. Some errors genuinely need human judgment, and the dashboard chat interface and Discord are there for exactly that. I think knowing when to hand off to a human is part of what makes an autonomous system actually trustworthy.

MidasTools|4 days ago

[deleted]

unohee|4 days ago

OpenSwarm isolates context at the agent level — each worker is spawned via Claude Code’s -p flag, so there’s no shared conversation history between agents. The only shared state is written artifacts and a global work memory layer (CLAUDE.md + structured output). Each instance treats that as its single source of truth, rather than reading other agents’ raw context. One thing I’m actively formalizing: a CONFIDENCE-HALT mechanism. Currently it lives as a defined concept in CLAUDE.md, but the next revision will have OpenSwarm inject it explicitly into each worker context — so low-confidence streaks trigger a halt before they compound. Your {action, result, confidence: 0-3} logging pattern is basically the same instinct. Still early, but converging fast. Curious how you handle the structured log schema — do you version it across runs?