Skip to content

Latest commit

 

History

History
149 lines (108 loc) · 8.1 KB

File metadata and controls

149 lines (108 loc) · 8.1 KB

Utils

右クリックメニュー、ゴミ箱、スラッシュコマンドなどのユーティリティ機能。

Features

  • 右クリックメニュー: ファイルツリーのファイル・フォルダに対する操作メニュー
  • ゴミ箱: ソフトデリート方式のファイル削除と復元
  • スラッシュコマンド: チャットで使えるカスタムコマンドの定義と管理

右クリックメニュー

ファイルツリー上でファイルまたはフォルダを右クリック(モバイルでは ボタンをタップ)するとコンテキストメニューが表示される。

ファイル向けメニュー項目

メニュー 説明
暗号化 / 復号 ファイルを暗号化(.encrypted 付加)または復号する
編集履歴 ローカルの編集履歴を表示し、任意のバージョンに復元可能
ダウンロード ファイルをローカルにダウンロード(キャッシュ優先、なければ API 経由)
PDF に変換 Markdown/HTML ファイルを PDF に変換し temporaries/ に保存
HTML に変換 Markdown ファイルを HTML に変換し temporaries/ に保存
公開 ファイルを公開リンクで共有可能にする(公開 URL を自動コピー)
リンクをコピー 公開済みファイルの公開 URL をクリップボードにコピー
非公開にする 公開済みファイルの共有を解除する
キャッシュクリア IndexedDB のキャッシュを削除する(未保存の変更がある場合は警告)
複製 ファイルを 名前 (copy).拡張子 として複製する
名前変更 ファイル名を変更する
ゴミ箱 ファイルを Drive の trash/ フォルダに移動(ソフトデリート)

フォルダ向けメニュー項目

メニュー 説明
フォルダをキャッシュ (N) フォルダ配下の uncached ファイルを一括でダウンロード・キャッシュする(ローカル専用の new: プレースホルダは除外)。(N) は取得予定件数。対象がある場合のみ表示。詳細は Sync → Lazy-Fetch
ZIP ダウンロード フォルダ内の全ファイルを ZIP にまとめてダウンロードする
キャッシュクリア フォルダ内の全ファイルのキャッシュを一括削除(未保存ファイルがある場合は警告)
名前変更 フォルダ名を変更する
ゴミ箱 フォルダ内の全ファイルを trash/ に移動する

FILES ヘッダーのアクション

FILES サイドバーヘッダーの右端に並ぶアイコン:

アイコン 動作
🗑 ゴミ箱 選択中のファイルを一括削除(選択時のみ表示)
🔍 検索 Quick Open / Drive 検索パネルを開く
+ ファイル 現在位置に新規ファイルを作成
+ フォルダ 現在位置に新規フォルダを作成
⬆ アップロード ローカルファイルを Drive にアップロード
🗄 すべてキャッシュ ワークスペース全体の uncached ファイルを一括ダウンロード。全ファイルがキャッシュ済みか実行中は disabled。ツールチップに未キャッシュ件数または進捗が表示される

表示条件

  • 暗号化 / 復号: .encrypted 拡張子の有無で切り替え
  • PDF/HTML 変換: 対象ファイルが Markdown または HTML の場合のみ表示
  • 公開 / 非公開 / リンクコピー: 暗号化ファイル以外で、現在の公開状態に応じて表示
  • キャッシュクリア(ファイル): キャッシュが存在するファイルのみ表示

ゴミ箱

ファイル削除はソフトデリート方式を採用。削除したファイルは Google Drive 上の gemihub/trash/ フォルダに移動され、_sync-meta.json からはエントリが除去される。

削除の仕組み

  1. 右クリックメニューから「ゴミ箱」を選択
  2. 確認ダイアログが表示される
  3. ファイルが trash/ フォルダに移動
  4. _sync-meta.json からエントリを削除
  5. ローカルキャッシュ(IndexedDB)とローカル同期メタからも削除
  6. RAG トラッキングがある場合はベストエフォートで削除

未保存ファイルの削除

ローカルで新規作成してまだ Push していないファイル(new: プレフィックス付き ID)は、Drive へのリクエストなしにローカルキャッシュのみ削除される。

ゴミ箱の管理

Settings 画面からゴミ箱ダイアログを開くことで、削除済みファイルの一覧を確認できる。

操作 説明
復元 選択したファイルを trash/ からルートフォルダに戻し、_sync-meta.json に再追加する
完全削除 選択したファイルを Google Drive から完全に削除する(復元不可)
全選択 すべてのファイルを一括で選択する

API アクション

アクション エンドポイント 説明
delete /api/drive/files ファイルを trash/ に移動し _sync-meta.json を更新
listTrash /api/sync trash/ フォルダ内のファイル一覧を取得
restoreTrash /api/sync ファイルをルートフォルダに戻し _sync-meta.json に再追加(リネーム可)
deleteUntracked /api/sync ファイルを Google Drive から完全削除

スラッシュコマンド

チャット入力欄で / を入力するとオートコンプリートが表示され、登録済みのコマンドを選択して実行できる。

コマンドの構成

フィールド 説明
名前 コマンド名(/ の後に続く文字列、例: summarize
説明 コマンドの説明文
プロンプトテンプレート 送信されるメッセージのテンプレート
モデルオーバーライド このコマンド専用のモデル指定(省略時はデフォルトモデル)
検索設定オーバーライド Web Search または特定の RAG ストアを指定
Drive ツールモードオーバーライド all / noSearch / none のいずれかを指定
MCP サーバーオーバーライド 使用する MCP サーバーを個別に指定

テンプレート変数

変数 説明
{content} 現在アクティブなファイルの全内容
{selection} エディタで選択中のテキスト
@filename Drive ファイルの内容を参照(Drive ツール有効時はファイル参照、無効時はインライン展開)

コマンドの管理

Settings > Commands タブから追加・編集・削除が可能。コマンドは settings.jsonslashCommands 配列に保存される。

ファイル参照の自動付与

明示的なコンテキスト({content}, {selection}, @file)が含まれない場合、現在開いているファイルの名前と ID が自動的にメッセージに付加される。


Key Files

File Description
app/components/ide/ContextMenu.tsx 汎用コンテキストメニューコンポーネント
app/components/ide/DriveFileTree.tsx ファイルツリー(右クリックメニューのメニュー項目定義と各ハンドラ)
app/components/settings/TrashDialog.tsx ゴミ箱ダイアログ(復元・完全削除 UI)
app/components/settings/CommandsTab.tsx コマンド管理タブ(Settings 画面)
app/routes/api.drive.files.tsx ファイル CRUD API(delete アクション含む)
app/routes/api.sync.tsx 同期 API(listTrash / restoreTrash / deleteUntracked)
app/types/settings.ts SlashCommand 型定義
app/hooks/useAutocomplete.ts オートコンプリートロジック(スラッシュコマンド、ファイル参照)