mcpField
O
OpenMyMemo

OpenMyMemo

本地服务
github.com记忆与知识222 天前更新

关于 OpenMyMemo

OpenMyMemo 将 AI 记忆保存在用户拥有的本地文件夹中,让不同 AI 应用共享记忆,并查看和撤销每次更改。它提供桌面应用、命令行和 MCP 连接方式,适合希望自行管理记忆数据的用户。

主要功能

  1. 01将记忆保存在本地文件夹
  2. 02让多个 AI 应用共享记忆
  3. 03查看 AI 获取的内容及其修改记录
  4. 04审核更改并一键撤销
  5. 05导入、搜索和导出记忆
  6. 06提供桌面应用与命令行

适用场景

  1. 01在不同 AI 应用间共享个人记忆
  2. 02检查 AI 实际读取的记忆内容
  3. 03审核或撤销 AI 对记忆的更改
  4. 04从其他助手迁移记忆文件

MCP 相关

OpenMyMemo 提供本地 MCP 服务,AI 应用可通过记忆上下文、搜索、读取和提议更改等工具访问记忆。可为 MCP 客户端配置本地进程或本地 HTTP 连接;网页客户端可选用 OpenMyMemo Cloud 中继。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mymemoai-openmymemo": {
"command": "uvx",
"args": [
"openmymemo"
],
"env": {
"OPENMYMEMO_HOME": "<OPENMYMEMO_HOME>"
}
}
}
}
启动命令uvx openmymemo
需要配置的环境变量
OPENMYMEMO_HOMEYour memory folder. Leave it empty for ~/OpenMyMemo; use the same folder in every app to share one memory.

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

安装包
pypiopenmymemo0.3.1

工具

5

收录的工具列表 · 更新于 3 天前

参数类型必填说明
topicsany否
max_charsinteger否

详细介绍

OpenMyMemo

将你的 AI 记忆作为一个普通文件夹存放在自己的电脑上。确切了解模型记住了关于你的哪些内容;让 Claude、Codex、Cursor 或任何 MCP 应用共享这些记忆,这样你告诉一个应用的事,其他应用也能知道;并查看它们所做的每一项更改,只需单击一下即可撤销。如果账户被封禁、供应商停止运营或你更换模型,你的记忆也会随你而去。

v0.2。各版本的更改内容:CHANGELOG.md。产品设计和状态:docs/product-design.md。任何想要读取或写入该文件夹的工具都可以使用的文件夹格式:docs/MEMORY_FORMAT.md。

OpenMyMemo 面板:按主题分组的记忆,每条都显示来源,并提示 AI 应用所做的更改有待审核

我为什么要构建它

2026 年 10 月 2 日,我的 OpenAI 账户在没有任何警告或具体解释的情况下被封禁。我从 2022 年底 ChatGPT 发布起就一直在使用它,年终回顾显示我位列用户前 1%。我提交了申诉,却始终没有收到回复。近四年的对话,以及 ChatGPT 对我的所有了解,都随着账户一同消失了。

我曾以为那些记忆属于我。其实不然。它们存放在 OpenAI 的服务器上,存在于一个他们随时可以关闭的账户中;而当他们关闭账户时,记忆也随之消失,无处申诉找回。

OpenMyMemo 就是我希望当时拥有的东西:将我的 AI 记忆作为一个文件夹存放在自己的电脑上。任何模型都能读取它,我可以查看并撤销模型所做的每一项更改,也没有任何一家公司能将它拿走。

— Leo

开始使用

有两种接入方式。两者使用相同的记忆文件夹、面板和核心,因此你可以随时切换,也可以同时使用。

Mac 应用

