GolemBot
一条命令把 Cursor、Claude Code、OpenCode、Codex 接到 IM 与自有产品里,并支持任意 LLM 服务商。
- Star 数
- ★ 322
- 最近更新
- 7 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 45/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude CodeOpenAI API · Claude API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 团队已在用 Claude Code 或 Codex,希望同事在 Slack/飞书群里 @ 机器人就能让它改代码、查文件、答疑。
- 不适合
- 希望完全不依赖任何 Coding Agent CLI 独立运行的团队
- 需要浏览器端完成全部配置、不愿写 YAML 的用户
- 要求 Codex 走仅支持 /chat/completions 的服务商的团队
- 源码审查
- 45/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
GolemBot 是一个 TypeScript 编写的网关型 Agent 壳层:它本身不做推理,而是把你已有的 Coding Agent(Cursor、Claude Code、OpenCode、Codex)作为大脑,通过统一接口暴露到 Slack、Telegram、Discord、飞书、钉钉、企业微信、微信或任意 HTTP 客户端。核心入口是 createAssistant(),配合 golem.yaml 单一配置文件定义引擎、provider 路由与各渠道凭据;golembot gateway 会同时启动渠道适配器、HTTP 服务与内置 Dashboard,golembot fleet serve 则可聚合多个实例。它遵循 SKILL.md 技能格式,兼容 ClawHub 上 13,000+ 社区技能,并内置 cron 定时任务与多模态图片处理。四种引擎的 StreamEvent 接口一致,切换引擎只需改配置,无需改代码。
golembot init -e <engine> -n <name> 生成 golem.yaml 与 skills/ 目录;golembot run 进入 REPL 对话;golembot gateway 拉起渠道适配器(Slack、Telegram、Discord、飞书、钉钉、企业微信、微信、HTTP API)并调用 createAssistant() 把消息转发给所选引擎 CLI,流式返回事件(event.type 为 text 等)。它把 provider 配置(baseUrl、apiKey、model)注入引擎,从而把 Claude Code 路由到 OpenRouter、把 Codex 跑在 MiniMax、把 OpenCode 指向 DeepSeek。IM 中的图片消息会落盘供 Agent 读取分析;内置 cron 可把日报、依赖审计、测试报告推送到 IM。/stop、assistant.cancel(sessionKey?)、POST /abort 可中断长任务但保留会话历史;golembot skill search 与 golembot skill add clawhub:... 负责技能发现与安装,全部支持 --json。
- 团队已在用 Claude Code 或 Codex,希望同事在 Slack/飞书群里 @ 机器人就能让它改代码、查文件、答疑。
- 想把内部 Coding Agent 能力嵌进自家 SaaS 或客服系统,用 createAssistant() 以数行 Node.js 代码接入。
- 需要把 Codex 或 Claude Code 换到更便宜或区域可用的服务商(OpenRouter、MiniMax、DeepSeek、SiliconFlow)而不改代码。
- 运维/研发团队希望用 cron 定时跑依赖审计或测试报告并自动推送到 IM 频道。
- 在 Discord 或 Telegram 社区里提供一个能读图、能执行脚本的助手。
- 自建 HTTP 客户端(如邮件、GitHub Issues 适配器)作为消息源接入同一个 Agent 大脑。
如何安装或部署这个 Agent?
需要 Node.js >=18,并事先安装好至少一个引擎 CLI(Cursor、Claude Code、OpenCode 或 Codex)及其凭据。
全局安装:
npm install -g golembot创建项目并初始化:
mkdir my-bot && cd my-bot
golembot onboard # 引导式配置(推荐)或手动初始化:
golembot init -e claude-code -n my-botDocker 部署:
FROM node:22-slim
RUN npm install -g golembot
WORKDIR /assistant
COPY . .
EXPOSE 3000
CMD ["golembot", "gateway"]如何使用这个 Agent?
在 golem.yaml 中配置引擎、provider 与渠道,敏感字段支持 ${ENV_VAR}:
name: my-assistant
engine: claude-code
provider:
baseUrl: "https://openrouter.ai/api"
apiKey: "${OPENROUTER_API_KEY}"
model: "anthropic/claude-sonnet-4"
channels:
telegram:
botToken: ${TELEGRAM_BOT_TOKEN}
my-email:
_adapter: ./adapters/email-adapter.js
token: ${EMAIL_TOKEN}
gateway:
port: 3000
token: ${GOLEM_TOKEN}本地对话与网关启动:
golembot run
golembot gateway
golembot fleet ls在自有代码中嵌入:
import { createAssistant } from 'golembot';
const bot = createAssistant({ dir: './my-agent' });
for await (const event of bot.chat('Analyze last month sales data')) {
if (event.type === 'text') process.stdout.write(event.content);
}技能与中断:
golembot skill search "data analysis"
golembot skill add clawhub:data-analysiscurl -X POST http://localhost:3000/abort这个 Agent 有哪些优点和局限?
- 以现有 Coding Agent 为大脑,无需自己搭建 LLM 调用、工具链与提示工程。
- 四引擎 × 多服务商的 provider 路由,切换引擎或供应商只改 golem.yaml 一行。
- StreamEvent 接口跨引擎一致,迁移零代码改动。
- 兼容 ClawHub 的 SKILL.md 格式,可一键复用 13,000+ 社区技能,并支持 Agent 在对话中自主搜索安装。
- 渠道覆盖广:Slack、Telegram、Discord、飞书、钉钉、企业微信、微信、HTTP API,并支持自定义适配器与 5 行代码嵌入。
- 自带 Dashboard、Fleet 聚合面板与 cron 定时任务,运维可视化。
- 依赖外部引擎 CLI 与各自凭据(如 CURSOR_API_KEY、ANTHROPIC_API_KEY、CODEX_API_KEY 或 ChatGPT OAuth),任一环节升级或变更都会影响可用性。
- 默认 codex.mode: unrestricted,Codex 在无沙箱下运行,需要主动改为 safe 或细调 sandbox/approval。
- Codex 走自定义 provider 时对方必须支持 OpenAI Responses API,仅提供 /chat/completions 或 Anthropic 风格 /messages 的服务商会失败。
- 配置集中在 golem.yaml,首次接入多个 IM 渠道需要逐平台申请 bot token/app secret,配置负担不小。
- 仓库未说明 Windows 特定支持与最低磁盘/内存要求,多引擎混跑的运维边界需自行验证。
这个 Agent 与同类方案有什么区别?
README 明确将自己与传统 AI 框架对比:传统框架需要自己接 LLM API、搭链条、RAG、向量库与提示调优,GolemBot 则复用现成 Coding Agent 作为大脑,并可通过一行配置切换引擎与服务商。它也区别于薄封装 API 的聊天机器人——背后是具备真实写代码、跑脚本能力的 Agent。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| GolemBot 当前 | 45 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 322 | 7 天前 | TypeScript | Codex · Claude Code |
| Lemon 常驻编码代理 | 58 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 136 | 今天 | Elixir | OpenAI API · Claude API |
| senpi | 74 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 511 | 1 天前 | TypeScript | OpenAI API · Claude API |
| Pi Agent Harness | 42 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 120k | 今天 | TypeScript | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档明确显示默认权限极宽:skipPermissions 默认 true,Codex 默认 mode: unrestricted(--dangerously-bypass-approvals-and-sandbox),Cursor 使用 --force --trust --sandbox disabled,Claude Code 使用 --dangerously-skip-permissions。细粒度 permissions 仅 Cursor 支持,其余引擎解析但无效。用户确认机制薄弱,仅技能安装提及确认。数据流方面有 ${ENV_VAR} 与 .env 说明,但未系统说明消息/文件如何流向第三方 LLM 与 IM 平台。依赖为常见 npm 包且 IM SDK 为可选 peer,但无审计/锁定证据。回滚仅提及 /reset 与 /stop,无配置或状态回滚说明。来源归属有 MIT 与仓库链接,但发布者身份未验证。整体扣分明显。
文档内部较一致(引擎对比、配置字段、FAQ 相互吻合),但依赖可用性仅靠 peerDependencies 可选声明,未说明缺失时的降级行为;失败信息仅提及 timeout 产生 error 事件与 doctor 检查,缺乏具体错误分类与恢复指引。
受众与场景覆盖清晰(IM、库嵌入、HTTP、定时任务),能力边界有引擎对比与 Codex Responses API 限制说明;但触发精度(groupPolicy、mention 处理)仅高层描述,环境适配(Node>=18、Docker)有示例但缺少平台差异细节。
信息架构良好,安装说明详尽,FAQ 与示例充分,MIT 许可证完整;但命名稳定性(版本 0.52.0、semantic-release 但无 CHANGELOG 文件)、已知限制分散、维护责任未明确(发布者未验证、无治理说明)导致扣分。
输出可用性高(REPL、Dashboard、库 API、多通道),边际价值明确(复用现有 Coding Agent);但成本收益缺乏量化(token 成本、并发限制、provider 费用),仅有 timeout/并发默认值。
README 声称 1252+ 单元测试与 e2e 脚本,但静态文件未提供测试内容或结果;CI 仅显示 lint/build/test 步骤,无法核实覆盖;事实与推断分离不足,多处性能与兼容性声明缺少可追溯证据。
- 默认权限极宽(skipPermissions=true、Codex unrestricted、Cursor/Claude Code 跳过审批),生产部署前必须显式收紧并审计。
- 细粒度 permissions 仅 Cursor 生效,其他引擎配置被静默忽略,易造成安全误判。
- 消息与文件会流向第三方 LLM 与 IM 平台,文档未系统说明数据流向与保留策略。
- 发布者身份未验证,维护责任与更新路径不明确。
- 测试数量与 e2e 声明无法从静态文件核实,CI 仅显示步骤。