Skip to content

插件使用

插件系统用于给 AIO Hub 增加额外能力。你可以安装 JavaScript 插件、原生插件或 Sidecar 插件,让新功能出现在服务注册表、工具调用系统或插件自己的 UI 中。

插件类型

类型适合用途特点
JavaScript 插件文本处理、轻量工具、聊天扩展、简单 UI加载快,适合与前端深度集成
原生插件高性能本地能力、长期驻留服务运行在后端进程内,性能高
Sidecar 插件独立命令行程序、跨语言工具、重型任务与主程序进程隔离,便于复用现有程序

如果你只是想扩展 LLM Chat 的上下文处理、设置项或工具能力,优先选择 JavaScript 插件。

准备插件包

一个插件通常至少包含:

  • manifest.json:插件清单,声明 ID、名称、版本、类型和入口。
  • 入口文件:例如 index.jsindex.ts 或后端可执行文件。
  • 可选 UI 文件:例如 Vue 组件、样式和图标。
  • README.md:插件说明。

插件 ID 必须唯一。安装来自他人的插件前,请确认来源可信,尤其是会读取文件、访问网络或执行本地命令的插件。

安装插件

当前插件会从项目或用户插件目录扫描加载。常见流程是:

  1. 获取插件目录或压缩包。
  2. 将插件放入 AIO Hub 的插件目录。
  3. 重启应用,或在开发模式下等待自动加载。
  4. 打开工具管理、服务注册表浏览器或对应工具,确认插件已出现。

开发模式下,plugins/ 目录中的 JavaScript 插件可以直接参与热重载;生产使用时,插件通常应提供编译后的 ESM 入口。

在 Agent 中使用插件能力

插件可以把方法暴露给 Agent。满足以下条件后,LLM Chat 的工具调用系统就能发现它:

  • 插件方法带有清晰的元数据描述。
  • 方法标记为可被 Agent 调用。
  • 参数结构明确,说明足够让模型理解用途。
  • 当前 Agent 的工具调用设置允许使用该工具。

使用时:

  1. 打开 LLM Chat。
  2. 选择或编辑一个 Agent。
  3. 在工具调用配置中启用对应插件工具。
  4. 根据安全需要设置自动批准或手动审批。
  5. 在对话中说明目标,让 AI 调用插件完成任务。

建议对会改写文件、访问外部服务、执行耗时任务的插件保留手动审批。

插件 UI

带 UI 的插件可能会出现在独立工具页、设置分组或特定工具的扩展区域。使用时注意:

  • 插件 UI 的配置通常保存在插件自己的设置空间。
  • 如果插件集成到 LLM Chat 设置中,它会作为额外设置分组显示。
  • 禁用或移除插件后,相关 UI 入口会消失,但插件写入的数据不一定自动删除。

更新与移除

更新插件前建议先备份插件目录和重要配置。更新后如果出现异常,可以按以下顺序排查:

  1. 确认 manifest.json 中的版本和入口文件正确。
  2. 确认插件要求的 AIO Hub 版本与当前应用兼容。
  3. 禁用插件后重启应用,确认问题是否消失。
  4. 查看日志管理器中的插件加载错误。

移除插件时,先关闭应用,再删除插件目录。对于原生插件或 Sidecar 插件,这样可以避免正在运行的进程或动态库占用文件。

安全建议

  • 只安装可信来源的插件。
  • 对文件系统、网络请求、命令执行类插件保持手动审批。
  • 定期检查插件目录,移除不再使用的插件。
  • 不要把 API Key 写入不可信插件的公开配置中。
  • 发现异常请求、异常弹窗或未知服务时,先禁用最近安装的插件。

常见问题

插件安装后为什么看不到?

检查插件目录结构、manifest.jsonidtypemain 字段,以及当前 AIO Hub 版本是否满足插件要求。还可以打开日志管理器查看加载错误。

插件能被 AI 自动调用吗?

可以,但前提是插件声明了 Agent 可调用的方法,并且当前 Agent 的工具调用设置允许它。你也可以把审批策略设为手动,逐项确认调用。

删除插件会删除它产生的数据吗?

通常不会。插件自己的数据可能保存在用户数据目录下,删除插件目录只会移除插件代码。需要彻底清理时,请同时检查插件说明中的数据目录。

插件和内置工具有什么关系?

插件通过统一服务注册体系接入,Agent 调用时与内置工具使用同一套发现、审批和执行流程。区别在于插件由用户或第三方提供,风险和兼容性需要额外留意。

Released under the Apache-2.0 License.