mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 02:35:24 +00:00
此前截断分散在多层且互相冲突:Pi bash 保留尾部 50KB,RTK 兜底截断又只留 开头 12000 字符(砍掉报错与完整输出路径),pi-chrome 截开头 30K,web_fetch 各 provider 不一致。新扩展统一负责"新结果给模型看多少": - capture.ts 最先加载暂存原文,index.ts 最后加载(system-prompt 之前) - 超过 24K 字符时原文落盘 <agentDir>/my-pi/pi-overflow/(700/600、原子写), 优先取 bash fullOutputPath 完整文件;模型看到 头 + 中段信号行 + 尾 的有界 视图,行号基于落盘原文、结尾永远可见 - overflow_query:按 id 正则搜索、行区间、jsonPath 只读查询,id 校验防穿越 - 收编:RTK truncate 默认关闭、删除 pi-chrome truncateText、web_fetch 默认 每页 20000(上限 100000)、web_search max_results 限定 1–20 - pi-compaction 遮蔽带 details.overflow.id 的结果时在占位符提示 overflow_query - 登记 tools.jsonc / routing / 权限 allow / tool-search 常驻与分组 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2.6 KiB
2.6 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 原生阈值压缩保留为最终安全网。 - L2 遮蔽占位符联动 pi-overflow:被遮蔽的 toolResult 若携带
details.overflow.id,占位符末尾追加overflow_query {"id":"…"}恢复提示。