mcpField
F
Funes Vault

Funes Vault

本地服务
funesvault.com记忆与知识01 天前更新

关于 Funes Vault

Funes Vault 是一款开源 Mac 菜单栏应用,在本机保存个人记忆,并按 Agent 设置访问范围和审批流程。它通过 MCP 让不同 Agent 按权限读取或建议记忆,分享内容可由用户逐项确认。

主要功能

  1. 01记忆保存在本机
  2. 02按 Agent 配置权限和敏感度
  3. 03分享记忆前逐项审批
  4. 04将记忆建议放入收件箱审核
  5. 05记录请求活动并可暂停 Agent
  6. 06从文本、文件或导入内容添加记忆

适用场景

  1. 01为不同 Agent 限制可读取的记忆
  2. 02确认具体共享内容后再提供上下文
  3. 03审核 Agent 提议保存或更正的记忆
  4. 04将个人笔记或导入的记忆纳入资料库

MCP 相关

本机 MCP 服务向 Agent 提供记忆类别查询、请求记忆、接收已批准请求和建议记忆等工具。各 Agent 使用独立密钥,并受其读取、建议或写入权限限制。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Funes Vault

让 AI Agent 拥有你的记忆,而不是全部记忆。
一款免费的开源 Mac 菜单栏应用,将你的个人上下文保存在 Mac 上的私密保险库中,并且只按你的允许与 Claude、Cursor、Codex 和其他 AI Agent 分享。

下载 Mac 版 · 开始使用 · Agent 配置 · 更新日志

Funes Vault 首页:问候语、可通过麦克风输入记忆并点击 Remember 按钮的输入框,以及保险库过去 30 天的动态:用一句话显示本周数据;上方是按来源划分的新记忆柱状图,下方是各 Agent 分享的记忆,并用红点标出拒绝的请求。其下是记忆数量及其增长、保险库敏感度与已分享内容、12 周活动网格,以及读取保险库次数最多的 Agent。

  • 每个 Agent 只能获取你选择的内容。 每个 Agent 都有自己的密钥,以及你设定的访问权限:读取、建议或保存;可设定敏感度上限,也可选择类别。新 Agent 可以从零开始。
  • 你要批准确切的文本。 记忆发送给 Agent 之前,会在一个小面板中显示,你可以取消勾选不应发送的内容。每次批准仅使用一次,有效期为 15 分钟;任何内容发生变化,批准都会失效。
  • Agent 提出建议,由你决定。 Agent 想要记住的内容会留在收件箱中,你可以编辑、应用或拒绝。
  • 所有内容都留在你的 Mac 上。 无需账户,没有我们的服务,也不会在云端留存副本。搜索由应用内置的小型模型执行。iPhone 应用也不会保留副本:它会通过端到端加密与 Mac 通信。claude.ai 和 ChatGPT 等云端 Agent 只能通过你启动的隧道访问,且需使用远程访问(实验性功能,默认关闭)。

**状态:**公开预览版(v0.2),提供尽力支持。Funes Vault iPhone 版(iOS 18 或更高版本)可与其配对。**兼容:**Claude Code、Claude Desktop、Cursor 和 Codex,并为 VS Code(Copilot)、Gemini CLI、Zed、Cline、JetBrains AI Assistant、Devin Desktop 和其他 MCP 客户端提供现成配置。**云端访问(实验性):**可通过远程访问连接 claude.ai、ChatGPT、Gemini Enterprise、Anthropic 和 OpenAI API,以及云端编码 Agent。

