UNPKG

open-memex

Version:

Local-first memory layer and protocol for AI coding agents. Markdown source of truth, SQLite FTS5 index, zero cloud.

82 lines (59 loc) • 4.92 kB
# OpenMemex 测试计划(v0.5.1) > 自动化部分:`node --experimental-strip-types scripts/test-full.ts` > 62 项全过(26 个 CLI 命令 + 11 个 MCP tool),隔离环境运行,不碰真实数据。 > 下面是机器/账号相关的部分,需要 Stone 在真机上过一遍。 ## A. Windows 真机 + VS Code Copilot - [ ] `npm i -g open-memex` 全局安装(稳定版),`open-memex --version` 显示正确版本 - [ ] 在一个真实项目目录跑 `open-memex init`(不加 `--yes`,走一遍交互) - 确认 `.vscode/mcp.json` 生成,`~/.copilot/copilot-instructions.md` 合并写入(不覆盖已有内容) - [ ] 重启 VS Code,Copilot Chat 里问 "what do you remember about this project?" - 预期:MCP 连接成功,能调用 memory_search - [ ] `open-memex add "windows 真机测试" --type fact`,再让 Copilot 搜出来 - [ ] 中文路径项目、中文记忆内容各试一条(CJK 索引) ## B. 真实 GitHub PR 全流程(review 工作流) 在一个真实 repo 里: - [ ] `open-memex add "PR流程测试" --scope personal` → `propose --to project` → `sync-status` 看到 outbox draft - [ ] `open-memex submit <id>`(留在当前分支,本地 commit) - [ ] 手动 `git push` + 开 PR - [ ] 在 PR 里点 Approve → 回来跑 `open-memex pr-status`(先看 report),再 `pr-status --apply` - 预期:memory 变成 approved,`approved_by` 是 reviewer - [ ] 找一条让 reviewer 点 "Request changes" → `pr-status --apply` - 预期:只给 suggestion,**不**自动 reject(D32) - [ ] Merge PR → `pr-status --apply` - 预期:memory 变成 published - [ ] `open-memex resolve` 无冲突时输出 "(no conflicted memory files)" ## C. 其他编辑器 MCP 集成 - [ ] Cursor:`open-memex mcp --print-config cursor` → 贴到 Cursor MCP 配置 → 能连上 - [ ] opencode:`open-memex init --client opencode` → `opencode.jsonc` 生效 - [ ] `open-memex init --yes`(不带 --client)→ 自动检测已装编辑器并一次全接上 - [ ] opencode:`open-memex init --client opencode --global` → `~/.config/opencode/opencode.json` 的 `plugin` 数组合并(带注释的 jsonc 不动、只给手动提示) - [ ] Claude Code:`open-memex mcp --print-config claude` 给出的 `claude mcp add` 命令能跑通 ## D. 跨机迁移(export/import 真实场景) - [ ] 本机:`open-memex export --all -o migration.tar.gz`(含 private 的全量) - [ ] 本机:`open-memex export -o share.tar.gz`(默认排除 private)→ 解包检查 manifest,确认没有 visibility:private 的条目 - [ ] 另一台机器:`open-memex import migration.tar.gz --dry-run` 先看预览,再正式 import - 预期:project memory re-key 到新机器的 project scope,进 outbox 当 draft;personal 进 personal - [ ] 同一个 bundle 导两次 → 第二次 "skipped N identical" ## E. Agent 会话行为(D42 / §3.5) - [ ] 新开一个 agent 会话(MCP 已接),看 initialize 返回的 instructions 里有没有 session-start 同步指引 - [ ] 对 agent 说 "sync memory" / "同步记忆" - 预期:agent 走 memory_status → 摘要 → 问你要同步哪条(而不是直接翻 appdata) - [ ] 长对话中 agent 是否在检查点提议蒸馏(§3.5),提议后是否等你批准才保存(D42) ## F. 冲突解决(3-way merge) - [ ] 两台机器(或两个 clone)同时改同一条 project memory,各自 submit + push,一边 pull 制造 diverged - 预期:`open-memex pull` 明确报错退出,不自动 merge - [ ] 手动 merge 后 `open-memex resolve <id>` 看 3-way 展示(base/outbox/repo),手动解决 ## G. 同事 pilot(1–2 人,Stone 私下选) - [ ] 对方 `npx -y open-memex init` 走通 - [ ] 对方能 propose → 你这边能看到 PR → promote 流程走通 - [ ] 收集反馈:哪里卡、哪里不符合直觉 ## I. init/uninstall 行为(D47–D49) - [ ] 空的 `mcp.json`:`open-memex init --client vscode` 直接写入,不再报 "not valid JSON"(D49) - [ ] 带注释的 `mcp.json`:`init` 不动文件,只打印手贴片段(D47) - [ ] `open-memex uninstall --client vscode` 移除接线条目,记忆数据不动;再跑 `init` 可恢复(D48) - [ ] 裸 `open-memex uninstall`(交互终端)会先确认再清所有编辑器;`--yes` 跳过确认 ## H. 已知问题观察 - [x] better-sqlite3 在 Node 24 退出时偶发 crash(exit 134):D72 已把驱动升到 13(N-API 线);Linux Node 24.20 连续 3 次 `test-full` 114/114。Windows 真机仍需确认同一版本下无 `SIGABRT` / exit 134,且不丢数据。 - [ ] `memory_list` 默认只列 project scope 是否符合预期(Stone 已定保持现状) --- 测试中发现的 bug 直接记到 GitHub issue;改完后更新本文档的复选框。