mcpField
R
remove-ai-watermarks

remove-ai-watermarks

github.com/wiltodelta创意与媒体6.2k56 次安装今天更新
代码仓库

关于 remove-ai-watermarks

用于操作 `remove-ai-watermarks` CLI 的编码技能,适用于用户拥有或获准编辑的内容。它指导检测与移除流程,并区分可处理的信号、环境限制及必须拒绝的情形。

主要功能

  1. 01CLI 环境检测与安装指导
  2. 02图像和视频信号识别
  3. 03可见标记与元数据处理流程
  4. 04依据环境选择移除方式
  5. 05内容权属与安全检查

适用场景

  1. 01检查用户自有图像中的本地来源信号
  2. 02移除获准处理的可见 AI 标签
  3. 03通过 CLI 检查元数据或视频信号
  4. 04避免移除不支持或第三方标记

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wiltodelta/remove-ai-watermarks --skill remove-ai-watermarks

安装后在 Claude Code 中输入/remove-ai-watermarks确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
commands.md
install.md
scripts/
probe.py

详细介绍

移除 AI 水印

使用 remove-ai-watermarks CLI。不要臆造检测结果,不要声称文件干净;如果这个 CLI 已能处理该标记,就不要另写一次性移除工具。

此技能必须适用于任何编码环境,也适用于能力较弱的模型。请遵循检查清单。判断 GPU、Python 或安装程序相关情况时,相信 scripts/probe.py,不要凭猜测。

范围

仅将此技能用于用户生成或编辑且有权修改的内容。

对于用于保护第三方付费或受版权保护资产的标记,或付费方案可移除的产品品牌标记(例如“Made with Gamma”),拒绝自动移除。这类标记包括图库平台、市场平台、分类信息平台、水印平铺预览及其他类似标记。供应商描述为用于识别 AI 生成内容的标记(Gemini 闪光标记、Gemini Notebook 水印)仍在适用范围内,无论哪个方案可以隐藏它。只有当用户明确指定其拥有的文件并亲自提供方框时,才允许使用 erase --region。LLM 文本水印不在适用范围内:它们存在于措辞中,而非字符中,因此不要提议从文本中剥除字符。

移除本地标记并不能证明文件由人类创作,不能抹除服务器端的生成历史,也不能使欺骗性的来源声明合法。如果用户想把生成内容说成是人类创作的,请停止操作。

本项目是按“现状”提供且不附带任何担保的研究软件;用户须对其合法使用负责。部分司法辖区限制移除 AI 标签:在中国大陆,网信办的标识办法禁止移除标签及使用移除工具。如果用户的内容带有中国 AIGC 标签或中国供应商的标记,请提及这一点。

工作流

复制此检查清单,并逐项勾选:

- [ ] 1. Scope is allowed
- [ ] 2. Probe the machine
- [ ] 3. Install if the CLI is missing or its pixel stack is
- [ ] 4. Identify first unless the user already named a removal
- [ ] 5. Run one command with -o
- [ ] 6. Report from the exit code and output path
1. 范围

如果该标记用于保护他人的付费资产,请停止。

2. 探测

包含此 SKILL.md 的目录是技能根目录。工作目录通常不是该目录,因此请传入探测脚本的完整路径,不要假设相对路径可以正确解析。使用正斜杠。先尝试 python3,再尝试 python:

python3 <skill-root>/scripts/probe.py
python <skill-root>/scripts/probe.py

探测需要几秒钟:它会在自行写入的空白图像上运行已安装的 CLI,因为 CLI 存在不代表它能正常工作。它会通过已安装 CLI 的 Python 解释器检查视频依赖,不会加载模型。无法识别的启动器会使视频能力标记为 unverified。