开始使用

  1. 安装。 下载 FunesVault.dmg,打开它,然后将 Funes Vault 拖到 Applications。如果你从磁盘映像或“下载”文件夹中打开它,应用会提示你将其移到那里。你也可以使用 Homebrew:

    brew install --cask bereciartua/tap/funes-vault
    

    Funes Vault 需要运行于 macOS 15 或更高版本,支持 Apple 芯片或 Intel 芯片。

  2. 打开应用。 它位于菜单栏中。应用窗口打开后会显示 Home,其中有一份简短的设置清单:

    1. 连接 Agent。 点击 Add… 会打开“添加 Agent”界面,并优先显示在 Mac 上找到的 Agent。选择一个 Agent 和初始访问权限:默认选项 读取低敏感度记忆,先询问,允许 Agent 读取敏感度为低及以下的记忆,并在每次共享前询问你。对于 Claude Code、Claude Desktop、Cursor 和 Codex,Add and Connect… 会先明确显示即将进行的更改或操作;更改设置文件前会先备份,且绝不会将密钥写入 Agent 的设置。对于其他 Agent,请复制其 Connect 标签页中的设置。
    2. 批准第一个请求。 向 Agent 提问,例如 “帮我规划一周的晚餐” 或 “按照我喜欢的方式设置这个 TypeScript 项目。” Agent 会向 Funes 请求上下文,你会看到面板并选择要共享的内容。收到 Agent 的第一个请求后,此步骤即告完成。
    3. 为你的保险库添加初始内容。 回答几个可选问题,导入你的 ChatGPT 记忆或粘贴 Claude 的记忆,或者导入 Markdown 文件。你添加的内容会先进入收件箱;任何看起来像机密的信息都不会被导入。问题最后会询问哪些类别的内容是 Agent 绝不能查看的:这些类别对所有 Agent(包括之后添加的 Agent)一律设为“拒绝”。
    4. 查看收件箱。 应用合适的内容;编辑或拒绝其余内容。

你也可以随时使用 ⌥⌘M、菜单中的 Remember…,或在任何应用中选择 Services ▸ Remember in Funes 来记录想法;也可以在 Home 中输入内容并按 Return:无论使用哪种方式,内容都会进入收件箱。在 Home 中按 ⌘Return,可搜索保险库中与你输入内容相关的信息;点击麦克风即可在 Mac 上听写(macOS 26 及更高版本)。

Home 还会显示保险库的动态:每天新增的内容来自你、iPhone、Agent、导入操作或整理功能;以及共享给各个 Agent 的内容,并标出被拒绝的请求。将鼠标悬停在某一天上可查看数量,点击该日期可在“活动”中查看当天的记录。下方会显示记忆数量及其增长情况、记忆的敏感度与共享内容的对照、12 周使用节奏,以及读取保险库的对象。这里只显示数量,绝不会显示记忆文本。

每个 Agent 的设置说明、工具参考和故障排除信息,请参阅 MCP 指南。

来自云端 Agent(实验性)

claude.ai、ChatGPT 和云端编码 Agent 运行在其供应商的服务器上,因此无法直接访问你 Mac 上的应用。远程访问让它们通过你运行的隧道访问,例如 Tailscale Funnel:

  1. 在侧边栏中打开远程访问,并按提示完成四个步骤:选择隧道、开启远程访问并启动隧道、粘贴其地址、测试。Funes 不会启动隧道;它只会显示命令。
  2. 在添加 Agent…的云端 · 实验性标签页中添加 Agent(claude.ai、ChatGPT 等),或在某个 Agent 的云端标签页中开启允许云端访问。
  3. 连接它:需要登录的应用(claude.ai、ChatGPT、Gemini Enterprise)使用连接云端应用…,并在 Mac 上比对六位数代码;其他应用则使用 Agent 的远程令牌。每个 Agent 的云端标签页都会显示相应步骤。
远程访问页面,已开启并标记为实验性:隧道可访问且正在运行(Tailscale Funnel,转发到 47627),显示公共地址和带有机密路径的 MCP URL、端口、何时关闭,以及可进行云端访问的 Agent。

云端 Agent 获得的访问权限与你为其设置的完全一致,并且使用 Mac 上相同的面板:如果你不在身边,它的请求会像其他 Agent 一样等待并过期。开启远程访问期间,保管库可通过公共地址访问,而你与云端 Agent 分享的内容会发送到其供应商的服务器。默认情况下远程访问处于关闭状态;菜单栏中的关闭远程访问会立即切断所有云端 Agent 的连接。MCP 指南中有详细说明。

如何保持掌控

Funes 是唯一保存你记忆的地方。Agent 与它通信,而不会直接访问保管库;它会根据你允许的权限检查每个请求。

由你决定每个 Agent 可以查看的内容

每个 Agent 都有独立的访问权限:是否可以读取、建议或写入;最高敏感度(公开、低、内部、敏感、受限或机密);允许或禁止使用的类别(始终以禁止的类别为准);Funes 是否在分享前询问以及是否在保存前询问;还有可选的到期日期。健康、财务和法律类记忆默认属于敏感级别。

