Dev & Engineering typescriptcode-reviewlineardiscord-botgithub-actionslancedbcode-registrylocal-models

OpenSwarm

Orchestrate development issues into reviewed, verified code changes.

FollowAgents review · FARS-2.0
Not yet reviewed
See the full review method →

What does this agent do, and when should you use it?

OpenSwarm is a TypeScript and Node.js 22+ autonomous development orchestrator operated through a TUI, CLI, Discord, and a web dashboard. It takes work from Linear or a built-in SQLite tracker, filters it through DecisionEngine, and runs Worker and Reviewer pairs with optional Tester and Documenter stages in PairPipeline. Execution adapters cover Codex, OpenAI GPT, OpenRouter, Atlas Cloud, Ollama, LM Studio, and an opt-in Claude Code CLI fallback. The repository also includes a code entity registry, BS Detector, LanceDB long-term memory, and repository-scoped knowledge recall. It fits engineering teams willing to configure provider credentials, project paths, and verification commands in exchange for a self-hosted workflow spanning issue execution, review, and CI repair.

AutonomousRunner fetches Linear issues on a heartbeat, DecisionEngine applies scope, priority, and limit checks, then projectMapper resolves a project path before calling PairPipeline.run(). A Worker edits through the configured adapter, a Reviewer returns APPROVE, REVISE, or REJECT, and the loop can repeat before optional Tester and Documenter stages. openswarm review reviews working-tree changes; openswarm review --max splits a codebase into areas for reviewer subagents and can emit an audit report, Linear issues, JSON decisions, or SARIF; --fix repairs in isolated sandboxes and publishes a PR only after re-review and deterministic verification. openswarm fix detects npm, Cargo, or Python checks, groups failures by file, and reruns checks across repair rounds. The Code Registry writes functions, classes, and types to SQLite/FTS5, openswarm check --bs scans code-smell patterns, and completed-task outcomes are stored in LanceDB for later repository-specific prompt recall and search_memory queries.

  1. An engineering team using Linear that wants scheduled issue selection, implementation, review, and issue-state updates in one workflow.
  2. A team that needs PR review as a GitHub Actions merge gate, using the included composite action, JSON verdicts, or SARIF output.
  3. A maintainer of a Node, Rust, or Python repository who wants `openswarm fix` to repair failing lint, typecheck, build, or test checks and rerun them.
  4. A Discord-based development team that wants to dispatch work, inspect active tasks, control autonomous execution, and change providers with bot commands.
  5. A developer who wants to use local Ollama or LM Studio models for coding workflows while retaining Codex, GPT, or OpenRouter options.

What are this agent's strengths and limitations?

Pros
  • Combines Linear or local issue intake, Worker/Reviewer orchestration, optional testing and documentation stages, and daemon operation in one toolchain.
  • Supports several execution paths: OpenRouter models, ChatGPT OAuth through codex-responses, local Ollama/LM Studio, and a Claude Code CLI fallback.
  • `review --max --fix` combines area-based review, dependency-closure grouping, isolated sandboxes, re-review, and deterministic verification gates.
  • Its code registry, risk and test mapping, BS Detector, and LanceDB repository knowledge loop extend beyond one-off task execution.
Limitations
  • Full autonomous operation requires Node.js 22+, native-module build support, provider authentication, and potentially Linear, Discord, or GitHub CLI integrations.
  • Claude Code is an explicitly selected `claude -p` fallback; it is not used as an automatic fallback.
  • Deterministic verification on Linux depends on bubblewrap and fails closed when unavailable; GitHub Actions and Docker may require extra system configuration.
  • `review --max --fix` only publishes a PR after every area is re-approved and trusted deterministic checks pass, which adds process overhead for teams seeking direct edits.

How do you install or deploy this agent?

Requires Node.js 22+, at least one configured LLM provider, and a native build toolchain for better-sqlite3 and @lancedb/lancedb. Install and start with:
npm install -g @intrect/openswarm
openswarm init
openswarm doctor
openswarm
The setup wizard can configure ChatGPT OAuth, OpenRouter, GPT, Ollama, LM Studio, or an authenticated claude CLI. For manual setup, first run openswarm auth login or set OPENROUTER_API_KEY for OpenRouter. Autonomous operation can additionally use Linear OAuth/API credentials and Discord bot credentials.

How do you use this agent?

Run openswarm init in the repository to manage so the wizard writes config.yaml and .env; then use openswarm start for the background daemon, or run one task with openswarm run "Fix the bug" -p ~/my-project. For a full local pipeline without the daemon, use openswarm exec "Run tests" --local --pipeline. Review current changes with openswarm review, and repair detected check failures with openswarm fix. openswarm dash opens the dashboard on port 3847.

How does this agent compare with similar options?

Across its documented provider options, codex-responses uses ChatGPT OAuth with a native Responses API loop; codex delegates to the external Codex CLI; openrouter runs OpenSwarm's own agentic tool loop for OpenRouter models; local and lmstudio target local models; and Claude Code is an explicitly enabled CLI fallback.

FAQ

Is Linear required?
No. The setup wizard supports a local SQLite issue tracker; Linear is an optional backend for autonomous issue processing.
Can a PR review modify the reviewed checkout?
`read-only` defaults to true, and the reviewer is restricted to read-only access. `review --max --fix` is a separate, explicitly requested repair flow.
What happens when the review gate cannot run?
`openswarm review` exits with code 2 when no verdict is produced. The documented CI guidance treats every non-zero exit as a failed check.
Can it run without a cloud model?
Yes. You can select local Ollama (`local`) or LM Studio (`lmstudio`); embeddings run locally through `@huggingface/transformers`.

Related agents