CommunityRedacción y edicióngithub.com

docsor1212/paper-polisher

Autoevaluación de índice de IA y guía de pulido para escritura académica: sugerencias de reescritura a nivel de oración (localiza y aconseja, nunca reescribe automáticamente), verificación de terminología y coherencia, olor a traducción, atribución de párrafos, pre-revisión de revista con contexto disciplinario, verificación de normas de estilo, informe de calidad, verificación de etiqueta AIGC, además de `--batch DIR` con resumen HTML. Lee .docx directamente.

¿Qué es paper-polisher?

Paper Polisher Pro es un conjunto de herramientas de autoevaluación de escritura académica 100% local, sin carga de datos a la nube. Proporciona un análisis detallado del índice de IA en el texto académico chino, ofreciendo sugerencias de reescritura a nivel de oración, verificación de terminología y coherencia, detección de "olor a traducción", atribución de párrafos, pre-revisión de revista con contexto disciplinario, verificación de normas de estilo, informes de calidad y verificación de etiquetas de cumplimiento AIGC. La herramienta está diseñada para que los autores revisen y mejoren su propia escritura, no para evadir sistemas de detección institucionales. Utiliza un motor de reglas multicapa, análisis de espectro de tokens y una capa supervisada opcional (Qwen3-0.6B ONNX) para ofrecer métricas precisas y reproducibles. No proporciona veredictos para textos de menos de 100 caracteres y sus resultados incluyen advertencias explícitas sobre sus limitaciones en diferentes escenarios (texto médico, documentos mixtos humano-IA, texto coloquial, etc.). La versión actual (v4.4.0) cuenta con un AUROC de 0.9400 en la generación actual de modelos, con una tasa de falsos positivos humanos del 2.3%.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/docsor1212/paper-polisher-pro/tree/HEAD

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Paper Polisher Pro

Detección de escritura IA (autoevaluación de índice de IA para autores) · guía de pulido académico · estandarización terminológica · verificación de olor a traducción · informe de calidad · verificación de etiqueta de cumplimiento AIGC · atribución a nivel de párrafo · pre-revisión de revista. 100% local, cero carga de datos, cero credenciales, biblioteca estándar pura (capa de mejora onnxruntime opcional).

⛔ Leyes de hierro

  1. Solo números reproducibles. Cada métrica proviene de la evaluación de la partición de prueba (test split) en eval/run_eval.py; se han eliminado afirmaciones no respaldadas como "tasa de detección del 100% / F1 98.3%" de documentos anteriores.
  2. Sin veredicto en texto corto. Textos de menos de 100 caracteres obtienen riesgo=desconocido (lección comunitaria: los falsos positivos en texto corto son incontrolables).
  3. Las huellas digitales atribuyen, nunca puntúan. (Medido el 2026-08-15: la inyección de huellas digitales en el detector duplicó los falsos positivos humanos).
  4. Separación de calibración/evaluación. El espectro, los pesos y los umbrales se construyen solo con la mitad de calibración; la mitad de prueba se reserva para la evaluación final (un AUROC en muestra de 0.9972 cayó a un real 0.9187 una vez dividido).

TL;DR

  • Qué: Conjunto de herramientas de autoevaluación de índice de IA + pulido académico 100% local para texto académico chino (modelo supervisado opcional para una precisión óptima; el inglés obtiene puntuaciones de reglas solo informativas).
  • Inicio en 30 segundos: python3 scripts/pp.py quickstart (demostración sin modelo, sin archivos) · python3 scripts/pp.py detect draft.txt --format json · sugerencias de reescritura a nivel de oración: python3 scripts/pp.py fix draft.txt · informe completo de autoevaluación: python3 scripts/pp.py workflow draft.txt · entorno: python3 scripts/pp.py doctor (una entrada enruta todos los subcomandos).
  • Medido (partición de prueba, huella digital md5 2631df3d388b): AUROC 0.9998 pre-2026 / 0.9400 generación actual; FPR humano@medio 2.3%.
  • Conoce los límites: textos <100 caracteres obtienen riesgo=desconocido por diseño · el texto médico en modo degradado recibe puntuaciones excesivas · documentos mixtos humano+IA: la puntuación a nivel de documento no es confiable (la atribución de párrafos es la señal procesable) · solo para autoevaluación de autores, nunca para evadir la detección de IA institucional.
  • Dónde mirar a continuación: escenarios prácticos en references/best-practices.md · matriz de límites de capacidad a continuación · ejemplo de principio a fin en la sección de inicio rápido · preguntas frecuentes agrupadas en cinco partes (veredictos → modos e instalación → salida e interpretación → seguridad y verificación → herramientas y flujo de trabajo), salta al grupo que necesites · historial completo en CHANGELOG.md.

