mcpField
D
Docmancer

Docmancer

本地服务
docmancer.dev记忆与知识13311 周前更新

关于 Docmancer

Docmancer 是一个仅本地运行的 MCP 服务,用于基于来源引用的 Markdown 记忆与文档检索。它面向使用 Claude Code、Codex、Cursor 等多种编码 Agent 的开发者,可把各 Agent 记录的决策与上下文集中到同一份可读的本地 Markdown 中。

主要功能

  1. 01本地 Markdown 共享记忆,可读可编辑
  2. 02回答附带来源引用,标明来自哪个 Agent
  3. 03加密本地备份与恢复,过滤密钥和认证文件
  4. 04写入记忆前需审核差异,默认不写入
  5. 05文档库与个人记忆分开,支持检索 API 文档

适用场景

  1. 01让多个编码 Agent 共享同一项目决策与规则
  2. 02查询某个技术选择的历史依据与对话证据
  3. 03在新机器上恢复 Agent 会话与配置

MCP 相关

Docmancer 通过 MCP 向客户端暴露记忆与文档检索能力,并可通过 docmancer mcp install 为 Codex 等客户端注册,作为本地服务的另一种传输方式。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"dev-docmancer-docmancer": {
"command": "uvx",
"args": [
"docmancer"
]
}
}
}
启动命令uvx docmancer

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

安装包
pypidocmancer0.9.17

工具

20

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否返回的匹配结果数量上限。默认值因工具而异。
querystring是要在本地记忆或文档索引中搜索的自然语言词语。
include_historyboolean否为 true 时,除活动证据外,还包括历史或已被取代的记忆证据。
expand_relationsboolean否为 true 时,在直接匹配项旁边加入相关记忆条目。

详细介绍

README 配图

Docmancer

在每台机器上恢复你的 AI 编码环境。

PyPI version Downloads Python 3.11+ License: MIT Stars

网站  ·  文档  ·  博客  ·  更新日志  ·  讨论

Docmancer 本地应用展示 Agent 记忆、Shared Memory 文件树和 Library

你的编码 Agent 会记住在一台机器上发生的事

Agent 备份和恢复是开发预览版命令。目前已支持本地加密归档。托管云快照仍需通过迁移和恢复验收后才会开放。

Docmancer 可安全恢复 Agent 的会话、记忆和设置,然后让你使用的每个 Agent 都能获取实用的项目上下文。

Claude Code 和 Codex 可以搜索它们已在一台机器上写入的文件。普通的点文件工具可以复制目录。但两者都无法提供面向 Agent、剔除机密并经过结构验证的备份,也不具备项目映射、冲突隔离,以及从原始历史记录到共享项目记忆的审核流程。

先了解 Docmancer 可以保护哪些内容:

docmancer backup --dry-run

创建免费的口令加密本地归档:

docmancer backup --local --to ~/Backups/agents.dmbak

在新机器上,关闭 Claude Code 和 Codex,然后预览恢复内容:

docmancer restore ~/Backups/agents.dmbak --dry-run
docmancer restore ~/Backups/agents.dmbak

Docmancer 会恢复缺失的历史记录、跳过相同文件、仅合并安全配置,并隔离内容不同的会话。它绝不会复制身份验证存储、.env 文件、MCP 环境变量的字面值、缓存、日志、遥测数据或机器密钥。

备份或恢复后,本地整理功能会从受保护的历史记录中找出长期有效的决策和约束。每项建议都会关联到确切的对话记录证据,并等待审核:

docmancer consolidate
docmancer consolidate --review PROPOSAL_ID
docmancer consolidate --approve PROPOSAL_ID

你的 Agent 已经学到了这些,只是它们无法互相交流。

Claude Code 知道你为什么从 Railway 迁走。Codex 学会了你的迁移约定。Cursor 还在遵循一条你两个月前就推翻的规则。每个 Agent 都记下了一些东西,但它们彼此不一致,而且你在任何能查看的地方都找不到这些内容。

这些知识是真实存在的,而且已经在你的磁盘上。它们散落在 CLAUDE.md 文件、AGENTS.md 文件、Cursor 规则、Agent 记忆目录和会话历史中。你使用的每种工具都把它们放在不同的位置,采用不同的格式。