适合所有人:无需终端、配置文件或安装 Python。

  1. 从最新版本下载适用于 Mac 的磁盘映像:Apple 芯片(M1 及更新机型)请选择 OpenMyMemo-<version>-arm64.dmg,Intel Mac(macOS 12 或更高版本)请选择 OpenMyMemo-<version>-x86_64.dmg。(苹果菜单 → 关于本机中会显示具体信息:“芯片:Apple …”或“处理器:… Intel …”。)
  2. 打开磁盘映像,将 OpenMyMemo 拖到“应用程序”中。(如果直接从磁盘映像打开,它会提示将自身移到那里。)
  3. 从“应用程序”中打开 OpenMyMemo。正式发布版本均已签名并经过公证,可以像其他应用一样打开。没有 Developer ID 签名的版本(自行构建的版本或分支版本)首次打开时需要额外操作:在 macOS 15 及更高版本中,尝试打开它,然后前往“系统设置”→“隐私与安全性”,点击仍要打开;在更早版本中,右键点击应用并选择打开。
  4. 首次启动时,应用会将 OpenMyMemo 运行所需的 Python 和库下载到 ~/Library/Application Support/ai.mymemo.openmymemo/,约 25 MB,通常不到一分钟。此过程只会发生一次;之后应用会在几秒内启动,也可以离线启动。
  5. 简短指南会帮助你一键连接 Mac 上的 AI 应用,并导入 ChatGPT、Claude 或 Gemini 已有的记忆。你的记忆保存在 ~/OpenMyMemo。

应用会在自己的窗口中显示面板,在菜单栏显示待审核的更改数量,并在 AI 应用更改内容时通知你。它每天检查一次新版本,并在安装前征求你的同意(在“设置”→“通用”中可以关闭此功能;在 OpenMyMemo 菜单中选择“检查更新…”可立即检查)。更新会替换应用并重新启动它;你的记忆文件夹不会受到影响。0.2.9 及更早版本无法自行更新:请再次下载新的磁盘映像并将它拖到“应用程序”中。

应用还会安装一个 openmymemo 命令,所连接的 AI 应用会运行此命令(在“设置”→“高级”中可以查看位置)。它就是下方完整的命令行工具,因此你也可以在终端中使用。

Windows 应用(预览版)

适用于 Windows 10 和 11 的同款应用(64 位,x64)。

  1. 从最新版本下载 OpenMyMemo-<version>-x64-setup.exe 并运行。它只为当前用户安装,不会请求管理员权限。目前尚未签名,因此 Windows SmartScreen 可能会提示它已保护你的电脑:点击更多信息,然后点击仍要运行。
  2. 首次启动时,应用会将 OpenMyMemo 运行所需的 Python 和库下载到 %LOCALAPPDATA%\ai.mymemo.openmymemo\,约 25 MB,通常不到一分钟。之后应用会在几秒内启动,也可以离线启动。
  3. 同一份指南会帮助你连接 AI 应用,并导入其他助手已有的记忆。你的记忆保存在 %USERPROFILE%\OpenMyMemo。

关闭窗口后,应用仍会在通知区域运行;请从那里退出。它的 openmymemo 命令位于 %LOCALAPPDATA%\ai.mymemo.openmymemo\bin\openmymemo.exe。它会像 Mac 应用一样自行更新,并在更新前征求你的同意;如需卸载,请使用“设置”→“应用”。无论如何,你的记忆文件夹都不会受到影响。

命令行

适合开发者和任何偏好使用终端的人。没有任何限制:应用的所有操作都是命令,文件夹格式(docs/MEMORY_FORMAT.md)就是接口。需要安装 uv:

uv tool install openmymemo                   # from PyPI; `uv tool upgrade openmymemo` updates it

uvx openmymemo … 无需安装即可运行;它连接的 AI 应用之后也会通过 uvx openmymemo 启动它。若要使用最新代码,请从克隆的仓库安装:uv tool install ./openmymemo。

openmymemo init                              # create ~/OpenMyMemo with 14 default topics
openmymemo apps                              # the AI apps on this computer, and which are connected
openmymemo connect cursor                    # connect one: claude-desktop, claude-code, codex, cursor, vscode, …
openmymemo disconnect cursor                 # remove its OpenMyMemo entry and revoke its access
openmymemo import chatgpt                    # paste ChatGPT's "Manage memories" page; it lands in "From ChatGPT"
openmymemo import auto ~/.claude/CLAUDE.md   # another app's memory file: CLAUDE.md, AGENTS.md, GEMINI.md, rules, memory.md
openmymemo sort                              # file imported memories into topics, one suggestion at a time
openmymemo serve                             # open the panel at http://127.0.0.1:8787
openmymemo review                            # what AI changed since you last looked: keep, edit or undo

