Repository navigation
Releases: axiomzero-qed/WxMori
Release list
WxMori / 微忆 v0.2.0-alpha.2
v0.2.0-alpha.2 Preview Notes / 预览版说明
Status / 状态: Preview release dated 2026-10-18. Release archives are generated separately by the release workflow. / 预览版,日期为 2026-10-18。发布压缩包由独立的发布工作流生成。
Changes / 更新内容
中文: 新增本地账号目录元数据清单和密钥环元数据查看;init 仅做元数据检查与配置写入,配置目标已存在时返回 CONFIG_EXISTS,显式 --force 才原子替换。新增 whoami/状态检查身份、稀疏本地历史诊断、全会话分文件导出、九工具 MCP 接口,以及捕获错配诊断和更清楚的进度输出。只有经所选数据库 HMAC 验证的密钥才可保存;仅当其他本地账号两个核心数据库首页在不同盐下通过 HMAC,且所选账号连续 10 秒没有有效匹配时,才报告 KEY_ACCOUNT_MISMATCH。候选 AES 验证失败本身不代表账号错配。
English: Adds local account-directory and protected-keyring metadata listings; init performs metadata checks and config writing only, returns CONFIG_EXISTS for an existing target, and atomically replaces it only with explicit --force. Also adds whoami/status identity inspection, sparse-local-history diagnostics, separate per-session exports, a nine-tool MCP interface, and clearer capture mismatch/progress reporting. Only keys HMAC-verified against the selected database may be saved. KEY_ACCOUNT_MISMATCH requires HMAC-valid first pages from two core databases in another local account under distinct salts, while the selected account has no valid match for 10 seconds; failed AES-candidate checks alone do not indicate a mismatch.
Validation evidence / 验证证据
中文: 本机 Windows go test -count=1 ./... 和 go vet ./... 通过,包括 TestInitDoesNotOpenOrLockDatabaseFiles 与合成调试器错误清理测试。GPT-6 Luna 独立合成 MCP 冒烟覆盖四个协议版本、九个工具,以及隔离合成配置中的批量导出清单、SHA-256 和九条 2026 年 9 月消息。提交 f174842 的三系统 CI 通过完整启动、Go 测试/vet、Linux race 和独立 Python stdio 四协议/九工具冒烟(运行记录)。另一次真实本机 MCP 调用使用已有配置/受保护密钥;状态 ready,inspect 确认本人 contact 匹配、2 个会话/5 条消息并返回 SPARSE_LOCAL_HISTORY。两个 WAL 校验通过并排除旧代次尾帧,当前代次提交帧为 0。此试用未运行捕获、重新登录、调试器或导出,不能证明 alpha2 真实捕获或真实已提交帧回放有效。
English: On Windows, local go test -count=1 ./... and go vet ./... pass, including TestInitDoesNotOpenOrLockDatabaseFiles and synthetic debugger-error cleanup. An independent GPT-6 Luna synthetic MCP smoke covered four protocol versions, all nine tools, and a batch-export manifest, SHA-256, and nine September 2026 messages in an isolated synthetic profile. Commit f174842 passed three-system CI for startup, Go tests/vet, Linux race checks, and independent Python stdio smoke across four protocols and nine tools (run). A separate live local MCP call used an existing config/protected keyring: status was ready; inspect verified the self-contact match, found two sessions/five messages, and returned SPARSE_LOCAL_HISTORY. Both WALs validated and stale-generation tails were excluded; current-generation committed frames were zero. This trial did not run capture, re-login, the debugger, or exports, so it does not establish real alpha2 capture or committed-WAL replay.
中文: 本次 alpha2 实际集成只覆盖已有密钥、一个 Windows 环境及上述宿主/协议,没有采集新密钥。alpha2 真实登录捕获和真实已提交帧 WAL 回放尚未验证。不得将 alpha1 的 CLI 试验当作 alpha2 证据。
English: This alpha2 live integration covered only existing keys, one Windows environment, and the host/protocol noted above; it captured no new keys. Real alpha2 login capture and a real committed-frame WAL test remain unverified. Do not treat the alpha1 CLI trial as alpha2 evidence.
Distribution verification / 发行包核验
中文: 六平台打包发布通过。GPT-6 Luna 下载全部六个平台压缩包,SHA-256 全部匹配,并检查归档路径、文档、许可证和程序文件。实际 Windows AMD64 发行程序报告版本 0.2.0-alpha.2,通过四个 MCP 协议版本、九个工具的合成调用测试。其余五个平台未在本机运行;这项包验收未读取真实聊天。
English: Six-platform packaging and publication passed. GPT-6 Luna downloaded all six platform archives, matched every SHA-256, and checked archive paths, documentation, licenses, and binaries. The actual Windows AMD64 release binary reported 0.2.0-alpha.2 and passed synthetic calls across four MCP protocol versions and nine tools. The other five platform packages were not executed locally; this package verification did not read real chats.
中文: 原标签 CI 的 Windows 测试失败:合成调试器测试把 Go 后台新增线程的句柄计入泄漏。纯测试修复 c87c035 固定测试线程与调度环境、直接调用 Windows 计数接口,并将十二轮检查改成对固定基线不允许增长。本机重复运行 400 轮通过,修复后的三系统 CI通过。程序源码、已发布标签和发行包均未因此更改;不将原标签 CI 记为通过。
English: The original tag CI failed its Windows test because the synthetic debugger test counted handles from newly created Go runtime threads as leaks. Test-only fix c87c035 pins the test thread, controls scheduler workers, calls the Windows count API directly, and checks twelve cycles against a fixed baseline with no growth allowance. It passed 400 local repetitions and three-system CI after the test fix. Runtime sources, the published tag, and release assets were not changed by this fix; the original tag CI is not recorded as passed.
Integration notes and documentation corrections / 集成说明与文档更正
中文: 升级时保留原配置及其同目录 .wxmori-keys,把 MCP 启动命令指向新程序,--config 保持原路径,并重启该 MCP 服务。压缩包内 docs/mcp.md 的参数表有两处错误:list_accounts 的可选输入是 limit、offset,不接受 root;export_all_chats 的可选输入是 months、from、to、format,files_preview 是返回字段,不能作为输入。以工具发现 tools/list 与在线 MCP 指引为准。文档中不支持自动捕获或非空加密 WAL 的早期版本是 v0.1.0-alpha.1;v0.2.0-alpha.1 已支持这两项,真实已提交 WAL 帧回放仍未实测。
English: Keep the existing config and its adjacent .wxmori-keys when upgrading. Point the MCP command to the new binary, retain the existing --config path, and restart that MCP service. The parameter table in the archived docs/mcp.md has two errors: list_accounts accepts optional limit and offset, not root; export_all_chats accepts optional months, from, to, and format, while files_preview is an output field, not an input. Follow tool discovery through tools/list and the online MCP guide. The early release without automatic capture or non-empty encrypted-WAL support was v0.1.0-alpha.1; v0.2.0-alpha.1 already supports both, although real committed-WAL replay remains untested.
WxMori / 微忆 v0.2.0-alpha.1
v0.2.0-alpha.1 Preview Release / 预览版
Date / 日期: 2026-10-17
Code checks / 代码检查: Windows, Linux, and macOS CI passed on 231e2c1; archives are generated by the separate release workflow. / 提交 231e2c1 的三系统代码检查通过;发行包由独立发布流程生成。
Changes / 变更
中文:
- Windows AMD64 登录时实验性捕获。默认
auto动态识别 AES 密钥设置函数并用硬件执行断点;会短暂暂停微信线程、设置后恢复调试寄存器,不修改代码或注入 DLL。read_only仅轮询可读内存。MCPcapture_key和 CLIkey capture均支持模式选择;须等待ready_for_login=true后再请用户登录。 - 仅保留 HMAC 验证通过的每库密钥,存入配置文件旁
.wxmori-keys/的 DPAPICurrentUser密钥环;可自动供后续解密使用。手动key_file/WXMORI_MASTER_KEY保留为兼容回退。 - 加密 WAL 在私有副本校验并回放;源数据库不修改。非空加密 WAL 在已发布
v0.1.0-alpha.1中仍不支持。
English:
- Experimental login-time capture on Windows AMD64. Default
autodynamically recognizes the AES key-setup function and uses hardware execution breakpoints; it briefly pauses WeChat threads and restores debug registers, without code patching or DLL injection.read_onlypolls readable memory only. MCPcapture_keyand CLIkey captureaccept a mode; wait forready_for_login=truebefore asking the user to log in. - Only HMAC-verified per-database keys are retained in a DPAPI
CurrentUserkeyring under.wxmori-keys/beside the config; later decrypt operations can load it automatically. Manualkey_file/WXMORI_MASTER_KEYremains as a compatibility fallback. - Encrypted WAL is validated and replayed in private copies without modifying source databases. Published
v0.1.0-alpha.1still does not support non-empty encrypted WAL.
Validation / 验证
中文: v0.2.0-alpha.1 的 Go 测试、静态检查及三系统 CI 均通过。CI 包含完整程序启动和独立 stdio MCP 冒烟(四个协议版本、七个工具)。版本号、CLI 参数和重启流程调整后,GPT-6 Luna 工作线程另通过合成 MCP 冒烟。真实登录试验使用此前的 v0.2.0-dev 构建:Luna 经 Python stdio MCP 宿主对一个 Weixin 4.1.15.56 单账号捕获,12/12 核心数据库密钥通过 HMAC;微信退出后新进程在无手动主密钥时从 DPAPI 重载,状态 ready,用户指定会话精确查询返回一个结果。TXT 和 JSONL 各 381 条、导出摘要匹配且 UTF-8 有效;TXT 的 381 个标题及 235 条多行正文均完整,JSONL 有 381 行。该样本 12 个 WAL 文件各有旧代次尾帧被排除,当前代次提交帧为 0;因此成功导出并不证明真实提交帧回放,提交帧回放目前由合成测试覆盖。真实快照源文件大小/修改时间指纹稳定;源哈希未在该实测中验证。自动捕获验证仅限此 Windows/Weixin 版本、单账号与 Luna/Python stdio 宿主;其他版本、模型及宿主未验证。
English: Go tests, static checks, and three-system CI pass for v0.2.0-alpha.1; CI includes full executable startup and an independent stdio MCP smoke test across four protocol versions and seven tools. After version, CLI-argument, and restart refinements, a GPT-6 Luna worker also passed a synthetic MCP smoke test. The real login trial used the earlier v0.2.0-dev build: through a Luna Python stdio MCP host, capture on one Weixin 4.1.15.56 account HMAC-verified keys for 12/12 core databases. After WeChat exited, a fresh process reloaded them from DPAPI without a manual master key; status was ready, and exact lookup of the user-specified session returned one result. TXT and JSONL each contained 381 records, matching export hashes, and valid UTF-8; TXT preserved all 381 headers and 235 multiline bodies, and JSONL had 381 rows. Each WAL file had an excluded stale-generation tail, and there were zero current-generation committed frames; successful exports therefore do not validate real committed-frame replay, which currently has synthetic test coverage only. Real-snapshot source size/mtime fingerprints remained stable; unchanged source hashes were verified only by synthetic snapshot tests. Automatic capture is validated only for this Windows/Weixin version, account, and Luna/Python stdio host; other versions, models, and hosts are untested.
Security note / 安全说明
中文: 早期同名程序曾被 360 防护拦截/删除;之后重建可运行,不能据此证明先前检测为误报。若安全软件拦截,请按厂商流程逐文件提交审查;不要关闭防护。
English: An earlier executable build was blocked/deleted by 360 protection; a later rebuild running does not prove the earlier detection was a false positive. If security software blocks a file, submit that individual file for vendor review; do not disable protection.
Distribution verification / 发行包核验
中文: 发布标签的三系统检查与六平台打包发布均通过。GPT-6 Luna 下载六个平台压缩包,逐一核对 SHA-256,检查归档路径和文档、许可证、程序文件。实际 Windows AMD64 发行程序报告版本 0.2.0-alpha.1,并通过四个 MCP 协议版本、七个工具的合成数据调用测试。其余平台压缩包未在本机运行;此项测试未读取真实聊天。
English: The release tag passed three-system checks and six-platform packaging and publication. GPT-6 Luna downloaded all six archives, verified each SHA-256, and checked archive paths, documentation, licenses, and binaries. The actual Windows AMD64 release binary reported 0.2.0-alpha.1 and passed synthetic calls across four MCP protocol versions and seven tools. Other platform packages were not executed locally; this check did not read real chats.
WxMori / 微忆 v0.1.0-alpha.1
Local WeChat export over MCP. Read README for supported sources and encrypted WAL limitations. / 通过 MCP 导出本地微信记录;支持范围及加密 WAL 限制请参阅 README。