by iii-hq
The agent OS that evolves itself. 51 workers, 18 security layers, self-improving functions. Built on iii-engine.
# Add to your Claude Code skills
git clone https://github.com/iii-hq/agentoscurl -fsSL https://raw.githubusercontent.com/iii-hq/agentos/main/scripts/install.sh | sh
agentos start
Two commands. Zero config. Boots the engine, 51 workers, and a 25-screen TUI dashboard.
Most agent frameworks give you chains, graphs, and prompt templates. AgentOS gives you three primitives:
| Primitive | What It Does | |-----------|-------------| | Worker | A process that connects to the engine and registers functions | | Function | A callable unit of work — agents, tools, security, memory, everything | | Trigger | Binds a function to HTTP, cron, queue, or pub/sub |
That's it. Every capability — from LLM routing to swarm coordination to self-evolving functions — is a plain function on the iii-engine bus. No frameworks, no vendor lock-in, no magic.
What you get out of the box:
No comments yet. Be the first to share your thoughts!
curl -fsSL https://raw.githubusercontent.com/iii-hq/agentos/main/scripts/install.sh | sh
Installs both iii-engine and agentos binary to ~/.local/bin.
AGENTOS_VERSION=v0.1.0 curl -fsSL ... | sh # specific version
BIN_DIR=/usr/local/bin curl -fsSL ... | sh # custom install dir
# Install and start (zero config — auto-detects ANTHROPIC_API_KEY from env)
agentos start
# Chat with an agent
agentos chat
# Open the 25-screen terminal dashboard
agentos tui
agentos start handles everything: creates ~/.agentos/ on first run, downloads iii-engine if missing, generates config, boots the engine and all 51 workers. Ctrl+C to stop.
agentos config set-key anthropic sk-ant-...
# Start with hot reload
agentos init --quick
npm run dev
# Run tests
npm test # 1,748 TypeScript tests
cargo test --workspace # Rust crate tests
Polyglot by design — Rust for hot path, TypeScript for iteration speed, Python for ML.
Every component connects to the iii-engine over WebSocket and registers functions. Functions call other functions via trigger(). That's it.
| Crate | Purpose | LOC |
|-------|---------|-----|
| agent-core | ReAct agent loop — orchestrates LLM calls, tool execution, memory | ~320 |
| security | RBAC, Merkle audit chain, taint tracking, Ed25519 signing, tool policy, Docker sandbox | ~700 |
| memory | Session/episodic memory, recall, consolidation, eviction | ~840 |
| llm-router | Routes to 25 LLM providers with complexity-based model selection | ~320 |
| wasm-sandbox | Executes untrusted code in WASM via wasmtime | ~180 |
| cli | 50+ commands across 15 subcommand groups | ~700 |
| tui | 25-screen terminal dashboard (ratatui) | ~350 |
| api | Rust HTTP API layer | ~200 |
| hand-runner | Autonomous hand execution engine | ~150 |
| workflow | Rust workflow step execution | ~200 |
| realm | Multi-tenant isolation domains with export/import | ~280 |
| hierarchy | Agent org structure with cycle-safe DFS tree building | ~250 |
| directive | Hierarchical goal alignment with optimistic concurrency | ~280 |
| mission | Task lifecycle with state machine and atomic checkout | ~350 |
| ledger | Budget enforcement with soft/hard limits and versioned CAS | ~300 |
| council | Governance proposals with SHA-256 merkle-chained audit trail | ~450 |
| pulse | Scheduled agent invocation with context-aware ticks | ~250 |
| bridge | External runtime adapters (Process/HTTP/ClaudeCode/Codex/Cursor/OpenCode) | ~300 |
| Worker | Purpose |
|--------|---------|
| api.ts | OpenAI-compatible REST API |
| agent-core.ts | Agent loop with fail-closed security gates |
| workflow.ts | Multi-step workflow engine (5 step modes) |
| tools.ts | Built-in tool registry (22 tools) |
| tools-extended.ts | Extended tools (38 tools: scheduling, media, data, system, code) |
| security.ts | Prompt injection scanning, content filtering |
| security-map.ts | Mutual Authentication Protocol (MAP) with timing-safe HMAC |
| security-headers.ts | HTTP security headers |
| security-zeroize.ts | Sensitive data auto-zeroing |
| skills.ts | Skill discovery and execution |
| skill-security.ts | Skill manifest validation and sandboxing |
| skillkit-bridge.ts | SkillKit marketplace integration (15K+ skills) |
| streaming.ts | SSE streaming for chat responses |
| approval.ts | Human-in-the-loop approval gates |
| approval-tiers.ts | Auto/async/sync approval tier classification |
| memory.ts | TypeScript memory layer (profile modeling, session search) |
| memory-reflection.ts | Self-curating memory reflection (auto-extracts facts, discovers skills) |
| llm-router.ts | 25-provider LLM routing with complexity scoring |
| model-catalog.ts | 47 models with pricing and capability metadata |
| mcp-client.ts | Model Context Protocol client |
| a2a.ts | Agent-to-Agent protocol (JSON-RPC 2.0) |
| a2a-cards.ts | A2A agent card discovery |
| vault.ts | AES-256-GCM encrypted vault with PBKDF2 key derivation |
| browser.ts | Headless browser automation with SSRF protection |
| context-manager.ts | Context window budget management |
| context-monitor.ts | Structured context compression (5-phase with iterative summaries) |
| cost-tracker.ts | Per-agent cost tracking |
| hooks.ts | Lifecycle hook execution (8 hook types) |
| rate-limiter.ts | GCRA rate limiting |
| loop-guard.ts | Infinite loop detection with circuit breaker |
| swarm.ts | Multi-agent swarm coordination |
| knowledge-graph.ts | Entity-relation knowledge graph |
| session-replay.ts | Session action recording and playback |
| tool-profiles.ts | Tool filtering profiles (8 profiles) |
| hand-runner.ts | Autonomous hand execution |
| migration.ts | Framework migration utilities |
| dashboard.ts | Dashboard data aggregation |
| telemetry.ts | OpenTelemetry metrics (SDK-native, auto worker CPU/memory/event-loop) |
| cron.ts | Scheduled jobs (session cleanup, cost aggregation, rate limit reset) |
| code-agent.ts | Specialized coding agent |
| evolve.ts | Dynamic function evolution (LLM code gen + vm sandbox + DAG branching) |
| eval.ts | Production eval harness (pluggable scorers, suites, inline auto-scoring) |
| feedback.ts | Feedback loop (auto-review, improve/kill, promote, signal injection) |
| artifact-dag.ts | DAG-based content artifact exchange (push/fetch/diff/leaves/history) |
| coordination.ts | Inter-agent coordination board (channels, threaded posts, pinning) |
| session-lifecycle.ts | Session state machine with declarative reaction rules |
| task-decomposer.ts | Recursive task decomposition with hierarchical IDs |
| recovery.ts | Session health scanning and automated recovery |
| orchestrator.ts | Multi-agent orchestrator (plan, decompose, spawn, monitor) |
| channels/*.ts | 40 channel adapters |
| Worker | Purpose |
|--------|---------|
| embedding/main.py | Text embeddings via SentenceTransformers (fallback: hash-based) |
Tools are organized into categories and filtered by profile to optimize token usage:
| Category | Count | Examples | |----------|-------|---------| | File Operations | 6 | read, write, list, search, apply_patch, watch | | Web | 4 | search, fetch, screenshot, browser actions | | Code | 5 | analyze, format, lint, test, explain | | Shell | 2 | exec, spawn | | Data | 8 | json_parse/stringify/query/transform, csv_parse/stringify, yaml_parse/stringify | | Memory | 3 | store, recall, search | | Scheduling | 4 | schedule_reminder, cron_create/lis