yvgude/lean-ctx

GitHub: yvgude/lean-ctx

LeanCTX 是面向 AI 代理的本地上下文智能层,通过压缩、路由、记忆和验证四大维度将 token 消耗降低 60–90%。

Stars: 3341 | Forks: 309


██╗     ███████╗ █████╗ ███╗   ██╗     ██████╗████████╗██╗  ██╗

██║     ██╔════╝██╔══██╗████╗  ██║    ██╔════╝╚══██╔══╝╚██╗██╔╝

██║     █████╗  ███████║██╔██╗ ██║    ██║        ██║    ╚███╔╝ 

██║     ██╔══╝  ██╔══██║██║╚██╗██║    ██║        ██║    ██╔██╗ 

███████╗███████╗██║  ██║██║ ╚████║    ╚██████╗   ██║   ██╔╝ ██╗

╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═══╝     ╚═════╝   ╚═╝   ╚═╝  ╚═╝

### **掌控你的 AI 能看到什么。**

**LeanCTX — 针对 AI 代理的精益上下文工程**

LeanCTX —— **Lean Context** 的缩写 —— 是面向 AI 代理的上下文工程层。它以单个本地二进制文件的形式运行在你的代理与其接触的所有事物(你的代码、shell、数据和模型本身)之间:它**决定**它们读取的内容,**压缩**它们发送的内容(一个可选的本地代理会缩小每个请求——包括 system prompt、history 和 tool 结果——且对 prompt 缓存安全),**记忆**它们所学到的知识,**保护**它们接触的对象——并通过签名、可验证的节省账本**证明**它们节省的开销。结果就是:token 消耗减少 60–90%。 

无需配置。

本地优先。

| 问题 | 使用 LeanCTX |

|---------|-------------|

| 重复读取文件:每次约 2000 token | 缓存重新读取:**约 13 token** |

| 原始 `git status`:约 800 token | 压缩后:**约 120 token** |

| 每次对话都会重新发送整个历史记录 | 代理压缩每个请求,**对 prompt 缓存安全** |

| 每次聊天都会重置上下文 | session 记忆可跨聊天持久化 |

| 无法查看上下文使用情况 | 实时仪表盘 + 预算控制 |



GitHub Stars   CI Security crates.io Downloads npm AUR Pi.dev License Discord X/Twitter Opt-in Telemetry

官网  ·  文档  ·  安装  ·  SDK  ·  场景  ·  演示  ·  基准测试  ·  指南  ·  安全  ·  更新日志

查看实际运行效果:

Map-mode file read + compressed git output demo
Read + Shell
Map-mode reads + compressed CLI output
lean-ctx gain live dashboard demo
Gain (live)
Tokens + USD savings in real time
lean-ctx benchmark report demo
Benchmark proof
Measure compression by language + mode

所有 GIF 均由 demo/ 中可复现的 VHS tapes 生成。

## 为什么开发者使用 LeanCTX - **更长的有效编码会话** — 更少的上下文浪费 = 更多空间用于实际的代码推理 - **更低的 API 成本** — 读取和 shell 输出减少 60–90% 的 token,缓存重新读取仅需约 13 token - **告别“我已经给你看过这个文件了”** — session 记忆可跨聊天持久化 - **兼容你现有的设置** — 一条 `lean-ctx setup` 命令,无需更改配置 - **完全透明** — 准确查看你的上下文窗口预算消耗在何处 - **模型无关且完全属于你** — 自由切换 OpenAI/Anthropic/Gemini;你的上下文和记忆保持在本地且可移植,绝不锁定在供应商的黑盒中

为你节省了 token? 给个 Star — 帮助更多人发现 LeanCTX。