Enrutamiento de tareas en 30 segundos

Quieres...EjecutaDocumentación detallada
Verificar el índice de IA de un borradorpp.py detect draft.txt --format json§ Rendimiento medido + matriz de límites a continuación
Ver qué oraciones parecen generadas por IApp.py fix draft.txtpp_fix_suggest.py --help
Comparar antes/después de tu reescriturapp.py rewrite-check orig.txt rev.txtPreguntas frecuentes: sugerencias de reescritura
Traducir un PDF manteniendo el diseñopp.py bundle no es esto: usa doc-holmesHerramientas relacionadas
Verificar convenciones de escriturapp.py norm draft.txtPreguntas frecuentes: norma de estilo
Procesar por lotes toda una carpeta de tesisai_detector.py --batch DIR --csv s.csv --report r.htmlPreguntas frecuentes: CSV por lotes
Verificar la afirmación de cero carga de datospp.py verify + pp.py testDeclaración de seguridad
Pre-revisión de revista (contexto disciplinario)ai_detector.py draft.txt --profile journal§ pre-revisión de revista
Solucionar problemas de entornopp.py doctor / pp.py freshness --statusPreguntas frecuentes: modos
Un panel visual único de todos los resultadospp.py html-report draft.workflow.json -o report.htmlHoja de trucos de script: pp_report_html.py
Seguir un borrador a lo largo de rondas de reescriturapp.py trend directorio_de_rondas/ -o trend.htmlHoja de trucos de script: pp_trend.py
No estar seguro de qué comando usarpp.py recommend "reduce el índice de IA de este párrafo"pp.py recommend --help

Los tres límites más importantes (detalle completo en la matriz a continuación)

  1. Puntuación excesiva del registro médico en modo degradado: FPR humano solo con reglas @medio ≈59% médico vs ≈2% general; confía solo en veredictos @alto en texto médico, o instala el modelo supervisado.
  2. Documentos mixtos humano+IA: AUROC a nivel de documento 0.52-0.54 (limitación inherente de promediado); usa la atribución de párrafos como una clasificación para revisión humana, nunca como un veredicto automático.
  3. Alcance de cobertura de datos: el banco de términos tiene 2,344 términos médicos/académicos (los textos no médicos se estandarizan bajo por diseño); las capas de estilo se calibran en prosa académica (entrada coloquial/narrativa = solo informativa). Alcance por herramienta: matriz de subherramientas a continuación.

Integridad académica

Esta herramienta es para que los autores revisen y mejoren su propia calidad de escritura: oraciones más claras, terminología coherente, estilo natural. No está diseñada para evadir los sistemas de detección de IA institucionales, y no debe utilizarse para tergiversar el trabajo generado por IA como escrito por humanos. Sigue las políticas de uso y divulgación de IA de tu institución; el aigc_label_check.py incluido existe para ayudarte a cumplir con las reglas de divulgación y etiquetado (por ejemplo, las medidas de etiquetado de China de 2025-09) — para declarar la asistencia de IA correctamente, no para ocultarla. Cada informe de riesgo de IA (ai_detector.py / deai_gate.py) lleva un integrity_notice explícito a tal efecto.

Rendimiento medido (C-ReD + DetectRL-ZH, mitad de prueba de partición, n=5,251)

Nota sobre el alcance del corpus (v4.8.0): la tabla de la era v3.0 a continuación se midió en la mitad completa de la partición de prueba (n=5,251). El corpus de muestra incluido es un subconjunto: su mitad de prueba es n=1,304; números por corpus reproducibles: solo reglas (PP_NO_SUP) 0.8985 generación anterior / 0.7149 generación actual, fusionado 0.9998 / 0.9400 (eval/results/v480_rules_*.json, v35ctl_*.json; las claves de caché vinculan la huella digital del modelo Y el modo del motor).

MétricaLínea base v2.0v3.0 reglas+espectrov3.1 +supervisadov3.4 supervisado (registro de era de versión, vigente ver línea de nueva medición a continuación)
AUROC (mitad de prueba)0.70460.91870.99971.0
TPR@FPR5%30.4%49.0%99.95%100%
TPR@FPR1%16.7%24.9%99.88%100%
FPR humano @p99 calibradono medidono medido3.56% (30/844)0.71% (6/844)
Paráfrasis/ataque mixto AUROC0.640.891.0 (en corpus)1.0
Recuperación de ataque "asistido por IA"——71.1%86.6%
Recuperación narrativa/film OOD——1/65/6 solo supervisado · 6/6 fusión local