connect 只会编辑应用自己的 MCP 配置(并保留备份),或运行应用自己的 mcp add 命令,并提示你重启应用;如果无法安全地执行这些操作,它会打印配置供你粘贴。更多命令:doctor(检查设置,并在应用看不到你的记忆时说明需要修复什么;不会打印任何记忆)、status、approval on|off(开启时,每项 AI 更改都需要等待你的批准)、context --connector <id>(查看 AI 实际收到的内容)、export --format claude|chatgpt|markdown|json、search、add、connector add|list|config|rotate|remove(手动管理配置)、setup codex(在每个 Codex 会话开始时加载你的记忆)。使用 --vault 或 OPENMYMEMO_HOME 可将文件夹放到其他位置。

插件

想装多少就装多少:它们共享同一份记忆。 默认情况下,每个插件都使用同一个 ~/OpenMyMemo 文件夹(首次使用时创建),因此你告诉 Claude 的内容,Codex 会在下次会话中知道,反过来也一样。每个插件都会在应用支持的情况下,将你的记忆加载到新会话中——首先显示一行摘要,说明自你上次查看后 AI 做了哪些更改——并在应用运行时通过 http://127.0.0.1:8787 提供面板。除非另有说明,否则都需要安装 uv。

应用安装
Claude Desktop从最新版本下载 openmymemo-<version>.mcpb(或使用 uv run python scripts/build_mcpb.py 构建),然后双击它(或前往 Settings → Extensions)。无需填写任何内容:将记忆文件夹留空即可使用 ~/OpenMyMemo。然后退出 Claude Desktop 并重新打开。Claude Desktop 会自行安装 Python 和依赖项;无需 uv。
Claude Code依次运行 /plugin marketplace add MyMemoAI/openmymemo、/plugin install openmymemo@openmymemo,然后重启 Claude Code。会添加 /openmymemo:memory 和 /openmymemo:remember。
Codex分三步,参见下方的 Codex。
Gemini CLI运行 gemini extensions install https://github.com/MyMemoAI/openmymemo,然后重启 Gemini CLI。它使用 ~/OpenMyMemo;若要使用其他文件夹,请改用 openmymemo connect gemini-cli。
CursorPanel → Connectors → Connect,或运行 openmymemo connect cursor。
VS CodePanel → Connectors → Connect,或运行 openmymemo connect vscode。

安装后,请完全退出应用并重新打开,使其加载 OpenMyMemo。首次启动时会下载 Python 和依赖项(网络连接较快时约需 5 秒;Codex 为 MCP 服务预留 10 秒)。如果应用随后提示 OpenMyMemo 服务启动失败,请再重启一次。

然后在浏览器中打开面板 http://127.0.0.1:8787(页面如顶部所示),并将其加入书签。只要 Claude Desktop、Claude Code、Codex 或 Gemini CLI 正在运行,面板就会显示你的记忆、AI 所做的更改(Changes)、每个应用收到的确切文本(What AI sees)以及已连接的应用(Connectors)。如果没有安装插件,运行 openmymemo serve 即可启动面板并打开浏览器。

Codex

你需要 uv。第 2 步和第 3 步只需执行一次:Codex 不会运行插件附带的钩子,因此 OpenMyMemo 会添加自己的会话启动钩子。

  1. 安装插件。 在终端中:

    codex plugin marketplace add MyMemoAI/openmymemo
    codex plugin add openmymemo@openmymemo
    

    然后重启 Codex:退出 ChatGPT 桌面应用并重新打开,或在终端中再次启动 codex。

  2. 设置钩子。 开始新的 Codex 会话,并让它“设置 OpenMyMemo”。它会向 ~/.codex/hooks.json 添加钩子,并保留你的其他钩子。如果你安装了 CLI,openmymemo setup codex 也会执行相同操作。

  3. 信任钩子。 在 ChatGPT 桌面应用中,打开“设置” →“编码” →“钩子”,并信任“Loading your OpenMyMemo memory”。或者在终端中打开 Codex(codex),输入 /hooks,选择 SessionStart 并在其中信任该钩子。应用和终端共用这些设置,因此在任一处信任即可同时应用于两者。

从下一个新会话开始,Codex 就会加载你的记忆。该插件还会添加 memory、remember 和 codex-setup 技能。

