CommunitySchreiben & Editierengithub.com

docsor1212/paper-polisher

KI-Rate-Selbsttest und akademische Polierhilfe für chinesische wissenschaftliche Texte: Satzebene-Umschreibungsvorschläge, Terminologie- und Konsistenzprüfungen, Übersetzungsgeruch, Absatzattribution, Journal-Vorprüfung, Stilnormen-Check, Qualitätsbericht, AIGC-Kennzeichnungsprüfung, Batch-Verarbeitung mit HTML-Zusammenfassung. Liest .docx direkt. 100% lokal, kein Upload.

Was ist paper-polisher?

Paper Polisher Pro ist ein komplett lokales Tool für Autoren zur KI-Rate-Selbstprüfung und akademischen Textverbesserung, speziell für chinesische wissenschaftliche Texte. Es bietet eine Reihe von Funktionen: Erkennung des KI-Schreibanteils auf Satzebene mit Empfehlungen zur manuellen Überarbeitung, Terminologie-Standardisierung, Übersetzungsgeruchserkennung, Absatzattribution zur Unterscheidung von menschlich und KI-geschriebenen Abschnitten, Journal-Vorprüfung mit disziplinärem Kontext und Prüfung der AIGC-Kennzeichnungskonformität. Das Tool arbeitet zu 100% lokal auf dem Gerät des Nutzers – es werden keine Daten hochgeladen, keine Netzwerkverbindungen hergestellt und keine Anmeldeinformationen benötigt. Es kann .docx-Dateien direkt lesen und unterstützt Batch-Verarbeitung mit HTML-Berichten. Ein mehrschichtiger Regel-Engine mit optionalem, lokal ausführbarem Qwen3-0.6B ONNX-Modell sorgt für hohe Erkennungsgenauigkeit, wobei die Ergebnisse durch einen ‚fingerprint‘-basierten Selbstverifikationsmechanismus abgesichert sind. Das Tool ist für Autoren zur Selbstkontrolle und Qualitätsverbesserung gedacht, nicht zur Umgehung institutioneller KI-Erkennungssysteme.

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

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Paper Polisher Pro

KI-Schreiberkennung (KI-Rate-Selbsttest für Autoren) · akademische Polierhilfe · Terminologie-Standardisierung · Übersetzungsgeruch-Prüfung · Qualitätsbericht · AIGC-Kennzeichnungsprüfung · Absatzattribution · Journal-Vorprüfung. 100% lokal, kein Upload, keine Anmeldeinformationen, reine Standardbibliothek (optionales onnxruntime-Erweiterungsmodul).

⛔ Eiserne Gesetze

  1. Nur reproduzierbare Zahlen. Jede Metrik stammt aus der zurückgehaltenen (Test-)Auswertung in eval/run_eval.py; nicht belegte Behauptungen wie „100% Erkennungsrate / F1 98,3%“ aus älteren Dokumenten wurden entfernt.
  2. Kein Urteil über kurze Texte. Texte unter 100 Zeichen erhalten risk=unknown (Community-Lektion: Falschpositive bei kurzen Texten sind unkontrollierbar).
  3. Fingerabdrücke attribuieren, bewerten nie. (Gemessen am 15.08.2026: Das Einfügen von Fingerabdrücken in den Detektor verdoppelte die menschlichen Falschpositivraten.)
  4. Kalibrierung/Auswertung trennen. Spektrum, Gewichte und Schwellenwerte werden nur auf der Kalibrierungshälfte aufgebaut; die Testhälfte ist für die abschließende Auswertung reserviert (ein In-Sample-AUROC von 0,9972 fiel nach der Aufteilung auf realistische 0,9187).

