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>
36 lines
2.4 KiB
Markdown
36 lines
2.4 KiB
Markdown
# 上游来源(多个)
|
||
|
||
本包由 `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 原生阈值压缩保留为最终安全网。
|