mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 10:45:22 +00:00
原实现对所有工具结果(含 read)在下一次请求即替换为约 4K 的首尾存根, 不看上下文压力,导致模型看不到大文件中段;后台逐条语义摘要又反复改写 历史、打碎 prompt 缓存。参照 Anthropic 上下文编辑、Manus 与 JetBrains 观察遮蔽研究重构为: - L2:上下文达到阈值时在 turn_end 批量提交 Pi 原生 context_edit,把最近 keepRecentTurns 轮之外的旧 toolResult 换成确定性占位符;trigger/target 回差与 minClearTokens 保证少触发、一次清够;原始条目保留,可经 context_tree_query 取回 - L3:空闲 agent_settled 且超过绝对阈值时调用一次 ctx.compact - 阈值按绝对 token 计并受窗口比例约束,默认针对 1M 窗口(DeepSeek V4.1 Flash):遮蔽 200K→100K、整段摘要 400K - 删除逐条存根、语义 worker、soft/hard/target 比例与自行取消 Pi 压缩的门控; Pi 原生阈值压缩保留为最终安全网 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2.4 KiB
2.4 KiB
上游来源(多个)
本包由 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 原生阈值压缩保留为最终安全网。