TL;DR

  • Was: 100% lokaler KI-Rate-Selbsttest + akademisches Polier-Toolkit für chinesischen wissenschaftlichen Text (optionales überwachtes Modell für höchste Genauigkeit; Englisch erhält nur beratende Regel-Scores).
  • 30-Sekunden-Start: python3 scripts/pp.py quickstart (Null-Modell, Null-Datei-Demo) · python3 scripts/pp.py detect draft.txt --format json · Satzebene-Umformulierungsvorschläge: python3 scripts/pp.py fix draft.txt · vollständiger Selbsttestbericht: python3 scripts/pp.py workflow draft.txt · Umgebung: python3 scripts/pp.py doctor (ein Einstiegspunkt leitet alle Unterbefehle)
  • Gemessen (zurückgehalten, fingerabdruckgebundener md5 2631df3d388b): AUROC 0,9998 vor 2026 / 0,9400 aktuelle Generation; menschliche FPR@mittel 2,3%.
  • Grenzen kennen: Texte <100 Zeichen erhalten standardmäßig risk=unknown · medizinischer Text im abgespeckten Modus wird überbewertet · gemischte menschliche+KI-Dokumente: Der Dokument-Score ist unzuverlässig (Absatzattribution ist das nutzbare Signal) · nur Autoren-Selbsttest – niemals zur Umgehung institutioneller KI-Erkennung.
  • Wo als nächstes nachschauen: Szenario-Anleitungen in references/best-practices.md · Fähigkeitsgrenzen-Matrix unten · End-to-End-Beispiel in § Kurzanleitung · FAQ in fünf Teilen gruppiert (Urteile → Modi & Installation → Ausgabe & Interpretation → Sicherheit & Verifikation → Werkzeuge & Workflow), springe zur benötigten Gruppe · vollständige Historie in CHANGELOG.md.

30-Sekunden-Aufgaben-Routing

Sie möchten…AusführenAusführliches Dokument
KI-Rate eines Entwurfs prüfenpp.py detect draft.txt --format json§ Gemessene Leistung + Grenzen-Matrix unten
Sätze sehen, die KI-ähnlich klingenpp.py fix draft.txtpp_fix_suggest.py --help
Vorher/Nachher Ihrer Überarbeitung vergleichenpp.py rewrite-check orig.txt rev.txtFAQ: Umformulierungsvorschläge
Ein PDF unter Beibehaltung des Layouts übersetzenpp.py bundle nicht dieses – verwenden Sie doc-holmesVerwandte Werkzeuge
Schreibkonventionen prüfenpp.py norm draft.txtFAQ: Stilnorm
Einen gesamten Thesis-Ordner stapelverarbeitenai_detector.py --batch DIR --csv s.csv --report r.htmlFAQ: Batch CSV
Die Null-Upload-Behauptung überprüfenpp.py verify + pp.py testSicherheitserklärung
Journal-Vorprüfung (mit Disziplin-Kontext)ai_detector.py draft.txt --profile journal§ Journal-Vorprüfung
Umgebungs-Fehlerbehebungpp.py doctor / pp.py freshness --statusFAQ: Modi
Ein visuelles Dashboard aller Ergebnissepp.py html-report draft.workflow.json -o report.htmlSkript-Spickzettel: pp_report_html.py
Einen Entwurf über mehrere Überarbeitungsrunden verfolgenpp.py trend 轮次目录/ -o trend.htmlSkript-Spickzettel: pp_trend.py
Nicht sicher, welcher Befehl passt?pp.py recommend "把这段的AI率降一降"pp.py recommend --help

Die drei Grenzen, die am meisten zählen (vollständige Details in der Matrix unten)

  1. Medizinische Register-Überbewertung im abgespeckten Modus – Nur-Regeln menschliche FPR @mittel ≈59% medizinisch vs. ≈2% allgemein; vertrauen Sie bei medizinischen Texten nur @high-Urteilen oder installieren Sie das überwachte Modell.
  2. Gemischte menschliche+KI-Dokumente – Dokument-Ebene AUROC 0,52–0,54 (inhärente Mittelungsbeschränkung); verwenden Sie die Absatzattribution als Ranking für die menschliche Überprüfung, niemals als automatisches Urteil.
  3. Datenabdeckungsbereich – Der Terminologie-Bestand umfasst 2.344 medizinische/akademische Begriffe (nicht-medizinische Texte werden standardmäßig niedrig standardisiert); Stilschichten sind auf wissenschaftliche Prosa kalibriert (umgangssprachliche/erzählende Eingabe = nur beratend). Werkzeug-spezifischer Bereich: Unter-Werkzeug-Matrix unten.

Akademische Integrität