Docmancer 围绕两个问题构建,并按以下顺序处理:

  1. 我得向每个编码 Agent 重新解释我的项目。怎样才能让它们都基于相同的上下文工作? Docmancer 将持久有效的内容整理成你可以阅读和编辑的本地纯 Markdown 文件,然后把相关文件提供给你连接的每个 Agent,这样你记录一次的决定就能传达给它们所有人。
  2. 我的编码 Agent 已经知道哪些关于我和我的工作方式的事情? Docmancer 会索引它们在这台机器上写下的记忆、指令和规则,并将相关来源附在每条结论上,这样你就能直接查看答案,而不是猜测。

除非你明确要求,否则任何内容都不会离开你的机器。没有遥测、没有账户,核心产品也不需要 API 密钥。

安装

pipx install docmancer
pipx ensurepath
export PATH="$(pipx environment --value PIPX_BIN_DIR):$PATH"
docmancer setup

pipx ensurepath 会让更改在之后打开的终端中持续生效。export 行会让 Docmancer 立即在当前终端中可用,这在已经建立的 SSH 会话中特别重要。如果 docmancer 仍然提示 command not found,请重新连接 SSH 后再试。

如果你使用 uv,uv tool install docmancer 也会以相同方式安装。

setup 会查找所有受支持的编码 Agent,向你展示完整计划和隐私警告,并等待你确认后再进行任何更改。接着,它会索引找到的内容、构建你的规范记忆、安装 Agent 技能,并在 Agent 支持的情况下启用自动召回。

向它提问:

docmancer ask "Why did we choose Railway?"

你会得到一个有范围限制、附带引用的答案,依据是你自己的 Agent 提供的证据。然后打开当前项目对应的应用:

cd /path/to/your-project
docmancer web

首次运行就是这些步骤。大约需要一分钟,而且 setup 不会修改你当前所在的项目。

你会获得什么

一份记忆,而不是六份。 每个受支持的 Agent 都读取同一份规范 Markdown,因此,只需记录一次的决定就能同时提供给 Claude Code、Codex、Cursor、Gemini 和其他 Agent,无需你四处复制。

有依据可查的答案。 召回结果会返回必需策略、整理后的记忆,以及附带稳定引用的 Agent 证据,让你看清哪个 Agent 在何时说了什么。可选的大模型会将这些证据整理成文字,但绝不会决定哪些内容可以纳入答案。

文件归你所有,而不是数据库。 Shared Memory 是普通目录中的普通 Markdown 文件。你可以用编辑器打开、提交、搜索或删除它们。即使移动文件,稳定的 docmancer://memory/<id> 地址仍然有效。

默认本地运行和离线使用。 默认配置使用 SQLite FTS5、sqlite-vec 和一个内置的小型嵌入模型。无需守护进程、无需下载模型、无需联网,也无需密钥。

编辑不会互相覆盖。 更改或移动现有记忆文件时,必须提供你上次读取的内容哈希,因此一个 Agent 无法悄无声息地覆盖另一个 Agent 更新的决定。

写入任何内容前都会征求批准。 当你要求 Docmancer 记住或更改某些内容时,它会准备一份完整的文件修改提案并展示差异。默认选择是否,之后在对话中说“是”也不会应用已保存的提案。

将同一份记忆带到 VPS 或另一台机器

上述完整产品可在一台机器上免费使用。可选的付费个人同步功能可在你使用笔记本电脑、VPS 或其他机器时,提供加密传输、托管修订历史、设备管理和恢复功能。

在已有记忆的机器上,运行:

docmancer cloud connect

通过浏览器登录。Docmancer 会创建并检查恢复套件,将其展示一次供你离线保存,并自动开始首次加密上传。随后,账户页面会要求你添加付款方式,以开始 30 天试用期。无需单独验证恢复套件,也无需运行首次同步命令。

在 VPS 或第二台机器上,安装 Docmancer 并运行:

docmancer setup
docmancer cloud connect

