juyterman1000/entroly
Cut AI context cost without trusting the compressor. Every reduction is reversible, byte-exact recoverable, and carries an auditable receipt. Local-first, works through proxy, MCP, SDK, or agent wrapper.
Entroly – 用于 AI 编程工具的可审计、可逆上下文压缩
它能做什么(通俗解释)
Entroly 位于你的编辑器/IDE 与大语言模型 (LLM) 提供商之间。在发送请求之前,它会:
- 选择最有用且符合你设定的 Token 预算的代码片段、文档或其他文件。
- 压缩其余内容,但会保留一份回执——一个指向被省略的精确字节的加密哈希值。
- 记录保留了什么、丢弃了什么以及原因,以便你日后证明模型确实看到了你预期的上下文。 如果模型稍后需要被省略的材料(例如,长会话超出了上下文限制),Entroly 可以从回执中恢复原始字节,而无需再次联系提供商。
为什么你应该关注
| 目标 | Entroly 如何提供帮助 |
|---|---|
| 节省资金 – 更少的 Token = 更低的 API 账单 | 它在预算范围内将提示词修剪为最相关的片段。 |
| 永不丢失证据 – 你总能找回被丢弃的内容 | 回执是内容寻址(基于哈希)的,并指向本地存储的精确原始字节。 |
| 可审计性 – 证明发送给模型的内容 | 每次运行都会产生一份可以检查的回执 (entroly verify-claims)。 |
| 零代码更改 – 适用于现有工具 | 它挂载到支持的编辑器(VS Code, Cursor, Claude Code 等)中,或作为任何应用程序都可以指向的本地代理运行。 |
如何使用
| 情况 | 命令 | 结果 |
|---|---|---|
| Python 用户 – 想要完整功能集 | pip install -U entroly && entroly go |
启动本地代理 + 仪表板;将你的应用程序指向显示的 URL。 |
| Node / WASM 爱好者 | npm install -g entroly && entroly init |
提供 CLI 和 MCP 路径;你仍然可以调用 Python 代理以获取更丰富的 SDK。 |
| 仅 Rust 二进制文件 | cargo build --release --bin entroly-rs --features proxy |
一个自包含的可执行文件,无需 Python/Node。 |
| VS Code / Claude Code / Cursor | 安装 Entroly 扩展 / 运行 entroly activation install --host <host> |
在模型规划前自动运行提示词钩子;使用 entroly activation status 进行检查。 |
| 程序化使用 | from entroly import compress, compress_messages, optimize |
直接调用库来压缩响应、消息列表或任意片段。 |
| 运行快速完整性检查 | entroly verify-claims && entroly simulate |
在本地运行,无需 API 密钥,显示你所在仓库的 Token 节省数据。 |
核心概念与术语
- 回执 (Receipt) – 一个唯一标识被省略字节的加密哈希(例如
sha256:…)。回执允许你稍后通过entroly recover <hash>找回精确的原始内容。 - MCP (Model-Control-Plane) – 集成层,用于拦截请求、运行 Entroly 的选择/压缩,并将精简后的提示词转发给提供商。
- 代理 (Proxy) – 一个本地 HTTP 服务器(默认
localhost:9377),模拟 OpenAI/Anthropic/Gemini 端点。将你的OPENAI_BASE_URL、ANTHROPIC_BASE_URL等指向它,即可为任何客户端启用压缩。 - 模拟 (
entroly simulate) – 在不联系模型的情况下对示例查询运行选择算法,报告将节省多少 Token 以及保留分数是多少。 - 修复 / 自愈 (Repair / self-heal) – 可选步骤,如果缺少快速路径引擎,则下载原生引擎二进制文件。
基准测试(根据仓库报告)
基准测试 (使用 gpt-4o-mini 运行) |
基准准确率 | Entroly 准确率 | 保留率 | Token 节省 |
|---|---|---|---|---|
| NeedleInAHaystack | 100 % | 100 % | 100 % | 99.5 % |
| LongBench (HotpotQA) | 64 % | 66 % | 103 % | 85.3 % |
| Berkeley Function Calling | 100 % | 100 % | 100 % | 79.3 % |
| SQuAD 2.0 | 80 % | 72 % | 90 % | 43.8 % |
| GSM8K | 85 % | 85 % | 100 % | 直通 |
保留率 = (Entroly 准确率 ÷ 基准准确率) × 100 %。正数意味着模型在提示词变小的情况下表现同样出色;负数(例如 SQuAD 2.0)显示了权衡。
集成生态系统
Entroly 为许多流行技术栈提供了适配器:
- SDK – OpenAI, Anthropic, LangChain, LiteLLM, Vercel AI SDK 等。
- IDE / MCP 主机 – VS Code, Cursor, Claude Code, Kiro, OpenClaw, OpenCode, Grok 等。
- 代理框架 – CrewAI, AutoGen, Strands Agents, Agno 等。
文档中包含完整的矩阵 (
docs/integration-hub.md)。使用适配器并不自动保证节省 Token;请求必须通过 Entroly 代理或经过验证的提示词钩子。
入门检查清单
- 安装你偏好的运行时(Python
pip install -U entroly是最完整的)。 - 运行本地完整性检查:在你关心的仓库中运行
entroly verify-claims && entroly simulate。 - 激活你需要的集成 – 例如
entroly activation install --host vscode或将你的 API 基础 URL 指向http://localhost:9377。 - 检查回执:请求后使用
entroly value --json或entroly activation status --json。 - 恢复任何被省略的片段:使用
entroly recover <hash> --out restored.json。
许可与社区
- 许可: Apache 2.0
- 星标 / CI: 积极维护(GitHub 星标徽章,README 中显示的 CI 徽章)。
- 贡献: 欢迎贡献 – 请参阅
CONTRIBUTING.md获取开发设置、风格指南和测试说明。 - 下载: 提供 PyPI、npm、Homebrew 和 Docker 镜像。
简而言之
Entroly 是一个本地优先、即插即用层,让你能够缩减 LLM 提示词、保留被丢弃内容的可靠记录,并稍后找回这些数据——所有这些都无需更改现有代码。它适用于许多编辑器、SDK 和代理框架,仓库中包含基准测试、CLI、Python 库、Rust 二进制文件和 VS Code 扩展。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch