mcpField
L
lethe

lethe

本地服务
github.com/JesusGarcia9009记忆与知识016 周前更新

关于 lethe

LETHE 是用于管理 LLM Agent 实时上下文的 MCP 服务和 Python 库。它将大型输出无损归档到上下文窗口之外,并按句柄或关键词取回。

主要功能

  1. 01大型输出无损归档
  2. 02按句柄或关键词取回
  3. 03状态查询
  4. 04Python 上下文预算管理
  5. 05启发式区块评分与淘汰

适用场景

  1. 01减少长时间 Agent 任务的上下文占用
  2. 02按需取回先前的工具输出
  3. 03让 Agent 循环保持在令牌预算内

MCP 相关

MCP 服务向 MCP 客户端提供 `lethe_archive`、`lethe_recall` 和 `lethe_status`。内容移至外部存储后,窗口中仅保留句柄;Agent 可显式请求取回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jesusgarcia9009-lethe": {
"command": "uvx",
"args": [
"lethe-llm-context"
],
"env": {
"LETHE_DB": "<LETHE_DB>"
}
}
}
}
启动命令uvx lethe-llm-context
需要配置的环境变量
LETHE_DBPath to the SQLite archive file (default ./lethe.db)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilethe-llm-context0.6.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

LETHE

实时临时令牌与历史引擎 — 将大型工具输出移出 LLM Agent 的上下文,并按需取回,让长任务消耗更少令牌。

PyPI Python MCP Registry License: Unlicense

🌍 此 README 为双语版本。English · Español

LETHE 归档大型工具输出并按需取回,以节省令牌


🔌 在 Claude Code 或 Codex 中使用(立即节省令牌)

LETHE 以 MCP 服务 的形式提供。只需两行配置,Agent 就能将大型输出移出上下文,并按需取回 — 每个长任务都能减少令牌消耗。/ LETHE viene como servidor MCP. Dos líneas y tu agente saca outputs grandes del contexto y los recupera cuando los necesita — menos tokens en cada tarea larga.

Claude Code:

pip install "lethe-llm-context[mcp]"
claude mcp add lethe -- lethe-mcp

Codex: 在 ~/.codex/config.toml 中添加 MCP 配置块 — 请参阅 integrations/codex/mcp-config.md。

然后添加引导技能,让 Agent 自行归档: integrations/claude-code/SKILL.md。

提供的工具:lethe_archive · lethe_recall · lethe_status。 完整指南:integrations/claude-code/mcp-config.md。


▶️ 查看运行效果(无需 API 密钥)/ Míralo funcionar (sin API key)

python -m lethe.examples.mcp_demo
  LETHE — offload big tool outputs, recall on demand, save tokens

The agent runs 4 commands. Each returns a wall of text:

  → build.log               857 tok in context  —archive→  stub '[paged: build.log | handle=6d48a1c2]'
  → pytest.txt              479 tok in context  —archive→  stub '[paged: pytest.txt | handle=1e56b0f4]'
  → db_dump.json            829 tok in context  —archive→  stub '[paged: db_dump.json | handle=ec02...]'
  → trace.txt               414 tok in context  —archive→  stub '[paged: trace.txt | handle=d888...]'

lethe_status:  4 blocks archived, 2579 tokens moved out of context

30 steps later the agent needs a buried fact. It recalls by keyword:

  lethe_recall("launch_code")  →  found launch_code = 4242 (rehydrated losslessly from the archive)

  Context window cost
    without LETHE :  2579 tok  (everything stays resident)
    with LETHE    :    38 tok  (only tiny stubs remain)
    saved         :  2541 tok  (-99%)

此处运行的是 MCP 工具使用的相同逻辑 — lethe_archive / lethe_recall / lethe_status。


English

LETHE 是什么(如实介绍当前功能)

当大模型 Agent 执行长任务(数十到数百个步骤)时,上下文窗口会被曾经有用、如今已不再需要的内容填满:过时的工具输出、30 步之前读取的文件、大型 JSON 转储。这意味着每轮消耗更多令牌、成本更高,最终还会触及上下文上限。

LETHE 为 Agent 提供一个外部、无损的临时存储区,让繁重内容留在上下文窗口之外,窗口内只保留一个很短的引用句柄。使用方式有两种:

