桃子桃子快讯
返回首页
工具

LemonCrow:为编码 Agent 加挂本地代码图,自测节省约三成输出成本

LemonCrow 是一个本地运行的上下文工程中间层,可挂在 Claude Code、Codex 等编码 Agent 之…

2026.07.22 · 周三5 分钟阅读

LemonCrow 是一个本地运行的「上下文工程」运行时,以独立工具层的形式挂在 Claude Code、Codex、opencode 等编码 Agent 之下,通过本地代码图检索、定向行级读取、输出截断与压缩等方式,改变 Agent 的工作集合,从而降低调用大模型 API 的实际花费。项目作者强调,所有数字均以「美元账单」而非 token 计数进行端到端衡量,并随仓库附带 BENCHMARKS.md 供复核。

核心思路与定位

作者表示,自己在使用编码 Agent 时经常在周一就耗尽周额度,而市面上多数「省 token」工具给出的都是 token 百分比,并不反映真实账单成本。LemonCrow 的目标是在不改变用户工作流的前提下,把 Agent 实际消耗的美元数压到尽可能低。其部署方式有两种:从签名校验后的 GitHub Release 一键安装,或从源码本地构建;初始化通过 lc init 在项目目录内完成,不需要账号、不依赖网络。

工具被设计为「运行时壳」,包裹在现有 Agent 宿主之外:模型、宿主、工作流保持不变,只是替换部分内置能力为更受约束、更结构化的本地工具。

主要能力

LemonCrow 在 Agent 上下文中通过四个阶段重塑工作流:

  • Find:基于 tree-sitter 的符号表与调用图,按中心度排序返回符号定义、调用方与被调方,以及精确的源代码行区间,替代暴力 grep 循环。
  • Read:返回文件大纲或指定行范围(如 :L10-L40),并对命令、Web 输出做截断,超出部分写入可恢复的溢出文件。
  • Carry:通过持久化内存、去重、压缩清单与交接包保留任务状态。
  • Verify:在没有测试或检查的情况下识别变更,在 Agent 宣告完成前进行提醒。

在 Claude Code 上,lc init 会替换 Agent 的五类内置工具为本地受控实现:

  • code_search 替代 Grep、Glob;
  • read 替代 Read;
  • edit 替代 Edit、Write,支持一次调用做跨文件验证修改;
  • bash 替代 Bash,输出受预算约束并结构化;
  • web_fetch 替代 WebFetch,将抓取页面清洗为 Markdown。

其他兼容宿主则复用其暴露的最强近似控制能力。仓库还内置一组 Agent 子能力(code / auto / solve / execute / general / bare / explore / plan / review / research)和可选技能(/lemoncrow /benchmark /orchestrate /swarm 等),覆盖从交互式编码到只读探索、计划评审、对抗性 review 与联网研究等场景。

自测基准与收益

项目声称以下数字均在 BENCHMARKS.md 中可复核,并以美元成本而非 token 计数给出:

  • 检索 MRR 约 ripgrep1.9x
  • 在 SWE-bench Verified 上输出 token 比基线减少 27.9%

作者同时明确,这些差异「不保证在你的仓库上复现」,实际效果因任务、代码库和模型而异。

运行环境与边界

  • 本地化:核心能力离线运行,不连 LemonCrow 自有服务器;遥测默认关闭,遵循 DO_NOT_TRACK=1 / LEMONCROW_TELEMETRY=off 全局开关;不外发标识、仓库路径、源码或符号名,无崩溃上报;唯一主动外联是用户手动触发的 lc update
  • 模型与宿主:不替代用户模型,需自行配置 Anthropic、OpenAI、Ollama 等提供方与 API Key;正式支持 Claude Code、Codex、opencode,Copilot、Cursor、Hermes、Antigravity 在接入中;任何 MCP 兼容宿主都可接入同一套工具。
  • 系统要求:Python 3.12–3.13,使用 uv 管理;主要支持 Linux 与 macOS,Windows 为部分支持、未充分测试;可选用 mypyc 构建以提速,纯 Python 构建无需 C 工具链。
  • 不在范围内:不是托管服务,不跑模型,不保证上述基准在你项目上同样成立;宿主间行为存在差异,例如「会话结束验证」在 Claude Code 上强制执行,在其他宿主上是提示性建议。

项目公开了 lc session stats(只读汇报浪费的工具调用和往返)以及 lc session replay(用真实工具回放录制会话),用于本地复盘,无需重跑模型。

信源