一个平台,多种接入
接入端彼此并列——OneBot 11(QQ)、QQ 官方、Telegram、Discord、HTTP 注入、出站 WS;换接入端走统一事件与插件接口。
聊天消息、定时到点、外部 HTTP 回调——ZCBOT 把这些统一变成事件,交给 Python 插件处理,结果发回去。 事件路由、权限、数据库、热重载都是内置的,业务逻辑只写在 register(ctx) 里。
三个要点:
plugins/ 里,一个文件夹一个插件,后台点「重载」立即生效。聊天平台 / 定时 / Webhook
│ 事件进入
▼
ZCBOT 内核(路由 · 权限 · 数据库)
│ 分发给插件
▼
你的插件 register(ctx) → 回复 / 存库 / 调 API接入端决定事件从哪来,插件决定收到后干什么,像搭积木一样组合。
git clone https://gitee.com/liquanfeng123/zcbot.git
cd zcbot
pip install -r requirements.txt
python main.py看到 框架启动完成,等待消息... 即启动成功。没装依赖也能跑:启动时会自动检测并补装缺失包。
官方扩展大部分默认关闭(例外:
echo/help/scheduler/webui默认开启)。要哪种能力就启用哪个扩展(core_plugins.yaml改enabled: true, 或python tools/scan_core_plugins.py --enable <名>),重启生效。 进 Web 后台需启用webui,收发聊天消息需启用某个接入端。
文档按主题分目录存放——指南/ 接口/ 进阶/ 速查/ 品牌/,每节都有自己的总览页。
| 文档 | 内容 |
|---|---|
| 安装 | 环境、依赖、目录结构、升级 |
| 快速开始 | 启动、确定事件来源、进后台 |
| 配置系统 | 两份 yaml、插件开关、安全清单 |
| 对接 IM 平台 | 反向 WS、多平台接入、富媒体与群管 |
| 编写插件 | 手把手做出签到类完整插件 |
| 多轮会话 | wait_for / create_session |
| 接入大模型(LLM) | 模型提供商总线、函数(工具)调用、Agent 循环 |
| 接入端契约与规范消息 | 消息段跨协议统一、能力自述、通知事件命名 |
| 最佳实践 | 不依赖 IM 的用法 + 写插件规范 |
| 你要做的事 | 打开这页 |
|---|---|
| 注册命令、发消息、查库、定时任务、WebUI、权限 | 插件上下文(ctx) |
| 读消息字段、判断图片/@/回复、拦事件 | 事件对象 |
| 改生命周期、拦 HTTP、审动作、自定义扩展点 | 扩展点(Hook 系统) |
| 接 Telegram / Discord / MQTT / 自定义事件源 | 协议适配器 |
| 摸底层容器:生命周期、服务注册表、事件循环 | 核心框架 |
| 取官方能力、查内置服务名 | 服务注册表(DI) |
| 装饰器风格写插件 | 插件装饰器 |
| 文档 | 内容 |
|---|---|
| 内核设计哲学 | 10 条设计信条 + 铁律(改框架前先读) |
| 架构详解 | 分层、启动时序、消息流转 |
| 插件加载机制 | 多文件导入、热重载、踩坑 |
| 数据库 | 建表、CRUD、SQLite/MySQL |
| 定时任务 | cron / interval / date |
| 权限系统 | 节点、组、继承、审计 |
| 接口令牌(API Key) | 两类 HTTP 接口、令牌创建与吊销 |
| 部署上线 | systemd / Docker / 反代 / 安全 |
| 双核心(core/host) | 双进程实验特性 |
| 项目结构 | 目录、前端构建、建表 SQL |
| 扩展清单 | 官方扩展 / 内置用户扩展 / 官方扩展仓库 |
| 文档 | 内容 |
|---|---|
| LLM 索引 | 按需加载入口,先读它(仓库根目录) |
| 框架结构 | 目录、事件流水线、扩展点、服务名 |
| 插件开发 | 最小模板、ctx 常用面、坑 |
| 调试排错 | 跑测试、排查报错 |
| IIPC 内核链路 | Go 内核 / Rust 适配器 / Python SDK 链路 |
| 安全加固 | API / 前端抗探测与蜜罐体系 |
| 文档 | 内容 |
|---|---|
| 标志与规范 | logo、配色、使用约束 |
ctx.send_msg / ctx.actions,少依赖平台特有字段def 用同步方法;async def 用 a 前缀异步方法(推荐)plugins/<名>/(更新会覆盖),数据写 ctx.get_data_dir()api_caller、scheduler、session_manager…),平台内核不直接 import 插件