An OS-level autonomous AI agent system featuring a pyramid-style 5-tier long-term memory, dual-backend brain architecture, multi-agent coordination, and scheduled autonomy, with multi-platform support (Telegram/Discord/Web) and full local private deployment.
Project Golem is an OS-level autonomous AI agent system built on Node.js, primarily developed by Arvin Chen (Arvincreator) and @sz9751210. Centered on three core goals — always-online presence, long-term memory, and autonomous action — the project is at v9.2.2 (per package.json), written predominantly in JavaScript/TypeScript (92%+ combined), supports macOS / Linux / Windows, and is licensed under MIT.
Dual-Backend Brain Architecture#
By default, it uses Playwright to control Web Gemini in a Browser-in-the-Loop pattern, simulating human behavior to freely access a 1M+ Token unlimited context window; alternatively, switching via GOLEM_BACKEND=ollama enables fully private deployment with local models. The brain outputs follow the Reflex Shunting Protocol, generating structured GOLEM_PROTOCOL instructions (not plain text) to precisely control speech, memory writing, and skill script execution.
Pyramid-Style 5-Tier Long-Term Memory#
- Tier 0: Hourly raw conversation logs
- Tier 1 (Daily): Daily summaries (~1,500 words)
- Tier 2 (Monthly): Monthly highlights
- Tier 3 (Yearly): Annual reviews
- Tier 4 (Epoch): Epoch milestones
Combined with SQLite (WAL) storage and LanceDB vector retrieval, automatic diary rotation (raw logs kept 7 days → weekly → monthly → yearly summaries) compresses 50 years of memory to ~277 files / 3MB, saving over two orders of magnitude versus uncompressed approaches (~18,250 files / 500MB+). Under the Ollama backend, optional rerank models enhance memory recall precision.
Autonomous Action & Multi-Agent Coordination#
The Titan Chronos scheduler gives Golem offline autonomy — automatically browsing news, self-reflecting, and proactively pushing messages, with scheduling capabilities and "free-will" style autonomous decision-making. Multi-agent coordination supports one-click summoning of AI expert teams for roundtable debates, ultimately producing high-density consensus summaries.
Dynamic Skill System#
Supports hot-loading skill modules. AI can self-learn new skills by writing code in a sandbox via the /learn <function> command. Skill management is available through the Web Dashboard or CLI commands, continuously expanding capability boundaries.
Multi-Platform Communication & Deployment#
The communication layer covers Telegram Bot (grammy), Discord Bot (discord.js), Web Dashboard (Express + Socket.IO real-time terminal chat), and terminal UI (blessed / blessed-contrib). Headless environments can deploy a virtual desktop via Docker + noVNC with a single command. Architecturally, the project enforces strict layered governance with npm run arch:check for automated boundary rule checking integrated into CI pipelines.
Installation & Configuration#
Requirements: Node.js v20+ (< 23), Chromium/Google Chrome. Quick install: chmod +x setup.sh && ./setup.sh --magic && ./setup.sh --start. macOS/Linux desktop mode supports double-clicking Start-Golem.command. Docker deployment: ./setup.sh --deploy-docker. Windows users should use Git Bash.
Core environment variables include GOLEM_BACKEND (gemini/ollama), GOLEM_MEMORY_MODE (e.g., lancedb-pro), GOLEM_EMBEDDING_PROVIDER (local/ollama), etc. Key commands: /help, /new (reset conversation and load relevant memory), /learn <function>, /skills. Memory rotation APIs: POST /api/diary/rotate, GET /api/diary/rotation/history, POST /api/diary/backup, POST /api/diary/restore.
Unconfirmed Information#
- Independent website: No official URL found; Web Dashboard is locally deployed
- Academic paper: None found
- Hugging Face models: No associated page discovered
- MCP Server details: README mentions MCP usage and development guide, specific list pending review of
docs/ - "Moltbot Social Core": Mentioned in repo description but not expanded in README
- GOLEM_PROTOCOL format spec: Developer implementation guide exists but not detailed in main README
- Multi-persona management (personas/): Directory exists but feature details unconfirmed
- Version inconsistency: package.json shows v9.2.2, README shows v9.1