XingTu Hooks
September 4, 2026 · View on GitHub
开箱即用的 Agent 钩子(hooks),覆盖安全拦截 / 会话提醒 / 交付检视。
这是什么
xingtu-hooks 是行途开源矩阵的钩子资产仓。聚合 AI 工程实践中打磨的 Claude Code hooks,按场景开箱即用。市面鲜有系统开源的 hooks 集合,这是差异化资产。
🧩 DeepSeek Harness(DSH)兼容
本仓 hooks 遵循 Claude Code 标准 hook 事件协议,DeepSeek Harness 的插件模型可消费同一类生命周期钩子(PreToolUse / PostToolUse / Stop 等),用于安全拦截、会话提醒与交付检视,无需改写。
Hooks 清单
| Hook | 说明 | 触发时机 |
|---|---|---|
| pre-tool-secret-guard | 拦截敏感文件(.env / 私钥 / 凭据)编辑 | PreToolUse(Edit|Write) |
| post-tool-bash-log | Bash 执行结果记录,失败提示 | PostToolUse(Bash) |
| session-start-reminder | 会话开始注入轻量工作提醒 | SessionStart |
| stop-review-check | 停止前提醒交付检视 | Stop |
安装
# 复制到项目 .claude/hooks/
cp -r hooks/<hook-name> .claude/hooks/
# 注册到 settings.json(示例)
# "hooks": {
# "PreToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "bash .claude/hooks/pre-tool-secret-guard/hook.sh" } ] } ],
# "SessionStart": [ { "hooks": [ { "type": "command", "command": "bash .claude/hooks/session-start-reminder/hook.sh" } ] } ],
# "Stop": [ { "hooks": [ { "type": "command", "command": "bash .claude/hooks/stop-review-check/hook.sh" } ] } ]
# }
Hook 协议
- 输入:stdin JSON(含
tool_name/tool_input等) - 输出:
{"hookSpecificOutput": {"hookEventName": "...", "decision": "block|allow", "reason": "..."}} - PreToolUse 可 block/allow;SessionStart/Stop 用
additionalContext注入轻量提醒(≤500B 克制)
设计原则
- 确定性行为用 hook 强制:模型会忘指令,hook 由 harness 执行不依赖模型记忆
- 克制注入:会话注入 ≤500B,不用 hook 做长文提醒
- 安全第一:拦截优先于放行,敏感文件一律走环境变量
许可证
MIT License
📡 关于作者 · 行途
我是行途(Justin Li),一线技术经理 + 仍在写代码。
- 🔔 公众号 「行途技术手记」:微信搜索关注,看 AI 工程化落地实战
- 💬 微信:xingtu_note(备注"开源"优先通过)
- 🌐 博客 / 作品集:https://xingtu1996.github.io
如果这份仓库对你有帮助,欢迎在公众号留言交流 🙌