Dieses Werkzeug dient Autoren, die ihre eigene Schreibqualität selbst überprüfen und verbessern – klarere Sätze, konsistente Terminologie, natürlicher Stil. Es ist nicht dazu gedacht, institutionelle KI-Erkennungssysteme zu umgehen, und darf nicht verwendet werden, um KI-generierte Arbeit als menschlich geschrieben auszugeben. Befolgen Sie die KI-Nutzungs- und Offenlegungsrichtlinien Ihrer Institution; die mitgelieferte aigc_label_check.py dient dazu, Ihnen bei der Einhaltung von Offenlegungs- und Kennzeichnungsregeln (z. B. Chinas Kennzeichnungsmaßnahmen von 2025-09) zu helfen – um KI-Unterstützung ordnungsgemäß zu deklarieren, nicht zu verstecken. Jeder KI-Risikobericht (ai_detector.py / deai_gate.py) trägt einen expliziten integrity_notice zu diesem Zweck.

Gemessene Leistung (C-ReD + DetectRL-ZH, zurückgehaltene Testhälfte, n=5.251)

Korpus-Bereichshinweis (v4.8.0): Die Tabelle aus der v3.0-Ära unten wurde auf der vollständigen zurückgehaltenen Testhälfte (n=5.251) gemessen. Der mitgelieferte Beispielkorpus ist eine Teilmenge – seine Testhälfte hat n=1.304; reproduzierbare Pro-Korpus-Zahlen: Nur-Regeln (PP_NO_SUP) 0,8985 alte Gen. / 0,7149 aktuelle Gen., fusioniert 0,9998 / 0,9400 (eval/results/v480_rules_*.json, v35ctl_*.json; Cache-Schlüssel binden Modell-Fingerabdruck UND Engine-Modus).

Metrikv2.0 Basisliniev3.0 Regeln+Spektrumv3.1 +überwachtv3.4 überwacht (Versions-Ära-Aufzeichnung, aktuell siehe Neuvermessungszeile unten)
AUROC (Testhälfte)0,70460,91870,99971,0
TPR@FPR5%30,4%49,0%99,95%100%
TPR@FPR1%16,7%24,9%99,88%100%
Menschliche FPR @kalibriertem p99nicht gemessennicht gemessen3,56% (30/844)0,71% (6/844)
Paraphrase/gemischt-Angriff AUROC0,640,891,0 (im Korpus)1,0
Angriff „KI-unterstützt“ Recall——71,1%86,6%
OOD Klartext-Erzählung/Film Recall——1/65/6 nur überwacht · 6/6 lokale Fusion

v4.4.0 fingerabdruckgebundene Neuvermessung des ausgelieferten überwachten Modells (md5 2631df3d388b): AUROC 0,9998 (Testhälfte, n_base=927), TPR@FPR1% 99,4%, menschliche FPR@mittel 2,3% – eval/results/v35ctl_oldgen.json. Spalten oben bleiben als Versions-Ära-Aufzeichnungen erhalten (frühere Modell-Linie; Binärdateien waren vor v4.4.0 nicht fingerabdruckgebunden).

Welche Spalte gilt für Sie? (Kaliber-Navigation: Die einzigen zitierfähigen aktuellen Basislinien sind v35ctl_* in eval/results/CURRENT.md; Spalten links sind Versions-Ära-Aufzeichnungen.) Das Basispaket verwendet die v3.0 Regeln+Spektrum-Engine (0,9187 AUROC-Spalte, gemessen auf dem vollständigen zurückgehaltenen Korpus; vor 4.4.0 archivierte Basislinien stammen aus der Zeit vor der Fingerabdruckbindung – jedes Auswertungsergebnis seit v4.4.0 trägt den md5 des bereitgestellten Modells als model_fp, aktuelle gebundene Zahlen in eval/results/v35ctl_*.json). Die beiden rechten Spalten erfordern das optionale lokale überwachte Modell (siehe unten). Die Engine teilt Ihnen ehrlich mit, in welchem Modus Sie sich befinden: Jeder Bericht trägt degraded_mode / degraded_notice, wenn die überwachte Schicht fehlt oder übersprungen wird.

Fähigkeitsgrenzen-Matrix (vor dem Vertrauen in einen Detektor lesen)

