mcpField
P
Project Memory

Project Memory

本地服务
github.com/Dankaro-projects记忆与知识03 周前更新

关于 Project Memory

Project Memory 将单个项目的计划、证据、决策、结果和已采纳经验保存到本地 SQLite 数据库,面向软件、咨询和自动化项目。它通过 MCP 工具连接助手,并提供只读 HTML 控制面板及有边界的记录检索。

主要功能

  1. 01本地 SQLite 项目记录
  2. 02计划、决策与结果追踪
  3. 03只读 HTML 控制面板
  4. 04模板化项目阶段
  5. 05受限路径与经验守卫

适用场景

  1. 01跨会话延续项目工作
  2. 02追踪决策依据与实际结果
  3. 03审阅工作进度和项目记录
  4. 04在限定文件路径内委派工作

MCP 相关

助手通过三个 MCP 工具读取和写入项目记录。服务还配合客户端生命周期钩子记录事件。

配置

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

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

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

安装包
pypiproject-memory-mcp0.5.0b9

工具

还没有获取到工具列表

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

详细介绍

项目记忆

Project Memory 将一个项目的计划、证据、决策、成果和认可的经验教训保存在本地 SQLite 数据库中。助手通过三个 MCP 工具读取和写入这些记录。你可以在本地控制面板中查看相同的记录;该面板为只读,你则在聊天中决定哪些内容获得批准、认可并合并。

它适用于软件产品、咨询项目,也适用于在 n8n 中构建的工作流自动化。工作项可以是代码、文档、交付成果或导出的工作流。

公开测试版。 需要 Python 3.11 或更高版本。运行时仅使用 Python 标准库。没有遥测、托管数据库或账户。Agent 检查和委派的工作通过你已安装的 Codex 或 Claude Code CLI 运行,并计入相应账户的用量。

安装

安装 uv,然后在你想要记录的项目中运行:

uvx [email protected] setup --client codex --trust

对于 Claude Code,请将 --client codex 替换为 --client claude。设置过程会保留现有记录和设置,连接 MCP 服务和生命周期钩子,并打开控制面板。--trust 会在该客户端中批准项目集成;省略此参数即可自行批准连接。之后启动一个新的助手会话。无界面安装时,请添加 --no-view。

如需使用永久命令:

uv tool install project-memory-mcp==0.6.0b16
project-memory doctor
project-memory view

如需直接从 GitHub 安装已发布的 wheel,而非从 PyPI 安装:

uvx --from https://github.com/Dankaro-projects/project-memory/releases/download/v0.6.0b16/project_memory_mcp-0.6.0b16-py3-none-any.whl project-memory setup --client claude --trust

其他本地 MCP 客户端使用 setup --client mcp 和 stdio 服务。设置与生命周期介绍了客户端配置、插件、升级、备份和移除。

启动项目

新项目从三个模板之一开始:

project-memory init ~/projects/pricing-tool --template product --client codex
模板适用场景入门文档阶段
product软件产品docs/brief.md、docs/research.md、docs/architecture.md、docs/stories.md目标与简报、研究、需求审批、架构、用户故事与验收、构建、评审与发布
engagement咨询项目engagement/brief.md、engagement/stakeholders.md、engagement/research.md、engagement/findings.md、deliverables/README.md范围与简报、利益相关方与假设、研究与证据、分析与综合、建议与交付成果、客户评审、交接
automation工作流自动化,n8n 导出文件放在 workflows/ 中automation/process.md、automation/systems.md、automation/solution-design.md、workflows/README.md流程探索、系统与凭据清单、解决方案设计、工作流故事与测试数据、构建工作流、使用示例数据测试、部署与交接

init 会创建文件夹;除非传入 --no-git,否则还会初始化 git;写入尚不存在的入门文档;连接你指定的客户端;并将每个阶段记录为一个工作项。再次运行时不会重复创建内容,也绝不会覆盖你编辑过的文档。

启动对话

每个模板都附带七个启动问题。助手会使用 memory_get kickoff 读取这些问题,例如询问产品解决什么问题、利益相关方是谁,或流程使用哪些系统。它会使用 memory_write answer_kickoff 记录你的回答,根据回答填写入门文档,并提出需求建议。只有你可以批准需求基线。在获得批准之前,控制面板会显示启动清单,其中包括未解答的问题、仍需开展的研究、仍为空的入门文档以及各个阶段。

日常循环

告诉助手你想要的结果、约束条件,以及怎样才算完成。随后,它会记录一项工作,包含其目标、完成标准、下一步行动以及允许修改的文件;在后续会话中,它会根据这份记录继续工作,并记录每项决策及其证据、备选方案、不确定性和预期影响。采取行动后,它会记录实际发生的情况。即使之后成功,失败也会保留在记录中。

