8987b52361bb34cf56237a08e5d76bb56187e75d
- 按 864 router.go 修正联系人详情与群公告的真实接口路径 - 结合 CheckLoginStatus 返回结构补充 uuid 与 effective_time 同步,支持 Dashboard 倒计时与二维码自动刷新 - 更新多版本适配路线图,记录首轮 864 实服联调结论
ABOT
ABOT 是一个基于插件体系构建的微信机器人项目,包含消息处理主链路、管理后台、MySQL/Redis 存储、定时任务与多类 AI / 内容插件能力。当前仓库更适合有一定 Python 与部署基础的维护者进行二次开发、私有部署与功能扩展。
项目定位
- 面向“可持续迭代的机器人平台”,不是一次性脚本
- 核心能力包括消息接入、插件化处理、后台管理、数据归档与 AI 扩展
- 当前默认假设你具备 MySQL、Redis、Docker、环境变量配置的基础经验
当前主要能力
- 微信消息接入与机器人主循环
- 插件加载、启停、热更新与后台管理
- MySQL + Redis 双存储
- AI 自动回复、消息总结、成员画像等能力
- 签到、积分、排行榜、内容推送、媒体处理等业务插件
快速开始
方式一:Docker Compose
适合第一次快速跑通部署骨架。
- 复制 Docker 环境变量示例
cp .env.docker.example .env
Windows PowerShell:
Copy-Item .env.docker.example .env
-
按实际环境修改
.env中的数据库密码、WECHAT_SERVER_URL、WECHAT_SERVER_TYPE等参数 -
启动服务
docker compose up -d --build
更多说明见 docs/Docker部署说明.md。
方式二:本地直跑
- 准备 Python 3.10+
- 准备 MySQL、Redis
- 复制配置文件
cp config.example.yaml config.yaml
cp .env.example .env
Windows PowerShell:
Copy-Item config.example.yaml config.yaml
Copy-Item .env.example .env
- 安装依赖
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
pip install pysilk-mod
- 启动主程序
python main.py
配置说明
全局配置
项目支持从 .env 自动加载环境变量,并在 config.example.yaml / config.yaml 中使用:
${ENV_NAME}${ENV_NAME:默认值}
示例:
${ABOT_DB_PASSWORD}:必须提供${ABOT_DB_HOST:127.0.0.1}:可缺省时回退
wechat_ipad 配置
现在 wechat_ipad 的静态连接参数已经统一走 .env / config.yaml:
WECHAT_SERVER_URLWECHAT_SERVER_IPWECHAT_SERVER_PORTWECHAT_SERVER_TYPE
登录后的 wxid / device_id / device_name 不再要求你手工维护,它们会自动写入本地状态文件:
- 默认路径:
wechat_ipad/providers/<server_type>/runtime_state.toml - 可通过
WECHAT_STATE_FILE覆盖 - 启动时会自动兼容历史
wechat_ipad/config.toml中已有的登录态
目录结构
abot/
├── admin/ # 管理后台
├── base/ # 插件基础接口与管理能力
├── db/ # 数据库访问层与迁移脚本
├── docs/ # 部署、设计、使用文档
├── plugins/ # 业务插件
├── utils/ # 通用工具与服务
├── wechat_ipad/ # 微信相关客户端与 server 对接代码
├── Dockerfile
├── docker-compose.yml
├── config.example.yaml
├── .env.example
└── main.py
管理后台
- 默认端口:
8888 - 配置文件:
admin/dashboard/config.toml - 公开仓库中的账号密码与 webhook token 已改为占位值,部署前务必自行修改
Docker 化现状
本仓库现在提供的是“开源友好”的基础部署骨架:
- 应用、MariaDB、Redis 已拆分为独立服务
- 提供
docker-compose.yml、.dockerignore、.env.docker.example - 静态连接配置统一通过
.env注入,更适合开源仓库和多环境部署 - wechat 登录态缓存默认落到对应 provider 目录下
当前仍建议你在正式生产前继续补充:
- HTTPS / 反向代理
- 备份策略
- CI/CD
- 监控与告警
开源说明
License 要不要改
当前主代码仍按 MIT License 分发,通常不必为了“开源”单独换许可证。
但你需要额外关注:
- 字体文件的再分发许可
wechat_ipad/ipad859go二进制来源与授权resource/下业务资料是否适合公开- 第三方前端静态资源的许可证保留
不建议公开提交的内容
.envconfig.yamlwechat_ipad/providers/*/runtime_state.toml中的真实wxid/device_id- 真实数据库密码、LLM API Key、Webhook Token
路线图
当前更优先的方向不是继续无上限堆新功能,而是继续补工程底座:
- Docker 化与部署规范
- 文档与回归清单
- 插件治理
- 可观测性与任务中心
- 开源边界与资产合规
已整理的工程 backlog 见 docs/工程优化与Feature清单.md。
贡献与使用说明
- 欢迎基于自己的场景二次开发
- 提交前请避免把本地私有配置、运行日志、登录态一并提交
- 涉及平台接口、内容抓取、自动推送等能力时,请自行评估目标平台规则与当地法律要求
Description
Languages
Python
57%
JavaScript
28.8%
HTML
14.1%
Shell
0.1%