text-watermark-cleaner — إزالة العلامات المائية الخفية من نصوص AI
الغرض: تنظيف أي نص من العلامات المائية الخفية (hidden watermarks) التي تدسّها نماذج الذكاء الاصطناعي — غير مرئية بالعين، تبقى بعد النسخ/اللصق، وقد تكشف أن النص مولّد بـ AI.
🚨 AUTO-APPLY (إلزامي — مثل text-humanizer)
طبّق هذه الأداة تلقائياً على كل مخرَج نصّي يُقدَّم لجهة خارجية (بالإضافة إلى Humanize عند انطباقه):- الإيميلات (أي جهة)
- Method Statement · Methodology · Scope · أي وثيقة هندسية/فنية
- التقارير الخارجية · البحوث · الدراسات
- الخطابات الرسمية · المقترحات (proposals) · الردود الرسمية
- أي محتوى يُنشر أو يُرسل خارج المحادثة
القاعدة: عند توليد أي مخرَج خارجي → (1) Humanize إن انطبق → (2) clean_text() لإزالة الـwatermarks → (3) سلّم النص النظيف.
الاستخدام
تنظيف (stdin أو وسيط)
python3 skills/text-watermark-cleaner/clean_watermark.py clean < input.txt
python3 skills/text-watermark-cleaner/clean_watermark.py clean "النص هنا"كشف فقط (تقرير JSON، لا يزيل)
python3 skills/text-watermark-cleaner/clean_watermark.py scan "النص"اختبار ذاتي
python3 skills/text-watermark-cleaner/clean_watermark.py selftest
كمكتبة:
python
from clean_watermark import clean_text, scan_text
cleaned, report = clean_text(text) # (النص_النظيف, تقرير)
report = scan_text(text) # كشف فقط
ما يُزيله (كل الأنواع)
- zero-width: ZWSP(200B) · ZWNJ(200C) · ZWJ(200D) · WORD-JOINER(2060) · BOM(FEFF) · Mongolian(180E)
- variation selectors: VS1-16 (FE00-FE0F) + supplement (E0100-E01EF) — قناة ترميز بتّات
- tag characters: (E0000-E007F) — قناة تهريب بيانات كلاسيكية
- bidi overrides: LRE/RLE/PDF/LRO/RLO/LRI/RLI/FSI/PDI + ALM(061C)
- directional marks زائدة: LRM(200E)/RLM(200F)
- misc: soft-hyphen(00AD) · CGJ(034F) · Hangul fillers
- الفراغات غير القياسية: NBSP + كل en/em/thin/hair spaces → مسافة عادية
- control chars: C0/C1 غير المرئية (عدا tab/newline/cr)
- تطبيع: الترقيم الذكي (" " — …) → ASCII + Unicode NFC (يقضي على البصمات الإحصائية)
الضمانات (مُختبَرة حيّاً SELFTEST_OK)
- المعنى محفوظ 100% · النص النظيف يبقى نظيفاً · العربي سليم (RTL طبيعي لا يتأثر)
- صفر تبعيات خارجية (unicodedata القياسية فقط)
- كشف 14 watermark من 7 فئات في الاختبار → 0 متبقّي بعد التنظيف