这是 moltbot 的 Go 语言改写,保留核心架构:Gateway(HTTP + WebSocket)、配置、Discord 通道、占位 Agent,便于在 Go 生态中扩展或替换 TS 版。
| TS (moltbot) | Go (moltbot-go) |
|---|---|
src/entry.ts → CLI |
cmd/moltbot/main.go (Cobra) |
src/gateway/server.* |
internal/gateway/server.go + ws/hub.go |
src/config/config.js |
internal/config/config.go |
src/discord/monitor/* |
internal/channels/discord/bot.go |
src/auto-reply → agent |
internal/agent/agent.go |
- Go 1.22+
cd moltbot-go
go mod tidy
go build -o moltbot ./cmd/moltbot# 使用默认配置路径 ~/.clawdbot/moltbot.yaml
./moltbot gateway
# 指定端口与配置文件
./moltbot gateway --port 18789 --config ./config.yamlDiscord:在 config.yaml 中配置 channels.discord.token,或设置环境变量 DISCORD_BOT_TOKEN。
./moltbot agent "你好"
# 输出占位回复,例如: [agent/...] You said: 你好复制 config.yaml.example 为 config.yaml(或放到 ~/.clawdbot/moltbot.yaml),按需填写:
gateway.port/gateway.bindagent.workspace/agent.defaultModelchannels.discord.token(或使用DISCORD_BOT_TOKEN)
- Gateway:HTTP 根路径、
/health、WebSocket/ws,多客户端广播骨架。 - 配置:YAML 加载,与 TS 版配置结构兼容子集。
- Discord:Bot 连接、接收消息、按会话调用 Agent、回复到原频道/私信。
- Agent:占位实现(回显用户输入);可替换为真实 LLM 调用(OpenAI/Anthropic SDK 等)。
- 接入真实 LLM(OpenAI / Anthropic / 本地模型)。
- 更多通道:Telegram、Slack、WebChat 等。
- Gateway 协议与 TS 版对齐(JSON-RPC/方法列表)。
- 会话持久化、技能(skills)、沙箱等。
与 moltbot 一致,MIT。