mcpField
W
WireCat Memo

WireCat Memo

本地服务
wirecat.dev记忆与知识0今天更新

关于 WireCat Memo

WireCat Memo 是本地优先的知识存储和命令行工具,供需要让 Agent 使用笔记、文档、邮件和消息的人使用。它将信息关联到人物和来源,支持关键词及本地模型搜索,并为 Agent 答案整理证据。

主要功能

  1. 01导入笔记、文档、邮件和消息
  2. 02跨来源搜索并提供来源引用
  3. 03汇总人物身份及相关记录
  4. 04为 Agent 整理证据包
  5. 05管理笔记、任务、标签和提醒

适用场景

  1. 01通话前整理某人的背景
  2. 02查找讨论某个主题的位置
  3. 03为 Agent 提供带引用的问题证据

MCP 相关

`memo mcp serve` 向 MCP 客户端开放消息、邮件和笔记,并可按已保存的权限与审核设置处理待确认的记忆、事实和外发操作。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"dev-wirecat-cli-memo": {
"command": "npx",
"args": [
"-y",
"@wirecat/cli-memo"
]
}
}
}
启动命令npx -y @wirecat/cli-memo

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

安装包
npm@wirecat/cli-memo0.119.0

工具

3

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

参数类型必填说明
querystring否描述任务的词语

详细介绍

为 AI Agent 提供本地知识

memo

为 AI Agent 提供本地知识。
将笔记、文档、邮件和消息存储在一个本地位置 — 关联人物、添加标签,并可搜索 每条内容都附有来源引用。

文档 · 示例 · WireCat

npm 许可证 Node

memo 是一款命令行工具。它会导入一个笔记文件夹(例如 Obsidian 库)及其中的文档和邮件;也会读取由 tg-cli 和 max-cli 保存的消息。然后,你或你的 AI Agent 可以询问:我对这个人了解什么?我们在哪里讨论过这件事?我承诺过什么?每个答案都会指向对应的来源。

示例 — 搜索笔记文件夹中的两条虚构笔记:

$ memo search notes budget Friday
Searched by words only: e5-small is not downloaded — install it with a WireCat CLI that has `models download` (tg, max or wa); they share the model folder

Projects/Harbour budget.md
  Review the Harbour budget by Friday.
people/Alice Example.md
  Asked for the revised budget by Friday.

每条匹配结果都会标出文件名,并显示匹配片段。诊断信息会输出到 stderr:本地模型缺失,因此此次搜索仅匹配文字。--json 会返回结构化结果,供 Agent 或脚本使用。

快速开始

你需要 Node.js 22.16+ 或 24+(不是 23)。memo 已在 Linux 上测试;macOS 和 Windows 尚未测试。

npm install -g @wirecat/cli-memo
memo skill install --for all      # puts memo's skill where your agents read it
memo folders add /path/to/notes   # your notes folder; Obsidian format by default
memo sync --only notes                # reads the notes, their links and tags; run again after edits
memo search notes "budget"

全局安装不会安装 Agent 技能;请先运行上面的 memo skill install --for all。 npm 11.17 及更高版本会对未列入 allowScripts 的安装脚本发出警告;使用 npm 11 时,脚本仍会运行。 npm 12 则会阻止这些脚本。运行 npm 在警告下方打印的 npm install -g --allow-scripts=… 命令; 它仅允许命令中列出的程序包,且只生效一次。在 Windows 上,如果找不到 memo,请打开一个新的终端。

笔记只需做到这些。接下来添加更多上下文:

  • **消息:**安装 tg-cli 或 max-cli;memo 会读取同一个本地存储。
  • **按含义搜索:**需要一个约 135 MB 的本地模型,只需下载一次:memo models download e5-small。没有它时,memo 会按文字搜索。
  • **邮件:**设置 Himalaya,运行 memo mail add <account> <address>, 然后运行 memo sync --only mail。
  • 保持最新:memo jobs start 会每五分钟运行一次 memo sync(Linux、systemd)。
  • 你的 Agent:memo skill install --for all 会将 memo 的技能放到 Claude Code、Codex 和 Gemini CLI 可读取的位置; memo skill show 会打印技能内容。

也可以让你的 Agent:“帮我通过 npm install -g @wirecat/cli-memo 和 memo skill install --for all 安装 memo,阅读 memo --help,然后帮我连接一个我选定的笔记文件夹。”

更多信息:安装 · 在 wirecat.dev 上安装 memo

能做什么?

