How futuregene/future-os works
FutureOS is a local-first, multi-surface AI agent: users submit work through desktop, terminal/CLI, mobile, or chat; a shared Rust agent runs model-backed turns, applies configurable tool safety, and persists session history. Desktop adds workspace, artifact, review, and remote-control features; chat adapters bridge external messaging services. The README documents durable long-running loop control and built-in skills as major capabilities. The sampled source confirms desktop send orchestration, session persistence, and mobile timeline synchronization; other subsystem links follow documented behavior and the source tree rather than inspected implementations.
Main entry points: run_loop.rs Turn execution · grpc/mod.rs Agent service · bridge/mod.rs Chat bridge · agent_bridge/mod.rs Desktop backend
Components 25
User surfaces
- Desktop interface
desktop/src/features/agent/AgentThread.tsx - CLI and TUI
cli/src/commands/run.rs - Mobile client
mobile/src/remote/useConversationController.ts - Chat bridge
channels/src/bridge/mod.rs - Timeline sync
mobile/src/remote/syncEngine.ts
Agent runtime
- Agent service
agent/src/grpc/mod.rs - Turn execution
agent/src/agent/run_loop.rs - Session RPC
agent/src/rpc/commands/mod.rs - Session history
agent/src/session/manager.rs - Model adapters
agent/src/llm/adapters/mod.rs
Agent capabilities
- Tool safety
agent/src/sandbox/mod.rs - Skills
agent/src/skills/manager.rs - Long-run control
- Browser tools
cli/src/browser/mod.rs
Desktop application
- Desktop backend
desktop/src-tauri/src/agent_bridge/mod.rs - Desktop state
desktop/src-tauri/src/store.rs - Remote control
desktop/src-tauri/src/remote/mod.rs - Prompt send flow
desktop/src/features/agent/sendPipeline.ts
External connections
- Model providers
- Chat services
- Mobile device
Other components
- Desktop user
- Terminal user
- Mobile user
- Chat user
Connections 25
- Desktop user → Desktop interface: submits prompt
- Desktop interface → Prompt send flow: starts send flow
- Prompt send flow → Desktop backend: sends prompt
- Prompt send flow → Desktop state: creates run
- Desktop backend → Agent service: forwards requests
- Terminal user → CLI and TUI: runs command
- CLI and TUI → Agent service: calls by gRPC
- Mobile user → Mobile client: submits work
- Mobile client → Agent service: requests session
- Timeline sync → Session history: syncs history
- Chat user → Chat bridge: sends message
- Chat bridge → Agent service: dispatches turn
- Agent service → Session RPC: dispatches RPC
- Session RPC → Turn execution: starts or controls
- Turn execution → Session history: reads and writes
- Turn execution → Model adapters: requests completion
- Model adapters → Model providers: calls model API
- Turn execution → Tool safety: constrains tools
- Turn execution → Skills: uses skills
- Turn execution → Long-run control: supports long runs
- Turn execution → Browser tools: invokes browser tools
- Desktop backend → Desktop state: persists app state
- Desktop user → Remote control: pairs and connects
- Remote control → Mobile device: transfers encrypted data
- Chat bridge → Chat services: connects providers