2026-05-12

【追記:完結編】150MBの翼を維持する「自動外科手術」の実装

後、以下のことをやった。これでうまく運用進むと良いのだが。研究ノートの蓄積はどうなるのだろう。

とにかく、軽くサクサク動くようになったことは間違いない!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

数日間にわたるObsidian軽量化作戦は、最終的に「ダブルクリック一発で全てが完結する」という理想的な形で幕を閉じました。ここでは、運用中に直面した「技術的な罠」とその解決策を、備忘録として残しておきます。

1. 「ドラッグ&ドロップ」と「一括洗浄」の両立

ノート作成の勢いを止めないため、運用ルールを以下のように定めました。

  • 日常: PDFや画像は、何も考えずにObsidianへドラッグ&ドロップ(実体はiCloudの _resources フォルダへ)。

  • 週末: 自作の自動化アプリ「Obsidian整理くん」を起動。これだけでiCloud内の実体がGoogleドライブ(大容量HDD)へ移動し、ノート内のリンクが絶対パス(file:///)に書き換わります。

2. 最後に立ちはだかった「日本語文字コード」の壁

自動化の最終段階で、特定のファイル(「学年だより」など)が移動しない現象に直面しました。原因はMac特有のNFC/NFD問題(濁点分離問題)です。

  • 症状: 見た目は同じファイル名でも、OS内部の文字コードが異なるため、プログラムが「別物」と判断してしまう。

  • 対策: Pythonの unicodedata.normalize 関数を組み込み、処理の瞬間に全てのファイル名を標準的な形式(NFC)へ強制的に整えることで、100%の捕獲に成功しました。

3. PDFリンクの「!」問題

Obsidianの仕様上の小さな罠も解消しました。

  • 画像: ![[ ]] のままで表示させたい。

  • PDF/ZIP: file:/// 形式の場合、先頭に ! があるとリンク切れに見えるため、自動で [ 形式(リンク)へ変換するようにスクリプトを調整。これにより、ノート上のファイル名をクリックするだけで、Mac標準のプレビュー等でサッと資料が開く環境が整いました。

結びに:環境の奴隷から、環境の主人へ

30GBあったVaultは、今や150MB。iPhoneでもiPadでも、数秒で全ノートが同期されます。 「重い資料」は背後の大容量HDDに静かに鎮座し、必要な時だけリンク経由で呼び出される。この「思考(軽量)」と「資料(重量)」の分離こそが、長く研究を続けるための持続可能なデジタル書斎の形だと確信しています。

同じように「iCloudの容量不足」や「同期の遅さ」に悩む研究者の方々へ。AIとの対話で生まれたこの「外科手術」が、皆さんの思考の翼を軽くするヒントになれば幸いです。

DevonThinkへの移行を直前でやめ、Obsidianを「超軽量化」して再構築した記録

このようなことをしてました。

傍らで授業準備と英語論文下書きも進めていたけど。これでうまくいくと良いなあ。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1. 課題:30GBに膨れ上がったObsidianの限界

長年の研究資料や生活の記録が蓄積され、Obsidianの保管庫(Vault)が約30GBに達していました。

  • 同期の崩壊: iCloud Driveでの同期が極めて遅くなり、iPhoneやiPadでのモバイル利用が実質不可能に。

  • 複雑な階層: 過去のツール(Evernote等)から引き継いだリソースフォルダ(_resources)が多層化し、どこに何があるか把握しきれない状態。

一時は、強力なデータベース機能を持つ DevonThink への移行も検討しましたが、最終的にはObsidianを使い続けるための「外科手術」を決断しました。

2. 施策:Geminiとの共同作業によるPythonスクリプト開発

今回の整理の要(かなめ)は、Gemini(AI)との対話を繰り返しながら自作したPythonスクリプト群です。プログラミングの専門家ではなくても、AIをパートナーにすることで、個人の特殊なデータ構造に最適化したツールを作り上げることができました。

  • 試行錯誤のプロセス: 当初はシンプルな移動コードから始めましたが、実行するたびに「このフォルダの画像が漏れている」「文字コード(NFC/NFD)の差でリンクが切れる」「ファイル名に特殊記号(➡︎など)がある」といった現実の壁にぶつかりました。

  • アジャイルな修正:

    その都度、Geminiにエラー内容やフォルダ構造を伝え、コードを何度も修正・アップデート(v1〜v7まで!)してもらいました。最終的には「Vault内を全探索し、リンクを書き換えながら、実体をGoogleドライブへ追い出す」という、自分の環境に100%特化した「最終統合スクリプト」へと昇華させることができました。

3. 解決策:思考と資料の「ハイブリッド分離運用」

「すべてのデータを同期する」ことを諦め、データの性質に応じて保存先と参照方法を完全に分ける戦略をとりました。

データの種類保存先容量同期・運用方法
思考・テキスト (.md)iCloud Drive150MB爆速で全デバイス同期。iPhoneでも即座に読み書き。
証拠・参照資料 (PDF/画像/ZIP)Googleドライブ約30GBクラウドで安全に保護。メインPCからは絶対パスで参照。

4. 実行した「外科手術」の全容

  1. 全探索スキャン: Vault内の全階層を巡回し、ノートとリソースフォルダの紐付けを解析。

  2. 実体ファイルの追い出し: ノート内に埋め込まれたPDF、画像、音声、ZIP、HEICファイルを、iCloud外(Googleドライブ内のMaterialsフォルダ)へ強制移動。

  3. リンクの書き換え: ノート内の ![[filename.png]] という内部リンクを、file:/// 形式の絶対パスへ一括置換。

  4. 徹底清掃: 重複ファイルの削除、空フォルダの掃除、.trashworkspace などのキャッシュ消去。

5. 結果:30GBから150MBへの劇的な軽量化

  • Vault容量: 30GB → 150MB(約200分の1に圧縮)

  • 同期スピード: 同期待ちのストレスがゼロになり、スマホでの機動力も復活。

  • 資料へのアクセス: メインPCからは、リンクをクリックするだけでGoogleドライブ上の実体資料がパッと開く。

結び:デジタルアーカイブの再起動

「フォルダ構造」という文脈に依存せず、「思考(テキスト)はクラウドに、実体(資料)はアーカイブに」と分けることで、長年のデータ蓄積が「重荷」から「活用可能な資産」へと変わりました。

AIとの対話を通じて、自分の手で自らの研究環境をハックする。このプロセスそのものが、デジタル時代における「資料との向き合い方」を再定義する貴重な経験となりました。

2026-05-11

メモ:PDF Expertへの移行

また、iPadだけではなくMac miniでもPDFを読みながらメモなどしたいと思ったので、PDF Expertを導入することにした。アカデミック値段で年間サブスク6300円くらい。どうだろう。コストに見合うだろうか。

理由は分からないが、iPadのDocumentsでは有料アカウントに接続されなかったので、iPadでも、DocumentsではなくPDF Expert Proを使うことにした(どちらも同じRiddle社のアプリである)。

5分後、思いとどまった(もう少し考えるべし) ←増えすぎた研究資料をどう捌くか:ObsidianからDEVONthinkへの移行とストレージ最適化の記録

★5分後の追記

ある研究メモを探そうとしたら見つからなかったので、いくら検索が爆速になったからといって、これはやばすぎる!と思いとどまることにした。昨日1日の作業を全て投げ捨てて、obsidianに戻ろう。

devonthinkは、次にどのアプリにも移行できない…!

Obsidianを再構築する方向に行こう!!!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

先週末、あまりの起動の遅さに耐えられなくなり、Obsidianを辞めることにしました。ではどうしようと考えて、geminiに相談して、DEVONThinkというアプリに移行することにしました。ということで、ここ半年ほどの間に、evernote→obsidian→DEVONthinkと移行し続けて(devonthinkにはまだ移行できていないけど)従来のノート整理規則やら色々はかなりダメになったけど(apple musicのおかげで「自分のCDライブラリ」を把握できなくなったのに似ている)、それで気づいたのは、「もはや過去のノートの資産はほぼ不要」ということです。

過去のノートを綺麗に整理しておく必要なんてないのだ。

とはいえ、以降の過程の全てでgeminiに方法を聞いたので、以下、記録として残しておきます。

なお、実のところ、使い心地はまだ不明です。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

概要

研究資料が30GBを超え、iCloud同期の限界と内蔵SSDの圧迫に直面。単なるファイル移動ではなく、Pythonスクリプトと正規表現を駆使して、「どのアプリでも画像が表示される標準的なMarkdown環境」へ再構築したプロセスの記録です。


1. 課題:Obsidian独自記法の「壁」

Obsidianは非常に強力ですが、デフォルトの画像埋め込み記法 ![[image.jpg]] は独自規格(WikiLink)です。これをそのままDEVONthinkや他のエディタで開くと、画像が表示されず「ただの文字列」になってしまいます。

また、画像ファイルが attachments フォルダ等に一括隔離されていると、将来的なフォルダ移動でリンクが壊れやすいという懸念もありました。

2. 技術的アプローチ:Pythonによる一括置換

Cursor(AIコードエディタ)と連携し、以下の処理を行うPythonスクリプトを組みました。

正規表現によるリンク変換

スクリプト内で、以下の正規表現を用いてMarkdownファイル内の記述を書き換えました。

  • 検索パターン: r'!\[\[(.*?)\]\]'

  • 置換後: r'![](\1)'

これにより、![[filename.jpg]] を、より汎用的な ![](filename.jpg) 形式へ変換。同時に、画像ファイルの実体を検索し、そのノートと同じディレクトリに自動移動させる処理を加えました。

なぜ「同じ階層」への移動か?

研究資料(PDFや契約書、図面など)は、その時のメモと「一対一」で紐付いていることが多いため、同じ階層に置くことで、将来的にそのプロジェクトフォルダを移動させてもリンク切れが物理的に起きない「究極のポータビリティ」を確保しました。


3. DEVONthinkによる「静」と「動」の管理

30GBのデータをただ外付けHDDに置くだけでは、資料が死蔵されてしまいます。そこでDEVONthinkの特性を活かした二段構えの構成を採用しました。

① インポート(静的アーカイブ)

住宅ローンの契約書、建築図面、過去の大量の販売報告書などのPDF群は、DEVONthinkデータベース内に完全に「インポート」しました。

  • メリット: 30GBのデータが外付けHDD内の1ファイル(.dtBase2)に凝縮され、内蔵SSDを消費せずに、DEVONthinkの強力なAI検索(See Also機能)の対象になります。

② インデックス(動的ワークスペース)

日々の思索を綴る「執筆用フォルダ」だけはiCloud Driveに配置し、DEVONthinkから「インデックス(外部参照)」として紐付けました。

  • メリット: * Obsidian: 執筆に集中(iCloud経由でiPhone等とも同期)。

    • DEVONthink: 執筆中のメモと、外付けHDD内の巨大な過去資料を「横断検索」して繋げる。


4. 移行の結果とストレージの回復

この「ハイブリッド構成」とキャッシュの徹底掃除により、以下の成果が得られました。

  • 内蔵SSDの空き容量: 22GB → 43GB(約2倍に増加)

  • 同期ストレスの解消: 30GBの巨大な同期待ちから解放され、執筆フォルダ(数MB)のみが即座に同期される快適な環境に。

  • 資料の再発見: DEVONthinkのAIが、現在の執筆内容に関連する数年前のPDFをサジェストしてくれるようになり、研究の解像度が向上。

おわりに:AIと共創するデータ整理

今回、30GBものデータ移動と数千箇所のパス書き換えを安全に行えたのは、AIに正規表現のパターンを検証させ、テスト環境でスクリプトを走らせるという「AIとの共創」があったからです。

「道具(Obsidian/DEVONthink)」を分けることで、思考のスピードと情報の堅牢性を両立させる。これが私のたどり着いた、ひとつの結論です。