“通话前,我需要了解 Alice 的哪些信息?”

memo context telegram:"Alice Example" --json

她关联的所有身份、双方最近发送的消息、共同参与的聊天、关联邮件、关于她的笔记和未完成的任务——每项都附有来源链接。

“我们在哪里讨论过 Harbour 的预算?”

memo search all 'harbour budget' --json

消息、导入的邮件和笔记会一起排序。知道内容类型后,search notes、 search mail 和 search messages 会检索每个字段。

“这周我答应过别人什么?”

memo answers create 'What did I promise this week?' 'promised OR "by Friday"' --all --json

为你的 Agent 准备的证据包:匹配的来源及其引用、搜索过的内容,以及要求引用来源的指示。你的 Agent 会撰写答案;只有在你要求时,memo 才会调用模型。

更多信息:搜索 · 获取所需的上下文

专为 AI Agent 打造

  • 任何可使用终端的 Agent — Claude Code、Codex、Gemini CLI 等可运行 memo 命令;--json 会为它们提供结构化输出。
  • 提供证据,而非猜测 — memo answers create 会提供带引用的来源,并说明哪些内容无法搜索。
  • MCP — memo mcp serve 可让 Claude Desktop 或 Cursor 等 MCP 应用读取你的消息、邮件和笔记,并提出记忆、可直接记录的事实及外发操作。获得授权后,Agent 也可以决定项目提案;你也可以要求由负责人决定。网页或手机应用可通过 HTTPS 隧道使用 经过身份验证的 HTTP MCP,并沿用相同的已保存权限。

更多信息:连接你的 AI Agent · 记忆与事实 · MCP 服务

为什么选择 memo?

  1. 本地优先。 所有内容都保存在本地存储中;按含义搜索使用本地模型。
  2. 每个答案都有来源。 搜索结果都附有你或你的 Agent 可以打开的引用:笔记、文件页面、邮件或消息。
  3. 关联,而非猜测。 笔记会关联人物和记录;不会仅因姓名相同就合并身份。
  4. 导入不会改动你的来源。 单独的 Gmail 清理命令 只有在使用 --yes 时才会将选定邮件移至垃圾箱或恢复邮件。标签和你自己的笔记保存在存储中。
  5. 审核和委派都有记录。 Agent 提出的记忆和外发操作都必须先经你确认。项目决策可以委派,也可以由负责人决定。Memo 绝不会发送任何内容。

状态: 早期阶段。上下文、笔记及其关联、文档导入、Gmail 和 IMAP 导入、任务、 手动关联、证据包和本地提醒均可使用。项目中的任务目前还不能设置提醒。

更多信息:安全 · wirecat.dev 上的安全信息

它会读取什么

  • 笔记文件夹: Obsidian 或纯 Markdown,支持链接、别名和标签。
  • 其中的文档: TXT、CSV/TSV、带文本层的 PDF、DOCX、XLSX、ODT/ODS、PPTX 和 EPUB,并标明每段内容所在的页面、行或单元格。
  • 邮件: Gmail 或其他 IMAP 账户,通过 Himalaya 读取,并包括附件。
  • 消息: tg、max 和 wa 存储中的消息,以及关联了各个通信应用和邮件的联系人。

你可以为消息、人物和项目添加自己的笔记、标签、任务和提醒,也可以添加组织和项目。

更多信息:笔记 · memo 可以读取的文件

按任务分类的命令

任务命令
连接笔记文件夹memo folders add · folders update · folders list
同步更改memo sync · sync --only notes · sync --only mail · jobs start / stop / status
阅读笔记memo notes list · notes show · notes links show(关于某人的笔记文件)
编写自己的笔记memo notes add · notes edit · notes remove · notes export
搜索memo search all · search notes · search mail · search messages
向 Agent 提供证据memo answers create
了解某人memo context
准备和审阅已归档的会议memo meetings prepare · search meetings · meetings passage · meetings actions add
组织和项目memo organizations add / list / context · projects add / list / context · projects key-documents add / remove / list · projects meetings list / link
项目和主题别名memo vocabulary list / show / check / inspect · vocabulary aliases add / remove · vocabulary create
关系memo relationships add / list / remove / confirm / suggest
标签memo tags add · tags remove · tags list
未完成的工作memo tasks add · tasks list · tasks agenda · tasks show · tasks update · tasks assign · tasks close · stats tasks show
任务依赖关系memo tasks link / unlink / relations · tasks status · tasks list project:HRB ready:true
提醒memo reminders add / list / poll / ack / update / cancel
Agentmemo memories … · facts … · actions … · agents list · memo mcp serve