Claude Code 页面:侧边栏列出各个 Agent 及其简要状态,Claude Code 带有徽标,显示有两个待处理请求。页面显示其状态和访问权限摘要、两个待处理请求及其记忆数量、剩余时间和“查看…”,以及“访问权限”标签页,其中有“读取”“建议”和“写入”开关、最高敏感度滑块,以及各类别的“允许”或“禁止”选项。 ### 你批准确切的文本

当 Agent 请求上下文时,Funes 会查找与其任务匹配且允许该 Agent 访问的记忆。如果开启了请求确认,面板会显示每条记忆及其复选框、Agent 声称的用途、它保留所获内容的时长,以及还有多少条匹配记忆无法提供给它。Share 只发送你勾选的内容;Deny 不发送任何内容。Agent 最多等待 45 秒。如果你没有及时回应,请求会在 Pending requests 中等待最多 15 分钟,之后 Agent 会获取你的答复;More Time 会立即将请求移至那里。无论你正在使用哪个应用,按 Review Request (⌃⌥⌘R) 都会调出等待中的面板。

Share 面板:Claude Code 想要 3 条记忆。Goes to line 指明文本最终出现的位置,Agent 的任务、关键词、用途和保留时间显示在一个标为 Funes 未核验的区块中,之后是勾选的高度匹配项和未勾选、供你选择的较弱匹配项,每项都标明敏感度;下方有倒计时、More Time,以及 Deny 和 Share 按钮。

Agent 在任务或用途说明中写的任何内容,都不会改变它可以看到的内容。这些文字只用于帮助查找相关记忆。

Agent 提议,由你决定

Agent 会提议记忆,默认情况下,每条记忆都会作为卡片在 Inbox 中等待,你可以在 Apply 前编辑;对于更正内容,可选择 Replace 或 Keep Both,也可以选择 Reject 或 Later。卡片会标明是谁提议了什么,引用 Agent 提供的理由,指出相似记忆,并将更正内容显示为旧文本和新文本。你自己捕获和导入的内容也会出现在这里。开启 Split into separate memories 后(在 Settings ▸ AI Models 中设置,需使用本地服务或云模型),收到的内容会按主张拆分,每条建议各占一项,并在同一张卡片上标记为 New、Updates a memory、Already saved 或 Removes a memory,同时提供 Apply All 和 Keep as One。开启 Daily tidy-up 后(在 Settings ▸ AI Models 中设置,默认关闭),Funes 还会每天检查一次重复内容、过时记忆、需要合并或拆分的记忆以及相互矛盾的内容,并在 Inbox 的 Tidy-up 区域中提出建议;对于冲突,始终会询问你哪种说法属实。

Inbox:Claude Code 的一条记事按所选模型拆分为一张卡片上的 5 部分。一部分标记为 Already saved,一部分更新“Coffee order”,并显示删除线标出的旧文本和新文本,另一部分标记为 New,并提供可编辑的标题、文本、类别和敏感度。每部分都显示其来源文字,并分别提供 Reject 和 Apply 按钮。
一切尽在掌握,随时可以阻止

Activity 按日期列出每个 Agent 的请求及处理结果,并提供筛选器。Funes 只存储 ID 和原因代码,从不存储文本:打开某一行时,它会按记忆当前的标题显示相关记忆,说明哪些内容被拦下以及原因,并提供链接以修复拒绝原因。你可以暂停某个 Agent,在保留其配置的同时拒绝它的请求;也可以移除……,彻底切断其访问权限;还可以从菜单栏将 Pause Funes Vault 设为暂停一小时、直到明天或直到你恢复运行。

Activity:筛选器、两个带 Review… 按钮的待处理请求,以及今天的记录,其中显示时间、执行者、事件和结果,例如 Done、Waiting for you 或 Waiting in Inbox。所选请求的详细信息会显示 Agent,并说明其任务文本不会被存储。 ### 底层机制
  • 默认在本地运行。 MCP 服务在 127.0.0.1:47625 上监听,绝不监听网络接口。无需账户、没有分析追踪,也没有我们的服务器。远程访问默认关闭,启用后会打开第二个环回端口,只有你运行的隧道才能将其暴露出去。iPhone 访问默认关闭,启用后会向你配对的 iPhone 开放端口 47626,且通过该端口传输的每条消息都经过签名和端到端加密。
  • 每个 Agent 都有自己的密钥。 每个 Agent 都有一个保存在私有文件中的 256 位密钥;保险库只存储该密钥的哈希值。一键设置和启动器会读取该文件,而不是将密钥放进 Agent 的配置中。
  • 默认拒绝。 对 Agent 或请求有任何疑虑时,都会拒绝。拒绝时会告知 Agent 有多少条记忆未提供以及原因,但绝不会透露具体是哪几条。
  • 仅限一次。 获准分享的内容会在 15 分钟内发送一次,且只有在记忆和 Agent 的访问权限均未更改时才会发送。
  • 不泄露机密。 机密扫描器会检查捕获内容(iPhone 上也会检查)、建议和导入内容,以及发送给你所选模型的所有内容。
  • 更新均经过签名。 更新来自 GitHub,经过 Funes Vault 签名,并会在安装前进行验证。安装始终需要点击确认。
  • 开源。 你可以查阅代码、架构和测试记录。

