第四部分,Extensions 开发

事件与生命周期

监听启动、资源、Session、Agent、模型、工具、Bash 和输入事件,安全协调扩展行为。

事件分层

Extension API 覆盖启动、资源发现、Session 切换、Agent turn、消息、模型选择、工具执行、用户 Bash 和输入事件。选择最接近目标的事件,避免在每条消息上做昂贵工作。

部分事件允许修改或取消后续行为。处理器必须考虑异步、超时、重复触发和会话切换。

  • 启动事件用于初始化轻量资源。
  • Session 事件用于持久状态和切换检查。
  • Agent 事件用于观察 turn 与消息。
  • Tool 事件用于审批、审计或转换结果。
  • Input 事件用于自定义输入处理。

长资源与清理

数据库连接、文件监视器和网络客户端需要在扩展卸载或进程退出时关闭。不要让 /reload 叠加重复监听器。

事件处理失败应通过结构化日志和 UI 通知暴露,不能静默改变代理行为。

官方资料

本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。

Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License