## 为什么是现在 — 拥有你的上下文 模型正逐渐趋同于常规商品。持久的优势不在于你调用 *哪个* 模型 — 而在于你的**上下文**:你的代理读取什么、记住什么,以及你能证明什么。而优化并*拥有*该上下文的层不可能来自按 token 计费或将你的记忆保存在黑盒中的供应商 — 它必须位于你这一侧。 这就是存在于你的聊天中并记住你公司信息的“代理实体”(如 Slack 中的 Claude、ClickUp Brain)背后的转变:这是**上下文登录,而非模型登录** — 你最终是在把自己的公司知识租回来。LeanCTX 则是完全相反的层。它让护城河属于你:本地优先、可移植 (`.ctxpkg`) 且模型无关 — 切换 OpenAI、Anthropic 或 Gemini 也不会丢失上下文或缓存。**拥有你的上下文;不要把它租回来。** ## 它的功能 — 上下文的四个维度 LeanCTX 将上下文视为一种受管理的资源,而不是事后才考虑的附属品。一个二进制文件涵盖了决定 AI 代理实际表现的四个维度: ### 1. 压缩 — 输入效率 你的 AI 代理会读取文件并运行命令。LeanCTX 会自动对两者进行压缩。 - **文件读取**:10 种读取模式(`full`、`map`、`signatures`、`diff`、`lines:N-M`、`density:X` 等) — 缓存重新读取仅需约 13 token - **目标密度** (`density:0.4`):SDE 风格的预算压缩 — 保留最高信息熵的行,直到剩余约 40% 的原始 token,具有确定性 - **JIT 揭示**:`signatures` 携带行跨度并指向 `lines:N-M` 以进行针对性展开 — 先看大纲,按需查看主体 - **Shell 输出**:95+ 种 shell 输出模式可压缩 git、npm、cargo、docker、kubectl、terraform 等(包含 270 条透传规则) - **Tree-sitter AST**:对 26 种语言的结构化理解 — 不仅仅是文本压缩 - **设计上可逆 (CCR)**:压缩从不会*丢弃*内容 — 被修剪或截断的 payload 会移动到带有确定性句柄的基于内容寻址的存储中,因此模型可以通过 `ctx_expand`、`ctx_retrieve`、带内标记或 `GET /v1/references/{id}` 按需拉取原始字节。[五种恢复路径 →](docs/comparisons/vs-headroom.md#reversibility) ### 2. 路由 — 每次读取的正确保真度 并非每个文件都需要相同的深度。LeanCTX 传递的是信号,而不是噪音。 - **10 种读取模式**:从完整内容到 AST 签名和基于信息熵过滤的视图 - **自适应 `ModePredictor`**:从过去的 session 中学习每种文件类型的最佳读取模式 - **`IntentEngine`**:对查询复杂度进行分类,使简单的查找保持低成本 ### 3. 记忆 — 持久化的上下文 上下文不再在聊天之间消失。 - **Session 记忆 (CCP)**:跨聊天持久化任务/事实/决策 — 结构化恢复查询能够在压缩中存活 - **知识图谱**:带有有效窗口的时间事实,情景记忆 + 程序记忆 - **属性图**:多边代码图(imports、calls、exports、type_ref)支持影响分析和搜索排名 - **属于你,而非供应商的**:记忆保持在本地且可移植 — 将其导出为 `.ctxpkg` 包并在不同机器或模型之间移动,而不是将其锁定在供应商的黑盒中 ### 4. 验证 — 控制到达模型的内容 性能是指准确性,而不仅仅是速度。你始终掌控着窗口。 - **Context Manager**:带有实时 token 跟踪、压缩统计、利用率仪表的浏览器仪表盘 - **预算与 SLO**:配置文件、角色、每个代理的预算和限流策略 - **Context Proof** (`ctx_proof`、`ctx_verify`):具有 CI 漂移阈值的 4 层验证引擎
完整功能列表 (81 个 MCP 工具) - **网络与研究** (`ctx_url_read`):将公共网页、PDF 或 YouTube 字幕作为压缩的、带引用的文本提取到上下文中 — `facts`/`quotes` 返回带有置信度分数 + 来源 URL 的声明,按相关性排序的研究压缩将其提炼至一个 token 预算内,受 SSRF 防护(仅限 http/https) - **图谱驱动的智能**:混合搜索(通过 RRF 结合 BM25 + embeddings + 图谱邻近度),增量 git-diff 更新 - **LSP 重构** (`ctx_refactor`):通过 rust-analyzer、typescript-language-server、pylsp、gopls 实现由语言服务器支持的重命名、查找引用和跳转定义 - **多代理** (`ctx_agent`、`ctx_handoff`):带有上下文传输包、日志系统和同步共享状态的代理切换 - **归档全文搜索** (`ctx_expand search_all`):基于 FTS5 对所有先前归档的工具输出进行跨归档搜索 - **PR 上下文包**:`lean-ctx pack --pr` 构建准备就绪的 PR 上下文包(更改的文件、相关测试、影响、制品) - **上下文包**:`lean-ctx pack create` 将知识 + 图谱 + Session 打包成具有 SHA-256 完整性的可移植 `.ctxpkg` 文件 - **Context Time Machine**:`lean-ctx snapshot create|list|show|verify|restore|publish|import` — 在仅追加的时间线上对层状态(血缘、账本 Φ、ROI、session)进行 git 锚定、ed25519 签名的快照;在仪表盘中重放它们,`restore` 以恢复 session(以及 `--git` 以检出提交),或者 `publish`/`import` 签名的快照以进行分享([概念 →](docs/concepts/context-time-machine.md)) - **可观测性**:`lean-ctx gain --live` 用于实时节省统计,`lean-ctx wrapped` 用于每周/每月摘要(`gain --svg`/`--share` 用于可分享的卡片或可自托管的页面),`lean-ctx watch` 用于 TUI 监控 - **经过验证的节省**:`lean-ctx savings` 是一个可审计的、按事件记录的账本(tokenizer 透明度、兜底计算、防篡改 SHA-256 链) — 仅限本地,默认开启 - **HTTP 模式**:`lean-ctx serve` 用于可流式传输的 HTTP MCP + `/v1/tools/call`(由 Cookbook + SDK 使用)
## Addon — 通过一个网关运行整个生态系统 你无需在 LeanCTX 和你已经喜欢的其他上下文工具之间做出选择。**Addon** 将任何 MCP 服务器封装在一个微小的 `lean-ctx-addon.toml` 清单中;LeanCTX 通过一条命令在其网关后运行它,然后将它返回的内容视为你自己的读取结果,而不仅仅是将其代理转发。 ``` lean-ctx addon search memory # browse the registry by category lean-ctx addon add headroom # installs the upstream package + wires the MCP server, on add lean-ctx addon list # what's wired into your gateway ``` - **一条命令添加** — `addon add ` 通过其原生管理器(uv、pip、cargo、npm、brew、dotnet)安装上游包,并将 MCP 服务器接入你的网关。无需复刻或重新编译。 - **融入而非仅仅代理** — 选择性的后处理通过与你代码相同的流水线处理 addon 输出:按预算压缩,将过大的 blob 溢出到 `ctx_expand` 句柄,索引到 BM25 / 图谱 / 知识中。类型化适配器将特定工具直接路由到 `ctx_expand`、`ctx_callgraph` 和 `ctx_knowledge`。 - **默认不受信任** — 每个 addon 的输出在到达模型之前都会被清除敏感信息并标记为不受信任。始终开启,无需额外标志。 - **你始终掌控全局** — 通过一条单个仓库无法覆盖的 `[addons]` 策略,将机器或集群固定为仅验证模式、白名单或完全关闭。 该注册表涵盖了压缩(Headroom、Sophon)、代码智能(Repomink、Serena)、记忆(Mem0、Cognee、Letta)和推理(Sequential Thinking)。请参阅 **[addon 指南](docs/guides/addons.md)** 或 [浏览它们全部](https://leanctx.com/addons/)。 ## 发展方向LeanCTX 正从一个单一的上下文*层*发展为面向整个团队的完整**认知上下文层**:版本控制的上下文策略、统一的图谱,以及跨多个代理的治理层。 - **Context Time Machine → 托管历史记录** — 快照引擎、仪表盘重放、恢复以及基于文件的签名共享/导入已交付(见上文);下一步是为托管、版本化的上下文历史建立 `ctxpkg.com` 注册表,以及并排的模型视图 | git-diff 重放。贯穿 LeanCTX 所做一切的时间轴 — 它*决定、记忆、保护、证明并重放*。([概念 →](docs/concepts/context-time-machine.md)) - **Context as Code** — TOML 中的声明式 pipeline、配置文件和策略,像基础设施一样进行版本控制 - **统一上下文图** — 代码、测试、提交、CI 运行和知识条目位于单个语义图中 - **代理框架** — 用于多代理治理的角色、预算和工具权限 - **上下文可观测性** — 上下文消耗的 SLO、异常检测、OpenTelemetry / Prometheus 导出 完整的路线图位于 **[VISION.md](VISION.md)** 中。 ## 工作原理 (30 秒了解) LeanCTX 在**两个层面**上运作 — 你的代理 *读取* 什么以及它们 *发送给模型* 什么: ``` read path: AI tool → (MCP tools + shell) → lean-ctx → your repo + CLI wire path: AI tool → lean-ctx proxy → model provider (every request, compressed) ``` - **MCP 服务器** *(读取路径)*:暴露 `ctx_*` 工具(读取模式、缓存、增量、搜索、记忆、多代理) - **Shell hook** *(读取路径)*:透明地压缩常用命令,使 LLM 看到的噪音更少 - **请求代理** *(传输路径,可选)*:`lean-ctx proxy enable` 在你的代理和模型之间放置一个本地代理,用于压缩**每个请求** — system prompt、完整历史记录和 tool 结果 — 对 prompt 缓存安全,并具有可衡量的 USD 花费。它还可以在不破坏该缓存的情况下,在 OpenAI、Anthropic 和 Gemini 之间固定 **同一个 reasoning-effort 级别** (`proxy.effort`),通过缓存安全的冗长控制加上测量的保留来削减 **输出** token,并将**易失字段**(日期、UUID、提交 SHA)移出可缓存的前缀,从而使稳定的 system prompt 最终得以缓存。每次重写都是可逆的(内容寻址恢复),并且在契约上是字节稳定的。与独立的请求压缩代理(例如 Headroom)处于同一层 — 你不需要在其之上再叠加一个。 - **属性图**:多边代码图支持影响分析、相关文件发现和搜索排名 - **Session 记忆**:通过结构化恢复持久化状态,使得长时间运行的工作永远不会“冷启动” - **Context Manager**:用于实时查看上下文窗口内容的浏览器仪表盘 ## 开始使用 (60 秒) ``` # 1) 安装(任选其一) curl -fsSL https://leanctx.com/install.sh | sh # universal (no Rust needed) brew tap yvgude/lean-ctx && brew install lean-ctx # macOS / Linux npm install -g lean-ctx-bin # Node.js cargo install lean-ctx # Rust pi install npm:pi-lean-ctx # Pi Coding Agent # 2) 连接你的 AI 工具(零提示,合理默认值) lean-ctx onboard # or: lean-ctx setup (guided, full control) # 3) 验证 lean-ctx doctor # 4) 重启你的 shell + AI 工具,正常使用,然后查看效果 lean-ctx gain # savings appear after your AI's first lean-ctx call ``` 在引导(onboarding)之后,重启你的 shell 和编辑器/AI 工具一次,以便激活 MCP + hook。在你的 AI 工具进行第一次 lean-ctx 调用之前,`lean-ctx gain` 都会是空的 — 这是正常的,并不是配置错误。 **在 Windows 上从源码构建?** 复刻仓库并在 PowerShell 中运行 `./install.ps1` — 它会构建 release 二进制文件并将其安装到 Cargo 的 bin 目录中(传递 `-BuildOnly` 可仅构建而不安装)。
故障排除 / 安全 - 立即禁用(当前 shell):`lean-ctx-off` - 未压缩地运行单个命令:`lean-ctx -c --raw "git status"` - 仅在 AI 代理 session 中激活:在 `~/.config/lean-ctx/config.toml` 中设置 `shell_activation = "agents-only"` - 针对项目的配置覆盖:在你的项目根目录中创建 `.lean-ctx.toml`(与全局配置自动合并) - 共享 `/workspace` 的 Docker 项目:创建一个包含唯一名称的 `.lean-ctx-id` 以防止上下文冲突 - 更新:`lean-ctx update` - 诊断(可分享):`lean-ctx doctor --json`
## 从你自己的代码中使用 (SDK) 除了 CLI,lean-ctx 还发布了相关库,以便你可以直接从你的应用中调用它。 **直接替换的 prompt 压缩 — [`lean-ctx-sdk`](https://pypi.org/project/lean-ctx-sdk/) ([npm](https://www.npmjs.com/package/lean-ctx-sdk))。** 在聊天式 `messages` 数组到达任何模型之前对其进行压缩 — 确定性且对 prompt 缓存友好;图像、tool-call 和 ID 原样通过。 ``` # pip install lean-ctx-sdk from lean_ctx import compress messages = compress(messages, model="claude-sonnet-4") ``` ``` // npm install lean-ctx-sdk import { compress } from "lean-ctx-sdk"; messages = await compress(messages, { model: "gpt-4o" }); ``` 包含框架适配器(LiteLLM、LangChain、Vercel AI SDK)。→ **[compress() cookbook](docs/guides/compress-sdk.md)** **轻量级 `/v1` 契约客户端 — [`lean-ctx-client`](https://pypi.org/project/lean-ctx-client/) ([npm](https://www.npmjs.com/package/lean-ctx-client) · [crates.io](https://crates.io/crates/lean-ctx-client))。** 封装了跨进程边界的完整 `/v1` 工具、事件和 session API — 绝不链接到引擎,因此随着 lean-ctx 的演进,它能保持稳定。 ``` pip install lean-ctx-client # Python (imports as `leanctx`) npm install lean-ctx-client # TypeScript / Node cargo add lean-ctx-client # Rust ``` 使用 `lean-ctx serve` 启动服务器,然后将客户端指向它。→ **[API 参考](https://leanctx.com/docs/api-reference/)** ## 真实场景 LeanCTX 与你一同成长。以下是大多数人实际经历的旅程 — 每一项都链接到 **[参考](docs/reference/README.md)** 中逐个函数的完整演练(每个 CLI 命令和所有 79 个 MCP 工具均有相关文档记录)。
### 🟢 你的前 60 秒 *“我刚安装好 — 接下来做什么?”* ``` lean-ctx onboard # connect every detected AI tool lean-ctx doctor # confirm you're wired up ``` 一条命令即可自动检测 Cursor/Claude/Codex/… 并配置 MCP + hook。 → **[旅程 1 — 设置与引导](docs/reference/01-setup-and-onboarding.md)** ### 📖 每日编码 *“停止重复读取相同的文件。”* ``` lean-ctx read src/server.rs -m map # API surface, ~13 tok on re-read lean-ctx -c "git status" # compressed shell output ``` 你的代理读取更少的内容并进行更智能的搜索 — 全自动。 → **[旅程 2 — 日常使用](docs/reference/02-daily-use.md)**
### 🧠 从中断的地方继续 *“我的新聊天忘记了所有事情。”* ``` lean-ctx overview # task-aware project recap lean-ctx knowledge recall "auth" # facts that survive resets lean-ctx knowledge consolidate # import session + compact lifecycle lean-ctx knowledge consolidate --all # compact every project store ``` Session 记忆 + 项目知识图谱可跨聊天持久化。 → **[旅程 3 — 记忆与知识](docs/reference/03-memory-and-knowledge.md)** ### 🗺️ 理解新代码库 *“这个函数会波及到哪里?”* ``` lean-ctx graph impact src/auth.rs # blast radius lean-ctx smells scan # code-smell hotspots ``` 多边属性图支持影响分析 + 排名搜索。 → **[旅程 4 — 代码智能](docs/reference/04-code-intelligence.md)**
### 🔌 提供商与多仓库 *“拉取 GitHub issue 和我们的 Postgres schema。”* ``` lean-ctx provider list lean-ctx serve --root ./api --root ./web # multi-repo ``` 外部数据流经相同的合并 pipeline。 → **[旅程 5 — 高级与集成](docs/reference/05-advanced.md)** ### 🛠️ 保持健康 *“更新、修复或彻底移除。”* ``` lean-ctx doctor --fix lean-ctx update ``` 自我修复诊断;精准卸载,仅移除其自身相关的代码块。 → **[旅程 6 — 生命周期与故障排除](docs/reference/06-lifecycle.md)**
### 🎛️ 掌控窗口 *“像专业人士一样规划我的上下文预算。”* ``` lean-ctx plan "refactor billing" --budget 8000 lean-ctx compile --mode balanced ``` Phi 评分规划 + 背包编译 + 上下文账本。 → **[旅程 7 — 上下文工程](docs/reference/07-context-engineering.md)** ### 🤝 运行代理团队 *“在同一个仓库上运行规划者 + 编码者 + 审查者。”* ``` ctx_agent action=register role=dev ctx_handoff action=create # baton-pass with full context ``` 共享消息总线、日志、知识和确定性切换。 → **[旅程 8 — 多代理协作](docs/reference/08-multi-agent.md)**
### 🏢 跨团队 / CI 共享 *“一个共享的索引,在 pipeline 中实现无头运行。”* ``` lean-ctx team serve --config team.toml lean-ctx bootstrap # zero-prompt CI setup ``` 作用域 token,可选的云同步,可验证的上下文阈值。 → **[旅程 9 — 团队、云与 CI](docs/reference/09-team-cloud-ci.md)** ### 🎚️ 调优与治理 *“让它完全按照我们的意愿行事。”* ``` lean-ctx compression standard lean-ctx harden # enforce token discipline ``` 压缩级别、工具配置文件、主题和规则治理。 → **[旅程 10 — 定制与治理](docs/reference/10-customization-and-governance.md)**
### 📊 证明收益 *“给我看数据。”* ``` lean-ctx gain --deep # savings, cost, per-agent, heatmap lean-ctx wrapped # shareable recap (also: gain --svg / gain --share) lean-ctx savings # verified per-event ledger (auditable; savings verify) ``` 所有分析数据都存在于 CLI/仪表盘中 — 绝不白白消耗代理 token。 → **[旅程 11 — 分析与洞察](docs/reference/11-analytics-and-insights.md)** ### 📚 完整参考 *“我想阅读所有内容。”* 以用户旅程形式组织的每条命令和所有 81 个 MCP 工具,外加 [CLI 导图](docs/reference/appendix-cli-map.md)、 [MCP 工具](docs/reference/appendix-mcp-tools.md) 和 [路径与配置](docs/reference/appendix-paths-and-config.md) 的附录。 → **[参考索引](docs/reference/README.md)**
## 支持的 IDE 与 AI 工具 LeanCTX 是一个标准的 **MCP 服务器**,因此它适用于任何兼容 MCP 的客户端。针对每个代理会自动选择两种集成模式: | 模式 | 工作原理 | 最适合 | |---|---|---| | **Hybrid** | MCP 用于缓存读取(约 13 token) + shell hook 用于命令压缩 | 具有 shell 访问权限的代理(Cursor、Claude Code、Codex 等) | | **MCP** | 通过 MCP 协议使用全部 80 种工具,无 shell hook | 仅限协议的代理(JetBrains、VS Code、Zed 等) | ### 代理兼容性矩阵 | 代理 | Hybrid | MCP | 设置 | |---|:---:|:---:|---| | Cursor | ● | | `lean-ctx init --agent cursor` | | Claude Code | ● | | `lean-ctx init --agent claude` | | CodeBuddy | ● | | `lean-ctx init --agent codebuddy` | | Augment CLI / VS Code | ● | | `lean-ctx init --agent augment` | | Codex CLI | ● | | `lean-ctx init --agent codex` | | Gemini CLI | ● | | `lean-ctx init --agent gemini` | | Windsurf | ● | | `lean-ctx init --agent windsurf` | | GitHub Copilot | ● | | `lean-ctx init --agent copilot` | | CRUSH | ● | | `lean-ctx init --agent crush` | | Hermes | ● | | `lean-ctx init --agent hermes` | | OpenCode | ● | | `lean-ctx init --agent opencode` | | Pi | ● | | `lean-ctx init --agent pi` | | Qoder | ● | | `lean-ctx init --agent qoder` | | Amp | ● | | `lean-ctx init --agent amp` | | Cline | ● | | `lean-ctx init --agent cline` | | Roo Code | ● | | `lean-ctx init --agent roo` | | Kiro | ● | | `lean-ctx init --agent kiro` | | Antigravity | ● | | `lean-ctx init --agent antigravity` | | Amazon Q | ● | | `lean-ctx init --agent amazonq` | | Qwen | ● | | `lean-ctx init --agent qwen` | | Trae | ● | | `lean-ctx init --agent trae` | | Verdent | ● | | `lean-ctx init --agent verdent` | | Aider | | ● | `lean-ctx init --agent aider` | | Continue | | ● | `lean-ctx init --agent continue` | | JetBrains IDEs | | ● | `lean-ctx init --agent jetbrains` | | QoderWork | | ● | `lean-ctx init --agent qoderwork` | | VS Code | | ● | `lean-ctx init --agent vscode` | | Zed | | ● | `lean-ctx init --agent zed` | | Neovim | | ● | `lean-ctx init --agent neovim` | | Emacs | | ● | `lean-ctx init --agent emacs` | | Sublime Text | | ● | `lean-ctx init --agent sublime` | ### 何时使用(以及何时不使用) **非常适合你,...** - 每天使用 AI 编码工具,并且你的 session 频繁使用 shell(git/测试/构建) - 在中型/大型仓库(50+ 个文件 / monorepo)中工作 - 想要一个默认 **无遥测** 的本地优先层 **跳过它,如果你...** - 主要在微型仓库中工作,并且很少从你的 AI 工具中调用 shell - 始终需要原始/未过滤的日志(你仍然可以使用 `--raw`,但 ROI 较低) 诚实的附带说明:收益取决于三个杠杆 — **触及面**(通过代理/引擎拥有窗口,而不仅仅是 `ctx_*` 工具层)、**上下文生命周期**(一个长期的存活 session 与每个阶段全新的进程)和**提供商定价**(基于 prompt 缓存定价与每次对话重新计费)。当它们对齐时会叠加成明显的优势,而不对齐时则净值为**盈亏平衡**。请参阅 [优势与盈亏平衡矩阵](docs/reference/14-performance-tuning.md#win-vs-break-even-at-a-glance) 获取完整的详细分析以及如何针对每种情况进行调优。 ## 演示 在任何仓库中尝试这些命令: ``` lean-ctx read rust/src/server/mod.rs -m map lean-ctx -c "git log -n 5 --oneline" lean-ctx gain --live lean-ctx dashboard # Context Manager (browser) lean-ctx watch # TUI monitor lean-ctx benchmark report . ``` - 该仓库附带了用于在 `demo/` 中渲染 GIF 的确切 tapes - 在本地重新生成: ``` vhs demo/leanctx.tape vhs demo/gain.tape vhs demo/benchmark.tape ``` ## 基准测试 真实重现的数字 — 绝非估算。使用 GPT-4o tokenizer (`o200k_base`) 在此仓库中进行测量;未安装的工具会照此报告,绝不瞎猜。 | 读取模式 | 压缩率 | Token (50 个文件) | 质量 | |---|---:|---:|---:| | 原始读取 | 0% | 457.6K | 100% | | `map` | **97.7%** | 8.9K | 83% | | `signatures` | **97.0%** | 11.8K | 92% | | 缓存重新读取 | ~99.99% | ~13 tok | 100% | 准确性并不是凭感觉:有损阶段是受 **CI 阈值控制** 的。一个无模型的 A/B 阈值证明了 JSON 压缩器在削减 token 的同时保留了 *每一个* 黄金答案,并且代理重写在契约上是字节稳定的,因此 Anthropic (90%) / OpenAI (50%) 的 prompt 缓存折扣能够在压缩后依然生效。确定性的 **开关对比测试台** (`lean-ctx eval testbench`) 将证明扩展到了 *答案*:它通过原始转储基线和在相同 token 预算下的 lean-ctx 运行固定的真实仓库,使用 LLM 裁判对自由格式的 QA 进行评分,并使用每个仓库自己的测试对代码进行评分,然后生成 `FINDINGS.md`(token / 轮次 / 挂钟时间 / 质量)以及一个回归文件 — 并带有已提交的记录子集,一旦发生任何回归就会阻止 CI。 - **最新快照**:[BENCHMARKS.md](BENCHMARKS.md) - **重现**:`lean-ctx benchmark report .` ## 数据一览 - **2,900+ GitHub Star** — 并且还在增加 - **280+ Fork** — 活跃的社区贡献 - **200+ 个发布版本** — 自推出以来几乎每天发布 - **30+ 支持的 AI 编码代理** — 最广泛的 MCP 兼容性 - **81 个 MCP 工具** — 从简单的文件读取到多代理编排 - 被日常运行 Claude Code、Cursor 和 Codex 的团队用于生产环境 - **实时采用指标**:[leanctx.com/metrics](https://leanctx.com/metrics/) — 安装量、Star 数和节省量,持续更新 ## 文档 - **参考(按用户旅程划分的每个功能)**:[docs/reference/](docs/reference/README.md) — 11 个旅程 + CLI/MCP/配置附录 - **适用于 AI 代理 / LLM**:[llms.txt](llms.txt) — 一份精选的、机器可读的 lean-ctx 导图(基于 [llms.txt](https://llmstxt.org) 规范) - 入门指南:https://leanctx.com/docs/getting-started - 工具参考:https://leanctx.com/docs/tools/ - CLI 参考:https://leanctx.com/docs/cli-reference/ - 什么是 LeanCTX:https://leanctx.com/what-is-leanctx/ - 对比(与 RTK、Context+、MemGPT):https://leanctx.com/compare/ - 定价与云(本地使用永久免费):https://leanctx.com/pricing/ - 常见问题:[discord-faq.md](discord-faq.md) - 功能目录(SSOT 快照):[LEANCTX_FEATURE_CATALOG.md](LEANCTX_FEATURE_CATALOG.md) - Monorepo 指南:[docs/guides/monorepo.md](docs/guides/monorepo.md) - 架构:[ARCHITECTURE.md](ARCHITECTURE.md) - 愿景:[VISION.md](VISION.md) ## 隐私与安全 - **默认无遥测** - **可选的匿名统计数据共享**(在设置期间选择加入) - **可禁用的更新检查**(配置 `update_check_disabled = true` 或 `LEAN_CTX_NO_UPDATE_CHECK=1`) - **v3.5.16 中有 40 多项安全加固修复**(路径遍历、注入、CSPRNG、CSP、资源限制 — [详情](CHANGELOG.md)) - 在本地运行;除非你明确启用云同步,否则你的代码永远不会离开你的机器 请参阅 [SECURITY.md](SECURITY.md)。 ## 卸载 一条命令即可移除 **所有内容** — 它会停止所有进程,然后删除 hook、编辑器配置、规则、自启动(LaunchAgent/systemd)、数据目录,**以及二进制文件本身**: ``` lean-ctx uninstall # full clean removal lean-ctx uninstall --dry-run # preview every change, write nothing lean-ctx uninstall --keep-config # keep MCP configs + rules (for reinstall) lean-ctx-off # or just disable for the current shell session ``` PATH 中没有二进制文件(或者你使用了 curl 安装程序)?从安装程序运行相同的移除命令: ``` curl -fsSL https://leanctx.com/install.sh | sh -s -- --uninstall ``` 如果你是通过包管理器安装的,`uninstall` 会删除它写入的所有内容,并告诉你完成移除二进制文件所需的那一条命令: ``` brew uninstall lean-ctx # Homebrew cargo uninstall lean-ctx # cargo install npm uninstall -g lean-ctx-bin # npm pi uninstall npm:pi-lean-ctx # Pi Coding Agent ``` ## Star 历史 Star History Chart ## 贡献 从 [CONTRIBUTING.md](CONTRIBUTING.md) 开始。简单的首个 PR:通过 [issue 模板](.github/ISSUE_TEMPLATE/compression_pattern.md) 提出新的 CLI 压缩模式。 ## 许可证 Apache License 2.0 — 请参阅 [LICENSE](LICENSE)。
标签:AI智能体, MCP, Rust, Token压缩, 上下文工程, 可视化界面, 大模型, 暗色界面, 本地部署, 网络流量审计, 通知系统