第七部分,Pi SDK
ResourceLoader、Extensions 与 Skills
使用 DefaultResourceLoader 发现或注入 Extensions、Skills、Prompts、Themes 和 Context Files。
资源发现
createAgentSession 默认使用 DefaultResourceLoader,按标准路径加载资源。自定义应用可以增加 Extension 路径、提供 inline factories,或用 override 函数替换 Skills 和 Prompt 列表。
调用 loader.reload 后再创建 Session,并检查 diagnostics。忽略诊断会导致资源缺失却难以发现。
import {
createAgentSession,
DefaultResourceLoader,
} from "@earendil-works/pi-coding-agent";
const loader = new DefaultResourceLoader({
additionalExtensionPaths: ["/app/extensions/audit.ts"],
});
await loader.reload();
const { session } = await createAgentSession({ resourceLoader: loader });虚拟上下文与多租户
agentsFilesOverride 可以注入虚拟 AGENTS.md,systemPromptOverride 可以替换系统提示。多租户服务必须为每次运行构造独立 loader。
不要把一个租户的 Skills、Extensions 或上下文复用给另一个租户。
官方资料
本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。
Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License。