每个命令都支持 --help;大多数命令也支持 --json。memo guide 会列出各种使用场景——完成常见任务所需的命令及其顺序;memo guide person-brief 会汇总 WireCat 所有工具中与某个人相关的信息。

更多内容:技术文档 · wirecat.dev 上的 memo

来自文件的笔记,以及你编写的笔记

来自文件夹。 memo folders add 会为文件夹分配一个存储使用的 id;它的路径仅指它在这台电脑上的位置,因此要在另一台电脑上关联同一个文件夹,请使用 memo folders update <id> <path>。memo sync --only notes 会将每个文件存储为一条以其路径命名的笔记。编辑过的文件会保留旧文本作为修订版本;移动过的文件会保留其 id、链接和标签;已删除文件的文本会在下一次导入时被移除。obsidian 格式(默认格式)会读取 [[Note|label]] 链接、别名、tags: 和 #tags;markdown 格式会读取 [label](path.md) 链接和 tags:。当存储中存在名为 Kai Sample 的人时,[[Kai Sample]] 链接会变成指向此人的链接。.obsidian 等隐藏文件夹会被跳过。

在 memo 中编写。 你编写的笔记属于存储,而非文件;它关联的对象由 --subject 指定,可以是某个人、消息、聊天、项目、任务或另一条笔记。

memo notes add 'Prefers mornings' --subject telegram:'Alice Example'
memo notes edit NOTE_ID --revision 1 --text 'Prefers early mornings'
memo notes export --output-dir /path/to/vault/memo --format obsidian

编辑时需要指定要修改的修订版本,因此期间进行的编辑永远不会丢失。export 会将你的笔记写入文件,后续导入时会跳过这些文件,也绝不会覆盖你编辑过的文件。

更多内容:笔记 · 添加笔记 · 创建自己的笔记

搜索与证据

笔记会根据查询语言中的词语和词干进行搜索——消息中使用的短语、AND/OR/NOT、 tag:、date:——下载本地模型后(memo models download e5-small)也会按含义搜索;两种结果会一同排序。search all 会读取消息、导入的邮件、笔记和 gcal 一并存储的日历事件,不会读取其他内容。如果你知道内容类型,相应的搜索命令 会读取每个字段:search mail 支持 from:、to:、cc:、bcc:、subject: 和 mailbox:。

memo search notes '"budget review" AND NOT cancelled' --limit 20
memo search mail 'from:[email protected] subject:budget'
memo notes show note:NOTE_ID --json

memo answers create 需要指定范围(--all,或 --source,例如 --source telegram:1,notes),并默认返回证据。若要 调用模型,请设置 MEMO_MODELS_ANALYSIS_PROVIDER 和 MEMO_MODELS_ANALYSIS_MODEL,并传入 --analyze;远程模型还需要 --allow-remote。

更多信息:搜索 · 在 wirecat.dev 上搜索

人员、组织和项目

memo context 会根据共享存储回答:与某人关联的每个身份、双方最近一次消息、近期消息、共同参与的聊天、关联的邮件、对方的日历事件、关于对方的笔记以及未完成的任务。谁是谁 由消息平台中的信息决定——tg personal contacts link <person> email:<address>——仅仅同名并不足以确认身份。 memo notes links add telegram:"Alice Example" /path/to/notes/people/Alice.md 用于指定关于她的笔记。

组织和项目归你所有,而非某个账户所有。关系(member-of、related-to) 需手动声明;relationships scan 只会提议共享域名的关联,供你确认。项目 可以关联会议(projects meetings link),而 memo vocabulary 会为项目和主题提供审核通过的别名,确保一个名称始终指向同一个项目。

添加新标签或主题前,请运行 memo vocabulary check <name> --json。如果有对应的规范标签,请复用;如果含义相同,则添加别名。 对于有意区分的标签,请运行 memo vocabulary create <name> --fingerprint <creation_fingerprint> --json;创建主题时,两条命令都要指定 --kind topic。所有者负责接受这项审核;MCP 提供 vocabulary_check, 但没有用于创建标签的工具。如果期间标签或别名发生变更,则需要重新审核。 memo vocabulary check --json 会查找目录中可能存在的同义词。其 complete 标记会说明有限范围内的比对是否已完成;候选项需要审核,且绝不会自动合并。使用 --kind tag、--kind topic 或 --kind project 缩小审核范围。

