第四部分,Extensions 开发

Extensions 快速开始

创建第一个 TypeScript Extension,理解发现路径、临时加载、热重载和可用 Imports。

位置与加载

全局 Extensions 放在 ~/.pi/agent/extensions,项目 Extensions 放在 .pi/extensions。自动发现的扩展可通过 /reload 热重载,pi -e path.ts 适合一次性测试。

项目扩展是可执行代码,只在信任项目后加载。第三方扩展应审查源码和依赖。

typescript
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");
  });
}

开发循环

  1. 从单一事件或命令开始。
  2. 用 pi -e 显式加载并观察错误。
  3. 处理长资源的 shutdown。
  4. 移动到自动发现目录并运行 /reload。
  5. 打包前为行为写测试和权限说明。

官方资料

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

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