Nueva medición vinculada a huella digital v4.4.0 del modelo supervisado enviado (md5 2631df3d388b): AUROC 0.9998 (mitad de prueba, n_base=927), TPR@FPR1% 99.4%, FPR humano@medio 2.3% — eval/results/v35ctl_oldgen.json. Las columnas anteriores se conservan como registros de era de versión (linaje de modelo anterior; los binarios no tenían huella digital antes de v4.4.0).

¿Qué columna se aplica a ti? (Navegación de calibre: las únicas líneas base actuales citables son v35ctl_* en eval/results/CURRENT.md; las columnas a la izquierda son registros de era de versión.) El paquete base ejecuta el motor de reglas+espectro v3.0 (columna AUROC 0.9187, medida en el corpus completo de partición de prueba; las líneas base archivadas pre-4.4.0 son anteriores a la vinculación de huella digital — cada resultado de evaluación desde v4.4.0 lleva el md5 del modelo desplegado como model_fp, números vinculados actuales en eval/results/v35ctl_*.json). Las dos columnas de la derecha requieren el modelo supervisado local opcional (ver más abajo). El motor te indica honestamente en qué modo estás: cada informe lleva degraded_mode / degraded_notice cuando la capa supervisada está ausente u omitida.

Matriz de límites de capacidad (léela antes de confiar en cualquier detector)

EscenarioComportamiento
Prosa académica china, pila completaMejor caso (AUROC 0.9998 en partición de prueba, FPR humano@medio 2.3% — v4.4.0 vinculado a huella digital)
Paquete base sin modeloReglas+espectro (0.9187); registro médico puntuado en exceso (FPR humano solo reglas @medio: ~59% médico vs ~2% general) → confía solo en veredictos @alto en texto médico
Texto en inglésEl filtro de idioma omite la capa supervisada entrenada en chino por diseño; esqueleto de reglas solo en inglés, solo informativo
Documentos mixtos humano+IAAUROC a nivel de documento 0.52-0.54 (limitación inherente de promediado); AUROC a nivel de párrafo 0.69 con punto de operación óptimo calibrado P=0.60 al 63% de cobertura (references/para_thresholds.json) — por debajo del umbral de veredicto automático; usa clasificaciones de pp_workflow.py/paragraph_report.py solo para revisión humana
Cabezal de regresión de extensión de ediciónρ=0.540 — reportado como metadato, nunca utilizado en veredictos
Modelos de generación actual (muestreo 2026-09)AUROC 0.9400 (nueva medición vinculada a huella digital v4.4.0, conjunto de evaluación de generación actual de 443 documentos: 9 familias incl. K3/K2.7/Qwen3.7-3.8/DS-V4/V4.1/GLM-5.3/M3) vs 0.9998 pre-2026 en partición de prueba — una brecha verificada modesta. La cifra anterior de 0.6542-vs-0.9022 fue un artefacto de medición (reproducción de caché de puntuaciones obsoletas + linaje de modelo no verificado); ambas clases están estructuralmente prevenidas desde v4.4.0 (model_fp en cada JSON de resultado)
Texto coloquial / de registro oralLa capa de estilo está calibrada en prosa académica; trata las puntuaciones de estilo como informativas fuera de ese registro

Matriz de alcance de subherramientas (dominio calibrado de cada subherramienta)

