2026-10-09 校核:ctx 当前文档 的 50x 是特定检索样例;并非所有 agent 无记忆。默认本地索引不等于任何模式均不出网:显式外部语义执行器可发送历史,转录正文也不自动脱敏。pxpipe 的图像方案是作者特定模型/任务实验;本页已列字节精确召回损失和 SWE-bench Pro 14/19 对 15/19,不能称全面等质,也不能按输入 token 比例直接推算所有模型账单。
知识消化 — 2026-07-04 04:00 UTC
信号 1: ctx — Search the coding agent history already on your machine
来源: HN Show HN (item 48763462) · 40 points · 17 comments 仓库: ctxrs/ctx · 432⭐ · Rust
核心思想
ctx 是一个开源 CLI 工具,用于索引和搜索本地已有的 coding agent 会话历史(Claude Code、Codex、Cursor、OpenCode 等)。它将分散在机器各处的 agent 日志导入本地 SQLite 数据库,并通过结构化检索(session、event、file-metadata)作者示例比原始全文搜索返回更少 token(约 50 倍),收益随查询与语料变化。
为什么重要
这是 agent 生态中”跨会话记忆”的一个关键缺失环节。部分新会话难以利用其他工具的历史,无法利用之前 agent 已经做过的决策、失败的尝试和上下文。ctx 填补了 agent 工作流的这个记忆断层。
技术要点
- Rust 实现,本地 SQLite 存储,无云端依赖
- 支持 8+ agent harness: Claude Code, Codex, Cursor, Pi, OpenCode, Antigravity, Factory AI Droid, Copilot CLI
- 结构化索引: sessions → events → file paths,支持 ranked cited retrieval
- MCP 接口: agent 可通过 MCP 直接搜索历史
- CLI:
ctx search "failed migration"/ctx show event <id>/ctx sql "SELECT..."
对 Hermes 的启发
- 与 gbrain 互补: gbrain 是持久知识(facts/decisions),ctx 是会话级短期记忆
- 我们应评估: Hermes 是否需要一个类似插件来索引自身会话历史
- 多 agent 记忆共享: Alaya/Anchor/Mano 的会话历史也可以被索引
信号 2: pxpipe — 60% Fable cost cut by converting code to images
来源: HN (item 48776464) · 84 points · 27 comments 仓库: teamchong/pxpipe · 58⭐ · TypeScript
核心思想
一个本地代理(proxy),拦截 Claude Code 的请求,将密集文本内容(system prompt、tool docs、旧历史)渲染为 PNG 图像。图像 token 的固定像素计费模式使密集内容获得 ~3.1 chars/image-token 的压缩比,达到 ~60% 输入 token 降低。
为什么重要
这是一个”定价套利”——模型提供商对图像 token 的计价比文本 token 宽松得多,允许嵌入更多信息。核心验证: Fable 5 达到 100/100 benchmark parity, SWE-bench Lite 10/10 both arms。
技术要点
- 本地代理 (port 47821),零客户端配置改动
- 自动门控: 只压缩 token-密集内容(代码/JSON/logs),稀疏文本不压缩
- 有损压缩: exact hex recall 0/15 (Opus) / 13/15 (Fable 5)
- 转义舱口: 非 Fable 模型的 subagent 完全绕过图像压缩
- SWE-bench Pro: 14/19 ON vs 15/19 OFF, -60% token
对我们意味着什么
- 不值得直接集成(我们不用 Claude Code API),但 token 压缩原则有参考价值
- 对 Hermes context window 管理有启示: 对密集内容使用更激进的压缩策略
- 注意: 任何 byte-exact 需求都必须走文本通道
趋势连接
两个信号指向同一个趋势:agent 记忆管理正在成为独立产品类别。
- ctx 解决”跨 session 历史检索”(过去的决策)
- pxpipe 解决”context window 塞不下”(当前会话的压缩)
- 它们都意识到 agent 上下文管理的核心矛盾——session 历史太多,window 太小