AIREITER
API 文档价格
模板
  • AIReiter
  • 博客
  • Funes Coding Agent Memory:Claude Code + Codex 配置指南

Funes Coding Agent Memory:Claude Code + Codex 配置指南

最后更新: 2026-09-03 19:26:58

一次排查里,你可能花了一个小时才理清为何要改动解析器;换到下一个 agent 或开启新任务后,这些关键上下文却往往随之消失。Funes 会在本地索引 agent 会话,带着来源信息返回原始证据,并可让 Claude Code、Codex、pi 和 Hermes 共用一份 memory。但有一点必须明确:Funes 负责找回历史,至于旧决策是否仍适用于当前情况,仍需由你的 agent 判断。

本文以 Claude Code → Codex 的实际配置为主线,同时介绍纯本地 memory、可选的 Hugging Face 同步、通用 MCP 客户端,以及如何确保召回的历史真正可靠可用。

先划定 memory 的边界,再开始安装

如果你正在评估 Funes,或处理敏感仓库,建议先从本地 memory 开始。只有在需要跨机器或团队共享同一份历史时,再绑定 Hugging Face dataset。

模式存储位置适合的起步场景主要注意事项
local本地 Lance dataset一位开发者、一台机器memory 不会自动跟随你迁移到另一台主机
<org>/<repo>本地 Lance 数据加一个 Hugging Face Dataset repository在不同 agent 或机器之间切换会话轨迹中可能包含敏感代码、prompt、路径或凭据

Funes security policy 表示,默认情况下,解析、分块、embedding 和 reranking 都在本地完成。只有运行 funes push,或使用会在会话边界发布数据的 shared-memory integration 时,数据才会离开机器。由 Hub 支持的 memory 本质上是一个 dataset repository,因此首次 push 前务必确认其可见性设置。

首次试用建议选择 local。之后如需切换绑定,只要重新运行 funes add <agent> <memory> 即可。

安装 Funes,并建立第一份索引

官方 Funes repository 提供了 shell 安装脚本:它会识别平台、下载带标签的二进制文件、校验发布 checksum,并默认把可执行文件放到 PATH 中的 ~/.local/bin:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh

如果系统暂时找不到 funes,请打开一个新 shell,然后检查安装状态:

funes status

该 repository 提供 Linux x86_64、Linux aarch64 和 macOS Apple Silicon 的带标签二进制文件。若你的平台不在列表中,请使用项目的从源码构建说明,不要默认预编译安装脚本一定适用。

五分钟完成首次初始化

在需要保留历史的 agent 会话已经存在的机器上,运行:

funes add claude

对于 Claude Code,这一步可以建立首个索引、注册读取工具、安装 integration automation,并持续索引已完成的 turn。首次处理采用 text-first 策略,文档称确认后约需一分钟。它会优先处理文本与推理内容,再处理体积庞大的工具输出。(Funes setup documentation)

随后查看当前状态:

funes status

如果需要手动初始化或刷新 Claude 会话,请使用:

funes index --harness claude

未指定路径时,funes index 会搜索 Claude、Codex、pi 与 Hermes 的标准会话目录,其中包括 ~/.claude/projects 和 ~/.codex/sessions。指定 --harness claude 后,扫描范围会限制为 Claude Code。indexing guide 还说明,未指定路径的刷新约有 60 秒的 text-first 处理预算;较早的会话和大型工具结果可能需要后续处理才能补齐。

Funes 的索引是增量式的,因此重复运行不会再次对已写入的 chunk 执行 embedding。显式指定的 transcript 路径与 Hub trace repositories 会完整建立索引,不受无路径模式处理预算的限制。(Indexing details)

为 Claude Code 接入 Funes

要为 Claude Code 使用本地 memory,请运行:

funes add claude local
funes status

local 是默认值,因此也可以省略。如果终端中可用 HF token,Funes 可能会询问是否配置一个归你所有的 <user>/funes-memory repository;如果只是进行纯本地试用,请拒绝该提示。

Claude integration 使用仅含 hooks 的 plugin,并另行注册 MCP。Funes 不会修改 Claude Code 的 settings.json;它的 automation 会索引已完成的 turn,而 shared-memory configuration 则会在会话边界增加发布操作。(Automation behavior)

打开 Claude Code 后,不要只看安装是否成功,应使用一个已知的历史决策进行测试:

Find the previous decision about the streaming parser. Use Funes recall if the repository history does not explain it, and cite the session you used.

理想结果应当指向较早的一段内容,标明对应的 session,并能区分旧实验与当前仓库状态。

若想移除 integration 而不删除已存数据,运行:

funes remove claude

removal documentation 说明,这会移除 Funes 的接入配置,但会保留本地 memory、原始 transcripts、缓存以及已发布的 memory。

让 Codex 读取同一份 memory

