关于 OpenMyMemo
OpenMyMemo 将 AI 记忆保存在用户拥有的本地文件夹中,让不同 AI 应用共享记忆,并查看和撤销每次更改。它提供桌面应用、命令行和 MCP 连接方式,适合希望自行管理记忆数据的用户。
主要功能
- 01将记忆保存在本地文件夹
- 02让多个 AI 应用共享记忆
- 03查看 AI 获取的内容及其修改记录
- 04审核更改并一键撤销
- 05导入、搜索和导出记忆
- 06提供桌面应用与命令行
适用场景
- 01在不同 AI 应用间共享个人记忆
- 02检查 AI 实际读取的记忆内容
- 03审核或撤销 AI 对记忆的更改
- 04从其他助手迁移记忆文件
MCP 相关
OpenMyMemo 提供本地 MCP 服务,AI 应用可通过记忆上下文、搜索、读取和提议更改等工具访问记忆。可为 MCP 客户端配置本地进程或本地 HTTP 连接;网页客户端可选用 OpenMyMemo Cloud 中继。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| topics | any | 否 | |
| max_chars | integer | 否 |
详细介绍
OpenMyMemo
将你的 AI 记忆作为一个普通文件夹存放在自己的电脑上。确切了解模型记住了关于你的哪些内容;让 Claude、Codex、Cursor 或任何 MCP 应用共享这些记忆,这样你告诉一个应用的事,其他应用也能知道;并查看它们所做的每一项更改,只需单击一下即可撤销。如果账户被封禁、供应商停止运营或你更换模型,你的记忆也会随你而去。
v0.2。各版本的更改内容:CHANGELOG.md。产品设计和状态:docs/product-design.md。任何想要读取或写入该文件夹的工具都可以使用的文件夹格式:docs/MEMORY_FORMAT.md。
我为什么要构建它
2026 年 10 月 2 日,我的 OpenAI 账户在没有任何警告或具体解释的情况下被封禁。我从 2022 年底 ChatGPT 发布起就一直在使用它,年终回顾显示我位列用户前 1%。我提交了申诉,却始终没有收到回复。近四年的对话,以及 ChatGPT 对我的所有了解,都随着账户一同消失了。
我曾以为那些记忆属于我。其实不然。它们存放在 OpenAI 的服务器上,存在于一个他们随时可以关闭的账户中;而当他们关闭账户时,记忆也随之消失,无处申诉找回。
OpenMyMemo 就是我希望当时拥有的东西:将我的 AI 记忆作为一个文件夹存放在自己的电脑上。任何模型都能读取它,我可以查看并撤销模型所做的每一项更改,也没有任何一家公司能将它拿走。
— Leo
开始使用
有两种接入方式。两者使用相同的记忆文件夹、面板和核心,因此你可以随时切换,也可以同时使用。
Mac 应用
适合所有人:无需终端、配置文件或安装 Python。
- 从最新版本下载适用于 Mac 的磁盘映像:Apple 芯片(M1 及更新机型)请选择
OpenMyMemo-<version>-arm64.dmg,Intel Mac(macOS 12 或更高版本)请选择OpenMyMemo-<version>-x86_64.dmg。(苹果菜单 → 关于本机中会显示具体信息:“芯片:Apple …”或“处理器:… Intel …”。) - 打开磁盘映像,将 OpenMyMemo 拖到“应用程序”中。(如果直接从磁盘映像打开,它会提示将自身移到那里。)
- 从“应用程序”中打开 OpenMyMemo。正式发布版本均已签名并经过公证,可以像其他应用一样打开。没有 Developer ID 签名的版本(自行构建的版本或分支版本)首次打开时需要额外操作:在 macOS 15 及更高版本中,尝试打开它,然后前往“系统设置”→“隐私与安全性”,点击仍要打开;在更早版本中,右键点击应用并选择打开。
- 首次启动时,应用会将 OpenMyMemo 运行所需的 Python 和库下载到
~/Library/Application Support/ai.mymemo.openmymemo/,约 25 MB,通常不到一分钟。此过程只会发生一次;之后应用会在几秒内启动,也可以离线启动。 - 简短指南会帮助你一键连接 Mac 上的 AI 应用,并导入 ChatGPT、Claude 或 Gemini 已有的记忆。你的记忆保存在
~/OpenMyMemo。
应用会在自己的窗口中显示面板,在菜单栏显示待审核的更改数量,并在 AI 应用更改内容时通知你。它每天检查一次新版本,并在安装前征求你的同意(在“设置”→“通用”中可以关闭此功能;在 OpenMyMemo 菜单中选择“检查更新…”可立即检查)。更新会替换应用并重新启动它;你的记忆文件夹不会受到影响。0.2.9 及更早版本无法自行更新:请再次下载新的磁盘映像并将它拖到“应用程序”中。
应用还会安装一个 openmymemo 命令,所连接的 AI 应用会运行此命令(在“设置”→“高级”中可以查看位置)。它就是下方完整的命令行工具,因此你也可以在终端中使用。
Windows 应用(预览版)
适用于 Windows 10 和 11 的同款应用(64 位,x64)。
- 从最新版本下载
OpenMyMemo-<version>-x64-setup.exe并运行。它只为当前用户安装,不会请求管理员权限。目前尚未签名,因此 Windows SmartScreen 可能会提示它已保护你的电脑:点击更多信息,然后点击仍要运行。 - 首次启动时,应用会将 OpenMyMemo 运行所需的 Python 和库下载到
%LOCALAPPDATA%\ai.mymemo.openmymemo\,约 25 MB,通常不到一分钟。之后应用会在几秒内启动,也可以离线启动。 - 同一份指南会帮助你连接 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。 |
| Cursor | Panel → Connectors → Connect,或运行 openmymemo connect cursor。 |
| VS Code | Panel → 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 会添加自己的会话启动钩子。
-
安装插件。 在终端中:
codex plugin marketplace add MyMemoAI/openmymemo codex plugin add openmymemo@openmymemo然后重启 Codex:退出 ChatGPT 桌面应用并重新打开,或在终端中再次启动
codex。 -
设置钩子。 开始新的 Codex 会话,并让它“设置 OpenMyMemo”。它会向
~/.codex/hooks.json添加钩子,并保留你的其他钩子。如果你安装了 CLI,openmymemo setup codex也会执行相同操作。 -
信任钩子。 在 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 记忆。 |
原则
- 本地文件是唯一可信来源——带有 YAML frontmatter 的 Markdown 文件,可在任何编辑器中打开,并保存在 iCloud、git 或 Obsidian 库中。
- AI 负责写入;你可以查看所有内容并撤销。新增内容会立即生效,并显示在摘要中。对你亲自编写内容的修改,以及私密主题中的任何内容,都会等待你确认。一个开关即可让所有更改都等待确认。
- 所见即所得——面板会显示 AI 收到的确切文本,以及谁阅读了哪些内容。
- 零依赖——无需数据库、Docker、账号、API 密钥或遥测。
- 开放协议与开放约定——标准 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 写入时会发生什么

- 新增内容会立即生效。 在你查看之前,它会标记为新内容:你可以在面板的“更改”页面、
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。