
watermarks-remover v0.5.0
Una aplicación que prioriza la privacidad y elimina las marcas de agua de IA del contenido que te pertenece.
_ _ _ ____ ___ ____ ____ _ _ ____ ____ _ _ ____ ____ ____ _ _ ____ _ _ ____ ____
| | | |__| | |___ |__/ |\/| |__| |__/ |_/ [__ __ |__/ |___ |\/| | | | | |___ |__/
|_|_| | | | |___ | \ | | | | | \ | \_ ___] | \ |___ | | |__| \/ |___ | \
watermarks-remover
Habilidad de agente + servicio Python de biblioteca estándar para eliminar marcas de procedencia de IA de múltiples proveedores de texto y archivos — para privacidad e higiene en contenido que te pertenece. La habilidad es un cliente ligero: controla la maquinaria a través de HTTP, por lo que el host del agente no necesita Python.
| Capa | Objetivo | Cómo |
|---|---|---|
| A | Unicode invisible, espacios exóticos, bidi, caracteres de etiqueta | Scripts deterministas de Python |
| B | Marcas de agua estadísticas (muestreo de tokens) en texto | Reescritura por agente + hook opcional rewrite_text.py |
| Archivos | C2PA / EXIF / XMP / propiedades de documentos | PNG, JPEG, WebP, AVIF, HEIC, BMP, GIF, TIFF, SVG, PDF, DOCX, XLSX, PPTX, EPUB, ODT, HTML, Markdown, MP4/MOV/M4A/M4V, WAV, MP3, FLAC |
Proveedores / ecosistemas (a nivel de clase): Claude, Gemini / SynthID-Text, superficies de procedencia de OpenAI, marcas open-LLM estilo Kirchenbauer (lista verde) y Gumbel con clave / EXP (Aaronson).
Última versión: v0.7.0
Ruta de la habilidad: skills/remove-ai-marks/
Ruta del servicio: service/
(migración: anteriormente remove-claude-marks; el alias de barra /remove-claude-marks sigue documentado)
Instalación (habilidad de agente)
La habilidad no incluye código — llama al servicio a través de HTTP. Instala la habilidad (solo markdown) e inicia el servicio, luego configura WATERMARKS_SERVICE_URL si no es http://127.0.0.1:8765.
En Claude Code, la ruta más rápida es el marketplace de plugins incluido — sin clonar, y se actualiza en el lugar. En cualquier otro lugar, un instalador cubre todos los hosts compatibles (Python 3.10+ biblioteca estándar, sin dependencias):
python3 install_skill.py --skill remove-ai-marks --target claude-code
| Host | Target | Lands in |
|---|---|---|
| Claude Code (personal) | --target claude-code | ~/.claude/skills/<skill> (honors CLAUDE_CONFIG_DIR) |
| Claude Code (project) | --target claude-project --project-dir PATH | PATH/.claude/skills/<skill> |
| Codex (personal) | --target codex | ~/.agents/skills/<skill> |
| Codex (project) | --target codex-project --project-dir PATH | PATH/.agents/skills/<skill> |
| Cowork, claude.ai, cloud sessions, routines | --target cowork | dist/<skill>.zip to upload under Customize → Skills |
| Cursor | --target cursor (default) | ~/.cursor/skills/<skill> |
Habilidades incluidas: remove-ai-marks (completa, respaldada por servicio) y
clean-user-facing-text (solo texto, autocontenida). --list las muestra.
Las instalaciones existentes se conservan a menos que pases --force; el reemplazo se
prepara primero y la instalación anterior se conserva como una copia de seguridad con nombre único.
--link crea enlaces simbólicos a este checkout en lugar de copiar, por lo que las ediciones se reflejan
en vivo. En Windows, usa py install_skill.py ...; el wrapper install-skill.sh
se proporciona para shells de macOS/Linux.
Antes de escribir nada, el instalador valida la habilidad contra las
reglas de empaquetado de Agent Skills que aplican las subidas a claude.ai
y la Skills API: frontmatter solo de especificación (name, description,
license, compatibility, metadata, allowed-tools), un name
en minúsculas y con guiones de como máximo 64 caracteres que coincida con el directorio, una
description no vacía de como máximo 1024 caracteres. El paquete de Cowork además tiene
que ajustarse al límite de subida de 30 MB, que el empaquetador aplica.
Terminal y escritorio de Codex
Instala cualquiera de las habilidades incluidas para tu usuario, o instala una en un proyecto concreto:
python3 install_skill.py --skill remove-ai-marks --target codex
python3 install_skill.py --skill clean-user-facing-text --target codex
python3 install_skill.py --skill remove-ai-marks --target codex-project --project-dir /path/to/project
En Windows, usa py en lugar de python3. Abre el proyecto en Codex. En la
terminal, usa /skills o escribe $ para seleccionar una skill; en la aplicación de escritorio,
selecciona o menciona la skill en tu prompt. Reinicia Codex si la nueva skill no
aparece. La instalación del proyecto está disponible cuando Codex se ejecuta en ese proyecto.
Para remove-ai-marks, inicia el servicio HTTP existente de este repositorio
con make serve antes de usar la skill (o en Windows sin make, ejecuta
py service/scripts/server.py --host 127.0.0.1 --port 8765). Usa
WATERMARKS_SERVICE_URL (por defecto http://127.0.0.1:8765), comprueba /health,
y llama a los endpoints existentes /inspect y /clean. Si el servicio
requiere una API key, establece WATERMARKS_SERVER_API_KEY para el cliente.
clean-user-facing-text es
autocontenida y no necesita el servicio.
Limpieza automática mediante hook (determinista)
Una skill es una instrucción: el modelo decide si invocarla, y el modelo es lo que produce las marcas. Un hook es ejecutado por el harness en cada llamada de herramienta coincidente, sin necesidad de cooperación. Eso convierte al hook en la mitad determinista de este flujo de trabajo.
El plugin registra un hook PostToolUse sobre Write|Edit|MultiEdit|NotebookEdit
que ejecuta service/scripts/hook_written_file.py
contra el archivo que el agente acaba de escribir. Dos modos, que coinciden con la convención de pre-commit
de comprobar por defecto:
| Modo | Comportamiento |
|---|---|
check (por defecto) | Informa de las marcas de procedencia, deja el archivo intacto. Los hallazgos van al modelo (exit 2), para que pueda ofrecerse a limpiarlos. |
clean | Elimina las marcas in situ, y luego informa al modelo de que el archivo en disco ha cambiado. |