Claude Code 工作正常后,将 Codex 接入相同的本地 memory:

funes add codex local
funes status

如果要使用由 Hub 支持的 shared memory,两个 agent 都应使用同一个 repository identifier:

funes add claude <org>/<repo>
funes add codex <org>/<repo>

Codex 有一个很容易遗漏的信任步骤。Funes 会将 hooks 写入 ~/.codex/hooks.json;进入 Codex 后,运行 /hooks,检查 Funes 条目并将其设为 trusted。在 hooks 被信任之前,Codex 会跳过它们,因此新 turn 不会被索引,memory 也不会发布。文档中的 bound-memory workflow 要求 Codex 版本为 0.151.0。(Codex automation requirements)

做一次真正的跨 agent 交接测试

选择一个只在其中一个 session 出现过、且足够有辨识度的决策:

  1. 在 Claude Code 中找到解析器决策,并记下讨论里的一个独特术语。
  2. 结束该 session,让索引与边界 automation 有机会运行。
  3. 在 Codex 中询问这个术语,并要求给出此前的推理过程。
  4. 确认响应将 Claude 标识为 source harness,并指向原始 session 或 turn。

你也可以直接在终端中检查证据:

funes recall "why did we switch away from the streaming parser"

recall 返回的是排序后的原始段落,而不是生成式摘要。每个命中结果都会包含来源信息和一条生成的 get 命令;若要查看周边 turn,请复制并执行该命令。

如果 Codex 没有返回任何结果,请检查版本、/hooks 的 trust 状态、funes status,以及 Claude session 是否早于 integration 的配置时间。随后使用原始讨论中的独特术语再次尝试。

接入 pi、Hermes 或其他 MCP 客户端

除 Claude Code 和 Codex 外,Funes 还直接支持 pi 与 Hermes。Pi 使用 extension events;Hermes 使用 shell hooks,其按 turn 索引的功能在文档中仍标注为 beta。(Supported-agent details)

对于这四种之外兼容 MCP 的客户端,可将 Funes 作为本地 stdio server 运行:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp"]
    }
  }
}

如需将 server 绑定到 shared memory,请在 mcp 后加入 repository:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp", "<org>/<repo>"]
    }
  }
}

MCP documentation 提供 recall、get 和 status。funes mcp 为只读模式:它不会索引会话,也不会发布数据。这些工作需要通过 funes index、funes push 或受支持的 funes add integration 完成。

单次 MCP 调用中指定的 memory 会覆盖 server 层级的绑定。两者都未指定时,Funes 使用本地 memory。

用 recall 找回历史,但不要放弃核验依据

Funes 提供三种不同的使用方式:

命令输出适用场景
funes recall "…"带 provenance 的原始段落排序结果需要自行检查证据
funes get …被引用的 turn 及其周边上下文命中内容相关,但信息仍不完整
funes ask <agent> "…"一条有依据的自然语言答案希望从 Claude 或 Codex 快速得到答案,但不想安装 integration

文档列出的 recall 默认参数包括:8 个命中结果、30 条结果的 reranked candidate pool、30 天的 recency half-life,以及 1 个相邻 chunk。(Recall flags and defaults)

一套可靠的调试流程如下:

  1. 使用错误信息、组件名称或决策短语运行 funes recall。
  2. 根据生成的 get 命令查看完整 turn。
  3. 将找回的决策与当前 branch 对照。
  4. 进行改动或运行实验。
  5. 用实验结果再次 recall,方便下一次 session 找到它。

funes ask 的范围更窄。它会先执行检索,再把选中的段落和你的问题交给 Claude 或 Codex,生成一条答案。子 agent 不会获得 tools、stdin 或 MCP servers,也无法在首次匹配不佳后重新检索。虽然检索在本地完成,但问题与召回段落会发送给所选 agent 配置的 provider。因此,ask documentation 建议:对于不希望发送给该 provider 的内容,应使用 funes recall。

让 memory 保持可信,也便于长期维护

Funes 会保留原始段落和 provenance,但无法替你判断每一个历史 workaround 是否依然适用。

“当 memory 只是朴素的基础设施——本地索引、精确 provenance、默认私有——coding agents 就会少很多奇怪行为。” — @TheArtemisHunts on X

一份简短的生产环境检查清单

情况检查项处理方式
Codex 没有召回结果Hook trust 与版本运行 /hooks,信任 Funes 条目,并确认 Codex 为 0.151.0
旧会话缺失索引范围与处理层级运行 funes index --harness claude 或 --harness codex;允许后续处理补齐大型输出
远程 push 被阻止TruffleHog 与 token scope安装 TruffleHog 或设置 FUNES_TRUFFLEHOG;仅在 push 机器上使用细粒度 write token
结果中包含 secret本地 scrub 状态运行 funes scrub,然后再次 push;源 transcripts 不会被修改
远程 memory 已共享可见性与信任边界除非明确打算公开共享,否则保持 dataset 为私有;将召回的第三方文本视为不受信任的 agent input
最后一个 session 尚未上传 Hub边界时机淘汰机器前运行 funes push <org>/<repo>

