# https://github.com/jryom/agentsmd-memory 项目说明书

生成时间：2026-06-29 11:22:49 UTC

## 目录

- [Project Overview & Architecture](#page-1)
- [Core Tools: memory_save & memory_forget](#page-2)
- [Path Resolution & Configuration](#page-3)
- [Deployment, Operations & Common Failure Modes](#page-4)

<a id='page-1'></a>

## Project Overview & Architecture

### 相关页面

相关主题：[Core Tools: memory_save & memory_forget](#page-2), [Path Resolution & Configuration](#page-3)

<details>
<summary>相关源码文件</summary>

以下源码文件用于生成本页说明：

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)
- [src/index.mjs](https://github.com/jryom/agentsmd-memory/blob/main/src/index.mjs)
- [src/server.mjs](https://github.com/jryom/agentsmd-memory/blob/main/src/server.mjs)
</details>

# 项目概述与架构

## 1. 项目定位与核心价值

`agentsmd-memory` 是一个**零依赖**的 MCP（Model Context Protocol）服务器，旨在为 AI Agent 提供持久化的项目级记忆能力。其核心设计理念是：让项目知识以一个普通的 Markdown 文件（默认为 `AGENTS.md`）的形式驻留在代码仓库中，与源代码一同纳入版本控制。

根据 `package.json` 的描述，该项目的官方定义为："Zero-dependency MCP server that gives AI agents a self-updating project memory in AGENTS.md. Returns merge instructions instead of mutating state, so every change is a reviewable diff."（一个零依赖的 MCP 服务器，通过 AGENTS.md 为 AI Agent 提供自我更新的项目记忆。它返回合并指令而非直接修改状态，因此每一次变更都是可审查的差异。） 资料来源：[README.md]()

其最具特色、也是与传统记忆类工具最关键的区别在于——**工具不直接编辑文件**。`README.md` 中明确指出："The tools don't edit files. They resolve the nearest `AGENTS.md` and return merge instructions; the agent applies them with its own edit tools, so changes show up as a git diff."（工具不编辑文件，而是解析最近的 `AGENTS.md` 并返回合并指令，由 Agent 使用其自身的编辑工具应用这些变更，从而以 git diff 的形式呈现。） 资料来源：[README.md]()

这种"返回指令而非副作用"的模式，使得每一次记忆的写入都是**可追溯、可审查、可回滚**的——天然契合 Git 工作流。

## 2. 系统组成与组件划分

根据 `package.json` 中 `bin` 与 `main` 字段的定义，项目入口分为两条路径：

| 入口类型 | 路径 | 用途 |
| --- | --- | --- |
| CLI 入口 (`bin`) | `src/index.mjs` | 通过 `npx` 启动的可执行入口 |
| 模块入口 (`main`) | `src/server.mjs` | 作为 ES Module 引入时的主文件 |

资料来源：[package.json]()

整个包是一个标准的 Node.js ES Module 工程，`"type": "module"`，运行时要求 `Node >= 18`。如其名称所强调的，**没有任何运行时依赖（zero dependencies）**，也未引入测试框架——测试使用 Node 内置的 `node --test`。资料来源：[package.json]()

服务器向 MCP 客户端暴露两个工具：

- **`memory_save`**：记录一条持久化的事实（决策、约定、踩坑、非显而易见的命令等）。
- **`memory_forget`**：移除一条过时的事实。

资料来源：[README.md]()

## 3. 工作流程与数据流转

下图描绘了从 Agent 调用工具到 `AGENTS.md` 实际更新的完整数据流：

```mermaid
sequenceDiagram
    participant Agent as AI Agent
    participant MCP as agentsmd-memory
    participant FS as 文件系统
    participant Git as 版本控制

    Agent->>MCP: 调用 memory_save / memory_forget
    MCP->>MCP: 解析工作目录(MCP roots → cwd 参数 → process.cwd())
    MCP->>FS: 向上遍历直至 Git 根目录
    MCP->>FS: 定位已存在的 AGENTS.md（最近的一个）
    alt 文件不存在
        MCP->>FS: 唯一一次直接写入: 引导初始文件
    else 文件存在
        MCP-->>Agent: 返回合并指令文本
    end
    Agent->>FS: 通过编辑工具自行应用指令
    FS->>Git: 修改自然呈现为 git diff
```

工作目录解析遵循三层优先级：`MCP roots` → `cwd` 参数 → `process.cwd()`。随后服务器**向根目录方向遍历直至 Git 根**，选择**最近一个已存在**的目标文件。资料来源：[README.md]()

`README.md` 还强调：**唯一的一次直接磁盘写入**发生在首次 `memory_save` 时用于引导创建缺失的文件；其余所有变更都以文本指令的形式返回。

## 4. 配置、运行与开发

环境变量 `MEMORY_FILE` 用于指定目标文件名，默认值为 `AGENTS.md`，可改为 `CLAUDE.md`、`GEMINI.md` 等，但仅接受**裸文件名**。资料来源：[README.md]()

开发脚本定义于 `package.json`：

- `npm test`：使用 `node --test` 运行测试套件；
- `npm start`：启动 `node src/index.mjs`；
- `prepublishOnly`：发布前自动跑测试。

调试时可使用 `npx @modelcontextprotocol/inspector npx -y agentsmd-memory` 启动官方可视化调试器。资料来源：[package.json]()、[README.md]()

## 设计哲学总结

`agentsmd-memory` 的架构将"记忆"问题巧妙转化为一个**人类可审计**的工作流：MCP 工具仅产出纯文本合并指令，把"是否应用变更"的最终决定权交还给 Agent 与版本控制系统。这正契合了"Agent 提出建议、代码审查者把关"的现代 AI 辅助开发范式——既不牺牲 Agent 的自主性，也不绕过工程治理。

## See Also

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md) — 完整的安装、配置与使用说明
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json) — 项目元信息、入口与脚本
- [npm 上的 agentsmd-memory](https://www.npmjs.com/package/agentsmd-memory) — 包的发布渠道

---

<a id='page-2'></a>

## Core Tools: memory_save & memory_forget

### 相关页面

相关主题：[Project Overview & Architecture](#page-1), [Path Resolution & Configuration](#page-3)

<details>
<summary>相关源码文件</summary>

以下源码文件用于生成本页说明：

- [src/tools.mjs](https://github.com/jryom/agentsmd-memory/blob/main/src/tools.mjs)
- [src/server.mjs](https://github.com/jryom/agentsmd-memory/blob/main/src/server.mjs)
- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)
</details>

# Core Tools: `memory_save` & `memory_forget`

## 概述

`agentsmd-memory` 是一个零依赖的 MCP（Model Context Protocol）服务器，它向 AI 智能体暴露两个核心工具：`memory_save` 与 `memory_forget`。这两者的共同目标是在项目的 `AGENTS.md`（或用户通过环境变量指定的等价文件）里维护一份**可审查、可回滚的长期记忆**，记录决策、规范、坑点、非显然的命令等持久性事实。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

与“直接改文件”的方案不同，这两个工具始终返回**合并指令（merge instructions）**，由智能体调用其自身的编辑工具落地；这意味着 `AGENTS.md` 的每一次变更都呈现在 `git diff` 中，可以被人类审阅。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 工具职责划分

| 工具 | 作用 | 触发场景 |
| --- | --- | --- |
| `memory_save` | 记录一条持久化事实（决策、规范、坑点、非显然命令） | 智能体识别到“需要长期记住”的内容时 |
| `memory_forget` | 移除一条已过时的事实 | 智能体识别到旧记忆不再准确、且需被清理时 |

资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

> 两个工具都不直接编辑目标文件，唯一一次“写盘”发生在首次 `memory_save` 时——若解析路径上不存在 `AGENTS.md`，服务器会**引导式地**创建一个最小化模板（bootstrap），其余所有变更都通过返回的指令让智能体自行合并。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 关键设计：指令而非写盘

整个服务器的核心理念是 **instruction-only**：

1. 工具调用接收到参数后，解析出目标 `AGENTS.md` 路径。
2. 工具不调用 `fs.write` 之类的 API，而是返回结构化的合并/删除指令。
3. 智能体拿到指令后，使用其自带的 Edit/Write 工具真正落地变更。
4. 由于最终落盘动作由智能体完成，差异在版本控制中以普通 diff 形式出现。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

这种设计带来三个收益：

- **可审查性**：人类审阅 PR 时看到的 `AGENTS.md` 变更与普通文档变更一致。
- **可回滚性**：没有绕过 git 的隐藏写盘。
- **可控性**：智能体对“是否、何时”调用工具拥有完整自主权——README 明确指出 “Saves are prompt-driven; the agent decides when to call them”。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 数据流：一次 `memory_save` 调用

```mermaid
sequenceDiagram
    participant Agent as AI 智能体
    participant MCP as agentsmd-memory (MCP)
    participant FS as 本地文件系统
    participant Git as Git 仓库

    Agent->>MCP: 发起 memory_save 调用
    MCP->>MCP: 解析工作空间目录<br/>(MCP roots → cwd arg → process.cwd())
    MCP->>FS: 向父目录逐级查找目标文件<br/>(默认 AGENTS.md)
    alt 目标文件不存在
        MCP-->>Agent: 返回 bootstrap 指令<br/>(含最小化初始模板)
        Agent->>FS: 写入新的 AGENTS.md
    else 目标文件存在
        MCP-->>Agent: 返回 merge 指令<br/>(含插入位置与新条目)
        Agent->>FS: 按指令合并条目
    end
    FS->>Git: 变更进入工作区，呈现为 git diff
```

资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 工作空间解析顺序

服务器必须先确定要操作哪份 `AGENTS.md`，解析顺序在 README 中是明确规定的（也即：最具体的覆盖最宽泛的）：

1. **MCP roots**：由宿主 MCP 客户端注入的根目录。
2. **`cwd` 参数**：调用方显式传入的工作目录。
3. **`process.cwd()`**：服务器进程自身的当前工作目录，作为兜底。

确定起点后，服务器沿目录树**向上走到 git 根**，并以“**最近的、已存在的目标文件**”为准。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 配置

服务器只暴露一个环境变量配置项：

| 环境变量 | 默认值 | 用途 |
| --- | --- | --- |
| `MEMORY_FILE` | `AGENTS.md` | 目标文件名；例如可设为 `CLAUDE.md`、`GEMINI.md`；仅接受裸文件名 |

资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

这一项同时影响 `memory_save` 的 bootstrap 行为与 `memory_forget` 的定位查找，因此跨编辑器的项目（例如同时支持 Claude Code 与 Cursor）可统一通过该变量收敛到同一份记忆文件。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 调用与运行

服务器以本地 stdio MCP 进程方式运行，发布到 npm 后通过 `npx` 拉起。`package.json` 中 `"bin"` 指向 `src/index.mjs`，`"main"` 指向 `src/server.mjs`，`"engines"` 要求 Node `>=18`。资料来源：[package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)

最小 MCP 客户端配置示例：

```json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "agentsmd-memory"]
    }
  }
}
```

资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

不同宿主接入方式略异：opencode 使用 `"type": "local"` 的 `mcp` 配置；Claude Code 使用 `claude mcp add --transport stdio memory -- npx -y agentsmd-memory`；Windows 上需用 `cmd /c npx -y agentsmd-memory` 包裹。资料来源：[README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)

## 常见误区

- **把它当成“自动写文件的笔记工具”**：本项目从不主动落盘，仅返回指令；落盘动作来自智能体的自有工具。
- **误以为智能体必须每次都保存**：README 明确写明 saves are prompt-driven，是否记录由智能体决定。
- **误把 `MEMORY_FILE` 当作路径**：根据 README 描述，它只接受裸文件名（bare name only），用于切换 `CLAUDE.md` / `GEMINI.md` 等等价物，而不是指定子目录。

## 参见

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md) — 项目总览、安装、配置
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json) — 入口、依赖、Node 引擎要求

---

<a id='page-3'></a>

## Path Resolution & Configuration

### 相关页面

相关主题：[Core Tools: memory_save & memory_forget](#page-2), [Deployment, Operations & Common Failure Modes](#page-4)

<details>
<summary>相关源码文件</summary>

以下源码文件用于生成本页说明：

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)
</details>

# 路径解析与配置

## 概述

`agentsmd-memory` 是一款**零依赖**的 MCP（Model Context Protocol）服务器，目标是在 `AGENTS.md` 中维护 AI 代理可访问的项目记忆。工具从不直接改写文件，而是解析出最近的目标文件后**返回合并指令**，再由代理使用自身编辑工具落盘——所有变更因此都以可审核的 git diff 形式呈现。资料来源：[README.md:1-15]()

本 Wiki 页聚焦该项目的**路径解析策略**与**配置入口**，帮助读者理解其在多工作区环境下如何定位目标文件。

## 工作区与文件解析流程

服务器按下述顺序解析工作区目录：先取 MCP roots；否则使用 `cwd` 参数；最后回退到 `process.cwd()`。从工作区出发，沿目录向上查找直至 git 根；其中**已存在的最近一个目标文件胜出**。资料来源：[README.md:32-37]()

该「最近存在者获胜」原则可保证在 monorepo 或嵌套子工程中，选择最贴近当前工作区的记忆文件，从而避免误用父目录的陈旧记录。

```mermaid
flowchart TD
    A[启动 MCP 服务器] --> B{MCP roots 可用?}
    B -- 是 --> C[取 roots 作为工作区]
    B -- 否 --> D{cwd 参数可用?}
    D -- 是 --> E[取 cwd 作为工作区]
    D -- 否 --> F[回退 process.cwd]
    C --> G[向上遍历至 git 根]
    E --> G
    F --> G
    G --> H{已存在目标文件?}
    H -- 是 --> I[选用最近的 AGENTS.md]
    H -- 否 --> J[引导创建缺失文件]
```

## 目标文件名与运行环境

项目通过环境变量 `MEMORY_FILE` 调整目标文件名，支持如 `CLAUDE.md`、`GEMINI.md` 等常见别名；该值必须为**裸文件名**，禁止出现路径分隔符，由前述算法决定最终落点。资料来源：[README.md:27-31]()

`package.json` 同步声明运行环境与命令入口，便于 `npx` 等方式直接启动。`type` 设为 `module`，启用原生 ESM 加载，省去打包步骤。资料来源：[package.json:5-7]() `engines.node` 约束为 `>=18`，确保使用现代 Node 特性。资料来源：[package.json:14-18]() `bin` 字段把 `agentsmd-memory` 命令指向 `src/index.mjs`，与 `main: src/server.mjs` 配合，构成双入口（CLI + 模块加载）。`scripts.test` 与 `scripts.prepublishOnly` 均使用 `node --test`，零依赖即可完成回归验证。资料来源：[package.json:18-22]()

## 引导写入与无副作用更新模型

服务器几乎从不主动写入文件。唯一会发生**直接写入**的场景，是首次调用 `memory_save` 时目标文件尚不存在，从而被自动引导创建（bootstrapping）。资料来源：[README.md:34-37]() 其余所有调用——`memory_save` 持久化决策、约定或命令细节；`memory_forget` 移除陈旧条目——均仅返回合并指令，由代理自行落盘。资料来源：[README.md:12-14]()

「调用是否发生」由代理在上下文中自行决定（prompt-driven），配置侧既不需要也无法预判保存时机。开发者使用 `npm test` 即可对该解析与合并逻辑进行回归验证。资料来源：[package.json:18-22]()

## 参见

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)

---

<a id='page-4'></a>

## Deployment, Operations & Common Failure Modes

### 相关页面

相关主题：[Project Overview & Architecture](#page-1), [Path Resolution & Configuration](#page-3)

<details>
<summary>相关源码文件</summary>

以下源码文件用于生成本页说明：

- [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)
</details>

# 部署、运维与常见故障模式

## 1. 项目定位与运维边界

`agentsmd-memory` 是一个 **零依赖** 的 MCP（Model Context Protocol）服务器，核心目标是为 AI agent 提供一份"自我维护"的项目记忆文件 `AGENTS.md`。它的设计边界很关键：**工具本身不直接编辑文件**，而是返回合并指令，让 agent 用自身的文件编辑工具落地——如此所有变更都以 `git diff` 形式出现，便于人工审查与回滚。

资料来源：[README.md:1-9]()

服务器只对外暴露两个工具：
- `memory_save`：记录一个持久化事实（决策、约定、坑点、非显然命令）。
- `memory_forget`：移除已过时的条目。

资料来源：[README.md:11-14]()

## 2. 部署形态

仓库以 npm 包形式发布，包名 `agentsmd-memory`。`package.json` 中：

- `bin.agentsmd-memory` 指向 `src/index.mjs`，作为命令行入口。
- `main` 指向 `src/server.mjs`，作为被其它代码 import 的主模块。
- `type: "module"`，即纯 ESM 包。
- `files` 字段仅发布 `src/`、`README.md`、`LICENSE`。

资料来源：[package.json:3-23]()

无需全局安装，MCP 客户端直接通过 `npx` 拉起。标准配置（取自 README）：

```json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "agentsmd-memory"]
    }
  }
}
```

不同客户端命令略有差异：
- **opencode**：`mcp` 段中使用 `"type": "local"`。
- **Claude Code**：`claude mcp add --transport stdio memory -- npx -y agentsmd-memory`。
- **Windows**：需用 `cmd /c npx -y agentsmd-memory` 包装，避免裸 `npx` 在 cmd 解析下失败。

资料来源：[README.md:16-30]()

## 3. 运行环境与配置

- Node 引擎：`>=18`（`engines.node`），低于此版本会因 ESM 与 API 差异失败。
- 依赖：零运行时依赖。
- 测试：`npm test` 走 Node 内置 `node --test`；`prepublishOnly` 钩子在发布前自动跑一次。
- 调试：`npx @modelcontextprotocol/inspector npx -y agentsmd-memory` 启动 MCP Inspector 手动连接。

资料来源：[package.json:16-23]()、[README.md:48-50]()

唯一的运行时配置项是环境变量 `MEMORY_FILE`：

| 环境变量 | 默认值 | 用途 | 约束 |
| --- | --- | --- | --- |
| `MEMORY_FILE` | `AGENTS.md` | 替换目标文件名，例如 `CLAUDE.md`、`GEMINI.md` | **仅支持裸文件名**，不接受路径 |

资料来源：[README.md:34-37]()

## 4. 工作区解析流程

README 明确说明了解析顺序，可视化为：

```mermaid
flowchart TD
    A[调用 memory_save / memory_forget] --> B{提供 MCP roots?}
    B -- 是 --> C[以 roots 为起点]
    B -- 否 --> D{调用方传 cwd?}
    D -- 是 --> E[以 cwd 为起点]
    D -- 否 --> F[回退到 process.cwd]
    C --> G[向上遍历到 git 根]
    E --> G
    F --> G
    G --> H{沿途已存在目标文件?}
    H -- 是 --> I[命中最近的那个]
    H -- 否 --> J[首次 memory_save 时引导创建]
```

要点：**解析向上走到 git 根为止**，并选取沿途已存在的"最近"一份；只有"bootstrap"那一次直接写盘——首次 `memory_save` 若文件不存在则创建，其余所有变更都走合并指令。

资料来源：[README.md:39-44]()

## 5. 常见故障模式

1. **Node 版本低于 18**：`engines` 不满足，安装或测试运行会直接报错。  
   资料来源：[package.json:16-18]()

2. **`MEMORY_FILE` 被误用为路径**：README 强调"bare name only"，传 `notes/AGENTS.md` 等带路径的值会落到错误位置。  
   资料来源：[README.md:34-37]()

3. **目录解析回退到 `process.cwd()`**：若客户端既未声明 MCP roots、也未传 `cwd`，服务器只能使用当前工作目录；若 agent 实际项目在别处，记忆会被写到错误的仓库。  
   资料来源：[README.md:39-44]()

4. **多层级 `AGENTS.md` 嵌套冲突**：git 根与子目录同时存在目标文件时，解析会命中**最近**的那一份，子目录的指令可能与上层预期不符。  
   资料来源：[README.md:39-44]()

5. **首次 bootstrap 写盘失败**：唯一一次"直接写文件"发生在首次 `memory_save`。若目标目录只读、权限收紧或挂载在只读文件系统，bootstrap 失败会让后续所有保存操作都无处落地。  
   资料来源：[README.md:41-44]()

6. **工具从未被调用**：README 明确写"Saves are prompt-driven; the agent decides when to call them"。如果 agent 提示词没有引导、或模型不主动调用，记忆永远不会持久化——这是"零行为"类故障，需要从系统提示或 workflow 层面修复。  
   资料来源：[README.md:43-44]()

7. **Windows 下 stdio 启动失败**：未用 `cmd /c` 包装时，裸 `npx` 在 Windows shell 解析下可能拿不到正确参数；遇到启动即断连，优先怀疑这一项。  
   资料来源：[README.md:24-30]()

8. **本地调试缺乏 harness**：仓库不依赖第三方测试框架；如需交互式调试，必须手动拉起 `@modelcontextprotocol/inspector`。  
   资料来源：[README.md:48-50]()

## 6. 发布与运维清单

- 发布前 `prepublishOnly` 会强制 `node --test`，保证发布版本通过测试。  
  资料来源：[package.json:21-23]()
- 运行时只读、最小权限也可运行，前提是目标目录在首次保存时可写。
- 升级时注意：仓库是 ESM 且 `>=18`，任何下游引入的 `require()` 都会失败。  
  资料来源：[package.json:6-18]()

## See Also

- 工具语义与调用约定：见 [README.md](https://github.com/jryom/agentsmd-memory/blob/main/README.md)
- npm 包元信息与脚本：见 [package.json](https://github.com/jryom/agentsmd-memory/blob/main/package.json)

---

<!-- evidence_pipeline_checked: true -->

---

## Doramagic 踩坑日志

项目：jryom/agentsmd-memory

摘要：发现 7 个潜在踩坑项，其中 0 个为 high/blocking；最高优先级：配置坑 - 可能修改宿主 AI 配置。

## 1. 配置坑 · 可能修改宿主 AI 配置

- 严重度：medium
- 证据强度：source_linked
- 发现：项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主，或安装命令涉及用户配置目录。
- 对用户的影响：安装可能改变本机 AI 工具行为，用户需要知道写入位置和回滚方法。
- 证据：capability.host_targets | https://github.com/jryom/agentsmd-memory | host_targets=mcp_host, claude_code, claude

## 2. 能力坑 · 能力判断依赖假设

- 严重度：medium
- 证据强度：source_linked
- 发现：README/documentation is current enough for a first validation pass.
- 对用户的影响：假设不成立时，用户拿不到承诺的能力。
- 证据：capability.assumptions | https://github.com/jryom/agentsmd-memory | README/documentation is current enough for a first validation pass.

## 3. 维护坑 · 维护活跃度未知

- 严重度：medium
- 证据强度：source_linked
- 发现：未记录 last_activity_observed。
- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。
- 证据：evidence.maintainer_signals | https://github.com/jryom/agentsmd-memory | last_activity_observed missing

- 严重度：medium
- 证据强度：source_linked
- 发现：no_demo
- 证据：downstream_validation.risk_items | https://github.com/jryom/agentsmd-memory | no_demo; severity=medium

## 5. 安全/权限坑 · 存在评分风险

- 严重度：medium
- 证据强度：source_linked
- 发现：no_demo
- 对用户的影响：风险会影响是否适合普通用户安装。
- 证据：risks.scoring_risks | https://github.com/jryom/agentsmd-memory | no_demo; severity=medium

## 6. 维护坑 · issue/PR 响应质量未知

- 严重度：low
- 证据强度：source_linked
- 发现：issue_or_pr_quality=unknown。
- 对用户的影响：用户无法判断遇到问题后是否有人维护。
- 证据：evidence.maintainer_signals | https://github.com/jryom/agentsmd-memory | issue_or_pr_quality=unknown

## 7. 维护坑 · 发布节奏不明确

- 严重度：low
- 证据强度：source_linked
- 发现：release_recency=unknown。
- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。
- 证据：evidence.maintainer_signals | https://github.com/jryom/agentsmd-memory | release_recency=unknown

<!-- canonical_name: jryom/agentsmd-memory; human_manual_source: deepwiki_human_wiki -->
