mcpField
M
Monet

Monet

本地服务
monet.team-monet.com记忆与知识26 周前更新

关于 Monet

Monet 是面向编码 Agent 的本地优先记忆系统,在设备上保存原则、规则和纠正记录。其 MCP 服务与命令行工具会按项目组织记忆,并在 Agent 工作时提供相关内容。

主要功能

  1. 01本地 SQLite 记忆存储
  2. 02设备端嵌入向量
  3. 03按项目划分记忆圈
  4. 04记忆 MCP 服务
  5. 05记忆关系图仪表板
  6. 06存储诊断与修复

适用场景

  1. 01让编码 Agent 获取项目规则
  2. 02记录纠正内容以避免重复提醒
  3. 03查看记忆概念及其关系
  4. 04诊断或修复嵌入向量存储

MCP 相关

Monet 支持 MCP,并通过服务向编码 Agent 提供本地存储的记忆。命令行工具还可用于检查和维护存储。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"team-monet-monet": {
"command": "npx",
"args": [
"-y",
"@team-monet/monet"
],
"env": {
"MONET_STORAGE_DIR": "<MONET_STORAGE_DIR>"
}
}
}
}
启动命令npx -y @team-monet/monet
需要配置的环境变量
MONET_STORAGE_DIRDirectory where Monet stores local-first memory. Defaults to ~/.monet (organized per project by circle).

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

安装包
npm@team-monet/monet1.11.0

工具

还没有获取到工具列表

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

详细介绍

monet

记忆应该改变你的 Agent 的行为。

npm MCP Registry Website

🌐 team-monet.com · 已收录于 MCP Registry

Monet 是面向编码 Agent 的本地优先记忆工具,旨在实现你期望的结果。它会保留你和团队真正看重的内容——原则、规则和纠正建议——并在 Agent 工作时将其提供给 Agent:原则始终生效,规则在适用时读取,纠正建议会被记录下来,避免重复提出。它 100% 在本地运行(SQLite + 设备端嵌入),并使用 MCP。

开始使用 — 让你的 Agent 为你完成设置

使用 Monet 最简单的方式,是让你的 Agent 为你安装并完成配置。在 Claude Code 中粘贴下面这行内容(即将支持更多 Agent):

为我的所有项目设置 Monet:阅读 https://raw.githubusercontent.com/team-monet/monet/main/harness/bootstrap/install.md 并按其中说明操作,每一步都先与我确认。

你的 Agent 会安装 Monet、配置 MCP 服务,并引入一支具备记忆能力的 Agent 团队——无需手动配置,也无需设置环境变量。 这就是 with-monet 框架,位于 Monet repo 的 harness/ 目录中,也是推荐的使用方式。

⭐ 如果 Monet 对你有帮助,请在 GitHub 上为 Monet 点亮星标——这是支持该项目的最佳方式。

零配置

Monet 会在 ~/.monet 中保留一个本地存储,并自动将每个项目整理到各自的 circle 中——无需进行任何设置。所有内容都保留在你的设备上。

查看你的记忆 — monet dashboard

运行一条命令,即可打开 Monet 记忆的本地网页视图,以可交互的力导向图形式呈现:

monet dashboard

