如何去除 Claude 水印?

Claude生成的文本含有不可见水印,甚至复制粘贴都无法消除?本文深入剖析Claude水印的运作原理,并手把手教你如何使用开源工具watermarks-remover安全、高效地清除这些隐形标记与文件元数据。

用 Apifox,节省研发团队的每一分钟

如何去除 Claude 水印?

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

截至 2026 年 8 月,Claude 生成的每一段文本都带有不可见的水印。你无法直接看到它,拼写检查也不会对其报错,而且直接从 Claude 复制粘贴到你的文档中它依然存在。Anthropic 开发这一机制是为了让 AI 编写的文本能够追溯到该模型,而这一标记就悄无声息地附带在文字本身之中。

如果你拥有自己生成的内容并希望清除这一指纹,那么一个名为 watermarks-remover 的开源项目正是大多数人所求助的工具。本指南将详细介绍 Claude 水印究竟是什么、该工具可以以及无法剥离哪些内容,以及具体如何运行它。

在开始之前有一点需要声明:这关乎你自己拥有的文本和文件的规范性与隐私。通过去除出处标记来进行学术欺诈、规避披露政策,或在禁止使用 AI 的合同下将 AI 生成的工作伪装成人类完成的作品,都是不可取的,且通常违反了约束你的规则。请务必了解你所处环境的服务条款。

AI Coding 交流群

如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。

TL;DR

  • 什么是水印:Claude 根据密钥微调其词语选择,从而在整个段落中留下统计学特征签名。它不是一个你可以找到并删除的隐藏字符。此外,图像和某些文档中还包含独立的、文件级别的 C2PA 元数据标签。
  • 哪些内容会残留:统计学文本水印在复制粘贴后依然存在。但在转述、深度编辑和翻译时会减弱。它在短段落和代码(代码格式化工具会清除仅存的微量特征)中很弱甚至不存在。
  • 工具watermarks-remover 是一个采用 MIT 许可证、支持 Python 3.10+、基于标准库的工具包。它通过两个不同的层级来处理两项不同的任务。
  • A 层(确定性):从文本中剥离不可见的 Unicode、特殊空格、双向文本(bidi)字符和标签字符。快速、可测试且无损。这是最可靠的部分。
  • B 层(统计性):通过重写文本来破坏 Token 采样水印。这只是尽力而为的操作,而且重新组织措辞会降低文本的行文质量。
  • 文件:从 PNG、JPEG、SVG、PDF、DOCX、ODT、HTML 和 Markdown 文件中剥离 C2PA、EXIF、XMP 和文档属性。
  • 坦白地讲:进行干净的确定性剥离很容易。但要完全去除统计学水印就意味着重写内容,而这正是你极力想要避免的质量妥协。

Claude 水印究竟是什么

首先纠正大多数人的一个误解。Claude 的文本水印 Eastern 并不是穿插在字里行间的一串隐藏字符。这里既没有可以搜索的零宽空格,也没有可以分离的异常字形,更没有可以测量的奇怪字距。

相反,水印存在于词汇本身之中。当 Claude 生成文本时,它会在每一步从一组统计学上几乎等价的候选词中挑选下一个 Token。水印会根据密钥来偏置该选择。在足够长的段落中,这些经过微调的选择会累积成一个可检测的统计特征。只读一句话你永远不会发现。但如果将几百字输入到持有该密钥的检测器中,这种特征模式就会显现出来。

这种设计带来了两个对去除水印至关重要的后果:

  • 它在复制粘贴后依然存在。 因为信号融入了词汇选择而非元数据中,将文本从一个应用移到另一个应用也会随之携带水印。
  • 它在编辑时很脆弱。 修改足够多的词汇,就会破坏这种统计特征模式。改写、翻译或将 Claude 的输出与你自己的写作融合,信号就会衰减。

Anthropic 自 2026 年 8 月 2 日起在模型层面上推出了这一功能,这意味着没有任何产品界面可以免除。Claude 应用、API、Claude Code 以及通过 AWS、Google Cloud 和 Microsoft Foundry 进行的第三方访问都会带上这个水印。Anthropic 表示即将推出检测 API,以便用户和第三方能够进行检测。如果你想了解 Anthropic 模型阵容和访问策略如何转变的背景,我们在 Fable 5 Is Down for Everyone 中报道过相关章节。

