OS 级自主 AI 代理系统,具备金字塔式五层长期记忆、双后端大脑架构、多智能体协调与定时调度能力,支持 Telegram/Discord/Web 多平台交互及完全本地化私有部署。
Project Golem 是一个运行于 Node.js 之上的 OS 级自主 AI 代理系统,由 Arvin Chen(Arvincreator)及 @sz9751210 主导开发。项目核心围绕"持续在线、长期记忆、自主行动"三大目标构建,当前版本 v9.2.2(package.json),以 JavaScript/TypeScript 为主力语言(合计超 92%),支持 macOS / Linux / Windows 平台,采用 MIT 许可证。
双后端大脑架构#
默认通过 Playwright 操控 Web Gemini 实现 Browser-in-the-Loop,模拟人类行为,免费获取 1M+ Token 无限上下文窗口;也可通过 GOLEM_BACKEND=ollama 切换至 Ollama 本地模型实现完全私有化运行。大脑输出遵循 Reflex Shunting 协议,生成结构化 GOLEM_PROTOCOL 指令而非纯文本,精准控制说话、记忆写入与技能脚本执行。
金字塔式五层长期记忆#
- Tier 0:每小时原始对话日志
- Tier 1(Daily):每日摘要(约 1,500 字)
- Tier 2(Monthly):每月亮点
- Tier 3(Yearly):年度回顾
- Tier 4(Epoch):纪元里程碑
配合 SQLite (WAL) 存储与 LanceDB 向量检索,日记自动 Rotate(原始保留 7 天 → 周摘要 → 月摘要 → 年摘要),50 年记忆仅需约 277 文件 / 3MB,相比传统无压缩方案(~18,250 文件 / 500MB+)节省两个数量级以上。Ollama 后端下可选 rerank 模型做记忆召回重排。
自主行动与多智能体协调#
Titan Chronos 调度器赋予 Golem 离线自主能力——自动浏览新闻、自省思考、主动推送消息,具备排程能力与"自由意志"式自主决策。多智能体协调支持一键召唤 AI 专家团队进行圆桌辩论,最终产出高浓度共识总结。
动态技能系统#
支持热加载技能模块,AI 可通过 /learn <功能> 指令在沙盒中编写代码自学新技能,技能管理通过 Web Dashboard 或指令操作,持续扩展功能边界。
多平台通信与部署#
通信层覆盖 Telegram Bot(grammy)、Discord Bot(discord.js)、Web Dashboard(Express + Socket.IO 实时终端对话)及终端 UI(blessed / blessed-contrib)。无桌面环境可通过 Docker 一键部署含 noVNC 远程桌面。架构层面实施严格分层治理,提供 npm run arch:check 自动检查边界规则并集成至 CI 流水线。
安装与配置#
环境需求:Node.js v20+(< 23)、Chromium/Google Chrome。一键安装:chmod +x setup.sh && ./setup.sh --magic && ./setup.sh --start。macOS/Linux 桌面模式可双击 Start-Golem.command。Docker 部署:./setup.sh --deploy-docker。Windows 推荐使用 Git Bash。
核心环境变量包括 GOLEM_BACKEND(gemini/ollama)、GOLEM_MEMORY_MODE(如 lancedb-pro)、GOLEM_EMBEDDING_PROVIDER(local/ollama)等。关键指令:/help、/new(重置对话并载入相关记忆)、/learn <功能>、/skills。记忆 Rotate API 包括 POST /api/diary/rotate、GET /api/diary/rotation/history、POST /api/diary/backup、POST /api/diary/restore。
待确认信息#
- 独立官网:未发现独立官方网站 URL,Web Dashboard 为本地部署
- 学术论文:未找到关联论文
- Hugging Face 模型:未发现关联页面
- MCP Server 详情:README 提及 MCP 使用与开发指南,具体列表待查阅
docs/目录 - "Moltbot Social Core":仓库描述中提及但 README 未展开
- GOLEM_PROTOCOL 格式规范:有开发者实作指南文档,主 README 未详述
- 多人格管理(personas/):目录存在但功能细节待确认
- 版本号不一致:package.json 标注 v9.2.2,README 标注 v9.1