版本:v2.0 日期:2026-01-26 目标:覆盖 P0 级入库、冲突仲裁、更新替换、检索链路
- 真实模型优先:LLM/Embedding 必须走真实 API
- P0 场景优先:入库冲突、更新替换、跨类型覆盖、检索正确性
- 两阶段检索必测:search → get
| 编号 | 场景 | 预期 |
|---|---|---|
| P0-01 | 初次写入 | status=created |
| P0-02 | 相同主题二次写入 | status=updated 或 skipped(由 LLM 仲裁) |
| P0-03 | 语义更新(内容有新增) | status=updated |
| P0-04 | 跨 content_type 更新 | 仍可 updated,类型被替换 |
| P0-05 | search → get 链路 | search 返回 ID,get 返回完整内容 |
要求:使用真实
DASHSCOPE_API_KEY与DATABASE_URL,不要启用 mock。
cd mcp-go
./cmd/agent-mem-mcp --reset-db --reset-only
cd mcp-go
./cmd/agent-mem-mcp --host 127.0.0.1 --port 8787 --transport http
- 取本机真实日志/对话片段作为 content
- 保持项目路径固定,确保同项目内冲突判定
- 写入
content_type=development - 期望:created
- 相同主题再次写入
- 期望:updated 或 skipped
- 增加一条新结论/新增条目
- 期望:updated
- 同主题改为
content_type=insight - 期望:仍可 updated,类型被替换
- search 使用关键字检索
- get 取回完整 content
- content 为空 / 超长 / 非 UTF-8
- owner_id / project_name 为空或过长
- query 为空(应返回 400)
- 入库必须返回明确的
status+id - 更新覆盖必须命中旧记忆 ID(P0)
- search 返回 snippet,get 返回完整内容
- 所有接口错误必须返回可读中文错误信息