值得重复强调的一个警告是(因为这是一把双刃剑):检测结果为阳性意味着文本可能经过了 Claude 的处理,并不代表有人作弊。校对、翻译和总结都会留下与代笔(ghost-writing)相同的痕迹。

两种不同的水印,两种不同的解决方法

watermarks-remover 将工作分层处理,因为 Claude(以及其他厂商)实际上使用了两种互不相关的标记系统,它们需要完全不同的处理方式。

Layer A,确定性字符剥离。 这针对的是不可见的 Unicode 字符:零宽空格、特殊的空白字符、双向文本控制字符以及 Unicode 标签字符。一些工具和管道会以这种方式嵌入来源或追踪数据。Layer A 是纯 Python 实现,不涉及模型,因此它是确定性的、可测试的且无损的,它可以在不改动你实际正文的情况下清除垃圾信息。这就是“开箱即用”的部分。

Layer B,统计学重写。 这一层针对的是上文描述的 Claude Token 采样水印。因为信号在于词汇的选择,所以去除它的唯一方法就是改变词汇:逐句重写文本。该项目直截了当地指出,这只是尽力而为的操作,不能保证百分之百成功,而且重新措辞会磨平文风,并可能削弱准确性。

文件,元数据剥离。除了文本,该工具还可以清除 PNG、JPEG、SVG、PDF、DOCX、ODT、HTML 和 Markdown 文件中的 C2PA 清单(manifests)、EXIF、XMP 和文档属性。C2PA 是内容来源和真实性联盟(Coalition for Content Provenance and Authenticity)标准,是一个附带在文件中的签名清单。与统计文本标记不同,C2PA 非常容易剥离:重新保存文件、转换格式或对图像进行截图,清单就会消失。

该工具使用相同的架构覆盖了 Claude、Gemini/SynthID-Text、OpenAI 以及开源(Kirchenbauer 风格)的标记。像 SynthID 这样的像素域图像水印超出了清除范围,不过该项目可以可选地通过外部 reverse-SynthID 签出来为它们进行评分

水印自身无法覆盖的场景

在运行任何操作之前,有必要了解 Claude 的标记在哪些方面已经很微弱。在以下情况下,清除水印很容易或者根本没有必要:

  • 短文本。寥寥数句不包含足够的 token 选择,无法积累统计置信度。检测器需要一定的文本长度。
  • 代码。与普通文本相比,源代码的 token 选择受到的限制要多得多,因此其信号起初就很微弱。接着,格式化工具、Linter 和重构工具会重写剩余的任何熵。到你的代码提交时,通常已经没有什么可供检测的了。这就是为什么 Claude Code 输出上的水印理论意义大于实际意义的原因。
  • 经过深度编辑的文本。如果你已经重写了一半的内容,你可能在无意中就已经破坏了其特征模式。
  • 文件上的 C2PA。任何格式转换或重新保存通常都会丢弃它。

这意味着,“清除”工作的实际适用范围通常是:你基本保留了 Claude 原始写法的长篇散文,以及任何文件元数据。

安装 watermarks-remover

该项目作为一个 Agent 技能以及一套独立的 Python 脚本发布。你需要 Python 3.10+;核心脚本仅使用标准库,因此对于基本的文本和元数据处理工作,不需要运行 pip install

克隆仓库:

git clone https://github.com/guillaumemeyer/watermarks-remover.git
cd watermarks-remover

如果你想将其作为 Agent 技能调用(该仓库的示例使用 Grok 风格的 skills 目录),请将该技能目录链接进来:

mkdir -p ~/.grok/skills
ln -sfn "$(pwd)/skills/remove-ai-marks" ~/.grok/skills/remove-ai-marks

对于其他用户,你将直接调用脚本。为脚本目录设置一个快捷方式,以便下面的命令读起来更清晰:

export SCRIPTS="$(pwd)/skills/remove-ai-marks/scripts"

