Skip to content

插件开发概览(高级)

这一章不是常规上手内容,而是给已经明确需要深度扩展 Agently 行为的开发者准备的。

适合什么时候读

  • 你要接新的模型协议或私有推理服务
  • 你要替换 PromptGenerator、ModelRequester、ResponseParser、ToolManager 或 Session 行为
  • 你已经确认普通使用层和扩展层不够用了

你会学到什么

  • 插件和扩展分别应该解决什么问题
  • Agently 的插件调用链长什么样
  • 最小插件如何注册和激活

先分清:插件 vs 扩展

  • 插件(Plugin):系统级能力替换或增强
  • 扩展(Extension):面向 Agent 的胶水层

如果你要改的是模型调用协议、返回解析方式、Prompt 结构、工具系统或会话系统,就应该先从插件思路入手。

调用链说明

这张图放在正文里,是为了说明插件真正介入的位置,而不是把插件开发讲成“另一个普通用法专区”。

插件注册与激活

python
plugin_manager.register("PromptGenerator", MyPromptGenerator)
settings.set("plugins.PromptGenerator.activate", "MyPromptGenerator")

最小插件示例

python
from agently.types.plugins import ResponseParser

class MinimalParser(ResponseParser):
    name = "MinimalParser"
    DEFAULT_SETTINGS = {}

注册并启用:

python
from agently.base import plugin_manager, settings

plugin_manager.register("ResponseParser", MinimalParser)
settings.set("plugins.ResponseParser.activate", "MinimalParser")

常见误区

  • 明明只是要接一个外部工具或服务,却直接写插件。
  • 还没理清请求层和工作流层边界,就过早做底层替换。
  • 把插件开发当成“高级用法合集”,没有先定位具体 owner surface。

下一步去哪

  • agently-playbook