十年分のデジタル資産が、サイロに閉じ込められたままだと何が起きるか?
WizNote は、5 年、8 年、10 年にわたって数千の記事を蓄積してきた技術者に愛された、ノートツールでした。
Obsidian のような、ローカルファーストで双方向のリンクグラフのエコシステムが広がるにつれて、ビルダーは完全なデータの主権をますます求めるようになっています。
- ベンダーへのロックインがない:恣意的な価格変更、非推奨になった同期 API、サービスの終了から解放されます。
- ファイルシステムを完全に所有できる:すべての文書は、純粋な平文の
.mdと、ネイティブのローカルの添付ファイルの組み合わせです。Git でバックアップや同期が簡単にできます。 - 高次元の知識グラフ:ネイティブの WikiLink
[[Note Title]]で、アイデアが動的に相互につながります。
それでも、この移行を実行するには、これまで手作業の大きな壁がありました。
既定の書き出しの悪夢:一件ずつ手作業で保存する苦痛
WizNote の公式クライアントで移行しようとすると、すぐに障害にぶつかります。
- 真の一括書き出しはなく、手作業で一件ずつ保存するだけ:公式のデスクトップ版には、任意のフォルダ構成を一括で書き出す機能がありません。3,000 件から 10,000 件を超えるノートを持つ人は、一件ずつ右クリックして保存するという、何週間もかかる気の遠くなる作業に直面します。
- 文書の欠落と、不完全なアーカイブ:手作業の書き出しでは、サブフォルダを取りこぼしたり、大きなフォルダで止まったりすることが日常的に起きます。
- 形式のロックイン:Web クリップやリッチテキストの下書きなど、多くのノート形式は、GUI のダイアログから標準の Markdown として保存できません。
- 壊れたノート間の参照:内部リンクは、独自形式の
wiz://GUID プロトコルとして残り、機能しなくなります。 - メディア資産の消失:埋め込まれたスクリーンショット、図表、PDF の添付ファイルは、独自の圧縮構造のために壊れてしまいます。
解決策:Shadow Shift の自動化された一括・無損失のパイプライン
手作業の苦労なしに個人の知識のボルトを解放するために、私たちはオープンソースの CLI ユーティリティ Shadow Shift を作りました。その主な突破口は、ボルト全体を自動で一括処理することです。
1. ボルト全体の自動一括書き出し(中核の突破口)
クライアント側の UI の制限を迂回して、Shadow Shift はローカルの WizNote の SQLite データベースとコンテナファイルに直接アクセスします。
- コマンド 1 回での一括処理:数千のノートを、数分で同時に再帰的に抽出して変換します。
- あらゆる形式の抽出:ユーザーが独自のパスワードで保護したノート(セキュリティ上の理由から、先に WizNote 内で標準の復号が必要)を除き、リッチテキスト、Markdown、マインドマップ、Web クリップなど、ほぼすべてのノートを損失なく解析・抽出します。
2. 変更しない読み取り専用の保証
Shadow Shift は、ローカルの WizNote のデータベースに厳格な読み取り専用モードでアクセスします。元のデータを変更、更新、削除することは一切ありません。 すべての変換結果は、独立した出力フォルダ(wiznote_obsidian/)にまとめて書き出されます。
3. 二段階の WikiLink の再構築
- 第一段階(グラフの構造のインデックス化):すべての文書の GUID、正規のタイトル、相対パスをメモリ上で走査し、包括的な参照マップを作ります。
- 第二段階(リンクの書き換え):古い内部タグや相対参照を、標準的な Obsidian の
[[Document Title]]WikiLink に書き換えます。
4. メディア資産の復元と「5+2」パイプライン
Shadow Shift は、決定的なパイプラインを通じてボルトの整理を標準化します。
- 標準の 5 段階モード:構文の検証 → 書式と空白の正規化 → WikiLink への変換 → 画像の相対パスの修復 → 移行の監査レポート。
- 包括的な 7 段階モード(`--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!本物のデータ主権を体験する
コマンドを 1 回実行するだけで、数万件の複雑なノートと資産が、数分で整理されます。
新しい Obsidian のボルトを開き、Cmd + G を押して、十年分のアイデアが連結したノードの星座として浮かび上がるのを眺める。それこそが、デジタルの解放を感じる瞬間です。GitHub でコードを見てみてください。