Files
Neo-ZQYY/.claude/hooks/pre_read_archived_block.py
2026-04-10 06:24:13 +08:00

29 lines
801 B
Python

#!/usr/bin/env python3
"""PreToolUse hook: 阻止读取 _archived/ 目录下的文件"""
import json, re, sys
try:
data = json.load(sys.stdin)
except Exception:
sys.exit(0)
tool = data.get("tool_name", "")
tool_input = data.get("tool_input") or {}
# 从不同工具中提取路径
path = ""
if tool in ("Read", "Edit", "Write"):
path = tool_input.get("file_path", "")
elif tool == "Glob":
path = tool_input.get("path", "")
path = path.replace("\\", "/")
if re.search(r"/_archived/|/_archived$|^_archived/", path) or re.search(
r"[/\\]_archived[/\\]", tool_input.get("file_path", "")
):
print(json.dumps({
"decision": "block",
"reason": "[archived-block] _archived/ 目录内容已废弃,禁止读取或参考。请使用当前版本的文件。"
}))