init-simple-memorix
Overview
本技能用于精简 Memorix hooks 和检查 Memorix MCP 配置。核心原则是先判断问题属于 hooks 噪音还是 MCP 连接/工具暴露问题,再只处理对应层面。
- hooks 目标:移除工具调用、文件编辑、命令执行等高频触发器,只保留会话生命周期事件。
- MCP 目标:确认 memorix server entry 使用
serve --mode full,并避免 WorkBuddy 注入的 Node 参数破坏 stdio MCP 启动。
- 分发视角:脚本、模板、源码索引都以技能安装目录为根,不引用仓库源码路径或开发期产物。
When to Use
- 用户明确提到
init-simple-memorix、初始化 Memorix、精简 Memorix hooks、移除记忆噪音。
- 用户完成 Memorix setup 或升级后,怀疑默认 hooks 又引入高频噪音。
- 用户需要项目级或全局级 hooks 模板参考。
- 用户反馈 Memorix MCP 工具缺失、不是 full 模式、MCP server 启动失败。
- 用户在 WorkBuddy 中看到 memorix MCP 反复断开、审批后仍不可用、
NODE_OPTIONS 或 Node ABI 相关错误。
When Not to Use
- 用户只是询问如何使用已有 Memorix 工具读写记忆,且没有 hooks/MCP 配置问题。
- 用户要求记录事故、沉淀经验或同步记忆时,优先使用
record-bug-fix-memory。
- 用户要求发版、写 changeset、提交代码或生成报告时,本技能只提供背景信息,不接管这些流程。
- 现场症状是普通业务代码 bug、测试失败或构建失败,且没有 Memorix hooks/MCP 线索。
Decision Path
- 先定性问题。
- 记忆太多、太杂、每次工具调用都记录:处理 hooks。
- MCP 工具缺失、full 模式不可用、server 断开:检查 MCP 配置。
- WorkBuddy 审批、Node 参数、better-sqlite3 报错:进入 WorkBuddy Notes。
- 再定作用域。
- 只影响当前项目:使用
templates/ 下的项目级模板。
- 影响用户全局 Agent:参考
templates-global/,但不要在未获明确授权时写入用户主目录配置。
- 最后选执行方式。
- 只需要确认脚本行为:运行帮助或 dry-run。
- 需要真实写入:必须由用户明确要求,并在执行前说明会修改哪些用户配置文件。
- hooks 噪音场景优先处理 hooks,不要把 WorkBuddy MCP 信任链路排查放到主路径上。
Reference Routing
本技能正文只保留判断入口和高频规则。需要细节时按场景读取对应参考文件,不要一次性加载全部 references。
| 参考文件 |
何时读取 |
references/hooks-reference.md |
用户要求精简 hooks、检查噪音、合并项目级/全局级 hooks,或需要旧版完整 hooks 表格与模板格式细节。 |
references/workbuddy-mcp-notes.md |
用户反馈 WorkBuddy 中 memorix MCP 连接失败、untrusted/disabled、Connection closed、Node/ABI、NODE_OPTIONS 或审批 hash 问题。 |
references/memorix-setup-notes.md |
用户刚执行 memorix setup、全局安装、升级 Memorix 插件,或需要理解 setup 后哪些 hooks/MCP 配置可能被覆盖。 |
如果用户只抱怨“记忆太吵”或“每次工具调用都记录”,优先读取 references/hooks-reference.md。只有同时出现 MCP 连接、工具缺失、审批或 Node 错误时,才读取 references/workbuddy-mcp-notes.md。
Safety Rules
- 不要主动运行 Memorix setup 或 cleanup;如果需要提命令,只提供
--help 或 --dry-run / -DryRun / -d 形式。
- 不要在未获明确授权时修改用户主目录配置。
- 不要删除用户的非 Memorix 配置字段,例如 permissions、自定义 hooks、其他 MCP server entries。
- 不要承诺不存在的模板:项目级没有 Codex hooks 模板;Codex 只在全局模板中出现。
- 不要写死 full 模式的工具数量;只要求 full 模式暴露完整工具面。
- 不要在正文命令或资源索引中引用开发期路径、测试目录、CI 配置、报告目录或依赖安装目录。
- 合并配置时保留未知字段,只精确调整 Memorix 相关 entry。
Hooks Quick Reference
作用域模型:
| 场景 |
行为 |
| 项目级 |
用户没有要求全局配置时,只处理当前项目根目录下的 IDE hooks 配置。 |
| 全局级 |
用户明确要求全局、--global、setup 后全局精简时,才处理用户主目录下的全局 hooks 配置。 |
| 双作用域 |
用户同时需要全局和项目级时,先处理全局,再处理当前项目;不要把两类路径混在一次写入里。 |
支持的 hooks 配置目标:
| 工具 |
项目级目标 |
全局级目标 |
| Claude Code |
.claude/settings.local.json |
~/.claude/plugins/cache/memorix-local/memorix/{version}/hooks/hooks.json |
| Codex |
不提供项目级模板 |
~/.codex/plugins/memorix/hooks/hooks.json |
| Cursor |
.cursor/hooks.json |
~/.cursor/hooks.json |
| Windsurf |
.windsurf/hooks.json |
暂不支持 |
| Gemini CLI |
.gemini/settings.json |
暂不支持 |
| Kiro |
.kiro/hooks/memorix-file-save.kiro.hook |
暂不支持 |
| WorkBuddy |
.workbuddy/hooks/hooks.json(实验性,待运行时验证) |
暂不支持 |
| ZCode |
.zcode/config.json 或 zcode.json |
暂不支持 |
| Antigravity |
.agents/hooks.json |
~/.gemini/config/plugins/memorix/hooks.json |
项目级模板:
| 工具 |
模板 |
目标形态 |
| Claude Code |
templates/claude-code.settings.local.json |
.claude/settings.local.json |
| Cursor |
templates/cursor.hooks.json |
.cursor/hooks.json |
| Windsurf |
templates/windsurf.hooks.json |
.windsurf/hooks.json |
| Gemini CLI |
templates/gemini-cli.settings.json |
.gemini/settings.json |
| Kiro |
templates/kiro.memorix-file-save.kiro.hook |
.kiro/hooks/memorix-file-save.kiro.hook |
| WorkBuddy |
templates/workbuddy.hooks.json(实验性,待运行时验证) |
.workbuddy/hooks/hooks.json |
| ZCode |
templates/zcode.config.json |
.zcode/config.json 或 zcode.json |
| Antigravity |
templates/antigravity.hooks.json |
.agents/hooks.json |
全局模板:
| 工具 |
模板 |
说明 |
| Claude Code |
templates-global/claude.hooks.json |
版本目录需动态发现 |
| Codex |
templates-global/codex.hooks.json |
仅全局模板 |
| Cursor |
templates-global/cursor.hooks.json |
全局 hooks |
| Antigravity |
templates-global/antigravity.hooks.json |
全局 hooks |
应移除或禁用的高频事件:
| 工具 |
高频噪音事件 |
| Claude Code |
PreToolUse, PostToolUse |
| Codex |
PostToolUse |
| Cursor |
afterFileEdit, afterMCPExecution, beforeShellExecution |
| Windsurf |
post_write_code, post_run_command, post_mcp_tool_use |
| Gemini CLI |
AfterTool |
| Kiro |
文件保存 hook 保持 enabled: false |
| WorkBuddy |
PreToolUse, PostToolUse |
| ZCode |
PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure |
| Antigravity |
PreToolUse, PostToolUse |
应保留的生命周期事件:
| 工具 |
生命周期事件 |
| Claude Code |
SessionStart, UserPromptSubmit, PreCompact, Stop |
| Codex |
SessionStart, UserPromptSubmit, Stop |
| Cursor |
sessionStart, beforeSubmitPrompt, preCompact, stop |
| Windsurf |
pre_user_prompt, post_cascade_response |
| Gemini CLI |
SessionStart, PreCompress, AfterAgent |
| WorkBuddy |
SessionStart, UserPromptSubmit, PreCompact, Stop |
| ZCode |
SessionStart, UserPromptSubmit, Stop |
| Antigravity |
PreInvocation, PostInvocation, Stop |
格式要点:
- Cursor hooks 是对象数组,例如
{ "command": "memorix.cmd hook" },不是 command 字符串数组。
- WorkBuddy hooks 使用 matcher 嵌套结构,每个事件数组内包含
{ "matcher": "*", "hooks": [...] };项目级目标和模板为实验性、待运行时验证。
- ZCode 配置文件 hooks 使用 top-level
hooks.enabled: true + hooks.events,事件条目使用 matcher + hooks 嵌套,hook 命令为 memorix.cmd hook,不要写成插件 hooks 结构;matcher 是大小写敏感正则,可省略,不能写 *,匹配全部时用 .*。
- ZCode 配置文件 hooks 默认禁用;模板必须显式设置
hooks.enabled: true,可使用 hooks.timeoutMs 设置总体超时。
- ZCode 当前支持的配置文件事件是
SessionStart、UserPromptSubmit、PreToolUse、PermissionRequest、PostToolUse、PostToolUseFailure、Stop;不支持 PreCompact,生命周期模板不要包含它。
- Antigravity 项目级模板真实存在于
templates/antigravity.hooks.json。
- 项目级 Codex hooks 模板不存在;Codex 只在全局模板中说明。
- Claude Code 全局路径包含
{version},必须动态发现已安装的最新 Memorix 插件版本目录。
- Kiro 文件保存 hook 是通过
enabled: false 禁用,而不是删除文件。
合并策略:
- 已存在配置时,不做全量覆盖;只移除明确的高频 Memorix hooks,并补齐或保留生命周期 hooks。
- 保留用户字段,例如
permissions、not-use-now-hooks、自定义 hooks、非 Memorix MCP server entries。
- WorkBuddy 配置要保留
matcher、description 等结构字段,不能用模板替换导致语义丢失。
- 同一事件已有合格 lifecycle hook 时不要重复添加。
- 用户要求清理历史噪音记忆时,先说明风险;不要主动运行
memorix cleanup。
MCP Full Mode
memorix MCP server entry 的通用核心要求是 command 与 args 指向 full 模式:
{
"mcpServers": {
"memorix": {
"command": "memorix",
"args": ["serve", "--mode", "full"]
}
}
}
TOML 形态:
[mcpServers.memorix]
command = "memorix"
args = ["serve", "--mode", "full"]
脚本入口只在技能安装目录下使用:
tsx scripts/install-mcp.ts --help
tsx scripts/install-mcp.ts --dry-run
Windows PowerShell 兜底:
.\fallback\install-mcp.ps1 -DryRun
Bash 兜底:
./fallback/install-mcp.sh -d
维护要点:
scripts/install-mcp.ts 支持 dry-run 和额外配置文件参数;真实写入前先 dry-run。
- MCP 配置中已有 memorix entry 时,只检查
args 是否包含 --mode full。
- WorkBuddy 相关 MCP entry 应额外保留或建议
env.NODE_OPTIONS = "",避免继承父进程注入的 Node 参数;当前脚本主责是校准 full args,不要声称 dry-run 一定会补齐 WorkBuddy env。
已知 MCP 配置平台:
| 平台 |
配置路径 |
格式 |
| Codex |
~/.codex/config.toml, ~/.codex/config-2026-6-13-bg.toml |
TOML |
| Claude Code |
~/.claude.json |
JSON |
| Cursor |
~/.cursor/mcp.json |
JSON |
| WorkBuddy |
~/.workbuddy/mcp.json, ~/.workbuddy/.mcp.json |
JSON |
| ZCode |
~/.zcode/cli/config.json |
JSON |
| Qoder |
~/AppData/Roaming/Qoder/SharedClientCache/mcp.json |
JSON |
| Kiro |
~/.kiro/settings/mcp.json |
JSON |
脚本输出状态:
| 状态 |
含义 |
created |
配置文件不存在,脚本会创建新文件;dry-run 下只预览。 |
updated |
配置文件存在,memorix entry 需要改为 full 模式;dry-run 下只预览。 |
skipped |
配置已满足要求,或 dry-run 下跳过实际写入。 |
error |
配置解析、读写或格式处理失败,需要先排除该文件问题。 |
与 memorix setup / 升级配合:
memorix setup 可能重新安装默认 hooks;setup 后如果用户要求降噪,应再次执行 hooks 精简。
- Memorix 插件升级后,全局 hooks 文件可能被新版本目录或默认内容覆盖;尤其是 Claude Code 全局路径含版本号,需要重新动态发现。
- MCP full 模式和 hooks 精简是两条链路:工具缺失优先查 MCP,记忆噪音优先查 hooks。
WorkBuddy Notes
- WorkBuddy 可能向子进程注入
NODE_OPTIONS。旧 Node 版本不识别 --use-system-ca 时,stdio MCP 会在启动阶段退出。memorix MCP entry 中建议显式设置 env.NODE_OPTIONS = ""。
- WorkBuddy 的 MCP 信任 hash 基于 server entry 的
JSON.stringify 结果再做 SHA-256。任何 mcp.json entry 变化都可能触发重新审批。
- 修改
mcp.json 后需要完全重启 WorkBuddy;只刷新窗口或重开会话可能仍使用旧信任状态。
- Node 22.x 的 ABI 都是 127。同 major 内一般不需要重建
better-sqlite3;跨 major 升级或降级后才优先考虑 rebuild。
trustLevel=gray 不是充分失败条件。判断重点是 server status=connected,以及 Memorix 工具是否实际暴露。
- 用户抱怨记忆噪音时,优先检查 hooks 模板和高频事件,不要先把问题归因到 MCP 信任链路。
Verification Checklist
- YAML frontmatter 合法,
metadata.version 已更新。
description 只写触发条件,不写流程说明,不使用第一人称。
- 项目级模板表包含
templates/antigravity.hooks.json。
- 项目级模板表包含
templates/zcode.config.json,目标形态是 .zcode/config.json 或 zcode.json。
- 项目级模板表没有 Codex;Codex 只出现在
templates-global/codex.hooks.json。
- ZCode 文档明确配置文件 hooks 必须
hooks.enabled: true 且事件写在 hooks.events,不包含不支持的 PreCompact。
- Cursor 格式说明是对象数组,不是 command 字符串数组。
- 文档没有写死 full 模式工具数量。
- 命令示例只有帮助或 dry-run,不会写入用户配置。
- 资源索引只列技能安装目录内的相对路径。
可建议用户或主线程运行:
tsx scripts/install-mcp.ts --help
tsx scripts/install-mcp.ts --dry-run
.\fallback\install-mcp.ps1 -DryRun
./fallback/install-mcp.sh -d
Resource Index
| 路径 |
用途 |
scripts/install-mcp.ts |
MCP 配置检查与安装 CLI 入口 |
fallback/install-mcp.ps1 |
Windows PowerShell 兜底入口 |
fallback/install-mcp.sh |
Bash 兜底入口 |
src/platforms.ts |
MCP 平台注册表 |
src/install-mcp.ts |
MCP 配置读写逻辑 |
templates/ |
项目级 hooks 模板目录 |
templates/claude-code.settings.local.json |
Claude Code 项目级模板 |
templates/cursor.hooks.json |
Cursor 项目级模板 |
templates/windsurf.hooks.json |
Windsurf 项目级模板 |
templates/gemini-cli.settings.json |
Gemini CLI 项目级模板 |
templates/kiro.memorix-file-save.kiro.hook |
Kiro 项目级模板 |
templates/workbuddy.hooks.json |
WorkBuddy 项目级模板 |
templates/zcode.config.json |
ZCode 项目级配置文件 hooks 模板,可用于 .zcode/config.json 或 zcode.json |
templates/antigravity.hooks.json |
Antigravity 项目级模板 |
templates-global/ |
全局 hooks 模板目录 |
templates-global/claude.hooks.json |
Claude Code 全局模板 |
templates-global/codex.hooks.json |
Codex 全局模板 |
templates-global/cursor.hooks.json |
Cursor 全局模板 |
templates-global/antigravity.hooks.json |
Antigravity 全局模板 |
references/hooks-reference.md |
hooks 作用域、噪音事件、生命周期事件、模板格式与合并策略详解 |
references/workbuddy-mcp-notes.md |
WorkBuddy MCP 连接、信任审批、NODE_OPTIONS、Node ABI 与日志检查详解 |
references/memorix-setup-notes.md |
memorix setup / 插件升级后的全局配置影响与重新精简策略 |
1---2name: init-simple-memorix3description: Use when 用户提到 init-simple-memorix、Memorix hooks 过多或噪音、项目级或全局 hooks 配置、Memorix MCP 工具缺失、full 模式、WorkBuddy MCP 启动失败、信任审批、Node 参数兼容、setup 或升级后重新精简等场景。4---56# init-simple-memorix78## Overview910本技能用于精简 Memorix hooks 和检查 Memorix MCP 配置。核心原则是先判断问题属于 hooks 噪音还是 MCP 连接/工具暴露问题,再只处理对应层面。1112- hooks 目标:移除工具调用、文件编辑、命令执行等高频触发器,只保留会话生命周期事件。13- MCP 目标:确认 memorix server entry 使用 `serve --mode full`,并避免 WorkBuddy 注入的 Node 参数破坏 stdio MCP 启动。14- 分发视角:脚本、模板、源码索引都以技能安装目录为根,不引用仓库源码路径或开发期产物。1516## When to Use1718- 用户明确提到 `init-simple-memorix`、初始化 Memorix、精简 Memorix hooks、移除记忆噪音。19- 用户完成 Memorix setup 或升级后,怀疑默认 hooks 又引入高频噪音。20- 用户需要项目级或全局级 hooks 模板参考。21- 用户反馈 Memorix MCP 工具缺失、不是 full 模式、MCP server 启动失败。22- 用户在 WorkBuddy 中看到 memorix MCP 反复断开、审批后仍不可用、`NODE_OPTIONS` 或 Node ABI 相关错误。2324## When Not to Use2526- 用户只是询问如何使用已有 Memorix 工具读写记忆,且没有 hooks/MCP 配置问题。27- 用户要求记录事故、沉淀经验或同步记忆时,优先使用 `record-bug-fix-memory`。28- 用户要求发版、写 changeset、提交代码或生成报告时,本技能只提供背景信息,不接管这些流程。29- 现场症状是普通业务代码 bug、测试失败或构建失败,且没有 Memorix hooks/MCP 线索。3031## Decision Path32331. 先定性问题。34 - 记忆太多、太杂、每次工具调用都记录:处理 hooks。35 - MCP 工具缺失、full 模式不可用、server 断开:检查 MCP 配置。36 - WorkBuddy 审批、Node 参数、better-sqlite3 报错:进入 WorkBuddy Notes。372. 再定作用域。38 - 只影响当前项目:使用 `templates/` 下的项目级模板。39 - 影响用户全局 Agent:参考 `templates-global/`,但不要在未获明确授权时写入用户主目录配置。403. 最后选执行方式。41 - 只需要确认脚本行为:运行帮助或 dry-run。42 - 需要真实写入:必须由用户明确要求,并在执行前说明会修改哪些用户配置文件。434. hooks 噪音场景优先处理 hooks,不要把 WorkBuddy MCP 信任链路排查放到主路径上。4445## Reference Routing4647本技能正文只保留判断入口和高频规则。需要细节时按场景读取对应参考文件,不要一次性加载全部 references。4849| 参考文件 | 何时读取 |50| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |51| `references/hooks-reference.md` | 用户要求精简 hooks、检查噪音、合并项目级/全局级 hooks,或需要旧版完整 hooks 表格与模板格式细节。 |52| `references/workbuddy-mcp-notes.md` | 用户反馈 WorkBuddy 中 memorix MCP 连接失败、untrusted/disabled、`Connection closed`、Node/ABI、`NODE_OPTIONS` 或审批 hash 问题。 |53| `references/memorix-setup-notes.md` | 用户刚执行 `memorix setup`、全局安装、升级 Memorix 插件,或需要理解 setup 后哪些 hooks/MCP 配置可能被覆盖。 |5455如果用户只抱怨“记忆太吵”或“每次工具调用都记录”,优先读取 `references/hooks-reference.md`。只有同时出现 MCP 连接、工具缺失、审批或 Node 错误时,才读取 `references/workbuddy-mcp-notes.md`。5657## Safety Rules5859- 不要主动运行 Memorix setup 或 cleanup;如果需要提命令,只提供 `--help` 或 `--dry-run` / `-DryRun` / `-d` 形式。60- 不要在未获明确授权时修改用户主目录配置。61- 不要删除用户的非 Memorix 配置字段,例如 permissions、自定义 hooks、其他 MCP server entries。62- 不要承诺不存在的模板:项目级没有 Codex hooks 模板;Codex 只在全局模板中出现。63- 不要写死 full 模式的工具数量;只要求 full 模式暴露完整工具面。64- 不要在正文命令或资源索引中引用开发期路径、测试目录、CI 配置、报告目录或依赖安装目录。65- 合并配置时保留未知字段,只精确调整 Memorix 相关 entry。6667## Hooks Quick Reference6869作用域模型:7071| 场景 | 行为 |72| :------- | :-------------------------------------------------------------------------------------- |73| 项目级 | 用户没有要求全局配置时,只处理当前项目根目录下的 IDE hooks 配置。 |74| 全局级 | 用户明确要求全局、`--global`、setup 后全局精简时,才处理用户主目录下的全局 hooks 配置。 |75| 双作用域 | 用户同时需要全局和项目级时,先处理全局,再处理当前项目;不要把两类路径混在一次写入里。 |7677支持的 hooks 配置目标:7879| 工具 | 项目级目标 | 全局级目标 |80| :---------- | :---------------------------------------------------- | :------------------------------------------------------------------------- |81| Claude Code | `.claude/settings.local.json` | `~/.claude/plugins/cache/memorix-local/memorix/{version}/hooks/hooks.json` |82| Codex | 不提供项目级模板 | `~/.codex/plugins/memorix/hooks/hooks.json` |83| Cursor | `.cursor/hooks.json` | `~/.cursor/hooks.json` |84| Windsurf | `.windsurf/hooks.json` | 暂不支持 |85| Gemini CLI | `.gemini/settings.json` | 暂不支持 |86| Kiro | `.kiro/hooks/memorix-file-save.kiro.hook` | 暂不支持 |87| WorkBuddy | `.workbuddy/hooks/hooks.json`(实验性,待运行时验证) | 暂不支持 |88| ZCode | `.zcode/config.json` 或 `zcode.json` | 暂不支持 |89| Antigravity | `.agents/hooks.json` | `~/.gemini/config/plugins/memorix/hooks.json` |9091项目级模板:9293| 工具 | 模板 | 目标形态 |94| :---------- | :------------------------------------------------------- | :---------------------------------------- |95| Claude Code | `templates/claude-code.settings.local.json` | `.claude/settings.local.json` |96| Cursor | `templates/cursor.hooks.json` | `.cursor/hooks.json` |97| Windsurf | `templates/windsurf.hooks.json` | `.windsurf/hooks.json` |98| Gemini CLI | `templates/gemini-cli.settings.json` | `.gemini/settings.json` |99| Kiro | `templates/kiro.memorix-file-save.kiro.hook` | `.kiro/hooks/memorix-file-save.kiro.hook` |100| WorkBuddy | `templates/workbuddy.hooks.json`(实验性,待运行时验证) | `.workbuddy/hooks/hooks.json` |101| ZCode | `templates/zcode.config.json` | `.zcode/config.json` 或 `zcode.json` |102| Antigravity | `templates/antigravity.hooks.json` | `.agents/hooks.json` |103104全局模板:105106| 工具 | 模板 | 说明 |107| :---------- | :---------------------------------------- | :----------------- |108| Claude Code | `templates-global/claude.hooks.json` | 版本目录需动态发现 |109| Codex | `templates-global/codex.hooks.json` | 仅全局模板 |110| Cursor | `templates-global/cursor.hooks.json` | 全局 hooks |111| Antigravity | `templates-global/antigravity.hooks.json` | 全局 hooks |112113应移除或禁用的高频事件:114115| 工具 | 高频噪音事件 |116| :---------- | :--------------------------------------------------------------------- |117| Claude Code | `PreToolUse`, `PostToolUse` |118| Codex | `PostToolUse` |119| Cursor | `afterFileEdit`, `afterMCPExecution`, `beforeShellExecution` |120| Windsurf | `post_write_code`, `post_run_command`, `post_mcp_tool_use` |121| Gemini CLI | `AfterTool` |122| Kiro | 文件保存 hook 保持 `enabled: false` |123| WorkBuddy | `PreToolUse`, `PostToolUse` |124| ZCode | `PreToolUse`, `PermissionRequest`, `PostToolUse`, `PostToolUseFailure` |125| Antigravity | `PreToolUse`, `PostToolUse` |126127应保留的生命周期事件:128129| 工具 | 生命周期事件 |130| :---------- | :--------------------------------------------------------- |131| Claude Code | `SessionStart`, `UserPromptSubmit`, `PreCompact`, `Stop` |132| Codex | `SessionStart`, `UserPromptSubmit`, `Stop` |133| Cursor | `sessionStart`, `beforeSubmitPrompt`, `preCompact`, `stop` |134| Windsurf | `pre_user_prompt`, `post_cascade_response` |135| Gemini CLI | `SessionStart`, `PreCompress`, `AfterAgent` |136| WorkBuddy | `SessionStart`, `UserPromptSubmit`, `PreCompact`, `Stop` |137| ZCode | `SessionStart`, `UserPromptSubmit`, `Stop` |138| Antigravity | `PreInvocation`, `PostInvocation`, `Stop` |139140格式要点:141142- Cursor hooks 是对象数组,例如 `{ "command": "memorix.cmd hook" }`,不是 command 字符串数组。143- WorkBuddy hooks 使用 matcher 嵌套结构,每个事件数组内包含 `{ "matcher": "*", "hooks": [...] }`;项目级目标和模板为实验性、待运行时验证。144- ZCode 配置文件 hooks 使用 top-level `hooks.enabled: true` + `hooks.events`,事件条目使用 matcher + hooks 嵌套,hook 命令为 `memorix.cmd hook`,不要写成插件 hooks 结构;`matcher` 是大小写敏感正则,可省略,不能写 `*`,匹配全部时用 `.*`。145- ZCode 配置文件 hooks 默认禁用;模板必须显式设置 `hooks.enabled: true`,可使用 `hooks.timeoutMs` 设置总体超时。146- ZCode 当前支持的配置文件事件是 `SessionStart`、`UserPromptSubmit`、`PreToolUse`、`PermissionRequest`、`PostToolUse`、`PostToolUseFailure`、`Stop`;不支持 `PreCompact`,生命周期模板不要包含它。147- Antigravity 项目级模板真实存在于 `templates/antigravity.hooks.json`。148- 项目级 Codex hooks 模板不存在;Codex 只在全局模板中说明。149- Claude Code 全局路径包含 `{version}`,必须动态发现已安装的最新 Memorix 插件版本目录。150- Kiro 文件保存 hook 是通过 `enabled: false` 禁用,而不是删除文件。151152合并策略:153154- 已存在配置时,不做全量覆盖;只移除明确的高频 Memorix hooks,并补齐或保留生命周期 hooks。155- 保留用户字段,例如 `permissions`、`not-use-now-hooks`、自定义 hooks、非 Memorix MCP server entries。156- WorkBuddy 配置要保留 `matcher`、`description` 等结构字段,不能用模板替换导致语义丢失。157- 同一事件已有合格 lifecycle hook 时不要重复添加。158- 用户要求清理历史噪音记忆时,先说明风险;不要主动运行 `memorix cleanup`。159160## MCP Full Mode161162memorix MCP server entry 的通用核心要求是 `command` 与 `args` 指向 full 模式:163164```json165{166 "mcpServers": {167 "memorix": {168 "command": "memorix",169 "args": ["serve", "--mode", "full"]170 }171 }172}173```174175TOML 形态:176177```toml178[mcpServers.memorix]179command = "memorix"180args = ["serve", "--mode", "full"]181```182183脚本入口只在技能安装目录下使用:184185```bash186tsx scripts/install-mcp.ts --help187tsx scripts/install-mcp.ts --dry-run188```189190Windows PowerShell 兜底:191192```powershell193.\fallback\install-mcp.ps1 -DryRun194```195196Bash 兜底:197198```bash199./fallback/install-mcp.sh -d200```201202维护要点:203204- `scripts/install-mcp.ts` 支持 dry-run 和额外配置文件参数;真实写入前先 dry-run。205- MCP 配置中已有 memorix entry 时,只检查 `args` 是否包含 `--mode full`。206- WorkBuddy 相关 MCP entry 应额外保留或建议 `env.NODE_OPTIONS = ""`,避免继承父进程注入的 Node 参数;当前脚本主责是校准 full args,不要声称 dry-run 一定会补齐 WorkBuddy env。207208已知 MCP 配置平台:209210| 平台 | 配置路径 | 格式 |211| :---------- | :---------------------------------------------------------- | :--- |212| Codex | `~/.codex/config.toml`, `~/.codex/config-2026-6-13-bg.toml` | TOML |213| Claude Code | `~/.claude.json` | JSON |214| Cursor | `~/.cursor/mcp.json` | JSON |215| WorkBuddy | `~/.workbuddy/mcp.json`, `~/.workbuddy/.mcp.json` | JSON |216| ZCode | `~/.zcode/cli/config.json` | JSON |217| Qoder | `~/AppData/Roaming/Qoder/SharedClientCache/mcp.json` | JSON |218| Kiro | `~/.kiro/settings/mcp.json` | JSON |219220脚本输出状态:221222| 状态 | 含义 |223| :-------- | :----------------------------------------------------------------- |224| `created` | 配置文件不存在,脚本会创建新文件;dry-run 下只预览。 |225| `updated` | 配置文件存在,memorix entry 需要改为 full 模式;dry-run 下只预览。 |226| `skipped` | 配置已满足要求,或 dry-run 下跳过实际写入。 |227| `error` | 配置解析、读写或格式处理失败,需要先排除该文件问题。 |228229与 `memorix setup` / 升级配合:230231- `memorix setup` 可能重新安装默认 hooks;setup 后如果用户要求降噪,应再次执行 hooks 精简。232- Memorix 插件升级后,全局 hooks 文件可能被新版本目录或默认内容覆盖;尤其是 Claude Code 全局路径含版本号,需要重新动态发现。233- MCP full 模式和 hooks 精简是两条链路:工具缺失优先查 MCP,记忆噪音优先查 hooks。234235## WorkBuddy Notes236237- WorkBuddy 可能向子进程注入 `NODE_OPTIONS`。旧 Node 版本不识别 `--use-system-ca` 时,stdio MCP 会在启动阶段退出。memorix MCP entry 中建议显式设置 `env.NODE_OPTIONS = ""`。238- WorkBuddy 的 MCP 信任 hash 基于 server entry 的 `JSON.stringify` 结果再做 SHA-256。任何 `mcp.json` entry 变化都可能触发重新审批。239- 修改 `mcp.json` 后需要完全重启 WorkBuddy;只刷新窗口或重开会话可能仍使用旧信任状态。240- Node 22.x 的 ABI 都是 127。同 major 内一般不需要重建 `better-sqlite3`;跨 major 升级或降级后才优先考虑 rebuild。241- `trustLevel=gray` 不是充分失败条件。判断重点是 server `status=connected`,以及 Memorix 工具是否实际暴露。242- 用户抱怨记忆噪音时,优先检查 hooks 模板和高频事件,不要先把问题归因到 MCP 信任链路。243244## Verification Checklist245246- YAML frontmatter 合法,`metadata.version` 已更新。247- `description` 只写触发条件,不写流程说明,不使用第一人称。248- 项目级模板表包含 `templates/antigravity.hooks.json`。249- 项目级模板表包含 `templates/zcode.config.json`,目标形态是 `.zcode/config.json` 或 `zcode.json`。250- 项目级模板表没有 Codex;Codex 只出现在 `templates-global/codex.hooks.json`。251- ZCode 文档明确配置文件 hooks 必须 `hooks.enabled: true` 且事件写在 `hooks.events`,不包含不支持的 `PreCompact`。252- Cursor 格式说明是对象数组,不是 command 字符串数组。253- 文档没有写死 full 模式工具数量。254- 命令示例只有帮助或 dry-run,不会写入用户配置。255- 资源索引只列技能安装目录内的相对路径。256257可建议用户或主线程运行:258259```bash260tsx scripts/install-mcp.ts --help261tsx scripts/install-mcp.ts --dry-run262```263264```powershell265.\fallback\install-mcp.ps1 -DryRun266```267268```bash269./fallback/install-mcp.sh -d270```271272## Resource Index273274| 路径 | 用途 |275| :------------------------------------------- | :--------------------------------------------------------------------------- |276| `scripts/install-mcp.ts` | MCP 配置检查与安装 CLI 入口 |277| `fallback/install-mcp.ps1` | Windows PowerShell 兜底入口 |278| `fallback/install-mcp.sh` | Bash 兜底入口 |279| `src/platforms.ts` | MCP 平台注册表 |280| `src/install-mcp.ts` | MCP 配置读写逻辑 |281| `templates/` | 项目级 hooks 模板目录 |282| `templates/claude-code.settings.local.json` | Claude Code 项目级模板 |283| `templates/cursor.hooks.json` | Cursor 项目级模板 |284| `templates/windsurf.hooks.json` | Windsurf 项目级模板 |285| `templates/gemini-cli.settings.json` | Gemini CLI 项目级模板 |286| `templates/kiro.memorix-file-save.kiro.hook` | Kiro 项目级模板 |287| `templates/workbuddy.hooks.json` | WorkBuddy 项目级模板 |288| `templates/zcode.config.json` | ZCode 项目级配置文件 hooks 模板,可用于 `.zcode/config.json` 或 `zcode.json` |289| `templates/antigravity.hooks.json` | Antigravity 项目级模板 |290| `templates-global/` | 全局 hooks 模板目录 |291| `templates-global/claude.hooks.json` | Claude Code 全局模板 |292| `templates-global/codex.hooks.json` | Codex 全局模板 |293| `templates-global/cursor.hooks.json` | Cursor 全局模板 |294| `templates-global/antigravity.hooks.json` | Antigravity 全局模板 |295| `references/hooks-reference.md` | hooks 作用域、噪音事件、生命周期事件、模板格式与合并策略详解 |296| `references/workbuddy-mcp-notes.md` | WorkBuddy MCP 连接、信任审批、`NODE_OPTIONS`、Node ABI 与日志检查详解 |297| `references/memorix-setup-notes.md` | `memorix setup` / 插件升级后的全局配置影响与重新精简策略 |