手动连接 AI 应用
  • 本地进程(推荐): Claude Desktop、Claude Code、Cursor、Codex 和其他 stdio MCP 客户端。openmymemo connect <app> 会为你写入应用配置(openmymemo apps 会列出这些应用);对于其他应用,openmymemo connector add <name> 会打印一份包含绝对路径的配置,供你粘贴。为每个应用指定独立的 --connector,以便分别管理权限和日志。
  • 从 MCP Registry 安装: OpenMyMemo 已列入官方 MCP Registry,名称为 io.github.MyMemoAI/openmymemo,因此可浏览该注册表的 MCP 客户端可以从那里安装(运行时使用 uvx)。
  • 本地 HTTP: openmymemo connector add <name> --http 会创建一个令牌(仅显示一次),供你通过 http://127.0.0.1:8787/mcp 使用 openmymemo serve。
  • 通过 OpenMyMemo Cloud 使用网页端 ChatGPT 和 claude.ai(可选): 它们只能访问公共互联网中的 MCP 服务,因此无法像上述应用那样在你的电脑上启动 OpenMyMemo。订阅 MyMemo Pro、Ultra 或 Lifetime 后,OpenMyMemo Cloud 会将它们的调用转发到你电脑上的 OpenMyMemo:从面板(Connectors → On the web → OpenMyMemo Cloud)或使用 openmymemo cloud link 登录,然后将显示的 URL 添加为 claude.ai(设置 → Connectors)或 ChatGPT(需开启开发者模式)中的自定义连接器。这只是中继服务,并非托管:你的记忆保留在电脑上,网页应用只有在 OpenMyMemo 运行时才能访问它,且 MyMemo 会直接转发每次调用,不会保存你的记忆。登录前不会执行任何操作,你也可以在“设置”中将其隐藏。在 OpenAI 一侧,Codex 无需使用它即可运行,包括 ChatGPT 桌面应用内置的 Codex。

AI 应用可见的工具:memory_context、memory_search、memory_get、memory_propose、memory_proposals,以及 recall 提示词。

兼容应用

应用状态
Claude Desktop(Chat、Cowork 和 Code)✅ 扩展
Claude Code✅ 插件
Codex(CLI,以及 ChatGPT 桌面应用中的 Codex)✅ 插件
Gemini CLI✅ 扩展
Cursor、VS Code、Zed、Cline、Kiro、LM Studio、opencode、GitHub Copilot CLI 和其他 MCP 应用✅ 在应用中一键连接、使用 openmymemo connect,或粘贴配置(openmymemo apps 会列出所有应用)
网页端 ChatGPT 和 claude.ai✅ 通过 OpenMyMemo Cloud(可选;需订阅 MyMemo Pro、Ultra 或 Lifetime):MyMemo 会将它们的调用转发到你电脑上的 OpenMyMemo,且 OpenMyMemo 必须处于运行状态。你的记忆保留在电脑上。
桌面和移动应用中的 ChatGPT 对话、Claude 移动应用尚未使用 OpenMyMemo Cloud 测试。你随时可以通过 openmymemo import chatgpt 导入 ChatGPT 记忆。

原则

  1. 本地文件是唯一可信来源——带有 YAML frontmatter 的 Markdown 文件,可在任何编辑器中打开,并保存在 iCloud、git 或 Obsidian 库中。
  2. AI 负责写入;你可以查看所有内容并撤销。新增内容会立即生效,并显示在摘要中。对你亲自编写内容的修改,以及私密主题中的任何内容,都会等待你确认。一个开关即可让所有更改都等待确认。
  3. 所见即所得——面板会显示 AI 收到的确切文本,以及谁阅读了哪些内容。
  4. 零依赖——无需数据库、Docker、账号、API 密钥或遥测。
  5. 开放协议与开放约定——标准 MCP、Markdown + frontmatter(一个 Open Knowledge Format 包)、Obsidian 块 ID、开放的导入和导出格式,不受供应商锁定。

OpenMyMemo 助手(可选)

OpenMyMemo 无需模型。如果你希望它帮助处理规则难以应对的工作,请在 Settings → Assistant 中启用 Assistant(在浏览器中:前往 Connectors 页面底部),或在终端中运行:

openmymemo assistant set --kind local --model llama3.2          # Ollama or another server on this computer
openmymemo assistant set --kind key --protocol anthropic --model claude-haiku-5-5 --key   # your own API key
openmymemo assistant signin                                      # MyMemo's hosted model (a MyMemo plan, below)
openmymemo assistant test                                        # one tiny request: which model, how fast
openmymemo assistant status | off

