omp packages

@zhushanwen/pi-smart-context0.4.0

智能上下文压缩 pi extension:把 compact 时机交给 agent 自决,压缩生成用双模式接管(same-model KV 缓存命中 / cross-model 廉价模型),3 档阈值提醒不强制。

zhushanwen321 Published 2 days ago ~1.3K downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

@zhushanwen/pi-smart-context

智能上下文压缩 pi extension:把 compact 时机交给 agent 自决,压缩生成用双模式接管(same-model KV 缓存命中 / cross-model 廉价模型),3 档阈值提醒不强制。

功能

  • compact_context 工具:agent 在「任务阶段性完成 && 压缩不影响后续 && 上下文超阈值」三条件同时满足时自决调用;带最低档阈值保护
  • 双模式生成接管(session_before_compact,覆盖工具 / /compact / 内建 auto 三条路径):
    • same-model:完整原始上下文 + 会话原 system prompt + tools + 末尾追加压缩指令——前缀缓存全命中,成本≈增量指令+输出,且模型看全量上下文(质量上限最高)
    • cross-model:调用 pi 原生 compact() 仅换模型与凭证——split-turn / fileOps / previousSummary 原生组装
  • 3 档阈值提醒(默认 400K/500K/600K):agent_settled 越档检查,每档一次、多档合并、压缩后重置,nextTurn 投递(随下一次 prompt 注入,不自起 run);已提醒档位经 pi.appendEntry 落在 session entries(smart-context:fired),reload / 进程重启后从 entries 重建,同一档不会重复提醒;措辞是数据投递不是指令
  • 排除模型(精准 provider/modelId 匹配):工具拒绝 + 不提醒 + 回落 pi 原生生成;切换跨界时注入一条可用性通知,downshift(切小窗模型将触线)时建议先压缩
  • 通知车道:压缩结果 / 阈值提醒 / 模型切换四类通知统一走 nextTurn(custom role 随下次 prompt 注入,不自起 run)——工具压缩掐断的 turn 由 taiji runtime 在 compaction_end 判定后经投递内核追加续跑投递(详情见仓库设计文档 delivery-ownership-kernel)
  • 健壮性:摘要收缩校验、max-tokens 截断 fail-closed、接管失败 3 次熔断(本 session 内停止接管)、transcript 回查指针、压缩后最近文件内容重注入(≤5 文件/50K)、多轮压缩降智提示(累计压缩 ≥2 次后附加)
  • subagent 进程自动静默(TAIJI_AGENT_SUBAGENT 标记)

行为门控

状态 工具 execute 阈值提醒 压缩生成接管
enabled,模型未排除 放行(低于最低档阈值时拒绝并返回用量建议) 生效 生效(按双模式判定)
enabled,模型命中排除列表 拒绝(返回原因) 跳过 跳过(回落 pi 原生生成)
enabled=false 拒绝("可在设置页开启") 跳过 跳过(回落 pi 原生)
compactModel 未配置/无效 放行(same-model 不依赖该配置) 生效 same-model 生效;cross-model 回退当前模型,压缩不失败
模型切换跨界(model_select) 常驻不变 注入一条可用性变化通知(仅跨界时) 按新模型即时重判

行为正确性由 execute / handler 现场校验兜底,每次事件回调重新读配置(热加载,改完下一次压缩 / 提醒 / 工具调用即生效,无需重启)。

安装

pi install npm:@zhushanwen/pi-smart-context

工具激活(deferred)

compact_context 工具为 exposure: "deferred"——不占常驻工具声明,由 pi 内置 tool_search 工具检索命中后按需激活。taiji 宿主内开箱即用(宿主启动时已激活 tool_search);独立 pi 使用需在 <agentDir>/settings.json(默认 ~/.pi/agent/settings.json)开启:

{ "defaultTools": ["+tool_search"] }

+ 前缀是增量修饰(保留 read/bash/edit/write 默认集)。未开启 tool_search 时该工具对模型不可见。

配置

<agentDir>/config/smart-context-ext-config.json(读时热加载)。schema 与示例见 skills/smart-context-ext-config/SKILL.md。taiji 桌面端在设置页(系统 → 智能上下文压缩)可视化配置。