Files
abot/README.MD
liuwei 9589846113 完善 Docker 部署骨架并整理开源发布资料
- 调整 Dockerfile 与入口脚本,拆分应用、MySQL、Redis 的部署职责
- 新增 docker-compose、docker ignore 与 Docker 环境变量示例
- 重写 README 并补充 Docker 部署说明与第三方资产说明
- 将后台示例账号与 webhook token 改为安全占位值,移除弱口令默认兜底
2026-05-06 14:44:49 +08:00

182 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ABOT
ABOT 是一个基于插件体系构建的微信机器人项目包含消息处理主链路、管理后台、MySQL/Redis 存储、定时任务与多类 AI / 内容插件能力。当前仓库更适合有一定 Python 与部署基础的维护者进行二次开发、私有部署与功能扩展。
## 项目定位
- 面向“可持续迭代的机器人平台”,不是一次性脚本
- 核心能力包括消息接入、插件化处理、后台管理、数据归档与 AI 扩展
- 当前默认假设你具备 MySQL、Redis、Docker、环境变量配置的基础经验
## 当前主要能力
- 微信消息接入与机器人主循环
- 插件加载、启停、热更新与后台管理
- MySQL + Redis 双存储
- AI 自动回复、消息总结、成员画像等能力
- 签到、积分、排行榜、内容推送、媒体处理等业务插件
## 快速开始
### 方式一Docker Compose
适合第一次快速跑通部署骨架。
1. 复制 Docker 环境变量示例
```bash
cp .env.docker.example .env
```
Windows PowerShell
```powershell
Copy-Item .env.docker.example .env
```
2. 按实际环境修改 `.env` 中的数据库密码、`WECHAT_SERVER_URL` 等参数
3. 启动服务
```bash
docker compose up -d --build
```
更多说明见 [docs/Docker部署说明.md](/d:/learn/abot/docs/Docker部署说明.md:1)。
### 方式二:本地直跑
1. 准备 Python 3.10+
2. 准备 MySQL、Redis
3. 复制配置文件
```bash
cp config.example.yaml config.yaml
cp .env.example .env
```
Windows PowerShell
```powershell
Copy-Item config.example.yaml config.yaml
Copy-Item .env.example .env
```
4. 安装依赖
```bash
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
pip install pysilk-mod
```
5. 启动主程序
```bash
python main.py
```
## 配置说明
### 全局配置
项目支持从 `.env` 自动加载环境变量,并在 [config.example.yaml](/d:/learn/abot/config.example.yaml:1) / `config.yaml` 中使用:
- `${ENV_NAME}`
- `${ENV_NAME:默认值}`
示例:
- `${ABOT_DB_PASSWORD}`:必须提供
- `${ABOT_DB_HOST:127.0.0.1}`:可缺省时回退
### wechat_ipad 配置
当前仓库仍保留 [wechat_ipad/config.toml](/d:/learn/abot/wechat_ipad/config.toml:1) 作为现有登录态与设备信息的本地配置文件。
说明:
- Docker 部署会通过环境变量在首次启动时生成该文件
- 本地直跑继续兼容原有读取方式
- 本轮未强制把全部 `wechat_ipad` 配置迁移进 `.env`
## 目录结构
```text
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`](/d:/learn/abot/admin/dashboard/config.toml:1)
- 公开仓库中的账号密码与 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/` 下业务资料是否适合公开
- 第三方前端静态资源的许可证保留
详情见 [THIRD_PARTY_LICENSES.md](/d:/learn/abot/THIRD_PARTY_LICENSES.md:1)。
### 不建议公开提交的内容
- `.env`
- `config.yaml`
- `wechat_ipad/config.toml` 中的真实 `wxid` / `device_id`
- 真实数据库密码、LLM API Key、Webhook Token
## 路线图
当前更优先的方向不是继续无上限堆新功能,而是继续补工程底座:
- Docker 化与部署规范
- 文档与回归清单
- 插件治理
- 可观测性与任务中心
- 开源边界与资产合规
已整理的工程 backlog 见 [docs/工程优化与Feature清单.md](/d:/learn/abot/docs/工程优化与Feature清单.md:1)。
## 贡献与使用说明
- 欢迎基于自己的场景二次开发
- 提交前请避免把本地私有配置、运行日志、登录态一并提交
- 涉及平台接口、内容抓取、自动推送等能力时,请自行评估目标平台规则与当地法律要求