-
Notifications
You must be signed in to change notification settings - Fork 100
FAQ
No. The TUI chat (openswarm), openswarm run, openswarm chat, and openswarm check commands work without any configuration file. You only need config.yaml for daemon mode (openswarm start) which requires Discord and Linear integration.
Node.js 22 or later. OpenSwarm uses native ESM modules and recent Node.js APIs.
Yes, with the local adapter. Start Ollama, LMStudio, or llama.cpp server locally, then:
openswarm run "Fix the bug" --model gemma-4-e4b-itNo internet connection or API keys needed.
In config.yaml:
adapter: gpt # claude | codex | gpt | localAt runtime via Discord:
!provider local
Per-command:
openswarm run "task" --model gpt-4o| Use Case | Recommended |
|---|---|
| Best code quality |
claude (Sonnet/Opus) |
| Cost-sensitive |
local (Gemma/Llama) |
| OpenAI preference |
gpt (GPT-4o) or codex (o3) |
| Offline/private | local |
| Hybrid (cost + quality) |
claude for Worker, local for Reviewer |
Yes. See Adapters#hybrid-configuration:
autonomous:
defaultRoles:
worker:
adapter: claude
model: claude-sonnet-4-20250514
reviewer:
adapter: local
model: gemma-4-e4b-itIf a Worker or Reviewer fails after N iterations, it automatically switches to a more capable model:
worker:
model: claude-sonnet-4-20250514
escalateModel: claude-opus-4-6
escalateAfterIteration: 3TypeScript, JavaScript, Python, Go, Rust, Java, C, C++, and C#.
openswarm check --scanThis registers all code entities (functions, classes, types, interfaces) in the SQLite registry.
Yes:
openswarm check --ciOutputs JSON. Returns exit code 1 if critical BS issues are found.
OpenSwarm includes multiple safety mechanisms:
- DecisionEngine: Filters out-of-scope and risky tasks
- Pipeline guards: Quality gate, fake data guard, uncertainty detection
- Approval flow: Tasks can require manual approval before execution
- Rate limits: 5-hour rolling window, per-project caps
- StuckDetector: Halts pipelines that aren't making progress
By default, tasks wait for manual approval via Discord (!approve/!reject). Enable auto-approval with !auto approve on.
The StuckDetector monitors for:
- Repeating errors
- No progress between iterations
- Token budget exhaustion
It triggers model escalation or halts the pipeline, then reports to Discord.
- Create a bot at Discord Developer Portal
- Enable Message Content Intent in bot settings
- Add the bot to your server
- Set environment variables:
DISCORD_TOKEN=your-bot-token
DISCORD_CHANNEL_ID=your-channel-id
DISCORD_ALLOWED_USERS=your-discord-user-idCheck DISCORD_ALLOWED_USERS in your .env. It must contain your Discord user ID. If not set, all commands are denied (fail-closed).
-
Claude: Run
claude authto authenticate -
GPT: Run
openswarm auth login --provider gpt -
Codex: Install with
npm i -g @openai/codex - Local: Make sure Ollama/LMStudio/llama.cpp server is running
Try rescanning:
openswarm check --scanThe registry database is at ~/.openswarm/registry.db.
Check if port 3847 is already in use:
lsof -i :3847
openswarm dash -p 8080 # Use different portGetting Started
Reference
Deep Dive
Help