perplexity-cli
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Atom Agent, Open-Source AI Agent Platform for Self-Hosted Automation
git clone https://github.com/rush86999/atom.gitrush86999/atomDeveloper Note: For technical setup and architecture, see docs/development/overview.md.
Automate your workflows by talking to an AI — and let it remember, search, and handle tasks like a real assistant.
Atom is an open-source, self-hosted AI agent platform that combines visual workflow builders with intelligent LLM-based agents.
Just speak or type your request, and Atom's specialty agents will plan, verify, and execute complex workflows across your entire tech stack.
Key Difference: Atom is self-hosted — your workflow data, agent state, and memory stay on your infrastructure. LLM inference uses your own API keys (BYOK) with cloud providers (OpenAI, Anthropic, DeepSeek); local model support (Ollama, Llama.cpp) is available for fully private deployments.
Comparing alternatives? See Atom vs OpenClaw for a detailed feature comparison.
| Aspect | Atom | OpenClaw |
|---|---|---|
| Best For | Business automation, multi-agent workflows | Personal productivity, messaging workflows |
| Agent Model | Multi-agent system with specialty agents | Single-agent runtime |
| Governance | ✅ 4-tier maturity (Student → Autonomous) | ❌ No maturity levels |
| Memory | ✅ Episodic memory + per-turn fact extraction + agent memory tools | ✅ Persistent Markdown files |
| Integrations | 46+ business (CRM, support, dev tools) | 50+ personal (smart home, media, messaging) |
| Office Automation | ✅ Real-time Excel/Word/PPTX co-editing on Canvas | ❌ None |
| Architecture | Python + FastAPI + PostgreSQL/SQLite | Node.js + local filesystem |
| Setup | Docker Compose (~15-30 min) | Single script (~10-30 min) |
Hermes (Nous Research) is an open-source personal agent known for its memory-provider architecture. Atom adopted its strongest ideas (per-turn fact extraction, pre-compression hooks, circuit breaker, FTS5 search) and deliberately avoided its weakest (custom LLM-summarizing compressor — Hermes' own has 3 documented production bugs).
| Aspect | Atom | Hermes Agent |
|---|---|---|
| Best For | Business automation, governed multi-agent workflows | Personal coding/productivity assistant |
| Memory extraction | ✅ Per-turn durable-fact extraction (5 categories, Mem0 taxonomy) | ✅ Memory-provider ABC with 7 hooks (reference design) |
| Context compression | ✅ Boundary protection + tool-pair sanitization (deterministic only) | ◐ 4-phase compressor incl. LLM summary (3 documented bugs) |
| Agent memory tools | ✅ memory_remember / memory_forget (maturity-gated) |
✅ lancedb_remember / mem0_* tool family |
| Governance | ✅ 4-tier maturity (Student → Autonomous) + HITL supervision | ❌ None |
| Multi-agent | ✅ Queen + Fleet Admiral + specialty agents | ❌ Single agent loop |
| Canvas / rich UI | ✅ 7 canvas types, WebSocket, a11y | ❌ Terminal + messaging |
| Office Automation | ✅ Real-time Excel/Word/PPTX co-editing on Canvas | ❌ None |
| Cost routing | ✅ 5-tier cognitive classification | ◐ Aux-model only |
| Observability | ✅ Prometheus + /health/* + structlog |
❌ WARNING logs |
| Retrieval | Tier-1 SQL + Tier-2 vector + FTS5 lexical | Vector + BM25 hybrid + cross-encoder reranker |
| Circuit breaker | ✅ 5 failures → 120s cooldown → half-open probe | ✅ 2-min/5-failure (fixed window) |
| Deployment | Python + FastAPI + SQLite/PostgreSQL + embedded LanceDB | Python self-hosted + embedded LanceDB |
Full Comparison → · Context Memory Design →
Atom is designed for self-hosted deployment:
Key Features:
user_id for user identificationFull Architecture Guide →
Understanding where your data goes:
| Component | Where Data Goes | Configurable? |
|---|---|---|
| LLM inference (chat, reasoning, agent decisions) | Cloud API provider via your BYOK keys (OpenAI, Anthropic, DeepSeek) | ✅ Use local models (Ollama, Llama.cpp) for fully private |
| Embeddings (document vectors) | Local (FastEmbed, ONNX runtime) | Always local |
| Vector storage (episodic memory) | Local (LanceDB on disk) | Always local |
| Database (agents, users, workflows) | Local (SQLite) or your PostgreSQL server | Always your infra |
| File uploads | Local filesystem (./data/) |
Always your infra |
| Integration data (Slack, Gmail, etc.) | Third-party APIs per integration | Per-integration |
For maximum privacy: Set
ATOM_LOCAL_ONLY=true(blocks cloud integrations) AND configure local LLM models (Ollama/Llama.cpp) instead of cloud API keys.
Intelligent CHAT/WORKFLOW/TASK routing with governance checks and dynamic fleet recruitment
Offline weakness mining scans execution traces to identify model-specific failure profiles, validation gating runs regression tests inside temporary copy-on-write sandboxes, and commits auto-mutated patches (AST tripwire rules, prompt guidance, context bounds) directly to agent configurations.
The fastest path to a running local server (verified working June 2026):
git clone https://github.com/rush86999/atom.git cd atom # Backend deps in a venv cd backend python3.11 -m venv venv ./venv/bin/pip install -r requirements.txt # Frontend deps cd ../frontend-nextjs npm install --legacy-peer-deps cd .. # Configure — copy the template (every var has a working default; you only # need to set SECRET_KEY + one LLM key). Full reference: # docs/reference/ENVIRONMENT_VARIABLES.md cp backend/.env.example backend/.env # Edit backend/.env — generate SECRET_KEY with: openssl rand -base64 48 # ...and set OPENAI_API_KEY=sk-... (or ATOM_LOCAL_ONLY=true for Ollama) # Point the frontend at the backend (port 8001 in the commands below) cat > frontend-nextjs/.env.local <<'EOF' NEXT_PUBLIC_API_URL=http://localhost:8001 NEXT_PUBLIC_USE_BACKEND_API=true EOF # ▶️ Launch the FULL app (recommended — all 40+ routers, the real feature # surface used in production and by the E2E suite). Run from the repo root. PYTHONPATH=$PWD:$PWD/backend \ DISABLE_AUTH_RATE_LIMIT=1 \ ./backend/venv/bin/python -m uvicorn main_api_app:app --reload --port 8001 # In a second terminal: frontend cd frontend-nextjs && npm run dev -- -p 3001
DISABLE_AUTH_RATE_LIMIT=1 only lifts the registration rate-limit so you can
create test users freely; it does not change the database. Remove it for
any shared/production deployment.
Minimal app (smoke only):
minimal_app.pyboots a ~125-route subset for fast checks —uvicorn minimal_app:app --port 8000. It lacks skills, marketplace, workflows, canvas, integrations, etc. Usemain_api_app:app(above) to actually use Atom.
That's it! 🚀
Choose your edition:
DATABASE_URL to a Postgres DSN)Verify your setup with the E2E journey suite (boots both apps and walks the
full UI + API): see backend/tests/e2e_ui/JOURNEY_TESTS.md.
For alternative paths (Docker, DigitalOcean 1-click) and the full walkthrough, see:
make)A Makefile wraps the canonical commands so you don't have to remember them:
make setup # one-shot dev bootstrap (venv, deps, .env, frontend install) make backend # run the full backend (main_api_app) on :8001 make frontend # run the frontend dev server on :3001 make test-e2e # run the E2E journey suite (needs both apps running) make docker-build # build the dual-app Docker image make help # list every target
atom/
├── backend/ # FastAPI app — run main_api_app:app (full) or minimal_app:app (smoke)
├── frontend-nextjs/ # Next.js web UI
├── mobile/ # React Native (Expo) companion app
├── menubar/ # Tauri macOS menubar companion
├── scripts/ # ~6 canonical scripts (quickstart, dev, e2e stack, docker entrypoint)
├── infra/ # deployment recipes (terraform, aws, reference compose files)
├── installer/ # bare-metal native install scripts
├── docs/ # project documentation
├── examples/ # standalone demo scripts
├── archive/ # superseded files (kept for history; nothing here is referenced)
├── Dockerfile # dual-app image (backend + frontend) — what CI builds
├── docker-compose.yml # local/prod stack (postgres + backend + frontend + piece-engine)
└── Makefile # common tasks (start here)
The full app (backend/main_api_app.py) is the canonical entrypoint — all
40+ routers, the real feature surface, what Docker/CI/the E2E suite use. The
minimal backend/minimal_app.py (~125 routes) exists only as a fast smoke bootstrap.
Rich interactive presentations (charts, forms, markdown) with live operation visibility, multi-view orchestration, smart error resolution, and AI accessibility (canvas state exposed to agents). Canvases live both in chat and in a dedicated standalone workspace at /canvas with full CRUD, a side-chat agent co-editor, and version history.
Canvas Guide → | Office Automation Guide →
Experience-based learning with recursive self-evolution, dual-trigger graduation (SUPERVISED → AUTONOMOUS), and hybrid PostgreSQL + LanceDB storage
Durable-fact extraction layer that survives context compression — the agent remembers what matters across sessions:
DURABLE FACTS prompt block (sub-ms) + Tier-2 LanceDB semantic recall (opt-in) + FTS5 lexical fallback for exact-match queriesmemory_remember / memory_forget let the agent explicitly persist or invalidate facts mid-turn (maturity-gated, deletion-safe)Context Memory Design → · Atom vs. Hermes →
Governance Documentation → | Enhancement Plan →
/run, /workflow, /agents from your favorite chat appRecursive knowledge retrieval via BFS traversal, canonical anchoring to database records, bidirectional sync, and D3-powered visual explorer
local_search path (scored, prioritized multi-hop paths via SQLMultiHopExpander)GraphRAGEngine.build_communities, populating the graph_communities table for global search5,000+ OpenClaw/ClawHub skills with PostgreSQL marketplace, LLM-powered security scanning (21+ malicious patterns), DAG skill composition, Python + npm auto-installation with vulnerability scanning, and supply chain protection
Community Skills Guide → | Python Packages → | npm Packages →
high/partial/ambiguous before clicking; partial/ambiguous route through human review even for AUTONOMOUS agents. See Match-Confidence LayerFour advanced multi-agent coordination patterns (derived from Cursor's swarm research + domain-aware verification literature) that address failure modes when many agents operate concurrently on shared codebases:
field_guides table, pod-restart safe) with a filesystem fallback for local dev.Swarm Coordination Architecture →
Based on cutting-edge 2025-2026 AI research, Atom has been enhanced with 5 major feature phases:
Phase 1: Memory & Graduation ✅ Complete
Phase 2: GraphRAG Enhancement ✅ Complete
Phase 3: Learning-Based LLM Routing ✅ Complete
llm_routing_feedback), live /api/chat/feedback, quality signals/settings/routingATOM_LEARNING_ROUTER, default off) — augments, doesn't replace, the Cognitive Tier SystemPhase 4: Zero-Trust Federation Identity ✅ Complete
POST /api/federation/didsPOST /api/federation/credentialsPOST /api/federation/verifyPhase 5: Enhanced Orchestration Patterns ✅ Complete
POST /api/v1/workflows/conductor/executePerformance: 27,000+ tests across unit, integration, E2E, and regression suites; comprehensive validation metrics documented
Enhancement Plan → | Validation Metrics →
git clone https://github.com/rush86999/atom.git cd atom cp .env.personal .env # Edit .env — generate the 3 required keys (openssl rand -base64 32): # SECRET_KEY, JWT_SECRET_KEY, BYOK_ENCRYPTION_KEY # ...and set one LLM provider key (or ATOM_LOCAL_ONLY=true for Ollama) docker compose -f docker-compose-personal.yml up -d --build
docker-compose-personal.yml is the single-user SQLite stack (no Postgres/Redis).
For the full production stack (Postgres + Redis + piece-engine + browser), use
docker-compose.yml. See Environment Variables Reference
for every variable.
Launch Atom on DigitalOcean App Platform with one click:
git clone https://github.com/rush86999/atom.git cd atom # Backend cd backend && python3.11 -m venv venv && source venv/bin/activate pip install -r requirements.txt cp .env.example .env # edit: SECRET_KEY + one LLM key (or ATOM_LOCAL_ONLY=true) cd .. # Frontend cd frontend-nextjs && npm install --legacy-peer-deps echo 'NEXT_PUBLIC_API_URL=http://localhost:8001' > .env.local cd .. # Start backend (from repo root): PYTHONPATH=$PWD:$PWD/backend \ # ./backend/venv/bin/python -m uvicorn main_api_app:app --reload --port 8001 # Start frontend: cd frontend-nextjs && npm run dev -- -p 3001
See Quick Start above for the verified commands, or Environment Variables Reference.
Commercial marketplace for agents, domains, components, and skills at atomagentos.com. Requires API token connection. Core platform is AGPL v3 (open source), marketplace items are proprietary. See LICENSE.md for terms.
Setup: Add ATOM_SAAS_API_TOKEN to .env and restart. Marketplace Documentation →
| Department | Scenario |
|---|---|
| Sales | New lead in HubSpot → Research → Score → Notify Slack |
| Finance | PDF invoice in Gmail → Extract → Match QuickBooks → Flag discrepancies |
| Support | Zendesk ticket → Analyze sentiment → Route urgent → Draft response |
| HR | New employee in BambooHR → Provision → Invite → Schedule orientation |
Self-hosted deployment, BYOK (OpenAI/Anthropic/Gemini/DeepSeek/MiniMax), encrypted storage (Fernet), audit logs, human-in-the-loop approvals, package security scanning, supply chain protection, 5-phase execution sandbox layer (filesystem scope, tool whitelist, tripwires, Firecracker microVM isolation, dual-proxy egress, resource caps, KillRun, provenance tagging, LLM ActionJudge — Rounds 43-47), comprehensive testing (27,000+ tests across unit, integration, E2E, and regression suites), AI-enhanced bug discovery, and stress testing
Security Documentation → | Sandbox Layer → | Testing Guide →
Complete Documentation Index → | Reorganization Plan →
We welcome contributions! See CONTRIBUTING.md for guidelines.
All contributions must meet quality standards:
See Quality Assurance Guide for details.
Built with FastAPI | SQLAlchemy | LangChain | Playwright | Next.js
Experience the future of self-hosted AI automation.
⭐ Star us on GitHub — it helps!
more like this
🧠 A simple command-line client for the Perplexity API. Ask questions and receive answers directly from the terminal! 🚀🚀🚀
Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…
本地优先的 macOS AI Agent 信号灯:状态栏 + 桌面悬浮信号灯,自动监控 Codex / Claude Code。Local menu bar and floating desktop status lights for A…
search projects, people, and tags