钩子参考

🔵 钩子拦截智能体的生命周期。它们是位于 config/agents/<agent>/hooks/ 中的 YAML 文件,通过 hook_files: 接入(或在 hooks: 中按名称接入)。字段 kind: 选择钩子。下面是所有钩子的汇总表,附有 各章节的链接。

钩子类型

kind 用途 章节
faq_cache DuckDB 中的缓存(问题 → 答案);返回重复项,跳过 LLM 上下文与记忆
inject 以声明方式注入系统/用户消息 上下文与记忆
escalate 当智能体无法提供帮助时升级到人工 路由与可靠性
memory 针对用户的长期记忆(事实 + 摘要) 上下文与记忆
rag 从归档中检索:将相关分块注入上下文(BM25,无嵌入) 上下文与记忆
tool_cache 按 (scope, tool, args) 缓存只读工具的结果;对重复项进行 short-circuit 上下文与记忆
link_check 输出护栏:检查最终答案中的链接是否有依据(依据归档)以及结构安全性;opt-in live HTTP 安全与质量
condense 根据历史将 follow-up 浓缩为独立请求;完整审计 上下文与记忆
compact_results 压缩冗长的工具输出(head/tail + 保留链接) 上下文与记忆
context_summary 对上下文窗口中挤出的历史进行 LLM 摘要(替代粗暴拼接) 上下文与记忆
format_guard 确定性的答案格式化:裸 URL → 链接,去重,每行一个链接 安全与质量
schema_guard 按 JSON Schema 验证答案或工具参数;notice / rework / deny 安全与质量
language_guard 答案语言:捕获用户语言,可选指令,不一致时 notice/rework 安全与质量
guard 无状态 DLP 膜:检测实体(email/电话/卡号/ИНН/СНИЛС/密钥……)并执行动作——在输入、输出和工具边界上 redact/deny/suppress/notice/rework 安全与质量
pseudonymize 可逆假名化:向模型提供 [EMAIL_1] 的替代物,本地 DuckDB-vault,对答案/工具参数进行去令牌化 安全与质量
loop_guard 打破工具调用循环:超过阈值时 deny 重复 路由与可靠性
groundedness 输出护栏:检查最终答案中的断言是否得到 RAG 归档的证实;notice/rework 安全与质量
circuit_breaker 原生 provider circuit breaker 配置(per-agent):跳过故障 provider,转向 failover 路由与可靠性
model_router 基于分类器的模型路由(ONNX/LLM/hybrid):为每条消息选择 model_config 路由与可靠性
intent_router 基于分类器的分诊:按意图进行 reply/inject/notice/escalate 路由与可靠性
lexicon 自学习查询规范化器:槽位 + gap + golden-gated 自动学习(YAML 包 + DuckDB 覆盖层) 上下文与记忆
llm_cache 原生推理缓存:精确提示的重复项从 DuckDB 返回,无需 provider(turn loop、llm(...)、ask-评判器) 路由与可靠性
script_hook 基于 Rhai/JavaScript 的脚本钩子(参见 07-scripts) 扩展
agent_events 原生智能体操作日志:在选定的生命周期点写入事件;路由 GET /v1/events 通过 long-poll 和 cursor drain 将其对外提供 扩展
dll_hook 来自原生 Rust DLL 的钩子(C ABI,参见 20-native-plugins) 扩展

章节