Python · 项目报告

Leutenegger/watermarks-remover

Remove multi-vendor AI provenance traces: Unicode text sanitization, statistical rewriting techniques, and C2PA/metadata stripping from PNG/JPEG/SVG/PDF/DOCX/HTML/MD files

已完成 打开 GitHub
L
921星标
95Fork
4Issue
MIT许可证

分析结果

项目分析

watermarks-remover 是一个 Python/标准库为主的本地工具与 HTTP 服务,用于检查和清理用户自有内容中的 AI 来源/水印/元数据痕迹。它覆盖文本中的不可见 Unicode、特殊空格、双向控制字符、tag chars 等确定性痕迹,也支持通过改写流程弱化统计型文本水印,并可对 PNG、JPEG、SVG、PDF、DOCX、HTML、Markdown、音视频等文件执行 C2PA、EXIF、XMP、文档属性等元数据清理。项目还提供 Agent Skill 集成,可被 Grok/Cursor 等工作流调用。

适用领域 AI 内容治理 / 隐私保护 / 文档与媒体元数据清理 / 文本规范化 / 内容发布前处理 / 开发者工具 / 本地 HTTP 服务 / Agent Skill 集成
配置难度 中等。基础 CLI 和本地 HTTP 服务安装较简单,Python 3.10+ 即可运行;但要在生产环境中稳定处理 PDF、Office、音视频、批量任务、鉴权、Docker、检测器和可选 heavy 后端,需要一定的文件格式、部署和安全经验。
商业价值 对中国开发者和企业内容团队而言,该项目的价值主要在于降低内容发布前的隐私和元数据泄露风险,并提供可集成的本地 API 来自动化文档、图片和网页素材清理。它适合用于内部知识库、CMS、AI 写作平台、文档出海发布流程和安全合规预处理。但由于其功能可能触及 AI 来源标识和内容真实性治理,商业落地时应明确授权边界、审计策略和合规用途,避免用于规避平台规则或误导用户。
01

技术亮点

  • 核心功能不强依赖第三方 Python 包,部署门槛低。
  • 支持格式广,包括文本、图片、Office 文档、PDF、HTML、Markdown、EPUB、ODT、音视频等。
  • 提供 CLI、HTTP API、OpenAPI、批量接口和 Agent Skill 多种使用方式。
  • 对二进制文件和未知格式做了保护,避免将 DOCX/PDF/图片误当文本处理导致文件损坏。
  • 清理和检测解耦,检测器不可用或超时不会阻塞清理流程。
  • 支持 Docker 镜像,并在核心镜像中集成 exiftool、qpdf、c2patool 等实用工具。
  • 可作为本地服务嵌入企业内容发布、文档审核或隐私清理流水线。
  • MIT 许可证,对商业集成较友好。
02

目标用户

  • 需要在发布前清理自有文档、图片、网页内容的开发者和内容团队
  • 在企业内部处理 AI 生成内容合规、隐私和元数据卫生的工程团队
  • 构建内容处理流水线、CMS、文档发布系统的后端开发者
  • 使用 Claude、Gemini、OpenAI、Grok、Cursor 等 AI 工具辅助写作的个人或团队
  • 需要批量检查文件中隐藏 Unicode、C2PA、EXIF、XMP 等痕迹的安全/隐私工程师
03

配置要求

  • Python 3.10+;核心脚本主要依赖标准库。
  • 默认服务地址为 http://127.0.0.1:8765;Agent Skill 如需修改地址,设置 WATERMARKS_SERVICE_URL。
  • 如需 API 鉴权,设置 WATERMARKS_SERVER_API_KEY,请求中使用 Authorization: Bearer <key>。
  • 批量接口默认最多处理 50 个文件,可通过 WATERMARKS_MAX_BATCH_FILES 调整。
  • 文本改写后端可选:WATERMARKS_REWRITE_BACKEND、WATERMARKS_REWRITE_MODEL、WATERMARKS_REWRITE_API_KEY。
  • 远程改写端点默认受限,如需允许远程端点需设置 WATERMARKS_REWRITE_ALLOW_REMOTE=1 或使用 --allow-remote。
  • MarkLLM 检测可通过 MARKLLM_DIR 配置本地研究 harness。
  • 图像 SynthID 评分可通过 WATERMARKS_SYNTHID_SCORER_URL 或 REVERSE_SYNTHID_DIR 配置。
  • PDF 深度清理建议安装 qpdf;残留元数据清理建议安装 exiftool;C2PA 检查建议安装 c2patool。
  • 服务默认仅绑定 loopback,若修改 --host 暴露到网络,应部署在可信网络并启用鉴权。
04

适用场景

  • 发布 Markdown、HTML、DOCX、PDF 前清理不可见字符和文档属性
  • 上传图片前去除 EXIF、XMP、C2PA manifest 等来源元数据
  • 为内部 CMS 或内容平台接入 /inspect、/clean、/detect HTTP API
  • 在 AI Agent 工作流中通过 /remove-ai-marks 指令清理用户自有内容
  • 批量检查目录中的文件是否包含可疑 Unicode、元数据或 AI provenance 痕迹
  • 对文本执行改写提示或接入本地 Ollama 等后端,降低统计型水印特征
  • 在 Docker 或本地 Python 环境中作为轻量服务部署到可信内网
05

部署与配置

  • 确认本机已安装 Python 3.10+。
  • 克隆仓库:git clone https://github.com/Leutenegger/watermarks-remover.git && cd watermarks-remover
  • 启动本地服务:make serve,或执行 python3 service/scripts/server.py --host 127.0.0.1 --port 8765。
  • 验证服务:curl http://127.0.0.1:8765/health。
  • 命令行使用:python3 service/scripts/inspect_file.py draft.md;python3 service/scripts/clean_file.py draft.md -o draft.cleaned.md。
  • 如需 Agent Skill,在项目或用户目录创建 .grok/skills,并将 skills/remove-ai-marks 软链接进去。
  • 如需 Cursor 文本清理 Skill,运行 python3 install_skill.py;Windows 使用 py install_skill.py。
  • 如需 Docker:make docker-core-build,然后 docker run --rm -p 127.0.0.1:8765:8765 --read-only --tmpfs /tmp watermarks-remover。
  • 可选安装系统工具 c2patool、exiftool、qpdf,以增强 C2PA、PDF 和元数据清理能力。
06

风险与注意事项

  • 该工具涉及去除 AI provenance、水印和元数据,可能被滥用于规避平台标识、审计或内容来源披露要求;应仅用于用户拥有且有权处理的内容。
  • 不同厂商的统计型文本水印没有通用可靠消除保证,改写效果取决于模型、文本长度和检测方法。
  • Claude、SynthID、OpenAI 等检测能力部分依赖占位、研究 harness 或外部 sidecar,并不等同于官方检测器。
  • PDF、Office、图片等复杂格式清理可能改变文件结构、压缩方式或部分元数据,生产使用前应备份并做回归验证。
  • 如果将 HTTP 服务暴露到非可信网络且未设置 WATERMARKS_SERVER_API_KEY,可能带来文件泄露或滥用风险。
  • 部分 heavy/backends 组件存在不同许可证限制,例如 non-commercial research license 或未发布镜像,商业场景需逐项审查。
  • README 中仓库路径和展示链接似乎与输入 full_name 不完全一致,集成时应以实际仓库内容为准。
  • 清理 C2PA/EXIF/XMP 可能影响内容真实性证明、版权链路或合规留痕,需要结合法律和业务政策判断。

历史记录

热榜历史快照

2026-08-21 第12名 新收录 · github_search