OpenSwarm: Multi-Agent Claude CLI Orchestrator for Linear and GitHub

What OpenSwarm Does
OpenSwarm is an autonomous AI agent orchestrator powered by Claude Code CLI. It creates a multi-agent system that integrates with real development workflows, specifically Linear for issue tracking and GitHub for code management. The tool is designed to handle actual development tasks rather than toy examples.
Core Architecture and Features
The system follows a structured pipeline approach:
- Autonomous Pipeline: Cron-driven heartbeat fetches Linear issues and runs Worker/Reviewer pair loops
- Worker/Reviewer Pairs: Multi-iteration code generation with automated review, testing, and documentation stages
- Decision Engine: Scope validation, rate limiting, priority-based task selection, and workflow mapping
- Cognitive Memory: LanceDB vector store with Xenova/multilingual-e5-base embeddings for long-term recall across sessions
- Knowledge Graph: Static code analysis, dependency mapping, and impact analysis for smarter task execution
- Discord Control: Full command interface for monitoring, task dispatch, scheduling, and pair session management
- PR Auto-Improvement: Monitors open PRs, auto-fixes CI failures, auto-resolves merge conflicts, and retries until all checks pass
- Long-Running Monitors: Tracks external processes (training jobs, batch tasks) and reports completion
- Web Dashboard: Real-time status dashboard on port 3847 with PR Processor monitoring
- i18n Support: English and Korean locale support
Technical Requirements
- Node.js >= 22
- Claude Code CLI installed and authenticated (
claude -p) - Discord Bot token with message content intent
- Linear API key and team ID
- GitHub CLI (
gh) for CI monitoring (optional)
Installation and Configuration
Basic setup:
git clone https://github.com/unohee/OpenSwarm.git
cd OpenSwarm
npm installConfiguration involves copying the example config and creating a .env file:
cp config.example.yaml config.yamlRequired .env variables:
DISCORD_TOKEN=your-discord-bot-token
DISCORD_CHANNEL_ID=your-channel-id
LINEAR_API_KEY=your-linear-api-key
LINEAR_TEAM_ID=your-linear-team-idThe config.yaml supports environment variable substitution (${VAR} or ${VAR:-default}) and is validated with Zod schemas. Key configuration sections include discord, linear, github, agents, autonomous, and prProcessor settings.
Current Status and Limitations
The creator notes this is still early software with rough edges. Current TODOs focus on safety, scaling, and better task decomposition. The system is currently powering the creator's solo dev workflow for trading infrastructure, LLM tools, and other projects.
📖 Read the full source: HN AI Agents
👀 See Also

Be brief beats caveman plugin in Claude Code compression benchmark
A 24-prompt benchmark shows Claude Code's caveman compression plugin produces the same token counts and quality as simply prepending 'be brief.' — but the plugin's consistent output shape and safety escape rules offer structural advantages.

Sense: Go SDK for LLM-powered test assertions and structured text extraction
Sense is a Go SDK that uses Claude for two main functions: evaluating non-deterministic output in tests with plain English assertions, and extracting typed structs from unstructured text through reflection and forced tool_use.

User-built PTC for Claude Code shows 40-65% token savings on analysis tasks, not code writing
A developer built a local PTC implementation called Thalamus for Claude Code and analyzed 79 real sessions, finding 40-65% token savings on analysis tasks but near-zero savings on code-writing tasks. The agent used execute() primarily for general Python computation rather than batching tool calls.

GitHub Comic Bot: Turn Commits into Daily Medieval Knight Comics
A bot that reads GitHub commits and generates 4-panel comic strips featuring a deadpan medieval knight, built with Claude Code and Gemini, running on GitHub Actions with free tier costs.