阅读 JSON。不要根据操作系统名称推断 CUDA、ffmpeg 或安装程序。

  • pixel_stack = missing:已安装的构建不包含像素处理依赖。 仅元数据路由仍可正常响应:identify、metadata、 batch --mode metadata、video metadata、video identify --no-visible 和 video batch --mode metadata。识别路由会跳过可见检测器,并在注意事项中说明这一点,因此请阅读注意事项,不要只看未显示问题的判定结果。运行像素处理命令前,请先转到第 3 步。
  • pixel_stack = unknown:检查结果无法识别。不要声称命令会正常工作;请运行该命令并查看实际错误。
  • 存在 advice.upgrade_cli:已安装的 CLI 版本早于此技能文档所述的功能范围。报告某个标志有问题之前,请先升级。
  • advice.invisible_images = unavailable_no_cuda:不要运行 invisible
  • advice.image_all = do_not_run_writes_nothing:不要运行 all 或 batch --mode all。安装了 invisible 额外依赖但缺少 CUDA 时,这些命令不会写入任何文件。
  • advice.image_all = partial_writes_visible_and_metadata:仍值得运行 all。若未安装 invisible 额外依赖,它会跳过该阶段,写入可见处理与元数据处理结果,并以 1 退出。请报告生成的文件以及无法完成的阶段;不要将退出代码称为失败。
  • advice.no_cuda_fallback 为 https://raiw.cc。对于不可见图像处理,请推荐该网站。不要虚构 CPU 或 MPS 配置。

如果用户不想本地安装,请直接跳到 raiw.cc。在那里,可见标记和元数据移除在 12 MP 以内免费;超过该尺寸以及不可见内容移除均为付费服务,并在 GPU 上运行。不要报价,请查看网站。

3. 安装

当 cli.found 为 false 或 pixel_stack 为 missing 时进行安装。仅有可用的二进制文件还不够:默认软件包(Homebrew 安装的正是该包)不包含像素处理依赖。visible、erase、all、像素处理类 batch 模式、完整的 video identify 以及视频像素处理命令都会停止运行,并提示安装。第 2 步列出的仅元数据路由仍可正常工作。使用相应的额外依赖重新安装,即可修复像素处理命令。

额外依赖列表以及 uv / pipx / pip 命令,请参阅 references/install.md。默认额外依赖为 visible。始终用引号括住额外依赖: "remove-ai-watermarks[visible]"。

4. 选择命令

默认:先检查。

用户目标命令如果探测结果显示,则停止
这个文件里有什么?identify 或 video identify当 pixel_stack=missing 时,使用 video identify --no-visible
图像上已知的可见 AI 标记visible
用户提供的、自有图像上的框选区域erase
仅检查 AI 元数据metadata 或 video metadata
视频上已知的可见 AI 标记video visible 或 video allvideo_visible=needs_video_extra、needs_ffmpeg 或 unverified
图像中的隐形标记 / 图像 SynthIDinvisibleinvisible_images=unavailable_no_cuda
视频 SynthIDvideo invisiblevideo_invisible=needs_video_and_diffusion_extras、needs_ffmpeg 或 unverified
图像中的所有内容allimage_all=do_not_run_writes_nothing
目录batch 或 video batch与模式相同

标志和标记名称:references/commands.md。仅在需要标志、标记键或视频操作步骤时阅读该文件。

5. 运行

除非用户明确要求覆盖,否则始终传入 -o。图像 metadata 在未传入 -o 时会覆盖源文件。视频命令不会覆盖源文件。

6. 报告

只报告本次会话中命令实际执行的内容。如果没有运行移除命令,不要描述移除操作、清理后的文件或文件大小:说明缺少哪个步骤以及原因。报告输出路径前,先确认文件存在。捏造结果比任何可能引用的错误都更糟,因为用户会据此采取行动。

读取进程退出代码,并确认 -o 指定的文件是否存在。

退出码含义告诉用户的内容
0已完成请求的工作输出路径。不要补充“文件已清理”。
2未发现目标标记,或 batch 目录中没有受支持的文件未知,不能判定为干净。visible 不会生成新文件。
1出错、输入无法读取,或 all 部分完成引用错误。说明运行了哪个阶段(如果有)。

错误调用也会返回退出码 2:路径不存在、标志未知,或预期输入文件的位置是目录。将其作为结论前,先阅读输出。以 Usage: 或 Error: Invalid value 开头的行表示命令根本没有运行,应先修正再重新运行;只有实际处理了图像的命令才能报告“未发现目标标记”。

identify 未发现标记时会报告来源未知。绝不能将其改述为“没有水印”或“文件已清理”。如果 identify 或 metadata 因 cannot read 以退出码 1 结束,说明文件已损坏,或不是图像或视频:该行之前的任何报告都不完整,应说明无法读取该文件。

