项目介绍
xxd-strip-ai-meta 是一个面向本地图片的 Agent Skill 和 Python 命令行工具。它把路径交给 ExifTool,批量移除受支持的 C2PA、Content Credentials、OpenAI / gpt-image 来源字段,以及 EXIF、XMP、IPTC、注释和软件信息等常见元数据。脚本默认不解码或重编码图片像素,并保留 ICC 色彩配置和文件修改时间。它适合在用户拥有处理权限时做隐私保护、内部素材整理和元数据卫生,不适合用来掩盖图片来源,也不是万能的 AI 水印清除器。
核心功能
本地批量发现与去重
接收一个或多个本地文件或目录,递归发现受支持格式,跳过隐藏和常见缓存目录,并把重叠输入解析成去重后的绝对路径。
不重编码像素的元数据清理
通过 ExifTool 的 -all= 删除元数据组,默认排除 ICC profile 并用 -P 保留文件修改时间;是否能写入具体格式取决于 ExifTool。
预览、备份与失败隔离
--dry-run 只列文件,--backup 保留 ExifTool 原始副本;批次失败时脚本会逐文件重试,避免把整个批次都计为失败。
并发与后台执行
脚本用受限分块和 ExifTool 参数文件运行,默认 5 个并发批次;后台模式会给出可复制的停止、持续查看和状态命令。
清理后关键字检查
清理后重新读取元数据并匹配一组来源相关关键字,报告残留文件;这是一项范围有限的启发式检查,不等同于通用水印检测。
安装与使用
先安装 Python 3.10+、Git 和 ExifTool,再把仓库克隆到 Agent 的 Skill 目录或普通工作目录。第一次处理图片应从非敏感测试副本开始,先 dry-run,再用 --backup 执行清理。
让 AI Agent 帮你安装
把这段话发送给 Codex、Claude Code 或其他可以操作本地环境的 AI Agent。
请帮我安装并最小验证 xxd-strip-ai-meta 图片元数据清理 Agent Skill。GitHub 项目地址:https://github.com/nevertoday/xxd-strip-ai-meta。请先阅读 README.md、SKILL.md、scripts/clean_image_provenance.py、tests/test_cleanup.py 和 LICENSE,确认当前系统、Shell、Python 版本、ExifTool 是否可用,以及目标 Agent 的 Skill 目录。需要安装 ExifTool、使用管理员权限、修改 PATH、覆盖现有同名 Skill 目录或写入用户全局目录时先向我确认。按仓库文档克隆后,只对我明确授权的一份非敏感测试图片副本运行,先使用 --dry-run,再使用 --backup;不要关闭验证,不要删除备份,也不要修改原始素材。完成后报告脚本路径、Python 与 ExifTool 版本、实际命令、退出码、备份位置及是否发现残留标记。任何凭据、额外权限、覆盖文件或有风险的操作都必须先询问我。- Python 3.10+ 与 Git
- PATH 中可用的 ExifTool;macOS README 命令为 brew install exiftool
- 支持 SKILL.md 的 Agent 宿主,或可直接运行 Python 脚本的终端
- 对图片具有读取、修改和移除元数据的授权
- 一份不敏感的测试图片副本与足够的备份空间
git clone https://github.com/nevertoday/xxd-strip-ai-meta.git ~/.claude/skills/xxd-strip-ai-meta- 1安装依赖并检查版本
确保 `python3 --version` 为 3.10 或更高,并运行 `exiftool -ver`。macOS 可按 README 执行 `brew install exiftool`;Debian / Ubuntu 的文档命令是 `sudo apt install libimage-exiftool-perl`。
- 2克隆 Skill
Claude Code 示例为 `git clone https://github.com/nevertoday/xxd-strip-ai-meta.git ~/.claude/skills/xxd-strip-ai-meta`。其他宿主先确认自己的 Skill 目录;已有同名目录时先备份,不直接覆盖。
- 3先预览目标文件
从仓库根目录运行 `python3 scripts/clean_image_provenance.py /path/to/images --dry-run`。核对列出的每个路径,确认没有越过授权范围或误选原始素材。
- 4保留备份执行清理
对测试副本运行 `python3 scripts/clean_image_provenance.py /path/to/images --backup`。脚本会保留 *_original,并在清理后扫描来源相关关键字。
- 5检查退出码与日志
退出码 0 表示没有报告失败或残留,也可能表示没有发现图片;1 表示清理失败,2 表示发现残留。还要检查 missing、skip、Cleaned 和 residual marker 日志,不能只看退出码。
运行 `python3 --version` 和 `exiftool -ver`,然后对测试副本执行 `python3 scripts/clean_image_provenance.py /path/to/test-image --dry-run`,确认只列出目标;再执行同一路径加 `--backup`。成功时退出码应为 0、日志应显示 Cleaned 且没有 residual marker 报告,并应保留 *_original 备份。
- 默认行为会直接修改原文件;首次使用应明确加入 --backup 或只操作副本
- --drop-color-profile 可能改变显示效果,只有确有需要时才启用
- --no-verify 会跳过残留关键字检查,不适合首次验证
- 后台任务必须保存脚本输出的 stop、follow 和 status 命令
- 元数据清理应用于隐私、内部处理或数据卫生,不应用于误导图片来源判断
- 仓库没有正文截图或流程图,本页不使用装饰性媒体
使用场景
发布前清理个人信息
在发布自有图片前移除相机、软件、注释和来源路径等不需要公开的元数据,同时保留像素与默认色彩配置。
内部素材元数据卫生
对已获授权的素材目录批量执行一致的元数据清理,并通过 dry-run、备份和日志保留可复核流程。
Agent 自动化图片预处理
让支持 SKILL.md 的 Agent 准备依赖、解析本地路径、运行脚本并报告退出码和残留,但涉及覆盖或系统安装时先询问用户。
大型本地目录后台处理
利用分块、并发和后台日志处理大量图片,同时保留停止、跟踪和状态命令,避免长任务失去可见性。
使用评价
从 README、SKILL.md、脚本和测试看,xxd-strip-ai-meta 的价值在于把 ExifTool 的广泛删除能力整理成一个较克制的 Agent 工作流:默认保留 ICC 与修改时间,提供 dry-run、备份、批次隔离和残留检查,并明确拒绝“万能 AI 水印去除”的说法。主要风险同样清楚,默认会原地改写文件,验证只是关键字扫描,项目又非常新,只有一次提交和一个测试。本评价基于公开代码与只读检查,未安装 ExifTool 或清理真实图片。
值得一试的地方
- README、Skill 规则、实现和测试集中在一个小型仓库中,行为容易审查
- 默认不重编码像素,并保留 ICC 色彩配置与文件修改时间
- dry-run、备份、失败隔离、后台日志和退出码覆盖了批处理常见操作需求
- 明确说明不能去除可见或像素级水印,并要求不要误导图片来源
- MIT 许可证清晰,没有第三方 Python 包依赖
使用前要知道
- 默认原地修改带来不可逆风险,用户需要主动使用副本或 --backup
- 验证规则只匹配已列出的来源关键字,可能出现未发现的残留
- 格式能力与元数据删除结果依赖外部 ExifTool 版本和具体文件
- 仓库刚创建、只有一次提交、没有 release,长期维护稳定性尚无记录
- 本次未安装 ExifTool,也没有执行真实图片与单元测试验证
README
xxd-strip-ai-meta
Overview
一个可作为 Agent Skill 或独立 Python 命令行工具使用的图片元数据清理项目,通过 ExifTool 批量移除受支持的 C2PA、Content Credentials、OpenAI / gpt-image 来源信息及常见 EXIF、XMP、IPTC 等元数据,同时默认保留像素数据、ICC 色彩配置和文件修改时间。 Batch-remove AI provenance and image metadata with ExifTool. CLI + Agent Skill, preserving pixel data.
Getting started
- 先安装 Python 3.10+、Git 和 ExifTool,再把仓库克隆到 Agent 的 Skill 目录或普通工作目录。第一次处理图片应从非敏感测试副本开始,先 dry-run,再用 --backup 执行清理。
- 项目既可作为独立 CLI,也可把整个仓库放入兼容 Agent 的 Skill 目录;根目录 SKILL.md 规定了依赖准备、清理流程和安全边界。
- 脚本递归查找 PNG、JPEG、WebP、TIFF、HEIC、HEIF 与 AVIF,可混合接收多个文件和目录,并去重重叠输入。
- 运行 `python3 --version` 和 `exiftool -ver`,然后对测试副本执行 `python3 scripts/clean_image_provenance.py /path/to/test-image --dry-run`,确认只列出目标;再执行同一路径加 `--backup`。成功时退出码应为 0、日志应显示 Cleaned 且没有 residual marker 报告,并应保留 *_original 备份。
Configuration
git clone https://github.com/nevertoday/xxd-strip-ai-meta.git ~/.claude/skills/xxd-strip-ai-meta在 GitHub 阅读完整 README →