无法防范的情况: 以你的 macOS 用户身份运行的其他程序可以读取相同的保险库和密钥文件。访问设置用于区分你连接的各个 Agent;它们无法防御已经存在于 Mac 上的恶意软件。详情请参阅安全边界。

Agent 可以做什么

Agent 可以使用四种主要工具,但只能使用其访问权限允许的工具:

工具功能所需权限
list_memory_categories列出你的类别,以及此 Agent 在各类别中可以执行的操作。不显示记忆,也不显示数量。始终可用
request_memory根据任务请求相关记忆,并提供有助于获取上下文的关键词。返回记忆、先征求你的同意,或说明原因后拒绝。每次回复还会附带你允许与该 Agent 分享的关于你部分内容(默认包含你的姓名)。读取
get_memory_request获取你在 Agent 停止等待后才作出答复的请求。仅发送一次。读取
suggest_memory提出一条记忆或更正建议。内容会进入收件箱;如果你允许该 Agent 无需询问即可保存,也可以直接写入保险库。建议或写入

第五种工具 open_in_funes 只会在某个 Agent 有待处理请求或建议时将 Funes 带到前台。MCP 指南列出了所有参数和结果。

常见问题

它免费吗?

是的。Funes Vault 按 Apache License 2.0 开源,无需账户,也没有试用期。

我的记忆会离开 Mac 吗?

只有你分享给 Agent 的内容会离开 Mac;这些内容之后会根据 Agent 及其 AI 提供商的条款发送给它们。Funes 本身没有服务器。默认情况下,搜索以及新捕获内容的建议都在 Mac 上运行。如果你为这些建议选择云端模型,或为搜索选择提供商的嵌入模型,Funes 会说明它发送的内容,并且绝不会发送超过云端上限的内容(默认为「内部」)。隐私列出了应用建立的所有连接。

分享前是否总会征求同意?

默认情况下会:所有初始访问权限都会在每次分享前征求同意。你可以为信任的 Agent 关闭分享前征求同意;关闭后,该 Agent 无需弹出面板即可获取允许读取的记忆,每次分享仍会显示在「活动」中。

如果 Agent 发出请求时我不在 Mac 旁边怎么办?

Agent 会等待 45 秒,随后收到提示,告知请求正在等待你的批准。请求会在菜单栏菜单的待处理请求中保留 15 分钟。如果你在此期间批准分享,Agent 下次检查时就会收到这些记忆。

它能与 claude.ai 或 ChatGPT 搭配使用吗?

可以,通过远程访问(实验性功能):运行一个隧道(例如 Tailscale Funnel),让 Funes 可通过公开地址访问;打开配对功能后,在 Mac 上比对一个代码,claude.ai 或 ChatGPT 即可登录。每个云端应用都使用一个 Agent 的访问权限,并显示与任何 Agent 相同的面板。请参阅使用云端 Agent。

Agent 能更改或删除我的记忆吗?

不能。Agent 只能提议新增记忆和更正内容。如果你授予 Agent 写入权限,并关闭保存前询问,它就能在其类别和敏感度限制范围内直接保存新记忆;它提出的更正仍会留在收件箱中等待处理。

它需要 Apple Intelligence 吗?

