EvoX 文档
  • 产品
  • 价格
  • 文档
  • 能力市场
返回 EvoMap
登录注册
概览
实践案例
功能
配置
开发者
开发工作流
在项目中开发代码审阅与变更处理集成终端Git worktree
扩展开发
编写技能接入 MCP 工具Hooks
经验与协议集成
GEP 数据结构蒸馏 Gene、Skill 与 RecipeRecipe 与经验复用Evolver Proxy 与 MCP同步、导入与导出A2A 与任务网络接入
独立 Evolver
安装与首次运行审查与验证持续运行与任务队列身份与连接进化策略与边界资产发布与积分存储、容器与 CI
架构与源码仓库
安全
管理
概览
实践案例
功能
配置
开发者
开发工作流
在项目中开发代码审阅与变更处理集成终端Git worktree
扩展开发
编写技能接入 MCP 工具Hooks
经验与协议集成
GEP 数据结构蒸馏 Gene、Skill 与 RecipeRecipe 与经验复用Evolver Proxy 与 MCP同步、导入与导出A2A 与任务网络接入
独立 Evolver
安装与首次运行审查与验证持续运行与任务队列身份与连接进化策略与边界资产发布与积分存储、容器与 CI
架构与源码仓库
安全
管理
EvoX 文档/使用 EvoX 开发/Hooks

Hooks

Hooks 在 Agent 生命周期事件上执行配置的动作。EvoX 扩展中的 Hooks 页面用于查看、诊断和重新扫描配置,帮助确认执行来源与 shell 风险;它不是 Hook 编辑器或运行中热重载入口。

查看实际来源

打开 扩展 > Hooks,按事件、匹配条件和作用域检查条目。页面读取桌面所用的 Claude Code 风格生命周期配置,包括用户、项目与管理员管理范围。

来源检查重点
用户配置Agent 目录下的 settings.json,影响该用户范围
项目配置对应项目范围的 settings.local.json,核对实际项目目录
管理配置管理员部署的系统配置,应用内按只读方式检查

界面显示事件、匹配条件、作用域、解析状态以及命令的 shell 风险。命令展示经过长度限制和脱敏;展示文本不能替代对原配置及脚本的检查。

判断是否适合使用

适合 Hook 的动作包括在明确事件后运行范围受控的检查或记录。需要人工判断、外部写入、发布或消费的操作,仍保留各自的授权与验证流程。

在配置动作前确认:

  • 事件是 PreToolUse、PostToolUse、UserPromptSubmit、Stop 等生命周期中的哪一个。
  • 匹配条件会覆盖哪些调用,是否意外扩大到所有工具。
  • 命令读取哪些输入、写到哪里、访问哪些网络资源。
  • 超时、失败和重复触发如何影响后续任务。
  • 日志是否包含提示、文件内容或凭证。

这些 Hook 具备 shell 执行影响。来源不明的命令不因出现在配置列表中就变成可信动作。

示例:检查一次文件编辑后的语法

下面是项目配置中的 Hook 结构,放入负责该项目的配置文件。把命令中的两个路径替换为实际 Node.js 可执行文件与待检查文件的绝对路径,并保留该文件中的其他配置:

json
{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "\"/absolute/path/to/node\" --check \"/absolute/path/to/project/src/example.mjs\""
      }]
    }]
  }
}

本例在匹配的文件写入或编辑工具事件后检查固定文件的 JavaScript 语法,不自动检查每个被编辑文件,也不执行该模块。路径含空格时按所用 shell 正确引用。先在目标运行环境中手动执行这条命令,确认文件存在且 Node 可用,再交给 Hook。

保存后重新扫描,在条目中核对 PostToolUse、Write|Edit、来源和命令。按 Agent 的加载流程重启或加载配置,再让它对测试文件完成一次编辑,核对该次处理命令的实际输出。扫描列表出现条目只证明配置被发现。

故障检查位置
扫描解析失败对应来源文件的 JSON 与 Hook 结构
发现条目但没有触发运行中的配置是否已加载,事件与工具名称是否匹配
命令退出失败绝对路径、shell、依赖和语法错误输出
每次调用都被触发matcher 是否写得过宽,以及事件是否选错

测试结束后移除这条示例 Hook 并重新加载对应 Agent,避免后续编辑继续检查同一个演示文件。

修改后分别验证磁盘与运行时

修改由该配置的所有者完成;Hooks 页面不负责写回配置文件。修改前保留原内容,先检查格式、命令和脚本,再保存到正确作用域。

选择重新扫描后,页面重新读取磁盘,并更新发现条目与解析诊断。重新扫描不重载正在运行的 Agent Hook 表。 按承载该 Agent 的启动流程重新加载或重启,再用一个范围明确的事件检查实际效果。

不要把 /hooks reload 当作已经可用的运行时重载接口。配置已保存、扫描成功与动作实际生效需要分别确认。

处理异常与停用

解析失败时先检查失败作用域;不能把列表缺项当作没有 Hook。重新扫描失败时,核对最后成功扫描时间,旧列表不代表新配置读取成功。

停用时修改真实来源配置,并按运行时加载流程验证。停止某条 Hook 不等于撤销它已产生的文件、网络操作或外部授权。需要恢复时使用修改前保留的配置及任务记录。

上一篇接入 MCP 工具下一篇GEP 数据结构