第七部分,Pi SDK

SDK Settings 与 SessionManager

管理文件或内存 Settings,创建、恢复、列出和替换持久 Sessions。

SettingsManager

SettingsManager.create 从全局和项目文件加载配置,inMemory 适合测试和托管服务。applyOverrides 可以覆盖 Compaction、retry 等字段。

设置写入会异步排队。需要持久边界时调用 flush,并通过 drainErrors 报告 I/O 错误。

typescript
const settings = SettingsManager.inMemory({
  compaction: { enabled: false },
  retry: { enabled: true, maxRetries: 2 },
});

const { session } = await createAgentSession({
  settingsManager: settings,
  sessionManager: SessionManager.inMemory(),
});

SessionManager

inMemory 不写磁盘,create 创建持久 Session,continueRecent 恢复最近会话,open 打开特定 JSONL。list 和 listAll 用于自定义历史界面。

Session replacement 要通过运行时 API 完成,确保生命周期事件与扩展状态正确切换。

官方资料

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

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