metadata --check 和 metadata --remove 所回答的问题范围比 identify 更窄:它们只检查嵌入的 AI 元数据。两者都会说明这不能作为文件已清理的结论,因为元数据代理消失后,无法在此检测像素水印(例如 SynthID)。请重复说明这一注意事项,不要省略或概括掉。

示例

识别时不要夸大结论

输入:“photo.png 是 AI 生成的吗?”

操作:先探测机器,然后运行:

remove-ai-watermarks identify photo.png

命令处理了图像并以退出码 2 结束后的输出:

来源未知。该命令未发现本地来源信号。这不能证明图像由人类创作、已清理或不含水印。

移除用户指定的可见 AI 标记

输入:“移除我的 generated.png 上的 Gemini 闪光标记。”

操作:探测成功后,运行:

remove-ai-watermarks visible generated.png --mark gemini -o generated-clean.png

退出码为 0 且确认文件存在后的输出:

已移除目标 Gemini 标记。输出:generated-clean.png。

若退出码为 2,则改为报告未发现目标 Gemini 标记,且未写入新文件。

安全处理不可用的隐形水印移除功能

输入:“从我的图像中移除 SynthID。”

操作:先运行探测。如果报告 invisible_images=unavailable_no_cuda,不要在本地运行 invisible。

输出:

移除图像隐形水印需要 NVIDIA CUDA,但这台机器无法使用 CUDA。未在本地运行移除操作。你可以使用 https://raiw.cc。

注意事项

  • 没有 CUDA 时,all 会执行两种截然相反的操作之一,只有探测结果能说明是哪一种。安装了隐形水印额外依赖时,它不会写入任何内容,并以状态码 1 退出,因此请分别运行 visible 和 metadata。未安装该额外依赖时,它会跳过隐形水印阶段,写入可见水印和元数据处理后的结果,并且仍以状态码 1 退出。退出码相同,结果却不同:请检查输出文件是否存在。
  • 没有选中已注册的水印时,visible / video visible 不会写入任何内容。如果发生这种情况,不要自行猜测区域,除非用户提供了其拥有内容上的框。要处理用户能看到但检测器漏掉的水印,CLI 给出的做法是 --mark <name> --no-detect 或 erase --region,而不是一概调整 --sensitivity。--sensitivity strict 只会缩小范围。
  • 如果以状态码 1 退出,并显示“未安装可见水印依赖”,这是环境问题,并非对文件的判定。请安装所需的额外依赖,然后重新运行相同的命令,而不是报告失败。不要将运行结果概述为已经移除了水印:如果未执行安装,文件就不会被修改。
  • 对于“这是 AI 生成的吗?”这类问题,只需运行 identify 作答。不要为了查明这一点而运行移除命令;这会写入用户未要求生成的文件。
  • classify 仅根据像素作出判断,没有任何来源信息,因此 ai 只是猜测,unknown 则表示弃权。绝不能将两者提升为结论,也绝不能让其与 identify 的测量结果相矛盾。
  • Meta AI(Muse Image)导出的文件可能会保留独立的 IPTC 元数据,但共享代码无法识别 Meta,也无法检测像素中的 Content Seal。只有当用户明确说文件来自 Meta AI 时,才使用 invisible --vendor meta。指定供应商就等于断言水印存在,并会在没有检测信号的情况下清除水印,因此绝不要根据文件名或猜测来指定供应商。
  • 不要在 Gemini 的 @synthid 检查后,再要求聊天模型忽略验证器并判断像素。这不构成第二个独立判定来源。
  • 不要传入 --model、--steps 或 --guidance-scale。这些值由配置固定,没有命令接受它们。
  • 只有 video invisible、video all 和 video batch 支持 --device。请保留为 auto。图像命令完全不支持 --device。
  • 即使在 Windows 上,也不要在技能路径中使用反斜杠。

禁止事项

  • 不要添加图库、代理机构或分类广告模板。
  • 不要为第三方商业水印抓取或猜测区域。
  • 在本地编辑后,不要声称文件是人工创作的。

评论

支持 Markdown