SubherramientaDominio calibradoComportamiento fuera de dominio
ai_detector / deai_gateProsa académica china (calibrada en partición de prueba)Registro médico puntuado en exceso en modo degradado; inglés solo reglas informativas; entrada narrativa/coloquial recibe un aviso de registro
paragraph_report / pp_rewrite_checkMismos criterios del motor que arriba, por párrafoMismas limitaciones; rewrite_check compara dos borradores bajo criterios idénticos
pp_fix_suggestBiblioteca de patrones de escritura IA china (registro académico)El texto en inglés solo recibe verificaciones básicas de conectores/ritmo; los hallazgos son observaciones de estilo, nunca detecciones
term_checkTerminología médica/académica china (banco de 2,344 términos)Texto no médico: la tasa de estandarización lee baja — eso es alcance del banco, no un error; --auto-fix respeta el contexto
translation_smell_checkProsa académica china (patrones de traducción)Texto fuente de estilo inglés: la salida enumera sus términos de punto ciego en lugar de pretender cobertura
style_distanceEstilometría de prosa académicaFuera del registro académico, la puntuación de estilo es solo informativa (se indica en la salida)
style_normConvenciones mecánicas — independientes del registroSin puntuación por diseño; las comprobaciones estadísticas (números/abreviaturas) son débiles en muestras cortas y lo indican
aigc_label_checkMetadatos de archivo / C2PA / declaraciones de etiqueta explícitasNo es un detector de contenido; verifica el cumplimiento del etiquetado, no la autoría
quality_reportDimensiones de legibilidad/calidad del manuscritoNo es una medida de índice de IA; las heurísticas de puntuación son genéricas, no ajustadas a la revista
docx_textExtracción de texto .docx (que preserva párrafos)No es un conversor de PDF: los PDF se rechazan con consejos de conversión (la extracción de PDF chino sin dependencias no se puede garantizar)
modo por lotes (--batch).txt/.md/.docx <5 MB por archivo>5 MB omitido por diseño; los docx cifrados/solo de imagen producen un error explícito, no una salida vacía silenciosa

Declaración de seguridad y comportamiento

  • 100% local: cada función se ejecuta en el dispositivo. El código base no realiza ninguna llamada de red saliente: no tiene bibliotecas cliente de red, ni utilidades de red. El único componente con capacidad de escucha es el formulario HTTP MCP opcional (--transport http), que se vincula solo a 127.0.0.1 loopback (vinculación asegurada por la regla de lista blanca del verificador AST); el escaneo AST trata cualquier listener sin un enlace loopback como una violación. Verifica estructuralmente: python3 scripts/pp_verify.py (escaneo a nivel AST; salida 0 = cero llamadas de red, todos los scripts compilan). La búsqueda grep de texto heredado grep -rEin "urllib|requests|socket|import http" scripts/ puede mostrar algunas cadenas de URL en los pies de página de los informes — esos son datos en constantes de cadena, no código de red; el verificador AST distingue entre ambos.
  • Sin carga de datos, sin credenciales: no lee ni transmite credenciales, claves o datos personales; las únicas dos variables de entorno son PP_NO_SUP (omitir la capa supervisada) y PP_LANG (en cambia la superficie de entrada de pp.py al inglés) — ambas son interruptores de comportamiento local.
  • Sin persistencia: no crea tareas programadas, entradas de inicio automático ni cambios en la configuración del sistema; los archivos temporales (JSON entre capas, texto de prueba) se eliminan después de su uso.
  • Sin código remoto: no carga modelos o scripts remotos; el modelo supervisado opcional es colocado por el usuario en una ruta local.
  • Límite de datos: lee/escribe solo archivos especificados por el usuario, el directorio temporal del sistema y sus propios directorios de datos del paquete (artefactos de calibración/actualización); los informes solo van a donde el usuario los dirige.
  • Integridad académica: consulte la sección anterior — para autoevaluación y mejora de calidad del autor con divulgación conforme a la política; no para evadir la detección.

Contrato de códigos de salida (estable desde v5.8.0)

SalidaSignificadoCasos típicos
0Éxitoinforme producido · verify paso sin red · suite test verde
1Se ejecutó pero no pasófallo en tiempo de ejecución del motor (consejos de recuperación en el mensaje) · fallos de test · desviación de verify · desviación de línea base de freshness
2Error de uso o de entradasubcomando desconocido · archivo faltante · texto con menos de 100 caracteres · archivo de entrada no analizable
3Entorno no listofallo de instalación/verificación del modelo de pp_setup.py — ejecuta pp.py doctor primero

Espejo programático: pp_api lanza ValueError para entrada inválida (↔ salida 2) y RuntimeError para fallo en tiempo de ejecución (↔ salida 1), ambos llevan consejos de recuperación en el mensaje. Estos códigos son una promesa de estabilidad — las versiones futuras no los reutilizarán.

Antipatrones (cada uno con la forma correcta)

Esta sección enumera solo reglas de tipo juicio (qué no hacer); las preguntas operativas de cómo hacer viven en references/faq.md (buscables mediante pp.py faq <keyword>) — los dos se referencian mutuamente en lugar de repetirse.

  • No envíes <100 caracteres y esperes un veredicto — riesgo=desconocido es por diseño (los falsos positivos en texto corto son incontrolables). ✅ En su lugar: envía 300+ caracteres, o usa la verificación de norma de estilo (pp.py norm) que no tiene veredicto y funciona en muestras cortas.
  • No confíes en puntuaciones en modo degradado en texto médico

Skills relacionados