Open source local-first AI agent. Rust-powered, zero runtime deps.
An AI agent that belongs on your desktop, not in the cloud. Single distributable, built with Rust for performance and reliability.
- 100+ LLM providers — OpenRouter, OpenAI, Anthropic, Google AI, GitHub Copilot, OpenAI Codex, Ollama, Groq, DeepSeek, xAI, AWS Bedrock, Azure, and more
- OAuth login — Sign in with GitHub Copilot, Google, or OpenAI Codex (no API keys needed)
- Discord bot — Slash commands, per-channel/per-user sessions, real-time tool progress, thinking indicators
- Web UI — Modern chat interface at
localhost:8765 - 30+ built-in tools — File ops, code execution (Python/Node/Bash), grep/glob, web fetch, LSP, and more
- Voice I/O — Whisper STT + Piper TTS with browser fallback
- Visual workflow editor — Node-based drag-and-drop automation with conditions, loops, and branching logic
- Skills system — Installable
.oskillbundles for custom integrations - Jobs scheduling — Cron-based reminders, recurring tasks, and daily briefings
Measured with in-repo runtime benchmarks (release, provider-free workloads, 10 runs on 2026-04-08):
| Metric | OSAgent |
|---|---|
| Startup to ready | ~543ms |
| Ready RSS | ~13.68MB |
| Idle RSS | ~22.66MB |
| Install size | ~50MB (deb/dmg) |
cargo run --release --bin osagent-bench -- --profiles release --iterations 10Download the latest release for your platform from GitHub Releases:
| Platform | Asset |
|---|---|
| Windows | osagent-windows-x86_64-setup.exe |
| Linux (x86_64) | osagent-linux-x86_64.deb |
| macOS (Apple Silicon) | osagent-macos-arm64.dmg |
Auto-updates are served via https://osa.fuckyourcdn.com/releases/latest.json.
- Run the launcher
- Choose your provider (OAuth or API key)
- Select a workspace folder
- Done — browser opens to
http://localhost:8765
osagent start # Start with default config
osagent start -w /path/to/project # Start with a specific workspaceConfig stored at ~/.osagent/config.toml:
[server]
bind = "127.0.0.1"
port = 8765
password = "$2b$12$..." # bcrypt hash (optional)
[[providers]]
provider_type = "openrouter"
api_key = "sk-or-v1-..."
model = "anthropic/claude-sonnet-4"
[agent]
workspace = "~/.osagent/workspace"
max_tokens = 4096
[tools]
allowed = ["bash", "read_file", "write_file", "grep", "glob", "code_python"]
[discord]
token = "your-bot-token"
allowed_users = ["1234567890"]Extend OSAgent with custom integrations:
mkdir my-skill && cd my-skill
# Create SKILL.md (agent instructions) and manifest.toml (metadata)
zip -r ../my-skill.oskill *
# Install via Settings → Skills in the Web UISee examples/skills/ for examples.
git clone https://github.com/jaylikesbunda/OSAgent.git
cd OSAgent
.\build-launcher.ps1 -InstallerRelease artifacts:
- Windows:
launcher/target/release/bundle/nsis/*.exe(installer) - Linux:
launcher/target/release/bundle/deb/*.deb - macOS:
launcher/target/release/bundle/macos/*.app
See RELEASING.md for the full release flow.
What do I need to get started? Bring your own model. Use GitHub Copilot or OpenAI Codex via OAuth, any OpenRouter/Anthropic API key, or Ollama for fully local models. Download the binary, run it, open localhost:8765.
Can I run it fully offline? Yes. Point at a local Ollama instance and you're off-grid.
How does Discord integration work? Add your bot token to config. OSAgent becomes a Discord bot with per-channel sessions, slash commands, and real-time tool progress. Same binary as the web UI.