不需要。搜索使用应用内置的小型模型(bge-small,运行在你的 Mac 上);你也可以在旁边添加服务提供商的嵌入模型(Ollama 或 LM Studio 中的 Qwen3-Embedding,或 OpenAI 的 text-embedding-3),这对搜索其他语言的内容最有帮助。如果你的 Mac 支持 Apple 设备端模型(macOS 26 或更高版本并配备 Apple Intelligence),它会为捕获的内容建议标题、类别和敏感度;否则会使用简单规则。你也可以在设置 ▸ AI 模型中选择 Ollama、LM Studio、Anthropic、OpenAI 或其他兼容 OpenAI 的服务,或者通过你已在使用的 Claude Code 或 Codex 使用 Claude 或 ChatGPT 套餐(无需 API 密钥)。使用其中一种模型后,可以开启拆分为独立记忆,将捕获内容、Agent 的建议和导入内容拆分为单条记忆,并关联到知识库已有的内容;还可以开启每日整理,以提议更新、合并、拆分和归档相关记忆。除非你选择自动应用更改,否则所有提议都会留在收件箱中等待处理;选择该选项后,只会应用所选模型判断足够准确的更改,并且 30 天内可以撤销。

有 iPhone 应用吗?

有:Funes Vault for iPhone 可通过端到端加密通道与这台 Mac 配对,且不会保留知识库的副本。应用打开后会显示主页:一个用于记录内容的输入框(可输入或口述;Mac 收到内容前会先在 iPhone 上排队等待)、等待你处理的 Agent 请求,以及知识库的动态概览:过去 7 天或 30 天内每个 Agent 接收和发送了哪些内容、知识库的大小和敏感度、你添加内容的频率,以及谁在读取内容。主屏幕小组件会根据 Mac 最近发送的计数显示动态概览和记录频率,点击后可打开主页,随时输入或口述。只要 Mac 可以连接,应用也能搜索和编辑知识库、查看收件箱并回复 Agent 的请求。试用演示可通过示例数据展示每个屏幕,无需 Mac。

Funes Vault for iPhone:主页,包含输入框、等待回复的请求和动态概览图表
这是 Apple、Anthropic 或 OpenAI 开发的吗?

不是。Funes Vault 是一个独立的开源项目,与这些公司均无关联,也未获得它们的认可。

还有其他问题?请提交问题。

安全边界

  • MCP 服务。 在 Settings ▸ MCP ▸ Let agents connect 开启时运行(默认开启),且仅监听 127.0.0.1(端口为 47625,除非你在同一面板中更改)。每个请求都需要 Agent 自己的密钥;保险库只存储其 SHA-256 哈希值。带有外部 Host、任何 Origin(网页)或隧道转发标头的请求都会被拒绝,反复登录失败会导致锁定一分钟。已暂停和已过期的 Agent 会被拒绝;已移除 Agent 的密钥不再有效。
  • Agent 密钥。 每个密钥都是一个只有你能读取的文件(权限模式为 0600,位于权限模式为 0700 的文件夹中),存放在 ~/Library/Application Support/FunesVault/agent-keys/ 下。funes-mcp 启动器只会在确认端口上的程序是你自己的 Funes Vault 后才发送密钥。Rotate Key… 会立即替换密钥。
  • 访问决策。 访问决策由 Funes 根据 Agent 的访问权限、每条记忆的敏感度和类别,以及你的回答作出,绝不依据 Agent 写入的内容。批准仅适用于你查看过的确切记忆及其版本。
  • 静态数据。 保险库是 Application Support 文件夹中的 SQLite 文件,由 FileVault 保护,而非通过自身加密保护。备份也保存在同一文件夹中。
  • 模型。 只有在你添加并选择模型提供商后,文本才会发送给该提供商;使用云端提供商时,发送量不会超过你的云端限额;文本看起来像机密信息时绝不会发送。
  • iPhone 访问(默认关闭)。 开启后,第三个监听器会在端口 47626 上运行,只响应通过扫描 QR 码配对并在 Mac 上点击 Allow 的 iPhone:可通过本地网络(Same Wi-Fi)、你的 tailnet(Tailscale),或你运行的隧道后的 127.0.0.1 访问。每次调用都会由 iPhone 的 Secure Enclave 中的密钥签名,并封装给 Mac 的密钥,因此网络、Tailscale 或隧道都无法读取或伪造调用;重放和过期消息会被拒绝。已配对的 iPhone 会以你的身份操作。点击 Remove… 可立即断开其中一台设备。为唤醒 iPhone 以进行批准,Mac 会在你的私人 iCloud 数据库中保存一条记录,其中仅包含随机名称和标签;随后 iPhone 会从 Mac 获取请求。
  • 远程访问(实验性功能,默认关闭)。 开启后,第二个监听器会在 127.0.0.1 上运行(端口为 47627,除非你在 Remote Access 页面中更改),响应由你运行的隧道从互联网转发来的请求。每个路由都位于一个 128 位的秘密路径下(其他路径一律返回 404);Host 必须是你的隧道地址(对于会重写该地址的隧道,也可以是环回地址);每次调用都需要你已允许其云端访问的 Agent 的凭据:其远程令牌,或在该 Agent 的配对窗口开启期间,通过六位数代码批准的云应用所提供的 OAuth 令牌。本地密钥不能用于远程访问,远程凭据也不能用于本地访问。同一地址反复登录失败会导致锁定 5 分钟,远程调用也有更严格的速率限制。对 Agent 的访问权限、面板和待处理列表与 Mac 上的 Agent 相同。你分享给云端 Agent 的文本会发送给其供应商;部分隧道(Cloudflare、ngrok)可以读取流量,而 Tailscale Funnel 会在你的 Mac 上终止 TLS。

