[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fw8vmzaut7mit":3},{"code":4,"message":5,"data":6,"timestamp":27},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":23,"homepage":24,"updated_at":25,"history":26},"ranxianglei\u002Fbillion-context",13,"A context-compression plugin for month-long single sessions (billions of tokens) ,small context windows (a 100K context is enough) and token savings (5x fewer tokens) .上下文压缩插件，月级长会话会话， 兼顾小窗口(100k上下文足矣)省token(省5倍token) . billion-context is all you need","TypeScript",2624,222,919,79,[],"Keeps long coding-agent sessions alive by compressing conversation history inside the API stream, for developers paying per token.","## The problem\nCoding agents accumulate history fast. After a few hours, every request replays a huge prefix, and once you cross the window the session either degrades into summarization-by-truncation or dies outright. You pay for the same tokens repeatedly, and the host's built-in summarizer throws away detail you may need later. billion-context sits as a proxy between the agent and the model API and rewrites the stream so consumed history gets folded into summaries instead of being dropped.\n\n## What's different\nThe usual fixes are host-side summarization (lossy, one-way) or just buying a bigger window. billion-context compresses incrementally in layered ranges and exposes `decompress` and `search_context` tools, so the model can pull an exact detail back when it matters. It is meant to be prefix-cache friendly — the README claims a 95–97% hit rate with compression costing ≤2% — which matters because naive rewriting of the prefix invalidates provider caching and quietly negates the savings. It also claims to work with a long list of clients (Claude Code, Codex, Gemini CLI, OpenCode, aider, etc.) through one proxy rather than a per-client plugin.\n\n## Who it's for\nDevelopers running agentic coding sessions that last days, and anyone on metered API billing who wants one continuous session instead of many short ones. It is also relevant if you must stay on a ~100K-token model. Skip it if you use a single closed IDE assistant you cannot repoint at a custom base URL, or if your sessions are short and already fit comfortably in context — the added proxy hop buys you nothing.\n\n## Cost of adoption\nNode\u002Fnpm install (`npm install -g billion-context --prefix=~\u002F.local`), then point your agent's base URL at the proxy or use the `bili` launcher\u002Fplugin path for supported clients. You are inserting a man-in-the-middle into every model call: model switching and cache TTL behaviour become failure modes, and the README itself lists those as the top causes of poor cache health. The license is NOASSERTION, so check the actual terms before shipping it internally. Compression quality depends on the model following injected tool instructions; a weaker model will produce worse summaries.\n\n## Verdict\n79 days old, 2,597 stars and +937 in a single week on the TypeScript board — this is an early project riding a real spike, not an established tool. The accompanying paper (a large longitudinal study) is unusually serious for a project this young, but it is self-published and the README is the main source of truth for behaviour. The approach is sound and the pain point is genuine; the risk is that the proxy sits in the most sensitive part of your stack. Try it on a side project with `\u002Facp-cache` open before trusting it with production work.",{"slug":19,"name":20},"developer-tools","Developer Tools",[22],"dsh-plugin","NOASSERTION",null,"2026-10-24T19:35:21Z",[],1792887517]