插件开发
源自 docs/plugin-dev/README.md
给插件作者的正式入口。平台内部的插件体系设计在 docs/plugin_system/,
两者不混:这里写「你怎么写、能用什么」,那里写「平台怎么加载、管理、回收」。
权威来源(被引用,改动前先查引用点)
| 文档 |
说明 |
| 插件协议 v2 |
行为插件协议(语言中立) |
| 插件协议 v3 |
服务类插件(category: service)、插件级加密配置、生命周期收敛 |
| 插件市场 |
三层信任、安装包安全边界、社区索引仓与准入规则 |
教程与契约(被阅读)
| 文档 |
说明 |
| 写一个通道插件 |
外部平台怎么接:channel 块、出站三条、@ 翻译、通道自测、全量事件、信任边界 |
| 世界工具插件开发 |
给群视界加一个工具:契约、注册、展示文案、外部目录、性能(中英双语) |
| 环境上报接口 |
插件向平台上报会话环境的公共契约:一个方法、扁平返回、一条判定、text 覆盖渲染 |
建议阅读顺序
- 先分清要写哪一类:行为插件(
@skill,管「AI 能做什么」)/ 服务插件(@service,管「进程里跑着什么」)。
- 服务插件里若是接外部平台,读写一个通道插件;若是给群视界加工具,读世界工具插件开发。
- 插件要影响 AI 看到的环境时,读环境上报接口——它是一份公共契约,不看你写的是哪类插件。
约定
- 插件 id 取自目录名,作者不写 id;
- 公共契约只有一份:接口签名与常量从
app/services/plugin/api.py 导出,文档只描述它,不另立说法;
- 新增插件开发文档一律进本目录,不要再散到
docs/dev/ 或 docs/group_world/。