MyMemo 托管模型适合不想配置密钥、也不想运行模型的情况:在 Settings → Assistant 中选择“MyMemo”(或运行 openmymemo assistant signin),并使用 MyMemo 账户登录。它通过 MyMemo 的服务运行 Claude Haiku 5.5,使用 OpenMyMemo Assistant 方案:每月 5 美元,其中包含每月 5 美元的 Claude Haiku 5.5 使用额度。作为限时上线优惠,在 MyMemo 结束优惠前,每月额度会翻倍至 10 美元。Settings → Assistant 会显示本月使用量;openmymemo assistant plan 会以进度条形式显示([██████░░░░] 62% $6.20 of $10.00 used this month),并说明当前是否有优惠。本月包含的额度用完后,OpenMyMemo 会恢复使用规则,直到额度重置。只有在你选择该模型并登录后,数据才会发送给 MyMemo;MyMemo 和 Anthropic 会处理每条请求的文本以生成回复,而 MyMemo 的服务不会保留这些文本(PRIVACY.md)。

启用后,模型会将导入内容拆分为多条记忆(预览会标出模型遗漏的行),“Sort into topics”会获取模型的建议。AI 应用的搜索和 openmymemo recall 会加入相关词语和翻译,并将最匹配的结果排在前面。此外,它还会:

  • 在归档前检查 AI 应用提出的内容:发现词语重叠无法识别的重复项和矛盾;在应用未提供主题时添加主题;并将看起来涉及健康、金钱或凭据的内容归入私密主题,或暂缓处理。检查耗时为 2 秒(运行 openmymemo assistant set --check-budget 3 可更改);如果耗时更长或检查失败,该更改会在不经检查的情况下归档,不会阻塞应用。

  • 读取聊天导出内容和 Agent 会话:可在 Import 页面的 Chats 标签页中读取,也可通过终端读取;按最新内容优先,并在开始前显示费用。每条建议都会附上其来源文字,并显示在常规预览中:

    openmymemo import chatgpt-export ~/Downloads/chatgpt-export.zip   # or the conversations.json inside it
    openmymemo import claude-export ~/Downloads/claude-export.zip
    openmymemo import claude-code-sessions                             # ~/.claude/projects, or one project or session file
    openmymemo import codex-sessions --max-calls 20                    # ~/.codex/sessions, the newest 20 parts
    
  • 保存 Claude Code 或 Codex 会话中学到、但应用未学到的内容,并在会话结束时保存(默认关闭;启用“Reading sessions”后,会按应用询问:openmymemo assistant sessions --allow claude-code)。插件的会话结束钩子和通过 openmymemo setup codex 设置的 Codex 钩子会运行此功能;对话记录会在你的电脑上读取,绝不会被存储;保存的内容是 Assistant 提出的建议,每条都附有你引用的原文。

整理(通过 --feature tidy=on 或 Settings → Assistant 中的开关启用)会检查你的记忆,并分批提交更改:合并近似重复项;用后续记忆替换与之矛盾的记忆;为有时效性的记忆添加复查日期;改写过长的记忆;并询问可能已过时的记忆(只有你同意后才会处理)。你写下的记忆也会等你确认;其他更改会直接应用,并且可以撤销。在 Changes 页面和 openmymemo review 中,批次会显示为“Tidy-up, : N changes”,并提供 Keep all / Undo all;你拒绝或撤销过的建议不会再次提出。私密主题永远不会纳入整理。

openmymemo tidy --dry-run          # no calls: what would be sent, likely duplicates, estimated calls and tokens
openmymemo tidy [--topic work]     # run it ("Tidy up" on the Changes page does the same)
openmymemo tidy --schedule weekly  # off (the default), daily, weekly or monthly

每次运行最多调用 20 次;如果文件夹很大,下次运行会从上次停止处继续。只要 OpenMyMemo 的面板正在运行(Mac 应用、openmymemo serve 或 AI 应用的插件),计划任务就会在这台电脑上运行;如果这些都没有运行,任务也不会运行。每项功能都有自己的开关,并可回退到规则处理;同时设有每月限额。在这台电脑上运行的模型会将所有内容保留在电脑上;使用你自己的密钥时,功能使用的记忆会发送给对应的服务商,但绝不会发送私密主题。每条请求都会记录在活动日志中,但不包含请求文本。