这些控制措施无法隔离以同一 macOS 用户身份运行的其他进程。 这类进程可以读取保险库、备份和密钥文件。Funes 也无法撤回或控制你分享给 Agent 后的文本。访问设置是你所连接的 Agent 之间的边界,并非针对已遭入侵的用户账户的防御措施。请参阅威胁模型。

请按照 SECURITY.md 中的说明,私下报告漏洞。

隐私

此应用不包含分析、遥测或崩溃报告功能,也不需要账户。你的记忆、Agent、密钥和活动记录都保留在你的 Mac 上。应用会建立以下连接:

连接时机
MCP 服务,监听 127.0.0.1:47625开启 让 Agent 连接 时。仅限环回连接:其他电脑无法连接。
funes-mcp 连接到 127.0.0.1Mac 上的 Agent 启动它以连接 MCP 服务时。
向 GitHub 发送一次 HTTPS 请求,获取 appcast.xml开启 设置 ▸ 更新 ▸ 每天检查更新 时,每天一次;以及你选择 检查更新… 时。GitHub 会看到你的 IP 地址和应用版本。从源代码构建的副本不会检查更新。
从 GitHub 下载更新仅在你点击安装后。
远程访问监听器,位于 127.0.0.1(默认端口为 47627)仅在开启 远程访问 时(默认关闭)。仅限环回连接;你运行的隧道(例如 Tailscale Funnel)可通过你选择的地址让它从互联网访问。Funes 不会启动隧道。
向你的隧道地址发送一次 HTTPS 请求你在远程访问页面点击 测试 时(以及设置过程中):Funes 会通过隧道访问自身的健康检查 URL。
向云应用的元数据文档发送一次 HTTPS 请求仅在你打开配对界面,且该应用开始登录时(claude.ai 和 ChatGPT 会发布此文档)。不会发送凭据。
iPhone 监听器,默认端口为 47626仅在开启 设置 ▸ iPhone 时(默认关闭)。使用同一 Wi-Fi 或 Tailscale 时,它会监听所有网络接口,仅接受本地或 tailnet 地址,并通过 Bonjour 在你的网络上公布自身;macOS 会请求本地网络访问权限。它只会响应已与你配对的 iPhone,且端到端加密。
私有 iCloud 数据库中的一条“门铃”记录Agent 的请求等待你处理,且已配对的 iPhone 开启了审批功能时。记录只包含随机名称和标签;请求得到答复或超时后,记录便会删除。
你添加的模型提供商仅当你在 设置 ▸ AI 模型 中添加并选择模型提供商时:用于为每条记录建议标题、类别和敏感度,以及用于 加载模型 和 测试连接(这些操作不会发送你的数据)。本地服务(Ollama、LM Studio)运行在你的 Mac 或本地网络上;云服务提供商只会收到通过密钥扫描器检查、且不超过云端限制的记录,以及你的类别名称和说明。开启 拆分为单独记忆 时,它还会收到 Agent 的建议、你的回答和导入的内容,以及每条内容最多 5 条相关记忆;开启 每日整理 时,它还会收到最多 6 条相关记忆组成的组。以上内容均受相同的限制和扫描器保护(PRIVACY.md)。每天最多发送你设定数量的云端请求(默认 300 次)。
你的 Claude Code 或 Codex仅当你在 设置 ▸ AI 模型 ▸ 使用你的订阅 中选择 Claude 或 ChatGPT 方案时:Funes 会运行你安装的 claude 或 codex 命令,将与上述云服务提供商相同的文本发送给 Anthropic 或 OpenAI,并遵循你方案的条款。
提供商的嵌入模型仅当你在 设置 ▸ AI 模型 ▸ 嵌入 中选择模型时(默认不选择):会发送不超过云端限制的记忆文本、你的保险库搜索内容,以及 Agent 的请求,除非你关闭此项。本地服务会为每条记忆生成嵌入。

