gemihub-gdrive
July 20, 2026 · View on GitHub
GemiHub Desktopのactive Workspace全体を、GemiHubが利用するGoogle Driveルートと同期するPluginです。GemiHubと同じ_sync-meta.json、Migration Tool token、暗号化済みrefresh tokenを使用します。


動作
- 1つのDesktop Workspaceを1つのGemiHub Driveルートへ固定して接続
- Workspaceのファイルツリーに表示される通常ファイルを同期
.git/、.llm-hub/、node_modules/、GemiHub system files/foldersは除外- Pluginの設定画面から任意の除外パターンを追加設定可能(folder名末尾に
/、*/?によるワイルドカードに対応。ローカル/Driveどちら側の対象ファイルも同期対象から外れる) - Google Docs、Sheets、Slidesなど
application/vnd.google-apps.*のネイティブファイルは除外(PDF、DOCX、XLSXなど実体を持つexport済みファイルは同期) - text/binary、pathを含むflat Drive filename、renameに対応
- Pullはlocalに未Pushの変更があっても実行可能(該当ファイルはスキップして保持)
- 両側で変更されたファイルはconflictとしてファイルごとに
Keep local/Keep remoteで解消(選ばれなかった側はDriveのsync_conflicts/へタイムスタンプ付きでバックアップ) - Pushによるremote削除はGemiHubの
trash/へ移動 - Pullによるlocal削除は実行前に確認
- Pull/Pushは実行前にnew、modified、deleted、conflictの対象ファイル一覧を表示
- CheckでStatus表示後、
Local changes/Remote changes/Push deletes/Pull deletesのラベルをクリックすると対象ファイル一覧を表示 - Pullは最大5ファイルを並列処理し、処理件数と現在のpathを表示
GemiHub側の準備
- GemiHubの暗号化を有効にする
設定 → 同期 → 外部同期から同期トークンを生成する- Desktopで同期したいWorkspaceを選択する
- PluginのDrive Sync viewへtokenを貼り付ける
- GemiHubの暗号化passwordでunlockする
token生成時に_encrypted-auth.jsonがDriveへ出力されます。token自体は短時間で失効しますが、Pluginは暗号化されたrefresh tokenをPlugin storageへ保存し、以後GemiHubのtoken refresh endpointを利用します。
Build
npm install
npm run check
npm test
npm run build
GitHub Releaseにはrepository rootのmanifest.json、build後のmain.js、styles.cssをassetとして添付します。tagはmanifest versionと一致するv0.1.2形式にしてください。