ClawdBot开发者实战:基于MIT协议二次开发Discord/Slack适配版的完整流程
ClawdBot(现已正式更名为Moltbot)作为开源个人AI助手框架,以MIT协议开源,彻底解放了开发者二次开发的潜力。很多开发者发现,原生多平台支持虽然强大,但想打造专属Discord/Slack适配版时,仍需针对企业群聊场景、权限控制、消息格式做深度定制。本文手把手分享实战流程,从Fork代码到上线自定义适配版,让你快速基于MIT协议打造属于自己的Discord/Slack AI员工。
ClawdBot项目核心优势:为什么适合二次开发Discord/Slack版
ClawdBot本质是一个本地优先的AI代理框架,支持WhatsApp、Telegram、Discord、Slack等多平台消息通道。它采用模块化设计(gateway + channels + agents + models),数据全部跑在本地设备上,隐私完全掌握在自己手里。MIT协议允许你自由修改、分支、分发,甚至商用,只要保留原许可证声明即可。
二次开发Discord/Slack适配版的最大价值在于:
– Discord:适合开发者社区、游戏公会、大型服务器,需要富文本、Embed、Slash命令和权限精细控制。
– Slack:企业级协作场景,需要App Token、交互组件、Workflow集成和频道白名单。
– 两者结合可打造“一个AI内核,多平台统一入口”,大幅降低维护成本。
相比从零开发,你直接站在72k+ Star的成熟框架上,省去WebSocket、OAuth、消息持久化等底层工作,专注业务逻辑。
二次开发前的环境准备
确保本地开发环境干净高效:
– Node.js ≥ 22.x(推荐使用nvm安装)
– 包管理器:pnpm(官方推荐)或npm
– Git + GitHub账号
– Discord/Slack开发者账号(分别申请Bot Token和App Token)
– 可选:Docker(用于沙箱测试)
快速检查命令:
node --version
pnpm --version
Step 1:Fork仓库并搭建本地开发环境
- 访问官方仓库(更名后地址为 https://github.com/moltbot/moltbot,原ClawdBot仓库已重定向)。
- 点击Fork到自己账号。
- 克隆到本地并进入目录:
git clone https://github.com/你的用户名/moltbot.git
cd moltbot
pnpm install
- 构建前端UI和核心项目:
pnpm ui:build
pnpm build
- 运行配置向导(首次初始化):
pnpm moltbot onboard --install-daemon
向导会引导你选择AI模型(推荐Anthropic Claude Opus 4.5或DeepSeek)和基础通道,此时先跳过完整平台配置,后续我们手动强化Discord/Slack。
Step 2:代码架构快速解析(重点看Channels模块)
进入src/channels/目录,你会看到:
– discord.ts / slack.ts:已实现的适配器核心
– index.ts:通道注册入口
– types.ts:消息事件、权限、回复格式定义
核心逻辑是“通道抽象层”:所有平台统一实现ChannelAdapter接口,包括connect()、sendMessage()、handleEvent()三个核心方法。MIT协议下,你可以直接修改或继承这些类,实现自定义逻辑。
Step 3:Discord适配版的二次开发实战流程
-
申请并配置Token
进入Discord Developer Portal → 创建Application → Bot → 复制Token。
在项目根目录.env文件中添加:
bash
DISCORD_BOT_TOKEN=your_discord_bot_token -
修改Discord通道配置
编辑config/channels/discord.json(或通过moltbot.json统一管理):
json
{
"channels": {
"discord": {
"token": "YOUR_DISCORD_BOT_TOKEN",
"dm": { "policy": "pairing" },
"guilds": {
"你的服务器ID": {
"channels": "目标频道ID",
"requireMention": true
}
}
}
}
} -
二次开发关键点
- 在
src/channels/discord.ts中扩展handleSlashCommand(),增加自定义Slash命令(如/task自动创建待办)。 - 重写
formatEmbed()方法,实现更丰富的卡片样式(支持AI生成的图表)。 -
添加事件监听:
messageCreate、interactionCreate,结合Agent调用工具链。 -
本地测试
bash
moltbot gateway --port 18789 --verbose
邀请Bot进服务器,@Bot发送测试消息,观察日志是否正常触发Agent。
Step 4:Slack适配版的二次开发实战流程
-
申请Slack凭证
Slack API → 创建App → 安装到工作区 → 获取SLACK_BOT_TOKEN和SLACK_APP_TOKEN(Events API需要)。 -
环境变量配置:
bash
SLACK_BOT_TOKEN=xoxb-xxx
SLACK_APP_TOKEN=xapp-xxx -
修改Slack通道配置:
json
{
"channels": {
"slack": {
"botToken": "xoxb-xxx",
"appToken": "xapp-xxx",
"allowFrom": "@你的用户名",
"interactivity": true
}
}
} -
二次开发关键点
- 在
src/channels/slack.ts中实现handleBlockActions(),支持按钮、选择器等交互组件。 - 集成Slack Workflow Builder,让AI主动推送每日摘要。
-
自定义
sendMessage()支持mrkdwn格式,让AI回复更美观专业。 -
测试Slack通道:
bash
moltbot messages send --channel slack --to @channel --message "测试Slack适配版"
Step 5:集成测试、打包与部署自定义版本
-
全链路测试
同时启动Discord和Slack通道,发送跨平台指令,验证Agent是否正确调用浏览器控制、Canvas画布、定时任务等高级功能。 -
打包自定义适配版
修改package.json中的name和version,然后:
bash
pnpm build
npm publish --access public 或打包成Docker镜像 -
部署方式推荐
- 服务器/ Mac mini:使用
moltbot gateway --daemon - Docker部署:官方提供Dockerfile,直接修改
docker-compose.yml加入你的Discord/Slack配置 - 远程访问:结合Tailscale或SSH隧道,实现局域网外安全访问
Step 6:高级扩展与安全加固
- 添加自定义Skill:在
skills/目录新建文件,让AI能直接操作企业内部系统(需沙箱模式)。 - 安全策略:DM采用
pairing模式,群组启用Docker沙箱,网关开启密码保护。 - 性能优化:针对高并发场景,可切换vLLM本地推理引擎,进一步降低延迟。
常见问题与排查技巧
- Token无效:用
curl直接调用Discord/Slack API验证。 - 消息不触发:检查
allowFrom白名单和requireMention设置。 - 端口冲突:改用
--port 18800。 - 更名后兼容:旧ClawdBot配置目录
~/.clawdbot/依然可用,clawdbot命令作为别名保留。
通过以上完整流程,你可以在1-2天内基于MIT协议打造出一个高度定制的Discord/Slack适配版AI助手。无论是个人项目、企业内部工具,还是开源贡献,这套实战路径都能让你快速上手。欢迎Fork后提交PR,共同完善生态!
项目官网:https://molt.bot
GitHub:https://github.com/moltbot/moltbot
文档:https://docs.molt.bot
部署完成,立即在Discord/Slack里召唤你的专属AI员工吧!