跳转至

通用会话扩展

适用范围:独立 Python Runtime;扩展开发者。 会话扩展用于受信任插件接管会话策略与原生消息流程。普通工具插件仍使用工具注册与观察性钩子。

注册与所有权

实现 RuntimeExtension,通过 PluginContext.register_runtime_extension 注册。会话策略只允许一个所有者,重复或冲突注册会失败。严格模式和兼容模式都要求 hook.register 权限。

扩展必须列入 plugins.required。必需插件缺失、被禁用、权限不足或激活失败时,系统阻止启动并清理已激活插件资源。安装使用已有的插件入口或目录发现机制。

生命周期与策略

配置验证与恢复发生在消息处理之前。事件处理、回合前置处理与展示策略共同控制输入和响应;会话范围、记忆命名空间、流式输出和系统指令由扩展管理。

允许工具模式定义扩展拥有的工具目录,操作者的拒绝规则、安全档位与执行网络策略继续生效。扩展对象保存在私有运行状态中,不序列化到配置或模型上下文。

运行时方法失败向宿主传播。绑定失败阻止启动;工具目录策略失败后,模型目录选择与实际工具执行继续检查故障状态,直到受信任刷新成功。此类控制不能使用观察性钩子的失败放行行为。

MCP 与投递

MCP 集成调用扩展的绑定、连接配置与适配器构建接口。私有操作可以隐藏;适配器必须保留已验证的注册名称。整个目录验证完成后原子替换,失败时不保留部分工具。

投递记录接收真实的最终通道回执,普通发送与流式最终发送分别记录。管理员恢复发送时,使用已保存的原始入站事件记录恢复回执。需要用户澄清时,保留真实问题与选项,不用普通状态摘要替换提问。

插件自己的 Gateway 端点负责自身认证,通用宿主不解释项目特定协议。

信任边界

会话扩展是受信任的进程内 Python 代码,注册权限不构成操作系统隔离。项目服务仍需验证业务权限与事务。相关接口见 Plugin API和开发插件。