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 类型里支持:

  • global
  • project

这表示 plugin 配置字段的作用域。

项目级参数通常写在宿主维护的 Agent 配置中:

  • CLI 场景:全局 DB 中的 plugins.*
  • SDK 场景:new Agent({ config }) 或 plugin 构造参数

全局参数可以由宿主或平台自己的配置系统保存。

setupusage

setup

setup 面向:

  • 安装
  • 修复
  • 初次依赖准备

典型内容:

  • 安装依赖
  • 下载模型
  • 安装 Python 依赖

usage

usage 面向:

  • 当前 agent 如何使用这个 plugin
  • 行为选项怎么保存

典型内容:

  • 是否注入 prompt
  • 默认模型
  • 默认格式 / 语言 / 语速

推荐理解方式

把 plugin 配置记成三句:

  • 注册 / 卸载决定 plugin 是否可见
  • plugins.* 只保存 plugin 运行参数,不表示是否启用
  • setup 和 usage 是 UI 协议层

相关文档