新机器会显示一个由四个单词组成的配对码。在已连接的机器上运行 docmancer cloud connect,确认相同的四个单词并批准连接。然后在新机器上再运行一次该命令。Docmancer 会下载整台机器范围内的共享记忆树,以及映射到该机器的所有项目树。如果所有已连接的机器都无法使用,请运行 docmancer cloud connect --recover 并输入离线恢复套件。

试用期结束后,所选的月度或年度订阅会自动开始,除非你取消订阅。续费失败后,会有固定的 7 天上传宽限期,随后提供 30 天只读拉取和导出窗口,之后计划删除托管的密文。无论处于哪种计费状态,本地记忆和所有本地功能都能继续使用。完整流程请参阅个人同步指南。

查看每个 Agent 实际接收到的内容

运行 docmancer web 并打开共享记忆。左侧窗格显示磁盘上的实际文件树,中间窗格会显示所选文件及其来源信息,右侧窗格则列出已连接的 Agent。选择一个 Agent,即可在它收到内容之前,查看它将接收的精确限定视图。

脚手架有明确的设计取舍,但文件属于你:

~/.docmancer/tree/                 # machine-wide, follows you between projects
├── profile/
│   ├── about.md
│   └── preferences.md
├── principles/
│   └── working-style.md
├── projects/
│   └── active.md
└── shared/

<project>/.docmancer/tree/         # per project
├── overview.md
├── decisions/
├── constraints/
├── workflows/
└── lessons/

连接你的 Agent

docmancer setup 会安装所有检测到的内容。若要单独管理某个集成:

docmancer agent install claude-code --hooks
docmancer agent install codex --hooks
Agent技能文件自动回忆会话捕获MCP
Claude Code是是是是
Codex(CLI、应用、桌面端)是是是是
Cursor是
Cline是
Gemini CLI是
OpenCode是
GitHub Copilot是
Claude Desktop手动上传是

已安装的技能会教 Agent 何时向 Docmancer 查询过往决策,以及如何在你明确要求时有意写入记忆,因此每个受支持的 Agent 都能使用同一份记忆。自动回忆和会话捕获需要生命周期钩子,目前只有 Claude Code 和 Codex 提供这些钩子,因此其他 Agent 会通过各自的技能文件按需回忆。

MCP 是通过相同本地服务实现的另一种传输方式,并非第二个记忆存储:

docmancer mcp install codex
docmancer mcp doctor

有意记录一项决策

发现功能会查找 Agent 已经写入的内容。若你想有意记录某项内容:

docmancer write $'# Deployment\n\nDeploy the API on Railway.' \
  --path decisions/deployment.md \
  --scope project

稍后可通过任意 Agent 或命令行读取:

docmancer read decisions/deployment.md

也可以让 Ask 来记录,并经过一个审批步骤:

docmancer ask "Remember that production releases require a smoke test"
docmancer ask "Update decisions/release.md to require two reviewers" --apply

日常命令

命令用途
docmancer setup发现 Agent 记忆,并连接所有受支持的 Agent。
docmancer ask "..."回忆证据、回答问题,或提出一项记忆更改。
docmancer web打开当前项目的本地应用。
docmancer common显示多个 Agent 独立记录的内容。
docmancer delivery显示已安装的集成、回忆状态和近期使用情况。
docmancer timeline显示整理后的记忆随时间发生的变化。
docmancer write ... --path file.md写入一个经过审慎考虑的 Markdown 记忆文件。
docmancer read <address-or-path>读取一个带有来源信息的记忆文件。
docmancer edit ... --expected-hash <hash>安全地编辑记忆文件。
docmancer move ... --expected-hash <hash>安全地重命名或移动记忆文件。
docmancer import ./notes将任意 Markdown 复制到项目收件箱。
docmancer docs query "..."搜索单独的文档知识库。
docmancer status显示记忆、来源、安全、集成和 Cloud 的运行状况。
docmancer doctor诊断安装和配置问题。
docmancer cloud connect连接此设备,通过四词代码批准另一台设备,并启动加密同步。
docmancer cloud estimate预览下一次加密上传的大小、分批情况和当前套餐限额,不会将其加入队列或发送。

