
选择标题(3 选 1)
watermarks-remover:AI 痕迹清不干净?这个 22K Star 项目帮你一键剥离
watermarks-remover 实战:从 5 分钟部署到覆盖 20+ 文件格式的 AI 水印清理
没装这个 22K Star 工具前,你不知道 AI 给你的每篇稿子都留了指纹
watermarks-remover:剥离 AI 痕迹,22K Star 的隐私清理工具到底强在哪
一、开篇:你还在为 AI 痕迹头疼吗?
刚用 AI 写完一篇文章,复制到自家博客后,文章里夹着奇怪的零宽字符,文档属性里藏着 Claude 的 provenance 元信息,照片 EXIF 里写着「Generated by Gemini」。这些「数字指纹」你看得见、读者看不见,但能 100% 还原出处。最近一次排查中,团队用三条样本就把生成方锁定到具体模型——这就是 AI 水印的可怕之处。它本意是溯源,但当「内容由你拥有」时,它就成了隐私泄漏和风格污染的源头。

二、项目定位:它解决的是什么问题
guillaumemeyer/watermarks-remover 是一个面向「自有内容」的 AI 痕迹清理套件,GitHub Star 数 22,963,最新版本 v0.7.0。它由两层构成:
- Skill(Agent 技能):一份纯 Markdown 指令,AI Agent 通过 HTTP 调用后端服务,主机无需安装 Python 依赖。
- Service(HTTP 服务):纯 Python 3.10+ 标准库实现,无第三方依赖,提供
/inspect、/clean、/detect、/watermark等 REST 接口。
核心覆盖范围:Claude、Gemini/SynthID-Text、OpenAI provenance、open-LLM Kirchenbauer green-list、keyed-Gumbel/EXP(Aaronson) 五大类厂商与生态。处理对象横跨文本、图片、PDF、DOCX、EPUB、HTML、Markdown、MP4、WAV、FLAC 等二十多种格式。
三、核心功能深度解析
1. 双层文本水印剥离(Layer A + Layer B)
文本清理分两层执行:
- Layer A 处理可见水印背后的「隐形载体」,包括零宽 Unicode 字符(ZWSP、ZWNJ)、异体空格、双向控制符(Bidi)、Tag 字符等,由确定性 Python 脚本完成。
- Layer B 针对统计学水印(如 token-sampling 留下的绿名单偏差),通过 Agent 重写 + 可选的
rewrite_text.py钩子执行,支持paraphrase@0.8与mlm@0.2这种有序策略组合。
这种「先清载体、再破统计」的设计,对 Claude、SynthID-Text、OpenAI、open-LLM 四大体系都能覆盖。
2. 图像与多媒体水印剥离
C2PA / EXIF / XMP / 文档属性是图像类水印的高发区。clean_file.py 一条命令即可处理 PNG、JPEG、WebP、AVIF、HEIC、BMP、GIF、TIFF、SVG 这九种图像格式。对于 PDF,会自动调度 exiftool 与 qpdf 做结构性重建——光删元数据不够,必须重组 PDF 才能真正抹掉 provenance 痕迹。
针对像素域 SynthID 类水印(StegaStamp、Tree-Ring、StableSignature 也包含在内),可选的 CtrlRegen 后端(ControlNet + DINOv2 IP-Adapter)提供深度清理路径,但仅本地构建,永不发布。
3. 智能格式识别与拒绝「伪文本」
早期版本有个隐患:把 .docx 当 UTF-8 文本解码,会写出乱码字节。新版引入 classify() 函数,先识别 magic number 再决策:
- 未知格式的二进制文件,拒绝自动清理(退出码 2,不产生输出)。
- 想强制扫描可显式加
--as text或--force-text。 - 文本工具遇到 ZIP 容器(DOCX、ODT)会直接报错并指引到正确的
clean_file.py。
这相当于给清理器加了一道「安全阀」,避免误操作毁掉原始文件。

