用途:对会话记录进行三层 PII(个人身份信息)检测与匿名化,适用于心理咨询、教练、咨询、辅导等场景,支持俄语和英语,默认完全本地运行,数据不离开本机。
主要能力:三层检测依次运行,互相补充。第 1 层 Natasha 识别俄语人名、地点、组织,约 27 MB,速度极快;第 2 层 OpenAI Privacy Filter(opf)识别电话、账号、地址、邮箱,约 2.8 GB,约 1.5 秒;第 3 层 Ollama LLM 识别药物、日期、上下文标识,约 2.5-7 GB,约 10 秒。各层结果合并、解决重叠后输出统一脱敏文本。每层均可选,缺失时脚本会跳过并警告。
使用方式:先安装依赖:pip install natasha setuptools pymorphy2-dicts-ru;pip install 'opf @ git+https://github.com/openai/privacy-filter.git';ollama pull qwen3:4b。单文件处理:python3 ~/.claude/skills/therapy-anonymizer/scripts/anonymize.py session.txt。标准输入管道:cat session.txt | python3 ~/.claude/skills/therapy-anonymizer/scripts/anonymize.py。批量处理:python3 ~/.claude/skills/therapy-anonymizer/scripts/anonymize.py --batch ~/sessions/ -o ~/sessions_clean/。JSON 报告:加 --json;使用化名而非标签:加 --pseudonyms;选择层或模型:--layers natasha 或 --layers ollama --model gemma4:e2b;加密输出(AES-256):-o clean.txt --encrypt "password"。在 Claude Code 中可管道调用:echo '<text>' | python3 ~/.claude/skills/therapy-anonymizer/scripts/anonymize.py --json。
限制:上下文标识(如“科斯特罗马唯一红发建筑师”)任何自动工具都无法检测;OPF 以英语为主,俄语覆盖不完整;药物仅由第 3 层检测(需 Ollama);不评估非 PII 字段组合带来的重识别风险。护栏:绝不将原始记录发送到云服务;仅对已匿名化文本做云端验证;心理治疗数据始终建议人工复核;绝不记录原始 PII 值。