macOS 显示的通知绝不会包含记忆文本。Agent 通过 Funes 收到的内容会发送给该 Agent 及其 AI 提供商,并受其隐私条款约束,因此请只向每个 Agent 提供其所需的信息。使用远程访问时,这也包括你允许连接的云端 Agent;如果隧道提供商在其边缘节点终止 TLS,也包括该隧道提供商。完整声明见 PRIVACY.md 和 funesvault.com/privacy。

文档

目标指南
连接 Agent;了解工具、限制和故障排除MCP 指南
构建方式:请求管道、新记忆和整理、iPhone 通道、数据存放位置、威胁模型架构
测试了什么,以及如何测试测试
所有离开 Mac 的内容隐私
报告漏洞安全
参与贡献,或维护和发布贡献、维护
完整的产品定义:需求、访问策略、决策spec/

从源代码构建

你需要安装了 iOS 平台的 Xcode 27(可在 macOS 26.6 或更高版本上运行),以及 Python 3.11(用于转换一次嵌入模型)。你构建的应用可在 macOS 15 或更高版本上运行。

sh scripts/fetch_embedding_model.sh
sh scripts/test.sh

第一条命令会在固定的修订版本下载随应用捆绑的嵌入模型(bge-small-en-v1.5),检查其校验和,并将其转换为 Core ML,存放在 ~/Library/Caches/com.funesvault.dev/;该模型不会纳入 git。第二条命令会运行软件包测试、MCP 测试工具及其他检查,并构建未签名的 Mac 和 iPhone 应用。要开发此应用,请在 Xcode 中打开 FunesVault.xcodeproj,然后运行 FunesMac 方案。调试版本会遵循 FUNES_DATA_DIR,因此开发用保险库不会触及你的真实保险库。请参阅贡献。

卸载

  1. 如果你使用了远程访问,请关闭隧道:远程访问页面会说明操作方法。
  2. 从菜单中退出 Funes Vault。
  3. 从 Agent 的配置中移除 Funes(例如 claude mcp remove --scope user funes)。
  4. 删除 Applications 中的应用及其数据:~/Library/Application Support/FunesVault(保险库、备份、Agent 密钥和 Activity)。其设置位于 ~/Library/Preferences/com.funesvault.mac.plist。如果你链接了启动器,请删除 ~/.local/bin/funes-mcp。你添加的模型提供商 API 密钥位于 Keychain 中的 com.funesvault.provider 下,Mac 的 iPhone 配对密钥则位于 com.funesvault.companion 下。如果你配对过 iPhone,也请在那里删除 Funes Vault,或先轻点 取消配对这部 iPhone…。

如要重新开始但不卸载,请使用 设置 ▸ 数据 ▸ 擦除所有数据…,这会删除所有记忆、建议、Agent 和密钥、已配对的 iPhone、Activity、备份、提供商密钥和设置,然后以空状态重新启动。Mac 的 iPhone 配对密钥会保留在 Keychain 中,因此之后需要重新配对 iPhone。

如果通过 Homebrew 安装,运行 brew uninstall --cask funes-vault 可移除应用;运行 brew uninstall --zap --cask funes-vault 还会将数据文件夹、缓存和偏好设置移至废纸篓(提供商 API 密钥仍保留在 Keychain 中)。

许可证

Funes Vault 采用 Apache License 2.0 许可;详见 NOTICE。应用捆绑了 BridgeKit(由同一作者开发,采用 Apache License 2.0 许可)、GRDB.swift、Sparkle 和 BAAI 的 bge-small-en-v1.5 模型,它们均采用 MIT License 许可;其许可证文本随应用一同提供。该许可证不授予对项目名称或图标的权利。Apple、Mac 和 macOS 是 Apple Inc. 的商标。本项目与 Apple、Anthropic、OpenAI 或 BAAI 均无关联,也未获其认可。

Funes Vault 由 Martin Bereciartua 开发,他还开发了 EK Bridge。

评论

支持 Markdown

第一次接触 MCP?

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

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