关于 remove-ai-watermarks
用于操作 `remove-ai-watermarks` CLI 的编码技能,适用于用户拥有或获准编辑的内容。它指导检测与移除流程,并区分可处理的信号、环境限制及必须拒绝的情形。
主要功能
- 01CLI 环境检测与安装指导
- 02图像和视频信号识别
- 03可见标记与元数据处理流程
- 04依据环境选择移除方式
- 05内容权属与安全检查
适用场景
- 01检查用户自有图像中的本地来源信号
- 02移除获准处理的可见 AI 标签
- 03通过 CLI 检查元数据或视频信号
- 04避免移除不支持或第三方标记
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wiltodelta/ remove-ai-watermarks --skill remove-ai-watermarks安装后在 Claude Code 中输入/remove-ai-watermarks确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/commands.mdinstall.mdscripts/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:不要运行invisibleadvice.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 all | video_visible=needs_video_extra、needs_ffmpeg 或 unverified |
| 图像中的隐形标记 / 图像 SynthID | invisible | invisible_images=unavailable_no_cuda |
| 视频 SynthID | video invisible | video_invisible=needs_video_and_diffusion_extras、needs_ffmpeg 或 unverified |
| 图像中的所有内容 | all | image_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 上,也不要在技能路径中使用反斜杠。
禁止事项
- 不要添加图库、代理机构或分类广告模板。
- 不要为第三方商业水印抓取或猜测区域。
- 在本地编辑后,不要声称文件是人工创作的。