我昨晚躺床上刷手机,不知道怎么就点进了 GitHub,首页挂着一个拆 AI 水印的工具,24 小时不到 2000 星,评论区吵翻了。
先把话说前头。文本层的水印它能删干净,统计层那种,没辙。详细过程往下看。
现在再看那仓库,今天 8 月 17 号,上线刚一周,一万一千多星。我盯着数字看了两遍,又去翻了下发布时间,8 月 11 号,六天。
01 这东西是干嘛的
工具叫 watermarks-remover。干的事就一件,把 AI 内容里带的水印擦掉。
塞水印的路子各家不一样。有的往文件里塞信息,有的藏在图里,有的往文本里塞隐形字符。
隐形字符你们八成见过。复制出来看着干净,粘到别处冒出一串乱码,就是这玩意。
说白了就是洗衣服。洗得干不干净,另说。
作者是 Guillaume Meyer,Memo 的创始人,以前在 Google 和 OpenAI 待过。

02 我拿自己造的水印试了试
光看 README 没意思,我直接自己造了一个试。原理我大概也没全看懂,反正好不好使,测了才知道。
先 clone。好家伙,目录埋得深,脚本藏在 service/scripts 底下,我翻了快两分钟才找到。
环境是 Windows,Python 3.13,装完依赖就能跑,这步倒没坑我。
第一轮我用英文文本测的,32 个字符,塞 4 个隐形字符。2 个零宽空格、1 个零宽非连接符、1 个词连接符。跑 inspect_text.py,回车,终端刷刷刷吐了几行,位置全给标出来了!我挨个核对,一个不差。再跑 clean_text.py,第一次还报错,exit 1,我以为是工具坏了,看了眼输出,是我命令少了个参数,补上重跑就过了。清完剩 28 个字符,复制出来又数一遍,还是 28。残留 0。
这是我本地真实跑出来的输出。57 字符中文样本里检出 4 个隐形字符,位置分别是第 6、19、30、31 位;clean 后输出 JSON,removed_count 为 4,nfkc_changed false,删得干干净净。
干净得我有点意外。绝了!
但英文测完我心里还是没底,中文呢?中文文本它也认吗?我又试了一轮。
这回写了一段正经中文,57 个字符,往里塞了 4 个隐形字符。跑 inspect,结果照样全出来,连在第几个字符位置都标得明明白白,6、19、30、31,一个没漏!跑 clean,这次输出变成了一段 JSON,removed_count 4,nfkc_changed false,删完 53 个字符。还挺讲究。
然后又试了 emoji。我搞了段带表情的话,😀🐶 后面塞两个隐形字符。清完之后 emoji 一个没少,连变体选择符都还在。工具的输出里写着,这种"有意义的"隐形字符默认保留,硬删 emoji 会碎掉。这细节不实测,光看 README 根本看不出来。
顺带发现一个事。我拿了个 GBK 编码的文件直接丢给它,它也照常扫,33 个字符,Suspicious 0,不用我先转码。这工具对编码还挺宽容。

那晚试到十二点多,媳妇喊我睡觉,我嘴上说马上马上,手还是没停。
跑完这遍,它那个三层逻辑我才算捋明白。前两层干净利落,统计层就只能赌。
对了,这工具没法处理的也在这。统计水印那种,只能重编码赌一把,赌不赌得赢看脸。。这块我没法实测,手头没有带统计水印的素材,先记着。
03 作者自己都说了
README 里写得很老实。
最早版本的原话就一句:only removes the metadata... MAY come later。
能删的只有元数据。统计水印那种,也许以后会有。
我反倒觉得这句挺加分。
没吹,没画饼。行就是行,不行就说不行。
结果我写稿那天一刷新,仓库已经更新到 v0.5.0 了,服务化、HTTP 接口、Docker 全整上了。当初那句 MAY come later,他还真往前推了一大步。
新 README 他也挺实在,白纸黑字写着,官方检测器和密钥没公开之前,没有任何工具能打包票说这玩意过不了官方检测。这点从头到尾没变。
删了就是删了。

04 评论区吵翻了
上线那天评论区就热闹了,我一条条往下翻。
有人喊 legend。
底下有人接 not even 24 hours。Claude 的水印还没捂热乎,拆它的东西先到了。
翻着翻着看到一条问的,这算不算帮人把 AI 痕迹抹干净,那防作弊、防深度伪造怎么办。
作者自己出来澄清过一次。别误会,只能删元数据,统计水印暂时没辙。
吵得最凶的一条,是有人真让 Claude 自己装这个工具。结果 Claude 拒绝了,说用户从没同意被强制打水印,这是欧盟规则单方面强加的。那人又试了几次,Claude 死活不干,最后换了个国产模型接手,装是装上了,场面一度很滑稽。
正反两派其实都有道理。反水印的说,我是付费用户,输出我买了单,你凭什么悄悄打标记。挺水印的说,深度伪造都泛滥成什么样了,溯源是公共基础设施,没有它大家全是睁眼瞎。
但工具就是工具,拿它干嘛,是人说了算的事。
我不站队。大家自己判断吧。。反正我留着吃灰了。
对了,这仓库最早不叫这名,叫 remove-claude-marks,后来才改叫 watermarks-remover。从名字就能看出这事的节奏,一开始冲着 Claude 去的,没两天就改成覆盖全家桶了。
本来还想再往下翻翻评论,看看有没有人实测过统计水印能不能赌赢,翻到第三页全是英文,吵得我头大,不看了,关网页睡觉去了。
顺手说一句,这项目是 MIT 协议,要玩自己拿去玩。
真在意 AI 溯源这摊子事的,也可以盯着点 C2PA 那边的动静。两边较着劲,最后吃亏的说不定是普通用户。
行了,就说这么多。都看到这了,关注下吧。
夜雨聆风