附录B:完整脚本模板
Python脚本模板
python
#!/usr/bin/env python3
"""
Hook名称 - 功能描述
"""
import sys
import json
def main():
# 读取输入
try:
input_data = json.loads(sys.stdin.read())
except json.JSONDecodeError:
sys.exit(0)
tool_name = input_data.get('tool_name', '')
tool_input = input_data.get('tool_input', {})
# 你的逻辑
# ...
# 输出到Claude Code界面
print("信息", file=sys.stderr)
# 如果是PreToolUse,输出决策
# print(json.dumps({"decision": "allow"}))
if __name__ == '__main__':
main()Bash脚本模板
bash
#!/bin/bash
# Hook名称 - 功能描述
# 读取stdin
input_json=$(cat)
# 使用Python解析JSON
tool_name=$(echo "$input_json" | python3 -c "import sys,json; print(json.load(sys.stdin).get('tool_name',''))")
# 你的逻辑
# ...
# 输出日志
echo "信息" >&2
exit 0