它会自动在浏览器中打开——如果没有打开(某些 Windows 或无头环境可能会遇到这种情况),终端会显示 URL(http://localhost:7373)和存储路径;只需访问该 URL 即可。Graph 标签页是主视图:节点代表概念(按类型着色,并根据重要性调整大小),边表示它们之间的关系,详情面板可让你查看任意概念的完整内容和依据。Concepts、Entities、Timeline 和 Health 标签页是可排序的表格;Health 会显示矛盾、重复内容和低置信度概念。如果图表看起来是空的,请检查终端中的 Store: 行:图表为空通常意味着它指向了错误的存储(使用 -d),或者存储尚未积累内容。

100% 本地运行。完全离线。严格只读。 每次收到请求时,服务端都会将存储复制到临时快照中——不会写入或锁定实时数据库。不会建立任何网络连接;关闭 Wi-Fi 后运行,图表仍会正常显示。

monet dashboard              # opens at http://localhost:7373
monet dashboard -p 8080      # -p, --port <n>   custom port
monet dashboard -d ./path    # -d, --dir <path>  point at a specific store

诊断并修复 embedder 存储 — monet doctor / monet repair

如果 Monet 报告 embedder 固定值不匹配、嵌入迁移中断、向量格式错误,或本地模型不可用,请先运行只读诊断命令:

monet doctor
monet doctor --check-provider       # also load and probe the exact pinned provider
monet doctor --dir ~/.monet --json  # machine-readable result; diagnostics stay on stderr

doctor 会打印数据库的绝对路径、SQLite 完整性和架构、持久化模型固定值、全部四种实时嵌入数据(包括维度和格式错误的行示例)、任何迁移标记,以及可直接复制粘贴的后续命令。它不会构建 MonetCore,也不会修改数据库。诊断正常时退出码为 0;诊断完成但需要恢复或对提供方采取操作时退出码为 2;检查失败时退出码为 1。提供方不可用会与存储安全状态分开报告,例如,不支持的哈希 tokenizer 或缺失的 ONNX 缓存本身并不意味着数据库已损坏。对于无法仅凭固定值确认形状的 ONNX 或自定义模型 ID,只有在确切的提供方成功加载,且每种格式正常的实时数据都具有相同且匹配的向量宽度时,--check-provider 才能将原本的 unknown 评估结果调整为已确认。

当服务完全无法启动时

无法启动服务的主机只会报告连接已关闭——只有所有可能失败的启动步骤都成功后,传输层才会建立,因此没有可用于解释故障的协议通道。故障原因会写入存储旁边的 monet.db.startup-failure.json:失败步骤、错误及其代码、时间和 pid。该记录是单个数据库的旁置文件,以数据库命名,因此包含多个存储的目录不会混淆各自的诊断结果。doctor 会首先在 stderr 上打印该记录,即使存储本身损坏严重,无法检查也是如此。

该记录只保留最近一次故障,之后成功启动也不会清除它——主机可能重试,因此“失败 → 失败 → 成功”很常见;若成功时清除记录,就会抹去失败尝试的证据。采取操作前请先查看时间戳。

除非同时提供两个确认标记,否则修复操作只会预览。请选择且仅选择一种模式:

# Preview a complete rewrite to a built-in provider alias.
monet repair --target hashing
monet repair --target onnx

# Exact persisted model IDs are also accepted (quote them in scripts).
monet repair --target 'hashing:dim=256:tok=2' --json

# Apply only after reviewing the preview; this command never prompts.
monet repair --target hashing --apply --yes

# An interrupted migration must use the sentinel's exact target.
monet repair --resume
monet repair --resume --apply --yes

# Abandon is available only when core proves no vectors were rewritten and can restore the prior pin.
monet repair --abandon
monet repair --abandon --apply --yes

预览会先对持久化状态进行分类,再提供应用命令。未固定模型的空存储,或干净且与提供方兼容的同目标存储,会报告 action: none;无需备份或重写,且 --apply --yes 会拒绝执行。除非存在标记且核心诊断将其判定为可安全放弃,否则放弃预览也会拒绝执行。有效目标或恢复预览会加载并探测确切的提供方,但不会以修改模式打开数据库。应用操作会再次预检提供方,独占 SQLite 访问权,并在核心迁移架构或嵌入数据之前创建经过验证的备份。备份会自动创建,不能禁用或更改保存位置:

<storage-directory>/backups/monet-before-repair-<UTC>-<uuid>.db

备份路径会立即打印,即使后续操作失败也会保留。如果无法获取独占访问权,请停止其他 Monet 进程,然后重新运行相同命令。不要删除活动迁移标记,也不要手动编辑固定值:请使用 --resume;只有在预览显示核心将放弃操作判定为安全时,才使用 --abandon。预览和应用成功时退出码为 0;标志无效、提供方失败、锁冲突、尝试不安全的放弃操作、备份失败和迁移失败时退出码为 1。

许可证

Monet 根据 GNU Affero 通用公共许可证 v3.0(AGPL-3.0-only)授权。完整条款见此软件包随附的 LICENSE 文件。with-monet 测试框架根据 Apache License 2.0 单独授权。

评论

支持 Markdown

第一次接触 MCP?

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

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