ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Kimi Code Hooks教程:安全拦截、桌面通知等6大场景,让AI自动帮你干活

Kimi Code Hooks教程:安全拦截、桌面通知等6大场景,让AI自动帮你干活 Kimi Code Hooks教程安全拦截、桌面通知等6大场景让AI自动帮你干活【免费下载链接】kimi-codeKimi Code CLI — The Starting Point for Next-Gen Agents项目地址: https://gitcode.com/gh_mirrors/ki/kimi-codeKimi Code Hooks是 Kimi Code CLI 内置的自动触发机制你只需写一条规则每当发生 X就运行这个脚本AI 就能在关键时刻自动完成安全拦截、桌面通知、自动检查等工作。本教程带你 10 分钟上手 Hooks 配置掌握 6 个最实用的自动化场景。 什么是 Kimi Code HooksHooks钩子的本质是预先告诉 Kimi Code CLI每当发生某件事运行你的脚本。脚本在你的本机执行可以写任意逻辑。一条 hook 规则只需要指定三件事要素说明event在什么事件上触发如工具调用前、后台任务完成matcher用正则匹配目标如只拦截Bash工具command触发时运行的 Shell 命令触发时CLI 会把事件详情工具名、命令内容、会话 ID 等打包成 JSON通过标准输入传给脚本脚本通过退出码决定放行还是阻断退出码0放行退出码2主动阻断当前操作其他值 / 报错 / 超时默认放行fail-open 失败开放脚本崩了也不会卡住你的工作⚠️ 正因为 fail-openHooks 适合做提醒和轻量拦截但不应作为唯一安全防线高风险操作仍需权限审批兜底。事件与返回值的完整定义可参考源码 types.ts 和 runner.ts。 快速上手配置你的第一条 Hook所有规则写在~/.kimi-code/config.toml的[[hooks]]数组里配置说明见 config-files.md# ~/.kimi-code/config.toml [[hooks]] event Notification # 后台任务状态变化时触发 matcher task\\.completed # 只关心已完成的通知 command terminal-notifier -title Kimi -message 任务完成支持 4 个字段event必填、matcher可选、command必填、timeout1–600 秒默认 30 秒。保存后重开会话即可生效。官方教程文档docs/zh/customization/hooks.md 场景一安全拦截——危险命令一键阻断Agent 调用Bash工具前PreToolUse事件在权限检查之前触发检查命令是否包含rm -rf发现即阻断[[hooks]] event PreToolUse matcher Bash command node ~/.kimi-code/hooks/block-dangerous-bash.mjs timeout 5// block-dangerous-bash.mjs let input ; process.stdin.on(data, (chunk) { input chunk; }); process.stdin.on(end, () { const { tool_input } JSON.parse(input); const command tool_input?.command ?? ; if (command.includes(rm -rf)) { console.error(检测到危险命令已阻断); process.exit(2); // 退出码 2 阻断 } // 退出码 0 放行 });阻断后Kimi Code CLI 会把阻断原因写回上下文模型会据此自动换更安全的替代方案——相当于给 AI 装上了方向盘限位器。 进阶也可以用 stdout 返回 JSON{hookSpecificOutput: {permissionDecision: deny, permissionDecisionReason: ...}}来阻断原因描述更灵活。 场景二桌面通知——后台任务完成自动提醒让 AI 在后台跑长任务你去做别的事任务一完成系统通知立刻弹出[[hooks]] event Notification matcher task\\.completed command terminal-notifier -title Kimi -message 后台任务已完成回来看看结果吧Linux 可换成notify-sendWindows 可用msg.exe。配合 Web 界面使用体验更佳——Hooks 与 Web UI 可以跨端协作 场景三自动上下文注入——提交消息时附加 Git 信息每次你发送消息时UserPromptSubmit事件hook 返回的文本会自动附加到上下文让模型始终知道当前分支[[hooks]] event UserPromptSubmit command git branch --show-current想让 AI 在每次回答前都自带项目背景这个场景最值。需要过滤提交内容时用matcher加正则即可比如只匹配含调试的消息。 场景四完成前自检——Stop 事件追加返工消息Stop事件在模型准备结束本轮时触发且支持阻断脚本退出码返回2就能让模型停不下来比如检查测试是否全绿、Changelog 是否更新[[hooks]] event Stop command node ~/.kimi-code/hooks/check-before-stop.mjs timeout 30脚本里发现没通过就process.exit(2)并在 stderr 写原因模型收到后会继续补活直到满足条件才收尾。这是保证 AI干完活才下班的关键技巧。 场景五可观测性——工具调用全量审计日志PostToolUse工具成功后与PostToolUseFailure工具失败/被阻断后都是观察型事件只管记录不影响主流程非常适合写审计日志[[hooks]] event PostToolUse command node ~/.kimi-code/hooks/audit-log.mjs ~/.kimi-code/hooks/audit.log从 stdin 读取tool_name、tool_input等字段追加写入日志文件事后即可复盘 AI 到底执行了哪些操作。 场景六会话生命周期——启动注入、结束清理事件Matcher 取值典型用途SessionStartstartup/resume启动时初始化环境、加载个人偏好SessionEndexit/archive结束会话时提交暂存区、清理临时文件SubagentStopsubagent 名称子代理完成后发通知[[hooks]] event SessionEnd matcher archive command git add -A git commit -m session auto-commit除了上表CLI 还提供TaskStarted、PreCompact、Interrupt等事件完整事件一览表见 docs/zh/customization/hooks.md。 配置要点速查要点说明配置位置~/.kimi-code/config.toml的[[hooks]]数组可阻断事件仅PreToolUse、Stop、UserPromptSubmit影响主流程同事件多规则全部命中则并行运行command完全相同的只跑一次工作目录hook 命令运行在当前会话的项目目录下容错机制脚本报错/超时自动放行fail-open不会中断工作Hooks 的执行引擎实现位于 packages/agent-core/src/session/hooks/ 目录含 engine.ts 事件分发、runner.ts 进程执行与结果解析感兴趣可以深入阅读。✅ 小结Kimi Code Hooks 让 AI 从听令干活升级为自动守规矩PreToolUse拦危险命令Notification后台任务弹提醒UserPromptSubmit自动注入上下文Stop完成前强制自检PostToolUse全量审计SessionStart/End生命周期自动化只需几条 TOML 配置就能把重复动作交给脚本让 Kimi Code CLI 真正替你自动干活。动手从场景二的桌面通知开始吧5 分钟就能感受到 Hooks 的威力【免费下载链接】kimi-codeKimi Code CLI — The Starting Point for Next-Gen Agents项目地址: https://gitcode.com/gh_mirrors/ki/kimi-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表