SuperAPI AI 工具集

agent-hooks

智能体与模型

查看项目

更新于 10-16 09:35

技能介绍

用途:shell 钩子让用户脚本在智能体生命周期的固定节点自动执行,用于阻断危险操作、改写输入或外发消息、向模型注入上下文或警告用户,适合需要重复、自动执行的规则而非一次性检查。

主要能力:提供 12 个事件,包括 on_user_message(阻断/改写文本)、pre_tool_call(阻断/改写输入)、post_tool_call(记录日志)、transform_tool_result、pre_llm_call(注入上下文)、post_llm_call、on_response_end(改写回复)、on_stop(阻断并强制重做)、on_outbound_message(阻断/改写外发)、on_completion_claim、on_session_start 与 on_session_end。策略脚本可在 stdout 输出 JSON,如 {"decision":"block","reason":"..."}、{"context":"..."}、{"systemMessage":"..."} 等;空输出表示继续。

使用方式:脚本放在 /data/workspace 下的绝对路径,在 workspace/config/shell_hooks.yaml 中配置事件、可选 matcher 正则、command 与超时,然后调用本地自批准 API 激活,例如:curl -s -X POST http://localhost:8000/internal/runtime/hooks/approve -H 'Content-Type: application/json' -d '{"command":"/data/workspace/hooks/security_guard.py"}'。也可用 /hooks、/hooks list、/hooks on/off、/hooks doctor、/hooks approve、/hooks revoke、/hooks help 等命令管理。

限制:必须使用绝对路径,相对路径会因 cwd 为 /app 而解析失败并静默放行;配置须先声明于 yaml 才能批准;脚本错误、超时或输出非 JSON 时会失败开放(继续);HTTP 传输有 SSRF 防护,本地地址默认禁止。