billion-context:把长对话折成可还原摘要,100K 窗口跑月级会话,★5.2k
开源上下文压缩插件:站在 agent 与模型 API 之间,把对话增量压成分层摘要并可解压还原,100K 窗口跑月级会话,★5,244。
项目资料
GitHub Ecosystem- 许可证
- NOASSERTION
- 主语言
- TypeScript
- 星标
- 5,244
- 核查时间
- 2026-11-09
以上快照资料以核查当日为准,可能随版本或运营策略变化。
长会话撑爆上下文是 coding agent 的日常:过了窗口就开始降智,或者直接断。billion-context(★5,244,TypeScript,2026-08-06 建库)由 ranxianglei 开源,站在任意 agent 与模型 API 之间,用 acp-kernel 改写 Anthropic/OpenAI 的流式响应,把已消费的对话增量压成分层摘要。关键差别在于它不做硬截断:模型自己决定何时压、压哪一段,摘要随时可以解压还原,缓存前缀也不会被破坏。
核心功能
- 模型主导的压缩:代理向对话注入 compress、decompress、search_context、acp_status 四个工具,上下文增长时由模型自行调用;compress 在代理侧执行,被折叠的区间在历史里保持摘要态,直到被还原。
- 增量、可逆、前缀缓存友好:摘要按小段写入,按需解压,官方称健康会话的前缀缓存命中率维持在 95–97%,压缩本身开销 ≤2%。
- 二十多种客户端接入:pi、omp、opencode、dsh、kimi、hermes、zcode 有原生插件模式;其余走
bili <client>启动器或把 baseURL 前缀改成/bili/,覆盖 Claude Code、Codex、Gemini CLI、Qwen Code、Copilot CLI、aider、Crush、Zed、goose 等。 - 论文与横评:作者发布的生产环境长跑记录是 4.5 个月、3 台主机、174,327 次模型调用、18.76B 累计输入 token,204,800 token 模型上零窗口违规;第三方 1,500 题横评(LongMemEval-S / ContextBench / MemoryAgentBench)里 ContextBench 第一,成本比 full context 低 58.3%。
典型使用场景
- 月级长会话:一个 coding 会话跑几天不换窗口,需要回查旧细节时解压对应区间,而不是重开对话。
- 小窗口模型跑长任务:把原本要大窗口才能干的活压到 100K 窗口的便宜模型上,直接省 token 账单。
- 已有检索链路的团队:摘要加关键词检索(search_context)可以替代或补充向量 RAG,少一套索引维护。
快速上手
npm install -g billion-context --prefix=~/.local 装出 bili 命令。三种用法按侵入程度排列:原生插件 bili plugin install <client>(代理活在客户端里,启动方式不变)、启动器 bili claude / bili codex(不碰真实配置文件)、或改 baseURL 前缀走 /bili/。端口上手动 bili start 占 8787,各 lane 自管从 18787 起并记住漂移,避免和既有服务抢端口。
与既有方案的关系
它不替代 agent 自带的压缩:内置 summarizer 是「到阈值就截断」,billion-context 是可逆的分层摘要加检索,代价是多一层本地代理。和 RAG 也不是同一层——RAG 检索外部知识库,它压缩的是本次会话自身的历史。与本站写过的 worktrunk 类似,这类工具解决的都是「多 agent 并行、长任务不断线」时的工程摩擦,只是一个管工作目录,一个管上下文。
小结
billion-context 适合长会话、小窗口、token 成本敏感的团队,尤其是已经在用 Claude Code、Codex、opencode 这类 CLI 的。要点与边界:许可为 NOASSERTION,商用前先读 LICENSE;横评数据由作者仓库发布,不是独立第三方机构;MITM 模式要装自签证书,合规敏感的环境需要先评估请求经过本地代理这件事;★5,244 起量很快但项目 2026-08 才建库,长期维护节奏还要观察。