SzenarioVerhalten
Chinesische wissenschaftliche Prosa, voller StackBester Fall (AUROC 0,9998 zurückgehalten, menschliche FPR@mittel 2,3% – v4.4.0 fingerabdruckgebunden)
Basispaket ohne ModellRegeln+Spektrum (0,9187); medizinisches Register überbewertet (Nur-Regeln menschliche FPR @mittel: ~59% medizinisch vs. ~2% allgemein) → vertrauen Sie bei medizinischen Texten nur auf @high-Urteile
Englischer TextSprachgating überspringt die chinesisch trainierte überwachte Schicht standardmäßig; Nur-Regeln englisches Skelett, nur beratend
Gemischte menschliche+KI-DokumenteDokument-Ebene AUROC 0,52–0,54 (inhärente Mittelungsbeschränkung); Absatz-Ebene AUROC 0,69 mit kalibriertem optimalem Arbeitspunkt P=0,60 bei 63% Abdeckung (references/para_thresholds.json) – unter der automatischen Urteilsgrenze; verwenden Sie pp_workflow.py/paragraph_report.py Rankings nur für menschliche Überprüfung
Bearbeitungsumfangs-Regressionskopfρ=0,540 – als Metadaten gemeldet, niemals für Urteile verwendet
Modelle der aktuellen Generation (Stichprobe 2026-09)AUROC 0,9400 (v4.4.0 fingerabdruckgebundene Neuvermessung, 443-Dokumente aktuell-gen Auswertungsmenge: 9 Familien inkl. K3/K2.7/Qwen3.7-3.8/DS-V4/V4.1/GLM-5.3/M3) vs. 0,9998 vor 2026 zurückgehalten – eine bescheidene bestätigte Lücke. Der frühere Wert 0,6542-vs-0,9022 war ein Messartefakt (veralteter Score-Cache-Playback + nicht verifizierte Modell-Linie); beide Klassen sind seit v4.4.0 strukturell verhindert (model_fp in jedem Ergebnis-JSON)
Umgangssprachlicher / mündlicher RegistertextDie Stilschicht ist auf wissenschaftliche Prosa kalibriert; behandeln Sie Stil-Scores außerhalb dieses Registers als beratend

Unter-Werkzeug-Bereichsmatrix (kalibrierter Bereich jedes Unterwerkzeugs)

UnterwerkzeugKalibrierter BereichVerhalten außerhalb des Bereichs
ai_detector / deai_gateChinesische wissenschaftliche Prosa (zurückgehalten kalibriert)Medizinisches Register im abgespeckten Modus überbewertet; Englisch nur beratend mit Regeln; erzählende/umgangssprachliche Eingabe erhält einen Registerhinweis
paragraph_report / pp_rewrite_checkGleiche Engine-Kriterien wie oben, pro AbsatzGleiche Einschränkungen; rewrite_check vergleicht zwei Entwürfe unter identischen Kriterien
pp_fix_suggestChinesische KI-Schreibmusterbibliothek (wissenschaftliches Register)Englischer Text erhält nur grundlegende Verbindungs-/Rhythmusprüfungen; Ergebnisse sind Stilbeobachtungen, keine Erkennungen
term_checkChinesische medizinische/akademische Terminologie (2.344-Begriffe-Bestand)Nicht-medizinischer Text: Die Standardisierungsrate ist niedrig – das ist der Bestandsumfang, kein Fehler; --auto-fix respektiert den Kontext
translation_smell_checkChinesische wissenschaftliche Prosa (Übersetzungsdeutsch-Muster)Englischsprachiger Quelltext: Ausgabe listet seine blinden Flecken auf, anstatt Abdeckung vorzutäuschen
style_distanceWissenschaftliche Prosa-StilometrieAußerhalb des wissenschaftlichen Registers ist der Stil-Score nur beratend (in der Ausgabe angegeben)
style_normMechanische Konventionen – registerunabhängigKein Score per Design; statistische Prüfungen (Zahlen/Abkürzungen) sind bei kurzen Stichproben schwach und weisen darauf hin
aigc_label_checkDateimetadaten / C2PA / explizite KennzeichnungsaussagenKein Inhaltsdetektor; überprüft die Kennzeichnungskonformität, nicht die Autorschaft
quality_reportLesbarkeits-/Qualitätsdimensionen für das ManuskriptKein KI-Rate-Maß; Bewertungsheuristiken sind generisch, nicht journalspezifisch
docx_text.docx Text Extraktion (Absatzerhaltend)Kein PDF-Konverter – PDFs werden mit Konvertierungshinweisen abgelehnt (Zero-Dep chinesische PDF-Extraktion kann nicht garantiert werden)
Batch-Modus (--batch).txt/.md/.docx <5 MB pro Datei>5 MB werden per Design übersprungen; verschlüsselte/nur-Bild-docx erzeugen einen expliziten Fehler, keine stille leere Ausgabe