1. 作为 MCP 服务使用(上述安装方式)。 Agent 对大型输出调用 lethe_archive(content),只保留返回的 4–8 字符句柄;之后调用 lethe_recall(handle) 或 lethe_recall("keywords"),取回完整文本。任何内容都不会被删除 — 取回过程无损。引导技能会告诉 Agent 何时执行这些操作,因此几乎可以自动完成。此方式不依赖特定提供商:可用于任何 MCP 宿主(Claude Code、Codex)。

2. 作为 Python 库使用(循环内上下文 GC)。 ContextManager 会在你的 Agent 循环中运行自动处理:启发式的 Curator 会为每个内容块评分(依据新近程度、后续内容是否引用该块、内容块类型,以及可选的廉价模型相关性调用);Archivist 则会将最冷门的内容块分页移至存储区 — 无损保留原内容并留下存根 — 以便将工作集控制在令牌预算之内。被引用的句柄会按需分页载回。

请明确其工作机制。 MCP 服务不能悄悄改写宿主的上下文窗口。LETHE 通过为 Agent 提供明确的移出/取回工具以及让这些操作几乎自动完成的技能来工作 — 并非依靠魔法。坦诚说明这一点正是本项目的初衷。

✅ 目前可用的功能与 🗺️ 路线图规划

下方的多提供商、集成和语义检索设计是长期愿景, 而非当前已实现的内容。以下是实际情况:

功能状态
MCP 服务:archive / recall / status,无损✅ 可用,已发布
用于近乎自动卸载的引导技能✅ 可用,已发布
Python 库:启发式 Curator + 预算驱逐 + 无损分页✅ 可用,已测试
大海捞针验证(工作集控制在预算内,并成功找回事实)✅ 1721→199 tok,约减少 88%
Curator 中可选的轻量模型相关性评分✅ 可用(Claude / 任意适配器)
召回搜索🟡 词法/关键词(SQLite FTS5),尚非语义搜索
Compactor(将冷运行总结为精简笔记)🟡 已在代码库中,尚未接入自动循环
提供商🟡 目前支持 Claude + 一个测试适配器;GPT/Gemini/Llama 已设计,尚未构建
集成整理(多模型投票)🗺️ 愿景,尚未启动
嵌入 / 语义检索🗺️ 愿景,尚未启动
一行式 wrap() 即插即用🗺️ 愿景,尚未启动
完整评测工具集(LoCoMo、消融实验、延迟)🗺️ 目前仅有大海捞针评测

每个里程碑都会以带标签的版本发布——完整说明见 CHANGELOG.md。

思维模型(操作系统类比)

LETHE 的设计类似于管理虚拟内存的操作系统。这个类比指导着架构;上方的 ✅/🟡 标明了目前有多少功能可自动运行。

操作系统LETHE
物理 RAM上下文窗口(工作集)
磁盘外部存储(SQLite / 内存)
页表项留在上下文中的存根 / 句柄
缺页时调入重新加载已驱逐的区块
驱逐策略Curator(相关性评分)——目前为 ✅ 启发式
冷页压缩Compactor(整合笔记)——🟡 尚未接入
锁定 / 不可换出的内存固定区块
LETHE 与 Agent 记忆库的区别

Mem0、Zep、Letta 等工具会跨会话保存事实。LETHE 的目标正好相反: 管理运行中循环的实时会话内工作上下文——决定此刻在窗口中保留什么。它与长期记忆产品互为补充,而非竞争关系。这一区别是否足够重要,仍有待上方的路线图证明。

快速入门(无需 API 密钥)
python -m pytest -q                  # run the full test suite, including the needle test
python -m lethe.examples.fake_loop   # WATCH it work: live view, blocks paging out, budget held
Claude 实际演示
$env:ANTHROPIC_API_KEY="sk-..."   # PowerShell
python -m lethe.examples.claude_loop
设计文档
  • docs/specs/2026-06-12-lethe-vertical-slice-design.md — 已构建功能切片的获批设计
  • docs/LETHE_engineering_design.md — 完整的长期工程愿景(多提供商、 集成、嵌入)。请将其视为路线图,而非当前状态。
许可证

根据 Unlicense 将其发布到公有领域。任何人、任何地方均可免费使用。


西班牙语

LETHE 是什么(现状,坦诚说明)

当 LLM Agent 执行一项耗时较长的任务(几十步或数百步)时,它的上下文窗口会被一些曾经有用、如今却不再有用的内容填满:过时的工具结果、30 步前读取的文件、庞大的 JSON 转储。这意味着每轮需要更多 token、更高成本,最终还会遇到上下文上限。