你负责批准需求、接受或拒绝建议的经验教训、扩大允许访问的路径范围,以及决定合并哪些内容。记录一份文档并不代表批准其内容,制定计划也不等于授权开展工作。

控制面板

在项目中运行 project-memory view,或让助手打开 Project Memory。面板读取同一个数据库,并在打开期间刷新。其布局类似 Notion 工作区:侧边栏中包含各种视图;数据库表格支持视图、筛选、排序和分组;点击条目后,会在列表旁以页面形式打开。面板支持浅色或深色主题。

视图内容
现在用一句话概述项目进度、启动检查清单,以及进行中、已暂停、就绪和已完成的工作及其各自的下一步,还有近期决策
计划以包含嵌套子项和进度的提纲形式展示阶段、史诗、故事、研究项、交付成果和工作流的层级,并以图库形式展示各阶段
工作工作项的表格和看板,以及每个工作项的页面,展示计划、允许访问的路径、依赖项、Agent 运行、溯源关系和历史记录
架构来自源代码、导出的 n8n 工作流,以及系统、利益相关者和交付成果等已编写条目的组件
依赖项工作依赖关系图(包含受阻链条),以及已声明的软件包表格
决策决策及其结果,以及从需求到结果的溯源关系
学习已接受的防护规则及其再次出现的记录、等待你接受的经验教训、尚无经验教训的失败,以及范围扩展记录
Agent主机可用性、Agent 检查、委派运行,以及合并或丢弃的决策
记录搜索所有类型的记录、已捕获的文档和主机回执
需求当前需求、其版本及其批准证据

project-memory view --output review.html --include-bodies --no-open 则会写入离线快照。请参阅控制面板指南。

在 Obsidian 中阅读记录

project-memory export --obsidian <vault> 会将记录写入一个包含 frontmatter 和 wikilinks 的 Markdown 笔记文件夹,Obsidian 会将其作为知识库打开。每个工作项都是一个文件夹,其中包含自己的决策、结果和计划;来源、经验教训和需求修订则位于其旁边的共享文件夹中。这样,Obsidian 的关系图、反向链接和搜索便可用于项目历史,而面板仍是你做出决策的地方。

导出是单向的。数据库是事实来源,导出内容仅占用知识库中的一个文件夹,不会触及其他内容;在该文件夹中编辑的笔记会在下次运行时丢失。会话写入记录后,会话停止钩子会在独立进程中刷新知识库。

Agent 检查和委派工作

配置 Codex 或 Claude Code 后,Project Memory 可以启动独立运行的短时主机进程。Agent 检查会读取记录和项目,并针对某项结果、当前意图或尚未确认的执行情况提供报告。委派工作会在独立的 git worktree 中运行工作项,并限制在其计划允许的路径范围内;随后,第二个主机会审查生成的差异,之后你再进行合并。如果某个主机报告用量限制或速率限制,运行会改由另一个已配置的主机重试一次。

这些运行会使用你已安装的 Codex 或 Claude Code 账户,并消耗该账户的用量。审查者无法编辑计划、接受经验教训或合并任何内容。请参阅Agent 检查和委派工作。

防护与范围

带有触发条件的已采纳经验会成为防护规则。当防护规则与工作项的路径或措辞匹配时,决策必须在 lessons_considered 中列出该经验,明确给出是或否,并说明理由,否则该决策会被拒绝。当工作项设有允许的路径时,生命周期钩子会阻止在这些路径之外进行编辑、记录拦截,并在聊天中要求你扩展范围。记录字段 文档定义了规则模式。

诚实的边界

  • 已记录的计划不等于授权。自主性和范围属于参考记录;允许执行哪些操作,由宿主自身的权限和你当前的指令决定。
  • 范围防护会读取编辑工具的文件路径、补丁标记以及 MCP 写入工具的目标。它不会解析 shell 重定向,也不会检测 shell 命令中的其他间接写入。
  • 钩子会以机械方式记录事件。只有助手能记录这些事件的含义,而已连接面板并不能证明记录完整。
  • Agent 的判定是一种解读。检查通过并不能证明工作正确,发现列表为空也不能证明工作正确。
  • 架构是根据导入、清单和导出的工作流文件进行静态读取的。无法检测动态加载。
  • 有界检索会限制一次调用返回的字符数,但无法控制宿主完整的模型输入。
  • 本项目不会衡量每日生产力、令牌用量、纠正率和人工任务耗时,也不会对此作出任何声明。测试与限制 说明了哪些内容经过验证,哪些没有。

文档

软件包已发布在 PyPI 和 GitHub Releases。

评论

支持 Markdown

第一次接触 MCP?

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

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