如果已安装以下两个可选的命令行工具,它们可以扩展文件清理功能:

  • c2patool:用于详细检查 C2PA 清单。
  • exiftool:用于清除 Layer A 无法触及的残留图像元数据。

核心工作流不需要这两者中的任何一个。

在处理文件之前进行检查

绝不要盲目清理。先运行检测器,以便在决定清除什么之前,清楚地了解实际存在的内容,包括不可见字符、元数据块和溯源清单。

python3 "$SCRIPTS/inspect_file.py" draft.md

这会报告工具检测到的内容,而不会修改任何东西。这相当于在覆盖目标之前先对其进行读取:如果检测器显示文件已经是干净的,你就大功告成了;如果它发现了令人意外的内容,你可以在修改任何字节之前做出决定。

清除文本中的标记

对于确定性的 A 层(Layer A)清理(可靠且无损的通道),请使用 clean_text.py--stats 标志会打印所发现和清除的内容摘要:

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

这会清除不可见的 Unicode 字符、特殊空格、双向文本(bidi)控制符和标签字符。它不会触及可见的文本内容,因此不会损失质量。对于大多数担心隐藏追踪字符而非统计学标记的人来说,这单条命令就能搞定一切。

-o 标志会将内容写入一个新文件,而不是覆盖原始文件,在验证结果之前,请保留源文件。

清除文件中的元数据

对于图片和文档,clean_file.py 可以清除 C2PA、EXIF、XMP 以及嵌入的文档属性:

python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png

它支持 PNG、JPEG、SVG、PDF、DOCX、ODT、HTML 和 Markdown。如果你安装了 exiftool 并希望对图片进行彻底处理,可以在运行该工具后执行以下命令以清除任何残留标签:

exiftool -all= photo.cleaned.png

请记住,C2PA 是比较简单的情况。如果你只关心 Claude 生成的图片上的溯源清单,格式的循环转换通常就能自动将其清除,而这个工具只是更干净、更可预测地完成这一操作。

B 层问题:通过重写对抗统计学特征

在这一点上,坦诚比命令语法更重要。

统计学文本水印只能通过修改词汇来清除。该工具通过 rewrite_text.py 提供了这一功能,它会准备一个释义通道:

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

--backend print-prompt 选项会输出重写提示词,而不是直接调用模型,这样你就能自主控制使用什么来重写。--strength 控制重写改动的剧烈程度。

但请看清你实际上同意了什么。要打破分布在词汇选择中的信号,你必须逐句重写。这会导致:

  • 削弱风格。承载水印的具体措辞往往也承载着行文的语气和特色。
  • 带来准确性风险。重写技术内容可能会在不经意间改变其含义。
  • 需要能力强大的模型才能做好。而此时你实际上是在花高昂的 Token 费用来重写高阶模型的输出。

这个项目本身提出了一个显而易见的问题:如果你需要一个强大的模型来改写 Claude 的文本,以便在不破坏其质量的前提下实现无水印化,这究竟是一种廉价的折中方案,还是仅仅……为了劣化的文本而增加更多的模型开销?对于大多数合法的应用场景而言,答案是 Layer B 并不划算。如果文本很短,或者是代码,水印可能已经微弱到可以忽略不计。如果这是你所关心的长篇散文,重写则会破坏你原本想要保留的内容。

务实的建议是:常规运行 Layer A 和文件清理器;只有在有特定、合法的理由并且可以接受质量受损的情况下,才考虑使用 Layer B。

验证你的工作

去除效果的好坏完全取决于你确认它的能力。对输出结果重新运行检查器:

python3 "$SCRIPTS/inspect_file.py" draft.cleaned.md

特别是对于 C2PA,c2patool 可以让你明确读取是否仍存在 manifest(元数据清单):

c2patool photo.cleaned.png

