「あの記事どこだっけ…?」
「ブックマークバーがURLの墓場になってる…」
「ChromeとEdgeとBraveでブックマークがバラバラでカオス…」
そんな悩みを抱えている全エンジニアに贈る、AIによるブックマーク全自動整理ツールを作りました!
Gemini 3.1(Pro Preview)のパワーを使って、1,000件超えのぐちゃぐちゃなブックマークを一瞬で「使いやすい階層構造」に仕分けます。
🚀 なにができるの?
一言で言うと、**「ブラウザの枠を超えて、AIが最強のブックマークバーを再構築してくれる」**ツールです。
-
🤖 AIが空気を読んでカテゴリ分け
「標準」「目的別」「分野別」など、好きな観点を選ぶだけでAIが最適なフォルダ構成を提案。絵文字付きのオシャレなフォルダ名(例:💻 プログラミング,🛒 ショッピング)に自動で仕分けます。 -
📂 巨大フォルダの「再・細分化」
1つのフォルダに20件以上のアイテムがあると、AIが再帰的にプロンプトを回して小分類を自動生成。階層構造を作ってくれます。 -
🧬 重複を賢く排除
httpとhttpsが混ざっていても同一サイトと見なして重複をカット。セキュリティの高いhttps側を優先して残す紳士仕様です。 -
🛡️ 3大ブラウザを同時攻略
Chrome, Edge, Braveのブックマークをこれ一つで統合・管理できます(現在はWindows環境がメインターゲット)。
🛠 技術的な裏側と工夫したポイント
単にAPIを叩くだけじゃん、と思うかもしれませんが、**「ブックマークという大切なデータを絶対にロストさせない」**ための泥臭い工夫が詰まっています。
1. チャンク分割と既存カテゴリの学習ループ
一度に大量のブックマークをLLMに投げると、コンテキスト制限やJSON出力の破綻が起きます。そこで、このツールでは80件ずつチャンク分割して処理しています。
ただ分割するだけだと「チャンクごとにバラバラのカテゴリ名」が生成されてしまうため、「前のチャンクで生成したカテゴリ一覧」を次回のプロンプトに動的に埋め込み、全体を通してカテゴリ名の揺れを防いでいます。
2. データの「欠落」を物理的に許さないバリデーション
LLMはたまに勝手にデータを間引いたり(ハルシネーションの逆)、出力フォーマットを間違えたりします。
そのため、実行後に**「入力された全URLが、AIの出力結果のJSONの中に存在するか」を正規化(http/httpsの違いや末尾スラッシュの無視)した上でプログラム的に検証**しています。
もしAIが分類から漏らしたURLがあれば、強制的にピックアップし、📦 未分類 (要確認) フォルダに突っ込むという安全装置を入れています。
3. Chromiumの「同期ブロック」問題の突破
Chromium系ブラウザは、ローカルの Bookmarks ファイルを外部から書き換えても、ブラウザの同期機能(Googleアカウント同期など)が働いていると、「クラウド側のデータが正」と判断されて勝手に元の状態に書き戻されてしまいます。
これを防ぐため、本ツールでは ファイル内のチェックサム(checksum)と同期メタデータ(sync_metadata)を適切にハンドリング し、ブラウザ再起動時の読み込みタイミングを調整することで、ローカルの変更を強制的に反映させるアプローチをとっています。
🏃 使い方(爆速3ステップ)
-
APIキーをゲット
Google AI Studioで無料のGemini APIキーを取得します。 -
リポジトリをクローン & 設定
git clone https://github.com/charge0315/browser-bookmarkbar-synchronizer.git cd browser-bookmarkbar-synchronizer/server echo "GEMINI_API_KEY=your_key_here" > .env -
起動!
サーバー(server/)とクライアント(client/)の両方でnpm install && npm run devを実行し、ブラウザでhttp://localhost:5173にアクセス。
あとは対象のルートを選んで「✨ AI全自動整理」ボタンを叩くだけ!
⚠️ プライバシーについて
ブックマークのタイトルとURLは整理のためにGemini APIへ送信されます(完全ローカルLLMではないため)。見られたくないブックマークがある場合は、処理対象のルートから外す運用をお願いします。データ自体はローカルで完結し、どこかのクラウドDBに保存されることはありません。
🔗 リポジトリはこちら
ちょっとでも「おっ」と思ったら、ぜひGitHubで ⭐ をポチッとしてくれると開発の励みになります!
charge0315/browser-bookmarkbar-synchronizer
手作業でのブックマーク整理はもう終わりにしましょう。
AIに丸投げして、浮いた時間で新しいコードを書きませんか?🙌🏼