fajarhide/omni
Your agent pays twice for output it has already seen. OMNI returns a handle instead: 97.2% off a file read twice. Nothing deleted, nothing invented.
解决的问题
OMNI 通过减少发送给 AI 代理的冗余和噪声数据,降低令牌成本并防止上下文窗口饱和。它特别针对代理反复读取相同文件或看到重复的构建日志和进度条等问题,这些内容对模型价值很低。
工作原理
OMNI 作为代理工具调用周围的一组钩子。它通过两种主要机制,在代理读取输出之前处理这些命令的输出:
- 精炼:从构建日志中移除“噪声”,例如 Docker 层哈希、ANSI 颜色和进度条。
- 基于账本的去重:如果某段输出(如文件内容)在会话早期已被代理见过,OMNI 会用一个小标记和可检索的句柄替换重复的字节。
所有被移除或折叠的内容都会被存档到本地 SQLite 数据库(RewindStore)中,代理可以使用 omni retrieve 命令或 MCP 工具通过句柄重新获取完整的原始输出。
适用人群
使用 AI 代理(如 Claude Code、Cursor、Windsurf 或 Aider)的开发者,希望优化其上下文窗口并减少由重复工具输出带来的成本。
特点
- 无损压缩:没有任何数据被永久删除;所有原始数据都本地存储,可通过句柄检索。
- 上下文感知折叠:当文件发生变化时,OMNI 会折叠已见过的部分,同时保持行号对代理准确。
- 零捏造:从不总结或虚构结果;如果无法安全精炼输出,它会原样传递原始输出。
- 广泛兼容:通过直接钩子、优先移交配置或 Model Context Protocol (MCP) 支持多种主机。
相关
- 项目
- 项目
- 项目
- 项目
- 项目