第四部分,Extensions 开发
Extensions 快速开始
创建第一个 TypeScript Extension,理解发现路径、临时加载、热重载和可用 Imports。
位置与加载
全局 Extensions 放在 ~/.pi/agent/extensions,项目 Extensions 放在 .pi/extensions。自动发现的扩展可通过 /reload 热重载,pi -e path.ts 适合一次性测试。
项目扩展是可执行代码,只在信任项目后加载。第三方扩展应审查源码和依赖。
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
export default function (pi: ExtensionAPI) {
pi.on("agent_start", async (_event, ctx) => {
ctx.ui.notify("Extension loaded", "info");
});
}开发循环
- 从单一事件或命令开始。
- 用 pi -e 显式加载并观察错误。
- 处理长资源的 shutdown。
- 移动到自动发现目录并运行 /reload。
- 打包前为行为写测试和权限说明。
官方资料
本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。
Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License。