最近 GitHub 上有一个项目讨论度很高:watermarks-remover。它不是传统意义上的“视频去水印工具”,而是面向 AI 生成内容溯源标记的清理工具,主要处理文本中的隐形字符、统计型文本水印,以及图片、文档中的 C2PA / EXIF / XMP 元数据。
它的作者是 Guillaume Meyer,采用 MIT 协议开源,核心脚本基于 Python 3.10+ 标准库实现,理论上不需要额外安装第三方依赖。
下面直接看怎么装、怎么用。
一、项目能做什么
watermarks-remover 把水印处理分成三层:
| 层级 | 处理对象 | 能力说明 |
|---|---|---|
| Layer A | 隐形 Unicode 字符 | 清理零宽字符、bidi 控制符、标签字符、特殊空格等 |
| Layer B | 统计型文本水印 | 通过模型改写打散 token 分布,效果有限且会改变文本 |
| 文件层 | C2PA / EXIF / XMP 元数据 | 清理图片、PDF、DOCX、HTML、Markdown 等文件中的溯源信息 |
需要注意:Layer B 无法保证完全消除统计水印,也不能保证通过厂商官方检测器。
二、环境准备
使用前需要满足以下条件:
- Python ≥ 3.10
- 已安装 Git
- Windows / macOS / Linux 均可使用
如果只是做文本隐形字符和文件元数据清理,核心功能不需要额外 pip 安装依赖。
如果后续要处理 PDF 元数据,建议额外安装:
exiftoolqpdf
如果要做像素级图片水印处理,还需要配置第三方后端,例如 CtrlRegen,并准备 GPU 环境。
三、安装步骤
1. 克隆项目
git clone https://github.com/guillaumemeyer/watermarks-remover cd watermarks-remover如果网络访问 GitHub 较慢,可以使用镜像站克隆。
2. 启动本地服务
python3 service/scripts/server.py --host 127.0.0.1 --port 8765启动后,本地服务会监听 8765 端口。部分脚本会通过 HTTP 调用该服务。
3. 安装 Agent Skill
如果你使用支持 Agent Skill 的环境,可以把skills/remove-ai-marks目录链接到对应工具的技能目录。例如:
mkdir -p .grok/skills ln -sfn "$(pwd)/skills/remove-ai-marks" .grok/skills/remove-ai-marks安装完成后,就可以通过自然语言指令让 Agent 调用清理能力。
四、常用使用方法
1. 检查文本中的隐形字符
python3 service/scripts/inspect_text.py draft.md这个命令会扫描文本中是否存在不可见 Unicode 标记。
2. 清理文本隐形字符
python3 service/scripts/clean_text.py draft.md -o draft.cleaned.md --stats建议输出到新文件,不要直接覆盖原文。
3. 检查文件元数据
python3 service/scripts/inspect_file.py photo.png可用于图片、文档等文件的统一检查。
4. 清理文件元数据
python3 service/scripts/clean_file.py photo.png -o photo.cleaned.png如果要单独处理图片,也可以使用:
python3 service/scripts/clean_image.py photo.png -o photo.cleaned.png5. 清理 PDF 元数据
PDF 需要额外注意。仅用exiftool删除元数据可能无法彻底清除原始字节,建议配合qpdf做结构性重建。
五、Layer B 文本改写怎么用
如果确实需要处理统计型文本水印,可以使用改写脚本。例如配置本地 Ollama 后端:
export WATERMARKS_REWRITE_BACKEND=ollama export WATERMARKS_REWRITE_MODEL=llama3.2 python3 service/scripts/rewrite_text.py draft.md -o draft.rewritten.md但这一层有明确限制:
- 会改变原文风格、措辞和表达精度;
- 无法保证 100% 消除统计水印;
- 无法承诺通过官方检测器;
- 更适合隐私研究或内容卫生场景,不建议用于学术、新闻披露等需要保留原始出处的场景。
六、使用建议
推荐优先使用Layer A + 文件层:
- 先检查,再清理;
- 输出到新目录,不覆盖原文件;
- 清理后重新检查文件;
- 对图片只清理 AI 相关元数据,避免误删正常拍摄信息。
除非有明确需求,否则不建议默认开启 Layer B 改写。因为改写本身会改变文本质量,而且它并不能提供“已通过官方检测”的保证。
七、边界和注意事项
这个工具的定位是:清理你自己拥有或有权处理的内容中的 AI 溯源标记。
它不适合用于:
- 学术造假;
- 伪造人类原创声明;
- 规避平台 AI 内容披露规则;
- 处理他人版权内容。
另外,C2PA 软绑定、云端远程凭证等不在本地清理范围内。即使清除了本地元数据,外部溯源链路仍可能存在。
整体来看,watermarks-remover 的工程设计很轻:Agent Skill + 纯标准库 Python 服务,零依赖、可本地运行,适合对 AI 内容隐私、文件卫生和溯源机制感兴趣的人上手研究。
如果你打算把它接入自己的写作或发布流程,建议先在一个测试目录里跑通“检查——清理——复核”的闭环,再考虑接入自动化脚本。