钩子(Hook)是 TRAE IDE 提供的自动化扩展机制。通过 Hook,你可以在智能体执行过程中的特定事件节点触发企业自定义逻辑,用于补充上下文、执行校验、记录日志、拦截高风险操作等。
TRAE 企业版仅支持 HTTP 类型的 Hook。
通过 HTTP 类型的 Hook,TRAE 可将事件数据以 POST 请求的形式发送到指定的 HTTP 端点。该端点接收 JSON 格式的请求数据,执行企业自定义逻辑,并在 HTTP 响应体中以 JSON 格式返回处理结果。
HTTP Hook 适用于需要由 Web 服务器、云函数或其他外部服务处理 Hook 逻辑的场景。例如,可将敏感操作(如文件删除、命令执行)实时上报到企业内部的风控服务,由其统一审批或拦截。
提示
企业需保障 Hook 服务端点的稳定性和可用性。对于会阻塞主流程的 Hook 事件,如果服务端点不可访问、响应超时或返回异常,可能导致企业成员的问答流程被阻塞。
TRAE 支持以下六类 Hook 事件。关于每个事件的输入参数、返回结构、拦截规则和示例,详情参阅企业 Hook 配置详解。
| 事件名 | 触发时机 | 主要用途 |
|---|---|---|
SessionStart |
创建 Session 后、发起第一个对话前。 | 初始化环境、注入环境变量或补充上下文。 |
UserPromptSubmit |
用户发送 Query 后、智能体开始处理前。 | 拦截不允许的请求,或向模型附加上下文。 |
PreToolUse |
智能体发起工具调用后、实际执行前。 | 校验、拦截、修改工具参数,或要求用户确认。 |
PostToolUse |
工具调用实际执行完成后。 | 检查工具执行结果,并向模型附加上下文。 |
Stop |
智能体完成输出、准备结束当前 Query 时。 | 检查产出是否达标。必要时阻断停止并让智能体继续执行。 |
Notification |
工具调用执行等待用户确认时,或智能体完成任务时。该事件异步触发,不阻塞主流程。 | 向用户发送通知。 |
Hook 在会话的特定节点触发。事件触发并命中所配置的条件后,TRAE 会将该事件的 JSON 上下文传递给你的 Hook 处理程序,由该程序根据返回结果决定是否附加上下文、拦截请求或继续执行。Hook 的生命周期示意图如下:
| 场景 | 描述 | 建议事件 |
|---|---|---|
| 安全合规 | 拦截敏感请求、保护关键文件、阻止高风险命令。 | UserPromptSubmit、PreToolUse |
| 研发流程自动化 | 在代码变更后,调用脚本进行代码格式化或校验;在工具调用前后,调用脚本来记录日志或审计。 | PreToolUse、PostToolUse |
| 上下文增强 | 会话开始时,注入环境变量、工程约束或背景信息。 | SessionStart |
| 任务验收 | 任务结束前,检查产出质量。若质量不达标,则阻断停止,让智能体继续优化其输出。 | Stop |
| 工具链联动 | 将智能体的行为接入现有脚本、审查机制或规范检查流程。 | 根据实际需求选择。 |
目前,仅支持在 TRAE IDE 和 TRAE CLI 中使用企业 Hook。
在控制台中配置 HTTP Hook 前,你需要先准备一个可被 TRAE 访问的 HTTP 服务端点。TRAE 在命中 Hook 事件后,会向该端点发送 POST 请求。服务端点需要解析请求体中的 JSON 数据,执行企业自定义逻辑,并以 JSON 格式返回处理结果。
在 TRAE 企业版控制台中,企业管理员可以为企业成员统一创建 Hook。

在 TRAE IDE 中,企业成员可以创建并管理仅供个人使用的 Hook,详情参考此文档。