Plugins
Plugin 配置
说明 plugin 的运行参数、setup / usage 协议,以及注册和配置的关系
Plugin 配置
Plugin 是否生效由 Agent runtime 的注册关系决定:
await agent.plugins.register(new SkillPlugin());
await agent.plugins.unregister("skill");项目配置文件不提供 plugins.<name>.enabled 这类启用开关。
参数配置
宿主仍然可以在自己的全局配置存储中保存 plugin 运行参数,例如渠道账号、默认模型或路径选项:
{
"plugins": {
"chat": {
"channels": {
"telegram": {
"channelAccountId": "telegram-main"
}
}
}
}
}这类配置表达的是:
- 当前 agent 怎么使用这个 plugin
- plugin 自己需要哪些运行参数
它不表达“是否启用”。是否启用只看 plugin 是否注册到 Agent。
config.scope
plugin 类型里支持:
globalproject
这表示 plugin 配置字段的作用域。
项目级参数通常写在宿主维护的 Agent 配置中:
- CLI 场景:全局 DB 中的
plugins.* - SDK 场景:
new Agent({ config })或 plugin 构造参数
全局参数可以由宿主或平台自己的配置系统保存。
setup 和 usage
setup
setup 面向:
- 安装
- 修复
- 初次依赖准备
典型内容:
- 安装依赖
- 下载模型
- 安装 Python 依赖
usage
usage 面向:
- 当前 agent 如何使用这个 plugin
- 行为选项怎么保存
典型内容:
- 是否注入 prompt
- 默认模型
- 默认格式 / 语言 / 语速
推荐理解方式
把 plugin 配置记成三句:
- 注册 / 卸载决定 plugin 是否可见
plugins.*只保存 plugin 运行参数,不表示是否启用- setup 和 usage 是 UI 协议层