memo organizations add 'Synthetic Studio' --kind company
memo projects add 'Synthetic Harbour' --organization organization:ORGANIZATION_ID
memo projects key-documents add PROJECT_ID document:DOCUMENT_ID --reason 'read this first'
memo projects context PROJECT_ID --json   # start project work here: key documents come first

更多信息:人员和项目 · wirecat.dev 上的人员信息

邮件

memo 通过 Himalaya 读取邮件,这是一个需要你先行配置的命令行邮件客户端。 默认使用 Gmail;使用其他 IMAP 服务商时,需设置 mode: "imap" 并指定要读取的文件夹。 邮箱以只读方式打开,--limit(默认值为 200)限制每次运行读取的新邮件数量,下次运行时会接着读取。 Gmail 标签会转换为邮箱,附件文本会与邮件内容一同参与搜索,而在源端删除的邮件,其文本也会从存储中移除。每个账户都在 mail.accounts 中命名;memo sync 和定时器会读取所有账户,并在报告中分别标明账户名称;使用 --source email:<name> 可缩小范围。

memo sync --source email:work --since-time 2026-09-01   # work: the account's name in mail.accounts
memo search mail 'mailbox:important budget'

更多信息:邮件 · wirecat.dev 上的邮件信息

标签、任务和提醒

标签是你在笔记、邮件、消息、聊天、个人、组织、项目、任务、会议或文件夹下所有笔记上使用的标记。它们存储在数据存储中;文件、Gmail 标签和邮箱标记都不会改变。任务会指向其来源消息或笔记,也可以是你在项目中创建的任务(--project RES --title …),并且可以被其他任务阻塞,直到后者完成。memo tasks agenda 会列出你指定账户中今天需要查看的事项;笔记文件夹也可以作为账户(--source notes)。提醒存储在本地:由你选择的调用方轮询提醒,不会向即时通讯工具或邮箱发送任何内容。

memo tags add follow-up --note note:NOTE_ID
memo tasks add 'msg:telegram/1/77/42' --type request
memo reminders add TASK_ID --at-time 2026-10-09T09:00:00+02:00 --account telegram:1

更多信息:标签 · 任务和提醒 · 为你的来源添加标签

Agent 和 MCP

带有终端的 Agent 会使用 --json 运行 memo。MCP 应用会通过标准输入和标准输出启动 memo mcp serve。应用可以借此使用 Memo 的命令,包括写入操作,但会受到已保存权限和读取锁的限制。 它可以使用 notes_show 和 messages_show 打开搜索引用。现有工具名称仍然有效:

{ "mcpServers": { "memo": { "command": "memo", "args": ["mcp", "serve"] } } }

Agent 新增的记忆、直接记录的事实以及外发操作提案都会以 proposed 状态开始。权限键会限制读取、编辑和决策;没有已保存级别的写入操作会使用 ask,通过 MCP 运行时不会出现终端提问。来源文件夹和邮件规则的更改需要 mcp.authority,此权限默认关闭。 项目提案采用单独的流程:默认情况下,Agent 可以提供记录在案的理由来决定这些提案,从而创建已接受的事实和带编号的任务,或确认关键文档。设置 agent_decisions: false 可要求所有者决定项目提案。会议决策和注释恢复需要明确授权。Memo 永远不会发送消息或电子邮件。memo agents list 会列出每次调用、结果和时间,不包含调用参数。

更多信息:记忆和事实 · MCP 服务 · wirecat.dev 上的 MCP

保持最新

memo sync 会更新笔记和邮件,并且只读取发生变化的内容。memo jobs start --every 5m 会通过 systemd 用户计时器运行该命令;jobs status 会显示下次和上次运行时间。如果计时器运行失败,每条 memo 命令都会在一行 stderr 中说明。锁可避免两次导入同时进行:如果计时器运行时发现同步仍在进行,就会跳过并以 0 退出。一个来源失败不会影响其他来源。

更多信息:保持 memo 为最新状态 · 在 wirecat.dev 上导入文件夹

配置

memo folders add 和 memo jobs start 会为你写入 ~/.config/cli-memo/config.json。你可以手动设置要跳过的内容以及导出笔记的存放位置;memo mail add 会添加一个明确指定的 Himalaya 账户:

{
  "notes": { "ignore": ["Journal/Private.md", "Archive"], "export": { "dir": "/path/to/vault/memo" } },
  "mail": { "accounts": [{ "name": "work", "address": "[email protected]" }] }
}

更多信息:配置 · wirecat.dev 上的配置