Funes 会在索引期间清除凭据,并在发布前执行 fail-closed 的 TruffleHog 扫描。push documentation 指出,缺少 scanner 会阻止发布;如果有效凭据已进入远程 dataset,应立即轮换,因为对后续 commit 进行 scrub 无法抹除 repository history。

Hugging Face token 应遵循最小权限原则:负责发布的机器使用 write scope,仅用于 recall 的团队成员或主机使用 read-only scope。两台机器同时向同一个 remote memory 发布也可能产生竞争;automation documentation 并未承诺提供跨机器 serialization。

实际该怎么选

不必一开始就安装所有 integration,可以按以下场景选择起步配置:

工作流推荐配置原因
一位开发者评估持久化 memoryfunes add claude local数据共享风险最低,回退也最简单
Claude Code 负责规划,Codex 负责实现或 review将两者绑定到同一份 local memory在单台主机上保留跨 agent 的推理过程
多台机器上的 agents将两者绑定到同一个私有 <org>/<repo> memory通过 Hub dataset 让 memory 跟随开发者流转
团队项目历史私有 dataset,加上供读取者使用的 read-only tokens将发布权限与 recall 访问权限分开
不受支持的 MCP agentfunes mcp [memory]增加只读访问,同时让索引操作保持显式
敏感源材料本地 memory 加 recall避免远程发布,以及向 provider 进行一次性传输

Funes coding agent memory FAQ

Funes 是本地运行的吗?

Funes 默认在本地处理和存储 memory。它采用 local-first,而不是自动 local-only:push、shared-memory hooks 和 ask 都可能将数据发送到本地进程之外。

Funes 支持 Claude Code 和 Codex 吗?

支持。funes add 支持 Claude Code、Codex、pi 和 Hermes。Codex 的 memory binding 需要版本 0.151.0,并且 hooks 已被信任。

Funes 会自动索引会话吗?

运行 funes add 后,受支持的 integrations 会安装按 turn 索引的 automation。首次初始化有处理上限,因此旧会话和大型工具结果可能需要后续处理。

如何在 Claude Code 和 Codex 之间共享一份 memory?

为 funes add claude 和 funes add codex 传入相同的 <org>/<repo> 参数即可。Funes 会在本地保留工作索引,并在会话边界发布共享 dataset。

如果 Funes 召回了过时的决策怎么办?

先用 funes recall 检查内容,再通过生成的 get 命令展开上下文,并在采取行动前与当前 branch 对照。如果首次检索未命中,请换一种说法重新查询。

funes ask 会让数据留在我的机器上吗?

检索和 reranking 在本地完成,但 ask 会把问题和召回段落发送给已配置的 Claude 或 Codex provider。敏感证据请使用 recall。

不删除 memory 的情况下,能移除 Funes 吗?

可以。funes remove claude、funes remove codex、funes remove pi 和 funes remove hermes 会移除 integration wiring,同时保留已索引的 memory 和 source transcripts。

>_AIReiter 模型目录

快速访问与本指南相关的模型 API

Claude Opus 5

Chat

面向复杂推理、编程和长上下文专业工作的高端 Claude 模型。

Anthropic获取 API Key >

Claude Fable 5

Chat

一款用于深度推理和复杂长篇任务的高级 Claude 模型。

Anthropic获取 API Key >

Claude Opus 4.8

Chat

一款高能力的 Claude 模型,适用于高要求的推理和专业工作。

Anthropic获取 API Key >

Claude Sonnet 5

Chat

适合高级推理、编码和日常工作的均衡型 Claude 模型。

Anthropic获取 API Key >

Claude Fable 5.1

Chat

面向长程编程、研究与知识工作的 Mythos 级模型。

Anthropic获取 API Key >

最新文章

GPT-6 Astra API 评测(2026):为智能体而生,不是即插即用

2026-09-07

Kling API 集成指南:官方平台与聚合商怎么选(2026)

2026-09-07

Suno API Key 怎么获取、多少钱:2026 实用指南

2026-09-07

GPT-6 Astra 评测:$10/$50 的 API 定价值不值?

2026-09-06
AIREITER

有问题?请联系我们
[email protected]

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

GPT-6 AstraGemini 3.8 FlashClaude Fable 5.1GLM-5.3 FlashGemini 3.6 Flash

AI 视频

Gemini Omni 1.1 Flash ExtMiniMax H3Kling 3.0 Motion ControlKling 3.0 TurboKling 3.0

AI 图片

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

博客

查看全部 →

公司

隐私政策服务条款退款政策

© 2026 AIReiter。保留所有权利。