88f426e7e7bf0f488e83aa62693c438cb540e8e6
- 将 .env.docker.example 纳入版本控制 - 与 docker-compose 和部署文档保持一致,避免开源用户缺少示例配置
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等参数 -
启动服务
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/config.toml 作为现有登录态与设备信息的本地配置文件。
说明:
- Docker 部署会通过环境变量在首次启动时生成该文件
- 本地直跑继续兼容原有读取方式
- 本轮未强制把全部
wechat_ipad配置迁移进.env
目录结构
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 - 保留
wechat_ipad/config.toml的挂载方式,避免这次改动影响你现有登录态逻辑
当前仍建议你在正式生产前继续补充:
- HTTPS / 反向代理
- 备份策略
- CI/CD
- 监控与告警
开源说明
License 要不要改
当前主代码仍按 MIT License 分发,通常不必为了“开源”单独换许可证。
但你需要额外关注:
- 字体文件的再分发许可
wechat_ipad/ipad859go二进制来源与授权resource/下业务资料是否适合公开- 第三方前端静态资源的许可证保留
不建议公开提交的内容
.envconfig.yamlwechat_ipad/config.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%