按含义搜索

关键词搜索无法用“我喜欢喝什么?”找到“比起咖啡,我更喜欢茶”。在“设置” → “助手”中开启在此电脑上按含义搜索,或:

openmymemo semantic status                      # the models: size, languages, license
openmymemo semantic on                          # downloads multilingual-e5-small (recommended), builds the index
openmymemo semantic on --model qwen3-embedding-0.6b   # best quality, larger download
openmymemo semantic off                         # deletes the model and the index
openmymemo recall "what do I like to drink?" --max-chars 1500   # ranked, ready for a prompt or a hook

它会将嵌入模型(以及尚未安装时的 ONNX Runtime 和 openmymemo[semantic] 附加组件)下载到此电脑上的 OpenMyMemo 设置文件夹,而绝不会下载到你的记忆文件夹,并检查每个文件的 SHA-256。记忆文本不会离开此电脑。Intel Mac 需要 macOS 13 或更高版本,并使用 ONNX Runtime 1.23,这是 Intel Mac 版的最后一个版本;在较旧的系统上,也可以改用助手端点(见下文)上的嵌入模型。无论是否使用助手,它都能正常工作;所有地方的搜索都会使用它:AI 应用的 memory_search、openmymemo search 和面板。.openmymemo/index/ 中的索引只是缓存:它不会被纳入 git,随时可以删除。如果在此电脑上运行服务器上的助手,或使用你自己的密钥,也可以在该端点设置嵌入模型(openmymemo assistant set --embeddings-model nomic-embed-text)。

AI 写入时会发生什么

更改页面:AI 对你写的记忆所做的更改,以及对私人主题的新增内容,都在等待你处理;你可以接受、编辑后接受或拒绝

  • 新增内容会立即生效。 在你查看之前,它会标记为新内容:你可以在面板的“更改”页面、openmymemo review 中查看,也可以在下次启动 Claude Code 或 Codex 会话时查看开头的一行摘要。
  • 对你自己写入、导入或批准的记忆所做的更改需要等待你处理。 私人主题中的任何内容(默认包括 health 和 finance)也一样。AI 绝不会悄悄更改你写的内容。
  • 只要某项更改仍是该记忆的最新版本,就可以一键撤销;之后则可查看该记忆的版本历史。
  • **“要求我批准 AI 所做的更改”**会让所有更改都等待你处理。每个已连接的应用也可以设置为只读,或设为可信并允许其直接写入。

记忆文件夹

~/OpenMyMemo/
├── memories/            # one file per topic: frontmatter, then one memory per line
│   ├── work.md          # - Engineering lead at Acme  ^m7f3a
│   └── from-chatgpt.md  # what you imported, in its original order, until you sort it
├── MEMORY.md            # generated: what an AI sees with the default scope
├── log.md               # generated: what changed, by whom, newest day first
├── connectors.yaml      # connected apps and their permissions (tokens stored as hashes)
└── .openmymemo/         # settings, metadata, history, activity, proposals — all plain text