安全

  • 导入会读取笔记文件夹和邮箱,不会更改内容或将邮件标记为已读。Memo 从不发送邮件。
  • 单独的 Gmail 清理命令只有在使用 --yes 时才会将选定邮件移至垃圾箱或还原邮件;定时器不会运行这些命令。
  • Memo 添加的内容——你的笔记、链接、标签、任务、记忆——都保存在本地存储中。
  • 在源位置删除的笔记或邮件,下次导入时其文本会从存储中移除;如果某次运行发现缺失内容的比例异常高,就不会删除任何内容,并会说明原因。
  • 只有使用 --analyze 时,证据才会发送给模型;只有使用 --allow-remote 时,才会发送给远程模型。
  • Agent 负责提出建议;只有你能确认记忆并批准操作。

更多信息:安全 · wirecat.dev 上的安全说明

限制

  • 文件最大为 50 MiB;存储的文本每个文件最多为 200,000 个字符。扫描版 PDF、旧版 .xls 文件和更大的文件会被报告,但不会读取。
  • 按含义搜索时,每次运行最多嵌入 600 个片段;下一次运行会继续处理。
  • memo sync --only mail 默认每个账户每次运行读取 200 封新邮件(--limit),并保留正文最多 1,000,000 个字符、附件文本最多 200,000 个字符(mail.max_body_chars、mail.max_attachment_chars)。
  • 搜索最多返回 100 条结果;tags list 最多显示 100 个标签,除非通过 --limit 指定更多。
  • 标签必须包含 1–32 个字母 a–z、数字或连字符。

更多信息:memo 可读取的文件 · memo 可读取的文件

缺少内容时

  • **只能按词语搜索:**尚未下载本地含义模型。通过 tg、max 或 wa 安装;它们共用模型文件夹。没有该模型,词语搜索仍然可用(按含义搜索)。

  • **导入时拒绝某个文件夹:**它还没有 id——memo folders add <path>。

  • **拒绝某个名称:**有两个人使用相同名称;请使用列出的某个 id。

  • **memo answers create 要求指定范围:**添加 --all 或 --source。

  • **搜索结果为空:**存储中没有匹配的内容——这并不能证明事情从未发生过。请尝试该类型自带的搜索、使用更宽泛的词语,或先导入该来源。

  • **命令失败,想知道原因:**运行 memo runs list status:failed,然后运行 memo runs show <run-id>。 失败的运行会保留 30 天,成功的运行会保留 7 天 (运行记录)。

更多信息:缺少内容时 · 搜索

WireCat 的一部分

WireCat 是一个面向 AI Agent 的开源、本地优先上下文层:tg 用于 Telegram,max 用于 MAX,wa 用于 WhatsApp,zm 用于归档的 Zoom 录制内容,drive 用于 Google Drive 和 Docs, memo 用于你的笔记和邮件。导入的上下文可以在本地搜索。从笔记开始,再添加你需要的来源。

技术文档

页面内容简介
概览简要介绍 memo 的功能和工作原理
安装系统要求、安装、文件存放位置和更新
使用 memo日常操作:导入、搜索、上下文、笔记和回顾
memo 的工作原理本地存储、导入、链接、引用和回顾
笔记和文件夹Markdown 和 Obsidian 文件夹、文档、自建笔记和导出
标签为任意来源添加标签
搜索搜索词、search all、answers create
人物和项目人物上下文、关联、组织和关系
邮件通过 Himalaya 使用 Gmail 和 IMAP
任务和提醒任务、依赖关系和本地提醒
记忆和事实Agent 和你记录的内容,以及建议的操作
MCP 服务无需终端的应用、Agent 日志
远程连接浏览器和手机应用、访问码登录和撤销
保持 memo 更新memo sync 和定时器
操作指南可交给 Agent 执行的完整任务
所有命令每个命令和选项,由程序生成
配置所有设置和变量
故障排除屏幕提示的内容及应对方法
安全读取、写入和发送的内容
与其他工具对比 · 网页memo 与 Hindsight、mem0、Graphiti、Cognee、basic-memory、Obsidian 和 Screenpipe 相比如何?
更新日志每个版本的发布记录

读者指南位于 wirecat.dev。

开发

pnpm install
pnpm lint && pnpm typecheck && pnpm test

欢迎提交拉取请求;示例和测试仅使用虚构人物。

更多内容:安装

许可证

Apache License 2.0。

评论

支持 Markdown

第一次接触 MCP?

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

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