watermarks-remover:清理 AI 内容中的隐藏标记、C2PA 与文件元数据

开源发现

watermarks-remover:清理 AI 内容中的隐藏标记、C2PA 与文件元数据

栏目:开源发现

摘要

watermarks remover 是一套面向自有内容的开源 AI 来源标记清理工具,可检查并处理隐藏 Unicode、统计型文本水印、C2PA、EXIF、XMP 与文档属性,并为 SynthID 等像素域标记提供可选检测和外部处理后端。

本文目录
watermarks-remover:清理 AI 内容中的隐藏标记、C2PA 与文件元数据

图片来源:github.com

watermarks-remover:面向自有内容的 AI来源标记清理工具

watermarks-remover是一个开源的 Agent Skill与 Python脚本集合,目标不是简单擦掉图片角落里的可见 Logo,而是处理 AI内容中更隐蔽的来源标记与元数据。项目明确面向用户拥有或有权处理的内容,可清理文本里的特殊 Unicode字符、异常空格和双向控制字符,也能处理 PNG、JPEG、WebP、SVG、PDF、DOCX、ODT、HTML、Markdown等文件中的 C2PA、EXIF、XMP与文档属性。

它把问题拆成几个层次。第一层是确定性的文本清理,例如不可见 Unicode、特殊空格、bidi字符和 tag characters;第二层针对统计型文本水印,提供 Agent改写流程以及可选的 `rewrite_text.py` 钩子;文件层则负责检查和清理 C2PA、EXIF、XMP与文档属性。项目文档把 Claude、Gemini / SynthID-Text、OpenAI provenance surfaces,以及 Kirchenbauer风格的开放模型文本水印列为相关生态类别。

为什么这个项目值得关注

很多人说“AI水印”时首先想到图片上的可见标识,但实际的来源信息可能存在于文本字符、采样统计特征、图片元数据、文档属性或 C2PA manifest中。watermarks-remover的价值在于把这些不同形式的检查和清理放进一套统一工具里,而不是只解决单一图片修复问题。

项目的核心脚本只需要 Python 3.10+ 标准库,统计型文本改写的模型调用则是可选项。对于 C2PA、PDF等更复杂的文件,工具还可以在系统存在相应程序时调用 `c2patool`、`exiftool` 和 `qpdf`。其中 PDF的完整结构重建需要 qpdf,这一点在项目文档中有明确说明。

基本使用方式

仓库中的主要脚本位于 `skills/remove-ai-marks/scripts`。可以先检查文件,再输出清理后的副本:

bash
SCRIPTS=skills/remove-ai-marks/scripts

python3 "$SCRIPTS/inspect_file.py" draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.cleaned.md
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
python3 "$SCRIPTS/clean_file.py" notes.docx -o notes.cleaned.docx

如果只处理文本,可以分别使用检查和清理脚本:

bash
python3 "$SCRIPTS/inspect_text.py" draft.md
python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --stats

统计型文本水印需要另一条处理路径。`rewrite_text.py` 默认可以先输出改写提示,不强制依赖模型;项目也提供可选的本地 Ollama后端。

bash
python3 "$SCRIPTS/rewrite_text.py" draft.md --backend print-prompt --strength paraphrase

项目特别处理了一个容易踩坑的问题:文本工具会拒绝把 DOCX、PDF、图片等二进制文件直接当文本读取。过去这种操作可能把压缩后的字节误认为字符,甚至在清理后破坏文件。现在脚本会根据 magic number和控制字节比例识别二进制输入,并提示改用 `inspect_file.py` 或 `clean_file.py`。

图片中的 SynthID检测与像素级处理

对于图片,项目提供 `inspect_image.py` 与 `clean_image.py`。如果本地另外安装了 reverse-SynthID,还可以增加像素域 SynthID置信度评分。这个外部 scorer不随仓库直接打包,而是在运行时从用户自己的 checkout中加载。

需要注意,评分本身只负责检测,不等于去除像素水印。针对 SynthID-class、StegaStamp、Tree-Ring、StableSignature等像素域水印,项目还设计了可选的 CtrlRegen后端,通过 ControlNet与 DINOv2 IP-Adapter的可控再生成流程处理图像。该后端同样不是仓库内置组件,需要单独获取并安装。

这也说明 watermarks-remover更像一个分层的检查与处理框架:简单的文本和文件元数据尽量使用确定性脚本完成,需要模型或专用算法的部分则通过外部后端接入。这样既保持基础工具轻量,也没有把所有任务包装成一个无法解释的“一键 AI去水印”。

适合哪些场景

如果你需要在发布自己拥有的文档、图片或 Markdown内容前检查隐藏字符与来源元数据,或者希望统一审计多个文件格式中的 C2PA、EXIF、XMP和文档属性,这个项目提供了比较完整的工具链。它也适合研究不同 AI来源标记在文本、文件元数据和像素域中的差异。

但使用时应区分“隐私与内容卫生”和“规避来源披露”这两件事。项目自身把用途限定在用户拥有的内容上;涉及第三方版权材料、平台要求保留的来源信息或需要证明内容出处的场景,应先确认相应授权、平台规则和法律要求。

© 2026 DGNEWLIVE 保留所有权利.