尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Hooks(钩子)——Deep Agents Code 中用于观察和控制生命周期事件的机制
Hooks钩子是 Deep Agents Code 中用于观察和控制生命周期事件的机制。当特定事件触发时系统会找到匹配的处理器把 JSON 载荷通过 stdin 传给外部命令并根据其退出码和 stdout 决定允许/拒绝操作、注入上下文或继续对话轮次。安全提示Hooks 以当前用户权限运行任意代码配置等同于可执行代码只应从可信来源安装。配置与加载位置用户级~/.deepagents/hooks.json全局生效项目级{project_root}/.deepagents/hooks.json需授予工作区信任后才加载插件也可贡献 hooks结构事件名 → matcher 组 → handlers 数组优先级项目 hooks 用户 hooks 插件 hooks所有匹配的都会并发执行结果按优先级合并快照机制配置在会话中固定修改后需/reload或新会话才生效项目信任交互式会提示确认CI/无头模式需加--trust-project-hooksHandler 定义每个 handler 目前只支持type: commandcommand要执行的 shell 命令必填argv可选直接传参数列表绕过 shelltimeout超时秒数默认 600sUserPromptSubmit默认 30sstatusMessage运行时在 UI 显示的临时提示环境特点工作目录为 payload 中的cwd包含 KEY/TOKEN/SECRET/PASSWORD/APIKEY 的环境变量会被剥离。Matcher匹配器根据事件类型匹配不同字段省略 / 空 /*→ 匹配全部精确名称如Bash|或,分隔多选其他视为正则如mcp__.*UserPromptSubmit和Stop没有 matcher 字段。支持的事件事件所有者退出码 2 的效果匹配字段SessionStartClient诊断sourceUserPromptSubmitClient阻止提示无SessionEndClient诊断reasonPermissionRequestClient拒绝tool_nameNotificationClient诊断notification_typePreToolUseServer拒绝工具tool_namePostToolUseServer反馈tool_namePreCompactServer阻止压缩triggerStopServer继续轮次无SubagentStart / SubagentStopServer诊断 / 添加上下文agent_type工具调用主路径Agent 请求工具 →PreToolUse可 allow/ask/deny→ 工具执行 →PostToolUse。输入 Payload所有事件共享通用字段session_id、transcript_path、cwd、hook_event_name、permission_mode、effort等再加事件专属字段如PreToolUse的tool_name、tool_input、tool_use_id。公开工具名包括Bash、Write、Edit、Read、Glob、Grep、LS、mcp__server__tool等。Handler 输出规则退出码 0成功。stdout 若为合法 JSON 则解析应用非 JSON 在部分事件中作为额外上下文。退出码 2阻塞/反馈路径具体效果见上表主要用 stderr 传原因。其他非零非阻塞错误记录诊断后继续。常用控制方式PreToolUse返回permissionDecisionallow/ask/deny优先级为 deny ask allow。PermissionRequest返回decision.behaviorallow/deny。Stop返回decision: block可让 agent 继续工作有连续 8 次硬限制注意检查stop_hook_active。注入上下文SessionStart、UserPromptSubmit、SubagentStart、PostToolUse、SubagentStop等可返回additionalContext。部分兼容字段如修改工具输入、更新权限规则等会被解析但不生效。典型用例拦截危险 Bash 命令PreToolUse matcherBashSessionStart 时注入最近 git 提交等项目上下文Stop 时发送桌面通知用 Python/其他语言读取 stdin JSON 做自定义逻辑调试与安全运行中会显示 statusMessage错误/警告以 Hook warning/error 形式出现。设置DEEPAGENTS_CODE_DEBUG1可获取更详细诊断。旧版列表式配置仍兼容但已弃用。原则只信任可靠来源、优先使用明确可执行文件、避免把敏感信息暴露给 hook。整体上Hooks 提供了一套灵活的扩展点让你在工具执行前后、会话启停、权限询问等关键节点插入自定义逻辑同时通过优先级、匹配器和输出协议保持可控性。
RELATED

相关推荐

Deep Agents配置文件目录结构

Deep Agents配置文件目录结构

这是 Deep Agents(与 LangChain 生态相关的 AI Agent 配置体系)的目录结构总结: 1. 全局用户级配置(~/.deepagents/) 机器级别的状态与默认 Agent 配置,位于用户主目录下。路径作用~/.deepagents/.state/机…

📅 2026/9/8 15:10:46
Python开发环境搭建:从安装到VS Code高效配置全攻略

Python开发环境搭建:从安装到VS Code高效配置全攻略

1. 项目概述:为什么Python和VS Code是黄金搭档?如果你刚接触编程,或者从其他语言转过来,听到“Python安装”和“VS Code配置”可能会觉得有点头大。但别担心,这其实是每个Python开发者都要走的第一步,而且一…

📅 2026/10/21 20:30:29
实时虚拟数字人入门怎么选:2026年数字人口播,5款对比横评

实时虚拟数字人入门怎么选:2026年数字人口播,5款对比横评

为什么越来越多开发者开始关注实时虚拟数字人传统文字 ChatBot 交互延迟高、缺少情绪反馈,长时间协作容易疲劳;纯 TTS 语音助手又没有可视形象,难以承担口播、陪伴、直播副驾等场景。随着本地算力提升与流式语音技术成熟,2026 年「…

📅 2026/9/11 12:19:01
MORE NEWS

更多资讯

📰

手写单神经元:用NumPy从零实现前向传播与反向传播

1. 项目概述:从零开始,亲手搭起第一个神经元——不是调库,是真正理解它在“想”什么你有没有试过,在写完model.fit()之后盯着控制台跳动的 loss 值发呆?明明代码跑通了,模型也收敛了,但那个“神…

📰

Cloudflare Workers不是操作系统:破除‘cloudflare-os’认知误区

1. “Cloudflare-OS”不是操作系统,而是开发者对Workers无服务器运行时的戏称与误读最近在多个技术社区和搜索热词里频繁刷到“cloudflare-os”这个词,尤其和“小米澎湃OS”“飞牛OS”“Magic OS”“OpenHarmony OS”等真实操作系统并列出现,…

📰

高并发系统锁竞争优化与华为分布式锁实践

1. 高并发场景下的锁竞争本质剖析在分布式系统架构中,锁机制如同交通信号灯,协调着多个线程或进程对共享资源的访问秩序。当QPS突破5000时,传统的同步锁就会暴露出严重的性能瓶颈。以某电商秒杀系统为例,我们曾监测到单台服务器上…

📰

Python中的二分查找Bisect库使用实战

前言 二分查找(binary search)是算法的入门课,但 Python 标准库已经把它封装好了——bisect 模块。它提供在已排序(升序)序列上做二分定位和插入的函数。很多人第一次用会踩同一个坑:以为 bisect 返回的是「…

📰

银河麒麟系统文件误删恢复实战与防护指南

1. 银河麒麟系统文件误删的常见场景与痛点作为国产操作系统的代表,银河麒麟(Kylin)凭借其安全稳定的特性,在政务、金融、军工等领域广泛应用。但在日常使用中,文件误删问题困扰着不少用户。根据我的运维经验&#xff0…

📰

GESP 2025年3月 原根判断 题解|数论详细讲解

记录一道 GESP 2025年3月 的数论真题。这类题在考试里属于必得分项,核心就那几行代码,关键是别在小细节上丢分。 题目来源:ACGO A62072 | 2025年3月 五级赛事场次:2025年3月 五级 一、题目信息 题目名称:原…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