# 上游来源(多个) 本包由 `my-pi` 直接维护,组合了两份独立许可的来源,并新增了一套本地 Context Authority。 ## pi-condense 参考 - 官方仓库:https://github.com/jjuraszek/pi-condense - 快照:`59c95110aacd8131db71e21296765dd80b72fae8` - Tag/版本:`v2.9.1` - 作为行为与摘要器可靠性参考使用。新的 segment/index/runtime 实现为本地实现,且有意不保留旧格式。 - 许可证:`LICENSES/pi-condense-MIT.txt` ## Pi Codex compaction 源码 - 官方仓库:https://github.com/ogulcancelik/pi-extensions - 包路径:`packages/pi-codex-compaction/` - 快照:`c4d6ca8fb484ba51684296ba8b4715f8c7b3ac91` - 快照时版本:`0.1.4` - 导入源码:`src/native-compaction.ts` 中的远端压缩协议、Response API 转换、保留辅助函数、重试解析和请求净化。 - 本地改动:统一 checkpoint kind/version,移除 raw-branch effective-input 构造与旧 checkpoint 解析,导出共享消息投影,使保留用户预算可配置,并重命名客户端 user agent。 - 许可证:`LICENSES/pi-codex-compaction-MIT.txt` 不得以 npm tarball、npm 缓存、`node_modules`、构建产物或嵌套 Git 元数据作为导入源。 ## Sub2API 协议参考 - 官方仓库:https://github.com/Wei-Shaw/sub2api - 参考 commit:`ab99d56e9626e6cd731592dae8553c9758a0efa2` - 协议证据:`backend/internal/service/openai_compact_body_signal.go` 指出原生远端压缩 v2 为 Responses 加 `stream: true` 与 `compaction_trigger`,并处理 Codex beta 特性。 - 本地 `src/native-provider.ts` 适配器是针对该协议独立实现的。没有导入任何 Sub2API 源码;复用现有 Codex 序列化器、流解析器和 checkpoint 格式。 - 该参考描述的是上游能力,不构成对任何特定部署、模型或账号的保证。本适配器不使用单独的 Responses compact 端点。 ## 本地改动记录 - 上下文管理重构为 L2/L3:L2 在上下文压力下经 `turn_end` 提交 Pi 原生 `context_edit`,把保护窗口外的旧 toolResult 批量遮蔽为指向 `context_tree_query` 的确定性占位符(原始条目保留、不写 custom entry);L3 只在空闲 `agent_settled` 且达到绝对 token 阈值(受窗口比例约束)时调用一次 `ctx.compact`。删除逐条确定性存根、后台语义 worker、`softRatio`/`hardRatio`/`targetRatio` 配置与 `session_before_compact` 的自行阈值取消;Pi 原生阈值压缩保留为最终安全网。 - L2 遮蔽占位符联动 pi-overflow:被遮蔽的 toolResult 若携带 `details.overflow.id`,占位符末尾追加 `overflow_query {"id":"…"}` 恢复提示。