对于统计学文本水印,进行真实的验证会更加困难,因为你没有 Anthropic 的密钥。当 Anthropic 承诺的检测 API 发布时,那将成为真正的测试方法。在此之前,Layer B 的结果在定义上应被视为未经验证。如果你将这些工作构建到可重复的流水线中,那么该验证步骤就像其他 API 工作流一样,非常值得测试;那些将内容或模型检查自动化的团队通常会将其接入像 Apifox 这样的 API 测试工具,这样“水印是否又回来了”的检查每次都能以相同的方式运行。关于测试由模型支持的接口的更广泛模式,请参阅《如何通过 API 测试 AI Agent》(How to Test AI Agents Over an API)。

法律与伦理护栏

该工具自身的定位是合理的:这是为了对你拥有的内容进行隐私保护和清理。这包括从你自己的草稿中剥离追踪字符、在发布图片前清除元数据,或者从你认为属于自己的作品中移除来源标记。

它不适用于以下情况:

  • 学术不端行为。如果你的机构要求声明或禁止提交 AI 生成的内容,那么无论输出结果看起来多么干净,通过移除水印来隐瞒这一点都属于违规行为。
  • 违反合同约定。许多客户协议和平台条款都要求声明使用 AI。水印隐形并不代表你的义务也随之消失。
  • 虚假署名。在会产生实质性误导的情况下,将 AI 的作品冒充为人类创作,这正是出处标记旨在防止的危害。

此外,还有一个实际原因不应过度依赖这些手段:检测具有双向性。检测到水印并不能证明创作者身份,而没有水印也无法证明其源于人类之手。围绕对抗一个本身就模棱两可的信号来构建工作流,往往得不偿失。如有疑问,直接声明。这比隐瞒被发现的代价要低得多。

如果你更关心的不是隐藏 AI 的使用,而是以自己的方式运行模型——拥有自己的来源策略,并且从一开始就没有厂商水印,那么自托管是更彻底的解决方案。我们已经在《2026 年最值得运行的本地大语言模型》中介绍了目前的方案选择。

FAQ

我可以只找出并删除 Claude 文本中的水印字符吗? 不行。Claude 的文本水印并不是由隐藏字符组成的,而是词义选择上的统计学偏差。没有什么字符是可以让你搜索并删除的。(其他一些工具确实会注入不可见字符,watermarks-remover 的 Layer A 可以清除这些字符。但这与 Claude 的统计学水印机制不同。)

复制粘贴 Claude 的输出会清除水印吗? 不会。统计学标记已经嵌入到单词中,因此在不同应用之间复制粘贴后它依然存在。只有编辑实际文本才能减弱它。

watermarks-remover 是免费的吗? 是的。它是在 MIT 许可证下开源的。核心文本和元数据脚本仅需要 Python 3.10+ 和标准库。

它对 Claude Code 的输出有效吗? 可以运行,但在代码中,水印通常已经微弱到可以忽略不计。源代码的 Token 选择空间受限,并且代码格式化工具和 linter 会清除大部分剩余的信号特征。通常没有多少水印需要去除。

它能去除像 SynthID 这样的图像水印吗? 不能去除像素域的水印。它能干净地剥离文件级的元数据(C2PA、EXIF、XMP),并且可以通过外部反向 SynthID 设置来选择性地为 SynthID 标记评分,但去除像素内水印超出了该工具的范围。

去除水印合法吗? 从你拥有的内容中删除来源标记本身并不违法,但这可能会违反学术政策、合同或要求披露 AI 的平台条款。该工具旨在保护你自己内容的隐私,而不是为了规避这些义务。

我如何确定统计学标记确实消失了? 目前你基本上无法自己验证,因为你没有检测密钥。Anthropic 表示即将推出检测 API,届时这将是真正的测试。相比之下,Layer A 字符的移除和 C2PA 的剥离很容易通过检查器和 c2patool 进行验证。

开发必备:API 全流程管理神器 Apifox

介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。

如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用

Apifox

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案

获取专属报价与部署方案

icon 详细的私有化部署系统架构与安全白皮书
icon 针对您公司规模的专属报价单
icon 免费的 1v1 专属产品演示 (Demo) 机会
获取部署方案
* 提交后,我们的客户经理将在 1 个工作日内与您联系
林俊锋 企业微信
@Apifox 专属顾问
扫码备注: 私有化 + 公司名