每个主题文件都以 YAML frontmatter(type、title、description、group、private)开头。你可以在任何编辑器中编辑 memories/*.md:新增一行就会新增一条记忆,删除一行就会将其归档,将一行移到另一个文件则会更改主题。OpenMyMemo 会在下次读取时添加 ^id,并将更改记录到历史中。其他工具也可以按照 docs/MEMORY_FORMAT.md 读取和写入此文件夹。

从 v0.1 升级:用 v0.2 打开该文件夹一次。文件会添加 frontmatter,文件中的其他内容不会改变,你的审批设置也会保持原样。

安全

服务器仅监听 127.0.0.1。面板 API 会检查 Host、Origin 以及跨站页面无法添加的标头;/mcp 需要连接器令牌。默认情况下,所有 AI 都无法看到 health 和 finance 主题;无论审批开关或应用的写入模式如何设置,对私人主题所做的 AI 更改都必须等待你处理。

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

隐私政策

你的记忆保存在自己的电脑上:MyMemo 不会接收它,OpenMyMemo 也没有账号、遥测、分析或更新检查。你连接的 AI 应用会读取你允许访问的主题(除非你明确允许,否则不会读取 health 或 finance),并根据各自的政策将读取到的内容发送给各自的模型提供商。OpenMyMemo 只会在安装或首次启动时联网下载 Python 及其库;此外,只有使用 OpenMyMemo Cloud 时才会联网。登录并关联这台电脑之前,OpenMyMemo Cloud 不会执行任何操作;关联后,网页应用读取的记忆会在传输过程中经过 MyMemo 服务。可选的 OpenMyMemo Assistant 只会在你启用后向所选模型发送记忆文本;如果使用你自己电脑上的模型,记忆会留在本地。启用按含义搜索后,它会在这台电脑上从 Hugging Face 下载模型,不会发送任何内容。完整政策(包括数据存储位置):PRIVACY.md。

开发

uv sync                                # Python dependencies
uv run pytest                          # tests
uv run ruff check src tests scripts
uv run python scripts/demo_vault.py /tmp/omm-demo && uv run openmymemo --vault /tmp/omm-demo serve
cd web && pnpm install && pnpm build   # builds the panel into src/openmymemo/static/ (committed)
cd web && pnpm test                    # panel tests

面板开发:运行 openmymemo serve --no-open,然后在 web/ 中运行 pnpm dev(端口为 5173,会将 /api 代理到 8787,或代理到 OPENMYMEMO_PORT 指定的端口)。在 URL 后添加 ?desktop=1,即可查看 Mac 应用的布局。

Mac 应用

desktop/ 是一个基于同一面板构建的 Tauri 外壳。它会打包 uv 和此软件包;首次启动时,uv 会将 Python 和依赖项下载到 ~/Library/Application Support/ai.mymemo.openmymemo/,随后应用会运行 openmymemo serve。如果已有针对同一文件夹运行的服务(Claude Desktop 扩展或 openmymemo serve),应用会使用该服务。需要 Rust(rustup)和 Node。

cd web && pnpm build                   # the panel the app shows
cd desktop && pnpm install
pnpm tauri dev                         # run it; OPENMYMEMO_HOME=/tmp/omm-demo to use another folder
CI=true pnpm tauri build --bundles app,dmg  # → desktop/src-tauri/target/release/bundle/

发布构建使用仓库密钥中的更新器密钥签署更新文件(.github/workflows/release.yml);如果没有该密钥,请在 pnpm tauri build 后添加 --config '{"bundle":{"createUpdaterArtifacts":false}}'。在 Windows 上,执行相同命令会构建安装程序(pnpm tauri build --bundles nsis;需要 Python 和 Rust 使用的 Visual Studio C++ 构建工具);scripts/stage_desktop.py 还会构建 desktop/launcher,也就是应用为 AI 应用安装的 openmymemo.exe,因为 Windows 没有 sh,无法运行 Mac 应用的启动脚本。

本地构建采用临时签名,因此 macOS 首次打开时会询问一次(参见 Mac 应用);设置了 Apple Developer 密钥后,发布工作流会进行签名和公证(.github/workflows/release.yml 中列出了这些密钥)。CI=true 会让 Tauri 跳过用于调整磁盘映像窗口布局的 Finder 脚本,否则该脚本会请求控制 Finder 的权限。每次启动时,应用都会将 AI 应用运行的 openmymemo 启动器写入 ~/Library/Application Support/ai.mymemo.openmymemo/bin/;即使移动应用,它仍能正常运行。服务日志位于 ~/Library/Logs/ai.mymemo.openmymemo/core.log。

帮助与贡献

  • 遇到问题? 运行 openmymemo doctor。它会检查记忆文件夹、uv、面板和各个 AI 应用,并指出需要修复的内容,同时不会输出你的记忆。如果问题仍未解决,请提交 issue,并粘贴命令输出。
  • 欢迎提交想法和问题,也可以通过 issue 提出。较大的改动应先提交提案。
  • 参与贡献: 请参阅 CONTRIBUTING.md,了解如何设置环境、测试并提交拉取请求。
  • OpenMyMemo 的发布和收录平台: docs/distribution.md。

与 MyMemo 的关系

这是一个独立项目,不依赖 MyMemo 账号或服务:无需它们,所有功能都能正常运行。唯一可选的 MyMemo 连接功能是 OpenMyMemo Cloud,它是 ChatGPT 和 claude.ai 网页版的中继服务;在你登录之前,它不会执行任何操作。MyMemo 以后可能会像连接 Claude 一样,通过普通连接器读取此记忆。

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

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

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