运行 docmancer --help 或 docmancer <command> --help 查看确切参数;完整命令列表请参阅命令参考。

文档属于单独的知识库

你的决策和供应商的 API 参考回答的是不同的问题,因此 Docmancer 将它们分开存放。知识库内容可供搜索,但不会自动注入你的个人记忆。

docmancer docs add https://docs.pytest.org
docmancer docs query "How do I parametrize a fixture?"

使用 ask 查询你自己的决策、偏好和规则。使用 docs query 查询知识库、API 和供应商文档。

选择检索配置

默认配置无需守护进程,也无需大型下载:

docmancer setup --profile local

它运行 SQLite FTS5、sqlite-vec 和捆绑的 Model2Vec 模型。若要持续摄取数据,并对大约 50,000 至 100,000 份文档进行筛选式向量搜索,请切换到 scale 配置:

pipx install "docmancer[embeddings-heavy]"
docmancer qdrant up
docmancer setup --profile scale

如果你使用 uv,第一行命令应改为 uv tool install "docmancer[embeddings-heavy]"。

Scale 使用 Qdrant、FastEmbed 稠密嵌入、稀疏 SPLADE 检索和倒数排名融合。它有助于向量筛选、并发写入和提升运维余量。它无法弥补来源覆盖不足或评估薄弱的问题;两种配置实现的记忆语义完全相同:切换只会改变存储方式和容量,不会改变权威性、来源信息或 Shared Memory 的定义。

隐私

你的记忆、凭据、索引和本地应用都保留在你的设备上,Docmancer 不会收集遥测数据。只有在你明确获取在线文档、使用外部模型、检查软件包注册表或启用 Cloud 时,它才会访问网络。

以上所有功能都是免费的,并且会一直免费。免费版单机产品无法解决两个问题,而付费方案正是为了解决这些问题。第一个问题是:你在多台设备上工作,但记忆只构建在一台设备上。可选的付费 Personal Sync 可以将同一份规范记忆同步到你批准的每台设备;记忆离开设备前会在设备上加密,并提供托管的修订历史和恢复功能。通常只需在每台设备上运行一次 docmancer cloud connect,然后在一台你已信任的设备上输入四个词进行批准。第二个问题是:你的 Agent 积累的某项功能相关上下文被困在一台设备上,团队其他成员无法访问。Team Sync 正是为解决这个问题而设计的,目前尚未推出。

托管服务接收的是密文,无法读取你的明文记忆,也无法在你的设备上运行任何内容。安全架构会准确说明哪些元数据仍然可见,而不会声称服务器什么都不知道。

文件存储位置

位置内容
~/.docmancer/tree/设备级 Markdown 内容,位于 profile/、principles/、projects/、shared/ 中。
<project>/.docmancer/tree/项目记忆,位于 decisions/、constraints/、workflows/、lessons/ 中。
<project>/.docmancer/inbox/导入的 Markdown 文件,等待可选的整理。
<project>/.docmancer/trash/可恢复的已删除记忆文件。
<project>/.docmancer/state/decision-journal.jsonl经过整理的文件的仅追加历史记录。
~/.docmancer/memory.db可重建的设备级索引。
~/.docmancer/docmancer.yaml本地配置。

系统要求

Docmancer 支持 Python 3.11 及更高版本,包括 3.14,因此安装命令无需指定解释器版本。pipx install docmancer(或 uv tool install docmancer)可以使用你的设备已提供的任意较新版本 Python。如果 pipx 安装成功,但 shell 找不到 docmancer,请运行 pipx ensurepath,使用 export PATH="$(pipx environment --value PIPX_BIN_DIR):$PATH" 导出 bin 目录,然后重试。如果命令已启动后遇到问题,docmancer doctor 会告诉你原因。

参与贡献

欢迎提交问题和拉取请求。请先阅读 CONTRIBUTING.md,了解项目布局和扩展点;如果你想先讨论想法,可以发起讨论。安全问题有专门的私密渠道,详情请参阅 SECURITY.md。

有关架构、支持的数据源、Cloud 的边界和故障排查,请参阅 wiki 或完整的文档。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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