ماذا يحدث حين يُحبس عقد من رأس المال الرقمي داخل صومعة؟
كان WizNote منصة تدوين محبوبة للمحترفين التقنيين الذين جمعوا آلاف المقالات على مدى 5 أو 8 أو 10 سنوات.
ومع صعود منظومات الرسوم البيانية للروابط ثنائية الاتجاه المحلية أولًا مثل Obsidian، يطالب البانون بسيادة كاملة على بياناتهم:
- بلا احتكار للمورد: تحرر من تحولات التسعير التعسفية أو واجهات المزامنة المهجورة أو إيقاف الخدمة؛
- ملكية كاملة لنظام الملفات: كل مستند نصي عادي
.mdمصحوب بأصول محلية أصلية، يسهل نسخه احتياطيًا أو مزامنته مع Git؛ - رسوم بيانية عالية الأبعاد للمعرفة: أفكار مترابطة تتصل ديناميكيًا عبر WikiLinks أصلية
[[Note Title]].
غير أن تنفيذ ذلك الانتقال كان يطرح تاريخيًا جدارًا قاسيًا من الاحتكاك اليدوي.
كابوس التصدير الافتراضي: حفظ يدوي مؤلم لملاحظة واحدة
تطرح محاولة الترحيل باستخدام عميل WizNote الرسمي عوائق فورية:
- لا تصدير حقيقي على دفعات، بل حفظ يدوي لملاحظة واحدة: تفتقر واجهة سطح المكتب الرسمية إلى مصدّر دفعي حقيقي لأشجار مجلدات مخصصة. ويواجه المستخدمون المتقدمون الذين لديهم من 3,000 إلى 10,000+ ملاحظة احتمالًا كئيبًا: النقر بالزر الأيمن وحفظ الملفات واحدًا تلو الآخر—عمل شاق يدوي يستغرق أسابيع؛
- مستندات مفقودة وأرشيفات ناقصة: كثيرًا ما تفوت الصادرات اليدوية مجلدات فرعية أو تتوقف أثناء المجلدات الكبيرة؛
- احتكار الصيغة: كثير من صيغ الملاحظات (اقتطاعات الويب والمسودات الغنية) لا يمكن حفظها كـ markdown قياسي عبر نوافذ واجهة المستخدم؛
- مراجع داخلية مكسورة: تنهار الروابط الداخلية إلى بروتوكولات GUID خاصة ميتة
wiz://; - اختفاء أصول الوسائط: تنكسر لقطات الشاشة المدمجة والمخططات ومرفقات PDF بسبب بنى ضغط خاصة.
الحل: خط أنابيب دفعي بلا فقدان من Shadow Shift
لتحرير خزائن المعرفة الشخصية دون عناء يدوي، أنشأنا Shadow Shift، أداة CLI مفتوحة المصدر. اختراقها الأساسي هو المعالجة الدفعية التلقائية للخزينة كاملة:
1. تصدير دفعي تلقائي للخزينة كاملة (الاختراق الأساسي)
بتجاوز قيود واجهة العميل، يتصل Shadow Shift مباشرة بقواعد بيانات WizNote المحلية SQLite وملفات الحاويات:
- معالجة دفعية بأمر واحد: يستخرج ويحوّل آلاف الملاحظات تكراريًا في وقت واحد خلال دقائق؛
- استخراج شامل للصيغ: باستثناء الملاحظات المقفلة تحديدًا بكلمات مرور يحددها المستخدم (والتي تتطلب فك تشفير قياسي داخل WizNote أولًا لأسباب أمنية)، تُحلَّل جميع الملاحظات الأخرى تقريبًا—النص الغني وMarkdown والخرائط الذهنية واقتطاعات الويب—وتُستخرج دون فقدان.
2. ثبات بلا تعديل في وضع القراءة فقط
يصل Shadow Shift إلى قواعد بيانات WizNote المحلية في وضع قراءة فقط صارم. لا يعدّل البيانات المصدر ولا يحدّثها ولا يحذفها أبدًا. وتُخرَج جميع التحويلات بنظافة إلى مجلد هدف معزول (wiznote_obsidian/).
3. إعادة بناء WikiLinks بمرورين
- المرور الأول (فهرسة طوبولوجيا الرسم): يمسح جميع GUIDs المستندات والعناوين الأساسية والمسارات النسبية في الذاكرة لبناء خريطة مراجع شاملة.
- المرور الثاني (إعادة كتابة الروابط): يعيد كتابة الوسوم الداخلية المهجورة والمراجع النسبية إلى WikiLinks قياسية بصيغة Obsidian
[[Document Title]].
4. استعادة أصول الوسائط وخط أنابيب «5+2»
يوحّد Shadow Shift نظافة الخزينة عبر خط أنابيب حتمي:
- الوضع القياسي بخمس خطوات: التحقق من الصياغة → تطبيع التنسيق والتباعد → تحويل WikiLinks → إصلاح مسارات الصور النسبية → تقرير تدقيق الترحيل؛
- الوضع الشامل بسبع خطوات (`--all`): يوسّع خط الأنابيب بتوحيد المرفقات مركزيًا وإعادة ربط الأصول الذكية في مجلد مخصص
attachments/، بما يضمن صفر فقدان للوسائط.
دليل البدء السريع
# 1. Clone repository and install dependencies
git clone https://github.com/WardLu/shadow-shift.git
cd shadow-shift
pip3 install -r requirements.txt
# 2. Download and extract local database
python3 tools/wiznote_downloader.py
# 3. Format and rebuild links (all 7 steps)
python3 tools/obsidian_formatter.py --all
# 4. Open the generated wiznote_obsidian folder in Obsidian!اختبار السيادة الحقيقية على البيانات
أمر واحد يعالج عشرات الآلاف من الملاحظات والأصول المعقدة في دقائق.
فتح خزينة Obsidian الجديدة والضغط على Cmd + G لمشاهدة عقد من الأفكار يضيء كوكبة من العقد المترابطة هو الشعور الأقصى بالتحرر الرقمي. استكشف الشيفرة على GitHub!