钩子
钩子在任务生命周期事件中执行本机命令。打开“设置 → 钩子”,可以按用户或项目范围管理配置,搜索事件、命令、参数和插件名称;列表同时展示内置插件与本地插件提供的只读钩子。
新建和编辑
- 在范围菜单选择“本机 · 用户”或一个已添加的项目。用户钩子适用于所有项目,项目钩子只追加到该项目的会话中。
- 点击“新建”,选择触发事件和执行方式。
process直接运行可执行程序,参数每行一个,不需要加引号;command通过宿主 shell 执行命令字符串。 - 工具事件、SessionStart 和 Notification 可填写正则匹配规则;留空或
*匹配全部。Bash、Read、Edit、Write、Task 可匹配 ZPI 对应工具。 - 高级设置可调整超时,最长 300 秒。保存后可以编辑、启停或删除。操作不会试运行命令。
支持 SessionStart、UserPromptSubmit、PreToolUse、PostToolUse、PostToolUseFailure、Stop,以及 InputAccepted、RunStart、RunEnd、Notification。当前不提供异步、HTTP、prompt 或 agent Hook 的配置选项。
生效范围
配置保存在本机应用数据目录的 SQLite 中,项目范围按项目 ID 绑定,不向项目添加配置文件,也不自动执行从项目目录发现的脚本。命令可以使用独立脚本的绝对路径,执行时工作目录仍是任务工作目录。
新会话在首次发送时冻结启用的用户与项目钩子。编辑、停用和删除只影响尚未首次发送的会话,已运行会话及其恢复继续使用冻结配置。子智能体继承父任务冻结的钩子;记忆后台 Agent 不加载这些配置。
冻结的是命令、参数、事件和匹配规则;命令引用的独立脚本文件仍使用本机当前内容。同一事件先执行用户钩子,再执行项目钩子,最后执行插件钩子。
插件自带的钩子只读展示,跟随所属插件启停,点击“管理插件”前往插件页。内置指令、命令和工具贡献不一定经过 Hook,只有实际声明的生命周期处理器出现在此页。插件清单、默认状态与本地添加方式见插件。
执行器与外部插件共用,遵守相同的超时、取消、输入输出上限、上下文预算和工具参数重验规则。命令具有本机权限;详细契约见插件与生命周期。