LETHE 为 Agent 提供了一个外部、无损存储库,让大量内容存放在上下文窗口之外,而窗口内只保留一个很短的句柄。两种使用方式:

1. 作为 MCP 服务(上方的安装方式)。 Agent 对大量输出调用 lethe_archive(content),只保留 4–8 个字符的句柄;之后调用 lethe_recall(handle) 或 lethe_recall("palabras"),取回完整文本。任何内容都不会被删除——召回是无损的。引导技能会告诉 Agent 何时这样做,因此几乎可以自动完成。这种方式不依赖特定供应商:适用于任何 MCP 主机(Claude Code、Codex)。

2. 作为 Python 库(在循环内进行上下文垃圾回收)。 ContextManager 会在你的循环中自动运行一轮处理:启发式 Curator 为每个块评分(考虑新近程度、后续块是否引用了它、块类型,以及可选的廉价模型调用),Archivist 则将较冷的块分页到存储库中——无损保留并留下存根——以便将工作集控制在 token 预算以内。被引用的句柄会按需重新分页到内存中。

我们坦诚说明其机制。 MCP 服务无法悄无声息地重写主机的上下文窗口。LETHE 通过向 Agent 提供明确的卸载/召回工具,并配合一项让工具使用几乎自动化的技能来发挥作用——并非靠魔法。这份坦诚正是重点。

✅ 现已可用 vs. 🗺️ 路线图规划

下方的多供应商设计、集成和语义检索是长期愿景,并非已实现的功能。坦诚地说:

能力状态
MCP 服务:无损的 archive / recall / status✅ 可用,已发布
用于近乎自动卸载的引导技能✅ 可用,已发布
库:启发式 Curator + 按预算驱逐 + 无损分页✅ 可用,已通过测试
大海捞针测试(工作集低于预算,数据可恢复)✅ 1721→199 tok,减少约 88%
Curator 中可选的廉价模型评分✅ 可用(Claude / 任意 adapter)
召回搜索🟡 词法/关键词搜索(SQLite FTS5),尚无语义搜索
Compactor(将较冷的运行记录总结为精简笔记)🟡 已写入代码,尚未接入循环
供应商🟡 目前支持 Claude + 一个测试 adapter;GPT/Gemini/Llama 已设计,尚未构建
集成式整理(多模型投票)🗺️ 愿景,尚未开始
基于嵌入的检索/语义检索🗺️ 愿景,尚未开始
一行式即插即用 wrap()🗺️ 愿景,尚未开始
完整评测框架(LoCoMo、消融实验、延迟)🗺️ 目前仅有 needle 评测

每个里程碑都会作为带标签的版本发布——完整说明见 CHANGELOG.md。

心智模型(类比操作系统)

LETHE 的设计理念类似于管理虚拟内存的操作系统。这个类比为架构提供指导;上方的 ✅/🟡 表示目前已有多少功能可以自动运行。

操作系统LETHE
RAM上下文窗口(工作集)
磁盘外部存储库(SQLite / 内存)
页表项保留在上下文中的存根/句柄
缺页时调入页面重新载入被驱逐的块
驱逐策略Curator(评估相关性)——如今已实现启发式评分 ✅
冷页面压缩Compactor(整合笔记)——🟡 尚未接入
固定/不可交换内存固定块(pinned)
与 Agent 记忆库有何不同

Mem0、Zep、Letta 等会在不同会话之间持久化事实。LETHE 的目标恰恰相反: 管理运行中循环的会话实时上下文——决定此刻在窗口中保留什么。这与长期记忆产品互为补充,而非竞争关系。 这一差异是否至关重要,仍有待上文的路线图证明。

快速开始(无需 API key)
python -m pytest -q                  # corre toda la suite, incluida la prueba de la aguja
python -m lethe.examples.fake_loop   # VELO funcionar: vista en vivo, bloques paginándose, presupuesto sostenido
使用真实 Claude 的演示
$env:ANTHROPIC_API_KEY="sk-..."   # PowerShell
python -m lethe.examples.claude_loop
设计文档
  • docs/specs/2026-06-12-lethe-vertical-slice-design.md — 已批准的已构建切片设计
  • docs/LETHE_engineering_design.md — 完整的长期工程愿景 (多提供商、组装、嵌入)。请将其视为路线图,而非当前状态。
许可证

根据 Unlicense 许可证发布到公有领域。人人皆可自由使用,随处皆然。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。