Перейти к основному содержанию
Миграция данных•8 мин чтения

Перенос WizNote в Obsidian без потерь: восстанавливаем WikiLinks и возвращаем вложения

Освобождаем запертые заметки от утомительного экспорта по одной и битых ссылок. Как Shadow Shift пакетно выгружает архивы WizNote, восстанавливает WikiLinks в два прохода и чинит медиавложения для Obsidian.

#WizNote в Obsidian#Пакетный экспорт Markdown#Восстановление WikiLinks#Возврат вложений#Перенос хранилища#Локальный CLI

Что происходит, когда десятилетие цифрового капитала заперто в изолированной системе?

WizNote был любимой платформой заметок для технических специалистов, накопивших тысячи статей за 5, 8 или 10 лет.

С ростом экосистем с локальными двусторонними графами ссылок вроде Obsidian разработчики всё чаще требуют полного суверенитета над данными:

  • Никакой привязки к вендору: свобода от произвольных изменений цен, устаревших API синхронизации и закрытия сервисов;
  • Полное владение файловой системой: каждый документ — чистый текстовый .md с локальными ресурсами, который легко резервировать или синхронизировать через Git;
  • Многомерные графы знаний: связанные идеи динамически соединены нативными WikiLinks [[Note Title]].

Но сам переход исторически упирался в жестокую стену ручной работы.


Кошмар стандартного экспорта: мучительное сохранение по одной заметке

Попытка миграции через официальный клиент WizNote сразу упирается в препятствия:

  1. Нет настоящего пакетного экспорта, только сохранение по одной заметке: в официальном десктопном интерфейсе нет реального пакетного экспортёра для произвольных деревьев каталогов. Продвинутые пользователи с 3 000–10 000+ заметок сталкиваются с перспективой кликать правой кнопкой и сохранять файлы по одному — изматывающей ручной работой на недели;
  2. Пропавшие документы и неполные архивы: ручной экспорт регулярно теряет подпапки или зависает на больших каталогах;
  3. Привязка к формату: многие форматы заметок (веб-клипы, насыщенные черновики) нельзя сохранить как обычный Markdown через диалоги интерфейса;
  4. Сломанные ссылки между заметками: внутренние ссылки превращаются в мёртвые проприетарные протоколы wiz:// с GUID;
  5. Исчезновение медиафайлов: встроенные скриншоты, схемы и PDF-вложения ломаются из-за проприетарных структур сжатия.

Решение: автоматический пакетный конвейер без потерь в Shadow Shift

Чтобы освободить личные хранилища знаний без ручного труда, мы создали Shadow Shift — открытую CLI-утилиту. Её главный прорыв — автоматическая пакетная обработка всего хранилища:

1. Автоматический пакетный экспорт всего хранилища (главный прорыв)

Обходя ограничения клиентского интерфейса, Shadow Shift работает напрямую с локальными базами SQLite и контейнерными файлами WizNote:

  • Пакетная обработка одной командой: рекурсивно извлекает и конвертирует тысячи заметок одновременно за минуты;
  • Универсальное извлечение форматов: кроме заметок, специально защищённых пользовательским паролем (их по соображениям безопасности сначала нужно штатно расшифровать внутри WizNote), практически все остальные заметки — форматированный текст, Markdown, интеллект-карты и веб-клипы — полностью разбираются и извлекаются без потерь.

2. Неизменность: только чтение, без мутаций

Shadow Shift обращается к локальным базам WizNote строго в режиме чтения. Он никогда не изменяет, не обновляет и не удаляет исходные данные. Все результаты конвертации выводятся в изолированную целевую папку (wiznote_obsidian/).

  • Первый проход (индексация топологии графа): сканирует в памяти все GUID документов, канонические заголовки и относительные пути, чтобы построить полную карту ссылок.
  • Второй проход (перезапись ссылок): превращает устаревшие внутренние теги и относительные ссылки в стандартные WikiLinks Obsidian [[Document Title]].

4. Возврат медиафайлов и конвейер «5+2»

Shadow Shift наводит порядок в хранилище детерминированным конвейером:

  • Стандартный режим из 5 шагов: проверка синтаксиса → нормализация форматирования и отступов → преобразование WikiLinks → исправление относительных путей к изображениям → отчёт аудита миграции;
  • Полный режим из 7 шагов (`--all`): дополняет конвейер централизованным сбором вложений и умной перепривязкой ресурсов в отдельную папку attachments/, гарантируя отсутствие потерь медиа.

Быстрый старт

bash
# 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!

Все заметки →
Розничная мода и ИИ
8 мин чтения

Как повысить удержание в бутике: ИИ-стилизация на основе остатков и профилей клиентов

Разбираем падение трафика и узкие места клиентского сервиса в WeChat в розничной моде. Как 7 лет инженерии одежды и мультимодальный ИИ автоматизируют профилирование клиентов, сборку образов из остатков и вертикальное видео 9:16 для конверсии в приватном трафике.

#Бутичная розница#ИИ-стилизация в моде#Приватный трафик
Читать заметку
Build in Public
8 мин чтения

От 9 лет цифровизации цепочек поставок к ИИ-разработке: 8 реальных продуктов в одиночку

Без пустых ИИ-обёрток: работающий код как единственный критерий. Ретроспектива о том, как ИИ-агенты помогают пройти архитектуру, код, миграции баз данных и развёртывание.

#ИИ-разработчик#Build in Public#Разработчик-одиночка
Читать заметку