-
-
AGI Web with GPT-5.6 Sol selected: one workspace for chat, coding, writing, learning, and agentic work.
-
Local Mode in action: an on-device Ollama model answers in the desktop app with no cloud request.
-
The pure-Rust agi CLI running Gemma locally through Ollama - private, on-device, and with zero model cost.
-
One product across Web, Desktop, Mobile, CLI, Chrome, and VS Code—with Local, BYOK, and Managed Cloud on supported surfaces.
-
AGI's VS Code developer build brings codebase chat and guided explain, fix, test, and docs workflows into the editor.
-
AGI Mobile in Local Mode: a native, on-device workspace designed to keep private conversations on the phone.
-
BYOK: encrypted local key storage and direct-to-provider routing with zero markup across supported providers.
-
Browser Companion controls for workflows, computer use, page capture, allowlists, and explicit desktop pairing.
-
AGI's VS Code developer build: codebase chat with GPT-5.6 and a local runtime inside the editor.
-
One mobile model catalog spanning GPT-5.6, Claude, and other providers, with effort controls and favorites.
-
Local and cloud controls stay clearly separated, keeping personalization, memory, privacy, billing, and usage boundaries visible.
-
Connector catalog for Notion, Airtable, Trello, Asana, Todoist, Linear, and custom MCP integrations.
-
Mobile local-inference controls: device benchmarking, thermal safeguards, battery limits, and per-response performance metrics.
What it does
AGI Workforce is a full AI application suite spanning six first-class surfaces:
| Surface | Role |
|---|---|
| Web | Account, projects, synced chats, artifacts, billing |
| Mobile | On-device Local LLM chat, continuity, approvals |
| Desktop | Local-private compute host, rich app shell, MCP/connectors |
| Chrome Extension | Browser context, page capture, native messaging |
| VS Code Extension | IDE-native developer surface over CLI runtime |
| CLI | Developer agent engine, terminal-native workflows |
Three Trust Modes
Every conversation has an immutable execution mode:
- Local Mode — 100% offline. Models run on-device via Ollama/llama.cpp. Your data never leaves your machine.
- BYOK (Bring Your Own Key) — Use your own OpenAI, Anthropic, Google, or other provider keys directly. AGI never sees them.
- Managed Cloud — AGI-managed provider access (public alpha, open by default). One subscription, every frontier model.
Transitioning from Local → BYOK is an explicit fork with context selection, secret scanning, payload preview, and user consent — never a silent mode flip.
Swarm Orchestration
The core is a multi-agent swarm architecture in Rust:
$$ \text{Manager Agent} \xrightarrow{\text{spawn}} {W_1, W_2, \ldots, W_n} \xrightarrow{\text{aggregate}} \text{Result} $$
- A Manager Agent decomposes goals into subtasks
- Worker Agents are dynamically spawned with resource limits (CPU, RAM, network) and semaphore-controlled concurrency
- Workers are frozen during execution — they don't learn mid-task, ensuring deterministic behavior
- A Circuit Breaker pattern handles failures: \( \text{Healthy} \to \text{Degraded} \to \text{CircuitOpen} \to \text{Recovering} \)
- Communication flows through Tokio
mpscchannels (tasks) andoneshotchannels (results)
Deep OS Integration
AGI doesn't just chat — it acts:
- 🖱️ Mouse & keyboard control via
enigo - 🖥️ Screen capture via
xcap - 💻 Terminal emulation via
portable-pty - 🎤 Offline speech-to-text via
whisper-rs - 👁️ OCR via Tesseract
- 🔐 OS-level credential storage via
keyring
How we built it
Architecture
The system is a monorepo with shared Rust crates and TypeScript packages:
web/# Next.js - account, projects, billing mobile/# React Native - local LLM + cloud chat desktop/# Tauri 2.x - local-first compute host extension/# Chrome MV3 - browser context & capture extension-vscode/# VS Code - IDE integration cli/# Rust - developer agent engine packages/ # Shared TS: contracts, providers, UI, tools crates/# Shared Rust: protocol, registry, sandbox services/ # API gateway, signaling, managed compute
Backend — Rust / Tauri
The backend is a high-performance Rust core:
- Tauri 2.x for the desktop shell, plugin system, and JS↔Rust bridge
- Tokio async runtime for agent orchestration and automation
- Serde for serialization across JSON, Bincode, and YAML
- rusqlite for local agent state and persistent memory
- reqwest + tungstenite for HTTP and WebSocket communication
Frontend — React / TypeScript
- React 19 with Vite for the desktop SPA
- Radix UI for accessible component primitives
- Framer Motion for animations
- Monaco Editor for integrated code editing
- Xterm.js for integrated terminal
- Zustand for state management
- KaTeX + Mermaid for math and diagram rendering
AI Stack
- Ollama API for local LLM management
- llama-cpp-2 for local inference
- whisper-rs for offline STT
- webrtc-vad for voice activity detection
- Multi-provider routing: OpenAI, Anthropic, Google, Mistral, and more — all from a single model registry
Infrastructure
- clerk for auth and cloud sync
- Neon (PostgreSQL) for Web data
- Vitest + Playwright for testing
Challenges we ran into
1. Trust Boundary Enforcement
The hardest architectural problem was ensuring that Local data never silently leaks to cloud providers. Every IPC message, every API call, every model selection had to be audited against the
conversation's immutable execution_mode. We built Rust-level provider admission gates ttside the conversation's trust boundary — and added secret scanning to the Local→BYOK fork flow.
2. Multi-Surface Consistency
Maintaining a consistent UX across six surfaces (Web, Mobile, Desktop, Chrome, VS Code, CLI) with three different trust modes required a shared contracts layer (packages/contracts) that defines
PrivacyMode, ProviderMode, and ChatExecutionMode — enforced at compile time in Typeust.
3. Agent Determinism in Swarms
When you spawn \( n \) concurrent agents, non-determinism explodes. Frozen sub-agents (ource locking (file locks, UI element locks), and semaphore-controlled concurrency wereessential to prevent agent conflicts without sacrificing parallelism.
4. Offline-First AI
Running Whisper, Tesseract, and llama.cpp locally means managing native C/C++ bindings across macOS, Windows, and Linux — each with different FFI quirks, library paths, and GPU acceleration stacks. We wrapped everything in safe Rust abstractions with graceful fallbacks.
5. Circuit Breaker Tuning
Getting the circuit breaker thresholds right was iterative. Too aggressive and healthy agnt and cascading failures brought down entire swarms. We settled on a five-state model(Healthy → Degraded → CircuitOpen → Recovering → Terminated) with configurable thresholds per task type.
Accomplishments we're proud of
- True model freedom: One app, every major AI provider, plus fully offline local models — no vendor lock-in
- Privacy that's provable: Local Mode conversations physically cannot reach the net
- Active AI autonomy: Agents that control your OS, terminal, and browser — not just generate text
- Six production surfaces from one monorepo with shared contracts
- $7/month entry with a Free tier.
What we learned
- Rust is the right choice for trust-critical AI infrastructure. Ownership semantics catch entire categories of privacy bugs at compile time.
- Privacy is an architecture, not a feature toggle. You can't bolt on "local mode" tohas to be the foundation.
- Agent swarms need governance, not just orchestration. Spawning agents is easy. Preventing them from conflicting, leaking data, or cascading failures is the real engineering.
- Model registries beat hardcoded IDs. AI models change weekly. A hand-maintained cattions lets us ship updates without code changes.
What's next
- Visual artifact workspace — canvas, artboards, prototyping, and design export
- Desktop AGI Code — full developer mode with inline code execution
- Enterprise SSO & audit — SAML, SCIM, and compliance logging
- Plugin marketplace — community-built MCP connectors, skills, and agent templates
- Video generation — available on Max 15x and Enterprise plans
Log in or sign up for Devpost to join the conversation.