Sicherheits- und Verhaltenserklärung

  • 100% lokal: Jede Funktion läuft auf dem Gerät. Die Codebasis tätigt keine ausgehenden Netzwerkaufrufe – keine Netzwerk-Client-Bibliotheken, keine Netzwerk-Dienstprogramme. Die einzige listener-fähige Komponente ist das optionale MCP-HTTP-Formular (--transport http), das nur an 127.0.0.1 Loopback bindet (Bindung wird durch die Allowlist-Regel des AST-Verifikators bestätigt); der AST-Scan behandelt jeden Listener ohne Loopback-Bindung als Verstoß. Strukturell überprüfen: python3 scripts/pp_verify.py (AST-Ebene-Scan; exit 0 = null Netzwerkaufrufe, alle Skripte kompilieren). Legacy-Text-grep grep -rEin "urllib|requests|socket|import http" scripts/ kann einige URL-Strings in Berichtsfußzeilen zeigen – das sind Daten in String-Konstanten, kein Netzwerkcode; der AST-Verifikator unterscheidet beides.
  • Kein Upload, keine Anmeldeinformationen: Liest und überträgt keine Anmeldeinformationen, Schlüssel oder persönlichen Daten; die einzigen beiden Umgebungsvariablen sind PP_NO_SUP (überspringt die überwachte Schicht) und PP_LANG (en schaltet die pp.py-Eintrittsoberfläche auf Englisch) – beide lokale Verhaltensumschalter.
  • Keine Persistenz: Erstellt keine geplanten Aufgaben, Autostart-Einträge oder Systemkonfigurationsänderungen; temporäre Dateien (JSON zwischen Schichten, Probetext) werden nach der Verwendung gelöscht.
  • Kein entfernter Code: Lädt keine entfernten Modelle oder Skripte; das optionale überwachte Modell wird vom Benutzer an einem lokalen Pfad platziert.
  • Datengrenze: Liest/schreibt nur benutzerdefinierte Dateien, das systemweite temporäre Verzeichnis und seine eigenen Paketdatenverzeichnisse (Kalibrierungs-/Frische-Artefakte); Berichte gehen nur dorthin, wohin der Benutzer sie lenkt.
  • Akademische Integrität: Siehe Abschnitt oben – für Autoren-Selbsttest und Qualitätsverbesserung mit richtlinienkonformer Offenlegung; nicht zur Umgehung der Erkennung.

Exit-Code-Vertrag (stabil seit v5.8.0)

ExitBedeutungTypische Fälle
0ErfolgBericht erstellt · verify null-Netzwerk bestanden · test Suite grün
1Ausgeführt, aber nicht bestandenEngine-Laufzeitfehler (Wiederherstellungshinweis in der Nachricht) · test Fehlschläge · verify Drift · freshness Basislinien-Drift
2Nutzungs- oder EingabefehlerUnbekannter Unterbefehl · Datei fehlt · Text unter 100 Zeichen · Nicht parsebare Eingabedatei
3Umgebung nicht bereitpp_setup.py Modell-Installation/Verifikation fehlgeschlagen – führen Sie zuerst pp.py doctor aus

Programmgesteuertes Gegenstück: pp_api löst ValueError für ungültige Eingabe (↔ exit 2) und RuntimeError für Laufzeitfehler (↔ exit 1) aus, beide mit Wiederherstellungshinweisen in der Nachricht. Diese Codes sind ein Stabilitätsversprechen – zukünftige Versionen werden sie nicht umwidmen.

Anti-Patterns (jeweils mit der richtigen Vorgehensweise)

Dieser Abschnitt listet nur urteilsartige Regeln auf (was nicht zu tun ist); operative Anleitungen zur Vorgehensweise finden Sie in references/faq.md (durchsuchbar mit pp.py faq <Schlüsselwort>) – beide verweisen aufeinander, anstatt sich zu wiederholen.

  • Füttern Sie nicht <100 Zeichen und erwarten Sie ein Urteil – risk=unknown ist beabsichtigt (Falschpositive bei kurzen Texten sind unkontrollierbar). ✅ Stattdessen: Reichen Sie 300+ Zeichen ein oder verwenden Sie die Stilnorm-Prüfung (pp.py norm), die kein Urteil fällt und mit kurzen Proben funktioniert.
  • Vertrauen Sie nicht auf abgespeckte Modus-Scores bei medizinischen Texten

…

[Gekürzt für die Übersetzung]

Verwandte Skills