@zhushanwen/pi-smart-context
智能上下文压缩 pi extension:把 compact 时机交给 agent 自决,压缩生成用双模式接管(same-model KV 缓存命中 / cross-model 廉价模型),3 档阈值提醒不强制。
Package details
Install @zhushanwen/pi-smart-context from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@zhushanwen/pi-smart-context- Package
@zhushanwen/pi-smart-context- Version
0.3.2- Published
- Sep 18, 2026
- Downloads
- 1,007/mo · 397/wk
- Author
- zhushanwen321
- License
- unknown
- Types
- extension, skill
- Size
- 97 KB
- Dependencies
- 3 dependencies · 3 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
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越档检查,每档一次、多档合并、压缩后重置,followUp 投递;措辞是数据投递不是指令 - 排除模型(精准
provider/modelId匹配):工具拒绝 + 不提醒 + 回落 pi 原生生成;切换跨界时注入一条可用性通知,downshift(切小窗模型将触线)时建议先压缩 - 健壮性:摘要收缩校验、max-tokens 截断 fail-closed、接管失败 3 次熔断、transcript 回查指针、压缩后最近文件内容重注入(≤5 文件/50K)、多轮压缩降智提示
- subagent 进程自动静默(
PI_SUBAGENT_ROOT_SESSION_ID标记)
行为门控
| 状态 | 工具 execute | 阈值提醒 | 压缩生成接管 |
|---|---|---|---|
| enabled,模型未排除 | 放行(低于最低档阈值时拒绝并返回用量建议) | 生效 | 生效(按双模式判定) |
| enabled,模型命中排除列表 | 拒绝(返回原因) | 跳过 | 跳过(回落 pi 原生生成) |
| enabled=false | 拒绝("可在设置页开启") | 跳过 | 跳过(回落 pi 原生) |
| compactModel 未配置/无效 | 放行(same-model 不依赖该配置) | 生效 | same-model 生效;cross-model 回退当前模型,压缩不失败 |
| 模型切换跨界(model_select) | 常驻不变 | 注入一条可用性变化通知(仅跨界时) | 按新模型即时重判 |
行为正确性由 execute / handler 现场校验兜底,每次事件回调重新读配置(热加载,改完下一 turn 生效,无需重启)。
配置
<agentDir>/config/smart-context-ext-config.json(读时热加载)。schema 与示例见 skills/smart-context-ext-config/SKILL.md。taiji 桌面端在设置页(系统 → 智能上下文压缩)可视化配置。