定義: ローカルファーストの AI アシスタントとは、作業データ――会話、ファイル、ナレッジ、記憶、実行履歴――を初期状態で自分のマシンに置き、明示的に使った機能(サインイン、クラウドモデル、コネクタ)に必要な分だけを外部へ送るものです。この言葉は製品ページでよく使われるため、中身を分解して確認する必要があります。
なぜデータの置き場所が重要か
クラウド中心のアシスタントは便利ですが、トレードオフがあります。作業文脈が他人のインフラ上に置かれるということです。日常的な多くのタスクではそれで問題ありません。社内文書、顧客コード、機密性の高いスケジュールを扱う仕事では、チームの一部が「送る明確な理由がない限りローカルに置く」ことを好みます。「ローカルファースト」はその選好のラベルですが、同じラベルを使うすべての製品が同じことを実装しているわけではありません。
「ローカルファースト」が意味しないもの
- オフライン動作ではありません。 モデル推論にクラウド API を使う場合、その呼び出しにはネット接続が必要です。ローカルに残るのは「あなたの作業文脈と履歴」です。
- 自動的にプライベートというわけではありません。 何を外に送るかは、有効にしたモデルとコネクタ、そして実際のフォルダ許可と承認モデルに依存します。
- 「PC にインストールされる」だけでは足りません。 クライアントがローカルにあっても、会話と履歴がクラウドに書き込まれる設計なら、ローカルファーストとは言えません。
- データが一切外に出ないことを保証するものではありません。 明示的に使った機能(モデル呼び出し、コネクタ)ではデータが送信されます。「デフォルトと可視性」が保証の本質です。
主張のチェックリスト
「ローカルファースト」と書かれた製品を評価するときは、次の点を確認してください。
| 確認する主張 | 望ましい形 | なぜ重要か |
|---|---|---|
| 会話の置き場所 | ディスク上のローカル DB(例:SQLite)、書き出し可能 | これがなければ、履歴はクラウドオブジェクトです |
| 秘密情報の置き場所 | OS キーチェーン/シークレットストア。平文設定や JSON ではない | 平文の秘密情報は実際の漏洩経路です |
| ナレッジと記憶 | ローカルでインデックス。黙ってアップロードされない | 作業ナレッジには機密情報が含まれることが多い |
| 実行履歴 | コマンド、ツール呼び出し、結果がローカルに保存 | 監査証跡は自分のものであるべき |
| データが外に出るタイミング | サインイン、モデル API 呼び出し、有効化したコネクタのときだけ | 主張の実際の境界を定義します |
| ファイルアクセスのモデル | OS の選択画面によるフォルダ許可。パス脱出は拒否 | 意図以上に読み取ることを防ぎます |
| 高リスク操作 | 明示的な承認。セッション単位の自動化も可視化される | 誰が制御しているかを確認します |
Semibot での実装
Semibot のローカルファースト設計は、ほとんどのデータがデバイス上にあり、データがマシンの外に出るのは特定の可視的なシナリオのみであることを意味します。各項目の仕組み:
- ローカル SQLite:会話、ナレッジ、記憶、実行記録が端末内に書き込まれます。データは標準ツールとアプリケーション自身からアクセス可能です。
- キーチェーン:資格情報はシステムのキーチェーン経由で保存され、参照されます。通常の設定ファイルに書き出されることはありません。
- フォルダ許可:OS のファイル選択でディレクトリを許可します。
..、シンボリックリンク、ジャンクション、UNC パスによる脱出は拒否されます。 - 承認:メッセージ送信、外部データの変更、ファイル書き込み、git の書き込みコマンドは統一された承認経路を通ります。git を承認してもフォルダへのアクセス権は増えません。
- Git とフォルダアクセスの分離:git コマンドを承認したことは、そのエージェントがまだ持っていないフォルダへのアクセスを暗黙的に付与しません。
データが外に出るとき
- サインイン。 アカウント(内蔵の体験枠を含む)を使う場合、認証とクォータの追跡が関与します。
- クラウドモデルの呼び出し。 プロンプトとコンテキストがモデルプロバイダに送信されます。送信される量はタスクと設定に依存します。
- コネクタの利用。 Feishu/Lark、钉钉、Discord、Telegram、Slack、Gmail、カレンダー、ローカルフォルダ監視、BlueBubbles/iMessage、MCP ツール——いずれも定義上、外部通信を含みます。
ローカルファーストはオフラインと同じではありません。モデル推論にはクラウド API が使われる場合があります。ローカルに残るのは「あなたの作業文脈と履歴」です。どのモデルとコネクタを有効にするかは、あなたが選びます。正直な境界は:このツールはあなたの作業文脈に対してローカルファーストであり、ネットワーク上のすべてに対してではありません。
ローカルファーストが保証することとしないこと
ローカルファーストとは、データが最初は自分のマシン上にあることを意味します。自動的には意味しません:
- オフライン動作。 クラウドモデルの推論にはネットワークが必要です。ローカルモデルを使うことも可能ですが、それは別の判断です。
- 完全なプライバシー。 ツールがローカルにデータを保存しても、コネクタ、ログ、不用意な共有を通じて漏れる可能性があります。プライバシーはシステム全体の特性であり、単なる保存の決定ではありません。
- データが一切外に出ないこと。 設計上、必要な機能を使えばデータは外に出ます。主張の本質はデフォルトと可視性についてであり、ネットワークトラフィックがゼロであることを意味しません。
ワークフロー例
ローカルファーストが実際の作業でどう機能するかの具体例です。
例 1:社内文書の安全な取り扱い
- 社内資料のフォルダを 1 つだけ許可します。それ以外のフォルダにはアクセスできません。
- Semibot がそのフォルダ内の文書をインデックスし、ナレッジに整理します。
- 文書の内容に関する質問に答えますが、プロンプトとコンテキストだけがモデル API に送信されます。
- 会話履歴とナレッジはローカル SQLite に残ります。社外に漏れるのは、モデル API に送られた分のみです。
例 2:顧客コードのレビュー
- リポジトリフォルダを許可します。git 書き込みは承認経路を通過します。
- Semibot がコードグラフを背景で構築します。グラフデータはローカルに留まります。
- 変更を提案し、ChangeSet として差分を表示します。
- 承認前に、コマンド実行やテスト結果の証拠を確認できます。
- すべての実行履歴はローカルに保存され、後から監査できます。
例 3:コネクタ経由のメッセージ管理
- Slack または Discord のコネクタを有効にします。
- Semibot が指定チャンネルのメッセージを受け取り、要約します。
- 送信するメッセージは承認ゲートを通過します。
- コネクタ設定からいつでも無効にできます。無効にすればそれ以上の通信は止まります。
判断基準:ローカルファーストが必要か
- 顧客資料や社内文書を扱う場合: 作業履歴を自分の管理下に置くことは、コンプライアンスや内部規程の観点から重要になることがあります。
- ファイル操作の範囲を明示的に決めたい場合: フォルダ単位の許可と承認モデルは、ローカルファーストと組み合わせると意味を持ちます。
- どのデータがいつ外に出るかを説明できる状態にしておきたい場合: 監査や顧客への説明責任に役立ちます。
- 設定を一切触らず、すぐ高品質な回答だけが欲しい場合: クラウド中心のチャット製品の方が手軽です。ローカルファーストは設定と許可の手間を伴います。
- 完全オフラインでのモデル実行が必須要件の場合: ローカル推論に特化した製品を検討してください。Semibot のローカルファーストはデータの置き場所の話であり、オフライン推論ではありません。
確認時によくある見落とし
- 「暗号化済み」の範囲:保存時の暗号化があっても、鍵がクラウド側にあれば同じことです。鍵がどこにあるかを確認してください。
- 書き出しの可否:ローカルにあっても、独自形式の閉じた DB だけなら持ち出せません。一般的な形式での書き出しがあるかを見ると安全です。
- 診断データ:クラッシュレポートや利用状況の送信が初期状態で有効になっていないかを確認してください。
- コネクタの送信範囲:接続したサービスへ何が送られるかは、接続の種類ごとに異なります。
- モデルプロバイダのデータ保持ポリシー:プロンプトとコンテキストはモデルプロバイダに送信されます。プロバイダの利用規約とデータ保持ポリシーを確認してください。
自分で主張を検証する方法
- データベースを見つける。 ローカルファーストのアプリには、ディスク上で見つけられるデータベースファイル(SQLite など)があるはずです。
- 設定ファイルに秘密情報がないか確認する。 設定ファイルを検索し、トークンや API キーが平文でないことを確認します。
- ネットワークを監視する。 プロキシやシステムモニタを使い、ツールがいつ・どこに外部通信しているかを確認します。
- フォルダ許可モデルを読む。 本物のパーミッションシステムか、ただの警告メッセージかを見極めます。
- 高リスク操作を試す。 ファイルへの書き込みやメッセージ送信を試み、ツールが実行前に確認するかを確認します。
検証できないローカルファーストの主張はマーケティングの主張です。監査できるローカルファーストの主張は設計上の決定です。
この方法が合わない場合
- 設定や許可の手間を避けたい場合: クラウド中心の製品の方が初期設定が少なく、すぐに使い始められます。
- チーム全体でリアルタイムにデータを共有したい場合: クラウドベースの共同作業ツールの方がスムーズです。ローカルファーストは各マシンにデータが分散するためです。
- 完全なエアギャップ環境が必須の場合: Semibot のローカルファーストはオフライン推論を意味しません。エアギャップ対応のローカル推論製品を検討してください。
向いている人・不向きな人
- 顧客資料や社内文書を扱い、作業履歴を自分の管理下に置きたい人。
- ファイル操作の範囲を明示的に決め、高リスク操作で確認を挟みたい人。
- どのデータがいつ外に出るかを説明できる状態にしておきたい人。
不向きな場合:設定を一切触らず、すぐ高品質な回答だけが欲しいなら、クラウド中心のチャット製品の方が手軽です。また、完全オフラインでのモデル実行が必須要件なら、ローカル推論に特化した製品を検討してください。チーム全体でのリアルタイム共有が最優先の場合も、クラウド中心の方が適しています。
Semibot の正直な限界
Semibot は中核データをローカルに保存し、秘密情報に OS キーチェーンを使います。ただし実際の注意点があります:クラウドモデルの呼び出しはプロバイダへのプロンプト送信を含みます。コネクタは外部サービスを伴います。この製品はまだ若く、確立されたツールほど第三者のセキュリティレビューを受けていません。Windows ビルドは現在未署名です。ローカルファーストは設計姿勢であり、何もマシンの外に出ない保証ではありません。
FAQ
ローカルファーストはプライベートと同じですか?
強い出発点にはなりますが、同じではありません。プライバシーは、有効にしたモデルとコネクタ、そして実際のフォルダ許可と承認モデルにも依存します。ローカルストレージは必要条件ですが、十分条件ではありません。
フォルダは 1 つだけ許可できますか?
はい。許可はディレクトリ単位です。高リスクな機能は初期状態で承認が必要です。
完全にオフラインで動きますか?
いいえ。ローカルファーストはデータの置き場所を指し、オフライン推論を指す言葉ではありません。クラウドモデルの呼び出しにはネット接続が必要です。
秘密情報はどこに保存されますか?
Semibot では OS のキーチェーンに保存されます。平文の設定ファイルや JSON に書き出されることはありません。
接続した外部サービスには何が送られますか?
送信内容は接続したサービスの種類と、あなたが有効にした機能によって決まります。接続はコネクタ設定の場所から一元管理でき、使わないものは外せます。
データを持ち出せますか?
会話やナレッジはローカル SQLite にあります。バックアップや移行の際は、そのファイル自体が作業データの置き場所です。標準の SQLite ツールでアクセスできます。
Windows でも同じですか?
データの置き場所という考え方は同じです。ただし Windows 版は現在未署名のため、インストール時に OS の警告が出ることがあります。Linux デスクトップ版は提供していません。
診断データはどう扱われますか?
診断ログと診断バンドルは機密情報を含まないよう整形されます。これはどのツールでも確認すべきプライバシーコントロールです。
外部モデルプロバイダは私のデータを見られますか?
モデルプロバイダはあなたが送るプロンプトとコンテキストを受け取ります。送信量はタスクに依存します。プロバイダの利用規約とデータ保持ポリシーを確認してください。
ローカルファーストはクラウドファーストより優れていますか?
普遍的に優れているわけではありません。トレードオフです。ローカルファーストは制御権と攻撃面の削減を与え、クラウドファーストは容易なコラボレーションと洗練された統合を与えます。自分の仕事に合う方を選んでください。