4. AI Agent 友好的 Hook 与 Plugin 机制
Skill 本质是「指令」,模型决定是否调用;而 Hook 是「执行器」,每次匹配的 Tool Call 都会强制触发。插件注册了 PostToolUse 钩子作用于 Write|Edit|MultiEdit|NotebookEdit:
check模式(默认):报告痕迹,文件不动,让模型决定是否清理。clean模式:原地剥离,并通过 sibling temp file + diff swap 保证「本就干净的文件不会被改 mtime」。
Claude Code 用户只需两条命令即可安装:
/plugin marketplace add guillaumemeyer/watermarks-remover
/plugin install watermarks-remover@watermarks-remover
Cursor、Grok、Cowork、claude.ai cloud sessions 也都有对应的安装路径。
四、技术亮点与性能数据
- 零依赖核心:HTTP 服务只用 Python 3.10+ 标准库,启动一条
make serve就跑在127.0.0.1:8765。 - 动态 OpenAPI:
/openapi.json是运行期生成的 3.0.3 契约,前端集成无需手写文档。 - 批量端点:
/inspect/batch、/clean/batch、/detect/batch、/watermark/batch一次最多处理 50 个文件,单条失败不影响整批。 - Fail-soft 检测器:未配置的 SynthID 评分器、MARKLLM、keyed-Gumbel 都会返回
available: false而非阻塞清理主流程。 - API Key 安全:
WATERMARKS_REWRITE_API_KEY只读环境变量,绝不进入 argv,避免命令行历史泄漏。 - 生态兼容:GHCR 上发布 core / markllm / markdiffusion 镜像;CtrlRegen 与 SynthID scorer 因许可证原因只本地构建。

五、适用场景与人群
- 博客作者与编辑:清洗 AI 辅助稿件,去除 ZWSP、Bidi、零宽连字等隐形污染。
- 设计师与摄影师:把 AI 生成图的 C2PA / EXIF / XMP 元数据清干净再交付客户。
- 法务与合规团队:在自有文档归档前剥离 provenance 元信息,避免指纹泄漏。
- AI Agent 重度用户:把 Hook 装进 Claude Code / Cursor,让每次 Write 都自动过一遍审计。
不适合谁:想用它在别人的作品上「洗稿」、规避平台监管的人——项目明确把使用范围限定在「content you own」。
六、竞品对比
| 维度 | watermarks-remover | 通用 EXIF 工具(exiftool 等) | 学术水印研究脚本(MarkLLM 单跑) |
|---|---|---|---|
| 文本水印 | Layer A + Layer B 双层 | 不覆盖 | 仅 Layer B,需手动配置 |
| 图像水印 | 元数据 + 像素域(可选 CtrlRegen) | 仅元数据 | 无 |
| HTTP 接口 | 完整 REST + OpenAPI | 无 | 无 |
| Agent 集成 | Skill + Hook + Plugin | 无 | 无 |
| 依赖 | 标准库为主 | 系统工具 | transformers + 模型权重 |
七、如何快速上手
最小可用路径(仅文本/元数据):
git clone https://github.com/guillaumemeyer/watermarks-remover
cd watermarks-remover
make serve # 启动 http://127.0.0.1:8765
另一个终端跑清理:
SCRIPTS=service/scripts
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.cleaned.md
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
安装到 Claude Code(两条命令完成):
/plugin marketplace add guillaumemeyer/watermarks-remover
/plugin install watermarks-remover@watermarks-remover
进阶:要开 Layer B 文本重写,配 .env 中的 WATERMARKS_REWRITE_* 系列变量;要做像素域评分,跑 make docker-synthid-build 启 wr-synthid-score sidecar。

八、总结与行动建议
watermarks-remover 的核心价值是把 AI 水印清理做成「可工程化、可审计、可插拔」的基础设施——文本双层剥离、二十多种格式覆盖、AI Agent 原生集成,三件事一起做到位。对于内容创作者,它让你对作品的「数字指纹」有完整控制权;对于 Agent 重度用户,它把每次 Write 都变成一次自动审计。
- 仓库地址:https://github.com/guillaumemeyer/watermarks-remover
- 最新发布:v0.7.0(GHCR 同步推送)
- 文档入口:
skills/remove-ai-marks/SKILL.md与docs/
如果你正在用 AI 写稿、跑 Agent,那这条「隐形痕迹」早就存在——只是你还没看见它。装上它,至少让自己看得见。
#watermarks-remover #WatermarksRemover #guillaumemeyer #前端开发 #Web开发 #开源项目 #GitHub