ドキュメント

はじめに

Conduit はデスクトップアプリです。サインインするホスト版はありません。自分の マシン上で、自分のプロバイダーキーを使って動かします。

インストール

インストーラは GitHub Releases にあります。現在タグ付けされているビルドは v1.0.0-rc.7 で、Windows、macOS、Linux 向けに提供しています。 すでに toolchain が入っているマシンなら、ソースからのビルドもおよそ5分でできます。

前提条件

要件バージョンメモ
Node.js20CI が前提としているバージョンです
pnpm10.34.4固定です。corepack enable が最も簡単です
Ruststablerustup 経由で、rustfmt と clippy を含みます
Visual Studio 2022 Build Tools—ネイティブビルド用。Windows のみ必要です

Windows では、リポジトリに含まれる check-setup.ps1 で4項目をまとめて確認でき、 足りないものも教えてくれます。

ビルドと起動

terminal
git clone REPO_URL conduit
cd conduit
pnpm install
pnpm dev

pnpm dev はまず Vite の dev server を立ち上げ、そのあとデスクトップシェルを起動します。 最初の Rust ビルドには少し時間がかかりますが、2回目以降は増分ビルドです。

コマンド内容
pnpm dev開発モードでアプリを起動する
pnpm build現在のプラットフォーム向けネイティブインストーラを生成する
pnpm checkTypeScript workspace を typecheck する

対応プラットフォーム

バイナリはまだ OS のコード署名を受けていません。 macOS Gatekeeper と Windows SmartScreen は、OS レベルの署名がないため初回起動時に警告を表示します。自動更新のペイロードは 別途、署名と検証が行われています。ソースからビルドすれば、この警告は回避できます。

最初の会話

Conduit は、モデルに到達する手段が設定されるまでチャットを開始できません。初回起動時の オンボーディングで、プロバイダーの選択と認証情報の設定を求められます。

ホスト型プロバイダーを使う場合

  1. Settings → Providers & Keys を開きます(⌘,)。
  2. プロバイダーを選び、API キーを貼り付けます。
  3. Conduit がそのプロバイダーから取得した一覧からモデルを選びます。

キーは Windows Credential Manager、macOS Keychain、Linux Secret Service など、 OS の認証情報ストアに保存されます。Settings に保持されるのは参照だけで、値そのものは保持しません。 キーチェーンが利用できない環境では、暗号化された file-backed ストアを明示的なオプトインで使えます。

キーなしでローカルモデルを使う場合

Ollama または LM Studio をインストールし、 モデルを pull してから、そのプロバイダーを Settings で選択してください。認証情報は不要で、 データがマシン外へ出ることもありません。クラウドプロバイダーを完全に拒否するローカル専用モードと 組み合わせれば、Conduit は一切インターネットへリクエストを送りません。

モデルが vision に対応していれば画像も添付できます。どのメッセージも編集して再送できます。 直近のメッセージを編集するとその場で書き換わりますが、それより前のメッセージを編集すると、 その時点から新しい会話が分岐し、元の会話はそのまま残ります。会話は Markdown または JSON でエクスポートできます。

対応プロバイダー

組み込みのプロバイダーは17件です。OpenAI 互換エンドポイントはその17番目であり、 別枠で追加されるものではありません。

プロバイダー認証情報Base URL
AnthropicAPI キー変更可
OpenAIAPI キー変更可
Google GeminiAPI キー固定
xAIAPI キー変更可
Z.aiAPI キー変更可
Moonshot AIAPI キー変更可
QwenAPI キー変更可
DeepSeekAPI キー固定
MistralAPI キー固定
GroqAPI キー固定
Together AIAPI キー変更可
Fireworks AIAPI キー変更可
OpenRouterAPI キー固定
OpenCode ZenAPI キー固定
Ollamaなし(ローカル)変更可
LM Studioなし(ローカル)変更可
任意の OpenAI 互換エンドポイント任意変更可

最後の行には vLLM や LiteLLM のような self-hosted gateway に加えて、まだ専用アダプタのないベンダーも含まれます。 Conduit に base URL を渡し、エンドポイントが要求する場合はキーも設定してください。

GPT、Claude、Grok、GLM、Kimi、そのほかを追加する

Conduit は 2026 年に実際よく使われているモデルファミリー — GPT、Claude、Gemini、Grok、GLM、 DeepSeek、Kimi、Qwen、MiniMax — と、欲しいモデルに応じて次の3つの経路のいずれかでつながります。

  1. 組み込みアダプタ。 Anthropic、OpenAI、Gemini、xAI、Z.ai、Moonshot AI、 Qwen、DeepSeek、Mistral、Groq、Together AI、Fireworks AI にはそれぞれ専用プロバイダーが あります。選んでキーを貼り付け、モデル一覧を読み込むだけです。これで Claude、GPT、Gemini、 Grok、GLM、Kimi、Qwen、DeepSeek を直接カバーできます。それぞれ独自の既定エンドポイントを 持っているので、base URL を調べる必要はありません。
  2. ゲートウェイ。 OpenCode Zen または OpenRouter は、MiniMax をはじめ これらのサービスがそのとき提供しているものすべてを、1つのキーの裏側でカタログ化しています。 Conduit は固定カタログではなく、そのつどの最新リストを取得します。
  3. 任意の OpenAI 互換エンドポイント。 専用アダプタのないベンダー、あるいは vLLM や SGLang のような self-hosted proxy には、OpenAI 互換プロバイダーをそのエンドポイントの base URL に向け、必要であればキーも設定してください。

Qwen の組み込みアダプタは既定で DashScope の国際エンドポイントを使い、Moonshot は既定で api.moonshot.ai を使います。別のリージョンが必要な場合は、どちらも変更できます。

キーボードショートカット

Windows と Linux では ⌘ の代わりに Ctrl を使います。

ショートカット操作
⌘Kコマンドパレット - 検索、コマンド、モデル、成果物
⌘1–⌘9ホーム、チャット、アプリ、スライド、ドキュメント、ライブラリ、ワークフロー、コネクタ、記憶へ移動
⌘N新しい会話
⌘,Settings
⌘/このショートカット一覧を開く
⌘\サイドバーを切り替える
⌘Jドキュメントパネルを切り替える
⌘⇧E成果物パネルを拡大する、またはレイアウトを元に戻す
⌘⇧Pプロバイダーを切り替える
⌘⇧Wこのターンの web search を切り替える
⌘⇧Fこの位置で会話を fork する
⌘⇧C直前のアシスタントメッセージをコピーする
Escパネルを閉じる、または実行中の応答を止める

コマンドパレットはモーダルです。コマンドは >、成果物は @、 モデルは /、プレーンテキストはこれまで送信した全メッセージの検索として扱われます。 Settings にも専用の検索欄が上部にあり、セクションをたどらなくても設定名から直接ジャンプできます。

ツールとコネクタ

組み込みツール

以下は設定なしで使えます。

ツールは、読み取り専用と印が付いていない限り、実行前に確認を求めます。組み込みの読み取り専用ツールは 自動で実行され、コネクタのツールはサーバーが読み取り専用と印を付けている場合に限って自動で実行されます。 それ以外のツールは実行前に確認を求めます。web search は既定で無効になっており、 初回に同意を求めます。hosted search は Anthropic、OpenAI、Gemini の公式エンドポイントでのみ動作し、 プロバイダーにカスタム base URL を設定すると上記のローカル backend にフォールバックします。ローカルの検索 backend へのクエリはそのサービスに送られます。既定の Exa は、独自の規約に従ってクエリを保持する場合があります。

モデルのページ取得が届くのは公開された https サイトだけです。localhost や自分のネットワーク内のアドレスには届かず、リダイレクトもすべて確認されます。生の HTML ではなく、ページのタイトルと読みやすいテキストを返し、20 MB までの PDF も読めます。テキストのないスキャン PDF は、読む内容のないページとして扱われます。

MCP コネクタ

Conduit は Model Context Protocol サーバーを supervised connector として実行します。 コネクタページでローカルプロセスの command と引数を設定するか、 streamable HTTP を話すリモート MCP エンドポイントを指定してください。

コネクタのツールが確認なしで実行されるのは、サーバーがそれを読み取り専用としている場合(標準の readOnlyHint、または Conduit 独自の permissionLevel フィールド)だけです。それ以外のツールは先に確認を求め、承認は 1 つのチャット限り、または常にと記憶させることもできます。1.0.0-rc.6 より前は、サードパーティのサーバーの多くでツールが確認なしで実行されていたため、すでに使っているコネクタで、これまで黙って実行されていたツールの確認が表示されることがあります。

runtime はクラッシュしたローカルサーバーを backoff 付きで再起動し、5 分間に最大 3 回までに制限します。 同時実行数も制御し、個々の呼び出しには 30 秒のタイムアウトを適用します。ツール出力はモデルに渡る前に サイズ上限とマスキングを行い、さらに構造的なガードによって、ツール結果を命令として再生する 標準的な prompt injection 経路を防ぎます。

Transport: 現在対応しているのはローカル stdio とリモート streamable HTTP です。 旧来の HTTP+SSE には対応していません。

composer では、コネクタのツールだけでなく prompt や resource も呼び出せます。prompt picker は prompt が宣言する引数を埋めたうえで composer に差し込み、編集してから送信できます。resource picker が 添付する内容は次のメッセージにのみ適用されます。同意はコネクタごとに1回求められ、指示を紛れ込ませようとする resource は静かに従うのではなく、拒否されたうえでその名前が示されます。

自分のマシンでサーバーをつなぐのはドキュメントの問題です。そのサーバーを顧客の前に置くこと——JSON 設定なしで、Claude Desktop の中に現れることなく——は別の問題です。MCP サーバーを顧客にデモする方法 では、ホスト型チャット、Claude Desktop と設定ファイル、そしてデスクトップクライアントの配布を比較しています。

エージェントループ

モデルがツールを呼ぶと、Conduit はそのツールを実行し、同じターンの中で結果をフィードバックして 次のラウンドへ進めます。上限は Settings → Agent で制御できます。最大 step 数は 1〜50、 wall-clock の予算は 30 秒から 30 分です。チャット UI は単なるスピナーではなく、思考、 ツール呼び出し、テキストが複数ラウンドにわたって実際に起きた順序で並ぶライブの progress timeline を 経過時間つきで表示し、ラウンドが止まっているときはその旨も示します。

成果物

長めの出力、たとえばドキュメント、スクリプト、小さな web ページは、メッセージ欄を埋める代わりに 会話の横のパネルで開きます。Conduit はテキスト、構文ハイライト付きコード、折りたたみ可能な JSON ツリー、Markdown(Mermaid 図表や KaTeX 数式を含む)、そして interactive HTML を表示できます。

interactive HTML は、スクリプトのみ許可された sandboxed frame 内で実行されます。same-origin access、 popup、トップレベル navigation はできません。form は機能します — Conduit がページへ submit イベントを渡すだけで、送信しても何かがどこかへ送られることはありません。挿入される content policy で connect-src 'none' が設定されるため、ページは自分で fetch もソケットの接続もできず、 Conduit はそのページを専用の sandboxed アドレスから配信します。ページがアプリ自身のコマンドを 呼び出すことはできません。例外が 1 つあり、これは macOS の既知の問題です。macOS では、ページのスクリプトが WebRTC 接続を開けてしまい、content policy はこれをカバーしません。 Windows と Linux では webview 側でブロックされます。特定の host から画像や font を読み込みたい場合は、設定 → プライバシーと データ内のアーティファクトのセキュリティで自分で範囲を広げられます。

為替レートや天気のような live data が必要なページは、それでもリクエストできます。その fetch() 呼び出しは Conduit へ渡され、初めて接続する各サイトについてバナーが その名前を示して保留します。そのサイトを一度だけ許可する、このページでは常に許可する、 許可しない、あるいはページが任意の公開サイトへ接続できるようにする、のいずれかを選べます。 その上でリクエストを実際に行うのは Conduit 自身です — https のみ、cookie も認証情報も送らず、 ローカルアドレスやプライベートアドレスへは接続せず、タイムアウトは 20 秒、応答は 5 MB まで、 ページあたり毎分 120 リクエストまでという制限つきです。ページ上の globe ボタンからは、その ページが求めたすべてのサイトと行ったすべてのリクエストを確認できます。権限は 1 つのページに 紐づき、そのページを削除すれば一緒に消えます。ローカル専用モードはこれをすべて拒否し、同じ アーティファクトのセキュリティ設定にあるページのインターネット接続を許可を オフにしても同様に無効化されます。

会話に fenced code block を貼り付けると、Conduit はそれを成果物に昇格する提案を行います。 成果物はディスクへエクスポートでき、必要なら metadata sidecar も付けられます。

各成果物に保持される payload は常に 1 つだけです。バージョン履歴はありません。編集すると 内容はその場で置き換わるので、残しておきたいものは事前にエクスポートしてください。

ドキュメント

サイドバーの Documents でコレクションを作成し、ファイルを追加します。 対応形式はプレーンテキスト、Markdown、CSV、Word(.docx)、PDF です。ウィンドウの どこにでもファイルをドロップして追加できるほか、composer からコレクションを丸ごと 1つのチャットに添付することもできます。回答は根拠にしたファイルをクリック可能な チップとして示し、クリックすると該当箇所そのものを確認できます。

各コレクションは1つのプロバイダー — OpenAI、Gemini、OpenRouter、Ollama のいずれか — で embedding されます(Anthropic は embedding できません)。インデックス作成では ドキュメントの全文がそのプロバイダーへ送られるため、Conduit は初回に同意を求め、 プロバイダーごとにその回答を記憶し、後からドキュメントページで 撤回できます。Ollama を選べばデータはマシンの外へ出ません — ローカル専用モードでは この選択が強制されます。検索自体は hybrid で、同じローカル SQLite データベース上の vector 類似度検索とキーワード検索を組み合わせており、取得された passage はチャットに 応答するプロバイダーへも渡されます。

解析はすべてデバイス上で行われ、OCR は行いません。そのためテキストレイヤーのない スキャン PDF からは何も取得できません。その場合、空のドキュメントとして取り込む 代わりに Conduit がその旨を知らせます。

画像生成

OpenAI、Gemini、OpenRouter は会話内でそのまま画像を生成できます。各画像はプロバイダー 側で課金されるため、Conduit は最初の1枚を生成する前に一度だけ確認を求めます。画像生成に ついて話すだけではこの確認は発生しません。生成結果はプロバイダーからリンクされるのでは なく、成果物としてローカルに保存されるため、期限切れになりません。

パーソナルアプリ

残しておきたいページは、パーソナルアプリとして保存できます。ページの ⋯ メニューのアプリとして保存 を選ぶとコピーが作られ、レールのアプリ、または新規チャット画面の あなたのアプリから開けます。コピーはチャットを削除しても動き続けます。保存時には、 そのページのサイト権限のうちどれを残すかを 1 つずつ確認され、チェックを入れなかった権限は 引き継がれません。あとでチャット側のページが変わると、アプリには更新が表示されます。 8 つのスターターアプリが組み込まれています。アプリのページから追加するか、対応するアプリが あるアイデアでアプリを開くを押してください。

ページ(アプリでも、チャット内のページでも)は、さらに 3 つのことを宣言でき、そのたびに Conduit が 確認します。起動をまたいでデータを保持できます — 1 ページあたり最大 5 MB で、ほかのデータと 一緒に保存され、保存時の暗号化がオンなら暗号化されます。データを消去で削除できます。 都市名のような少数の設定を受け取ることもでき、Conduit が専用のフォームで尋ねて、実行中の ページを再読み込みせずに渡します。そして、そのページに許可した場合に限り、AI モデルに問い合わせられます。 プロンプトにはプロバイダー名が示され、テキストがデバイスの外へ出る場合はその旨が表示されます。 ページが受け取るのはテキストの入力と出力だけで、ツール、チャット履歴、記憶、ドキュメントは含まれません。

各パーソナルアプリには専用の設定ページがあります(アプリのヘッダーの歯車、または ⋯ → 設定)。どのモデルが応答するか、1 日あたりのトークン数とクラウドモデル向けの 1 日の上限(既定は 100,000。お使いのコンピューター上のモデルに上限はありません)、保存されたデータ(キーごとに表示、エクスポートと消去に対応)、使用を許可したサイトとプロバイダー、1 週間分の 1 行のアクティビティ記録が確認できます。プロンプト、応答、保存された値は記録されません。

スライド

ストーリーを伝えるか、どのチャットでもプレゼンテーションを頼むと、Conduit が承認用のストーリーラインを作成し、そこからひとつのライブのデッキを作ります。変更はそのデッキ自体を編集するので、コピーが増えることはありません。デッキは、中央に大きなスライド、横にチャットが並ぶスタジオで開きます。変更を頼むと、アシスタントは 1 枚のスライドだけを編集するか、デッキ全体で 1 つの単語を置き換えます。

スクリプトはデッキのすべての言葉を 1 つのドキュメントとして表示します。そこで入力するか、スライド上のテキストをダブルクリックして編集できます。自分で書いたテキストは、アシスタントがスライドを書き直しても、そのテキストの変更を頼まない限り保持されます。履歴は変更ごとに、依頼内容を名前にしたバージョンを残し、いつでも復元できます。テーマは 2 種類が組み込まれており、アシスタントがデザインしたテーマも使えます。

発表でデッキを全画面表示します。別ウィンドウの発表者ツール(現在と次のスライド、スピーカーノート、タイマー)は、スライドを共有している間も自分だけに表示されます。エクスポートでは、どのブラウザーでも自動で発表できる単一の HTML ファイル、または PDF(Windows のみ)を保存できます。スライドはローカルデータベースに項目を追加するため、スライド機能より前のリリースに戻すと空のデータベースで始まります(古いファイルはバックアップとして残ります)。

リサーチ

簡単な検索では足りない質問には、composer の + メニューでリサーチをオンにする(またはホームで選ぶ)だけで質問できます。web search がオンになっている必要があり、ローカル専用モードでは使えません。リサーチはローカルの検索 backend(Exa、Tavily、Brave、自分の SearXNG、DuckDuckGo)を使い、hosted search は使いません。検索クエリはそのサービスへ、ページのテキストは選んだチャットプロバイダーへ送られます。

概要(ブリーフ)。 何かを実行する前に、リサーチは概要を提案します。答える小さな問い(1〜6 個)、任意の範囲、そして深さです。あなたが編集して承認します。深さごとに、どこまで進めてよいかが決まります。

読むもの。 ページを全文で、3 件ずつ読みます。対象は web ページと 20 MB までの PDF で、解析はお使いのデバイス上で行います。スキャンした PDF にはテキストがなく、読む内容のないページとして扱われます。長いページや PDF では、モデルは全体ではなく、冒頭と質問に合致する部分を見ます。

引用のチェック。 モデルは主張を抜き出し、それぞれにページ上の根拠となる正確な文言を添えます。主張が有効になるのは、その引用(20 文字以上)が保存されたページのテキストの中に実際に見つかった場合だけで、この確認はモデルではなくアプリが行います。その後、まだ答えが出ていない点をもう一度検索し、ライターが確認済みの主張からレポートをまとめます。番号付きの引用と出典リストも、モデルではなくアプリが作ります。

レポート。 結果はチャットのドキュメントに保存される Markdown 文書です。要約、問いごとの発見、未解決の問い、番号付きの出典が入り、すべての発見に引用が付きます。チャットのカードには要約と、引用・閲覧した出典の数が表示され、レポートを開くボタンがあります。停止すると実行を終了し、それまでに見つかった内容は残ります。

ページは指示できません。 ページのテキストはツールのないモデル呼び出しにしか渡らないため、指示を紛れ込ませようとするページがあっても、検索・取得・保存をさせることはできません。リサーチのモデル呼び出しは、専用の非表示の会話の中で実行されます。

制限: 長いページではモデルが見るのは抜粋で、全体ではありません。スキャンした PDF にはテキストがありません。あなた自身のドキュメントは、まだ情報源になりません。思考型モデルは遅く、ディープは完了前に時間切れになることがあります。

ワークフロー

ワークフローページは、定型作業を代わりに実行します。ページの取得、ウェブ検索、モデルによる要約、質問の確認、結果のドキュメントとしての保存ができます。用意されたワークフロー(朝のブリーフィング、ページの要約、トピックの監視)から始めるか、手順エディターで自分用に作り、すぐに、またはスケジュール(毎日、平日の決まった時刻、数時間ごと)で実行できます。実行を開くと各手順が何をしたかを確認でき、手順を直したら、その手順から再実行できます(前の手順は実行し直されません)。

スケジュールをオンにすると、まずワークフローが自分だけで行ってよいこと(読み込むサイト、ウェブ検索、使用するモデル、ドキュメントの保存)が一覧表示され、承認を求められます。編集のあとなどにスケジュール実行がそれ以上を必要とする場合は、一時停止して確認します。1 回だけ許可、常に許可、許可しない、から選べます。各実行には時間とトークンの上限があり、実行中のものは停止できます。Conduit を閉じている間に逃した実行は、開いたときに 1 回だけ行われます。

ウィンドウを閉じていてもスケジュールを動かし続けるため、Conduit はトレイに常駐し、サインイン時にトレイで起動できます。どちらも既定ではオフで、トレイ常駐は初めてスケジュールをオンにしたときに 1 回だけ提案されます。

ホーム

Conduit は、レールの先頭にあるホームで開きます。1 つの入力ボックスで何でも始められます。プレゼンテーションを頼むとストーリーライン付きでスライドが開き、それ以外はチャットが始まります。その下で、要対応にはあなたの確認を待つワークフローの承認と質問、記憶の提案が並び(何もないときは非表示)、前回の続きからには最近のチャット、デッキ、アプリが表示されます。アプリの各エリアにはライブの件数付きのタイルがあり、空のエリアには試せる例が表示されます。

Ctrl+1 から Ctrl+9(macOS では ⌘)で、ホーム、チャット、アプリ、スライド、ドキュメント、ライブラリ、ワークフロー、コネクタ、記憶を開けます。コマンドパレットにも、それぞれの「移動」項目があります。

外観と言語

Conduit のデザインは 1 つで、2 つのモードがあります。設定 → 外観で、ダーク、ライト、 またはシステムに合わせるかを選び、メインカラー — ボタン、選択範囲、アクティブな項目のアクセント — をモードごとに別々に選べます。読みにくくなる色は受け付けられません。同じページで、UI のフォントサイズ、 表示密度、図のサイズも設定できます。

同じ Settings 画面で、Conduit が提供する8言語すべてについてインターフェースの言語を 設定できます。メニューやボタン、日付や数値の表記が変わりますが、アシスタントが返信する 言語は変わりません。

データの保存場所

Conduit はすべてのデータをプラットフォームごとの application data directory に保存します。 会話、メッセージ、prompt、使用量は SQLite データベースに、添付ファイルと成果物はハッシュで 重複排除されたコンテンツアドレス型の blob ストアに保存されます。

メッセージは append-only の event log と、それを元にした materialised view として書き込まれます。 そのため応答の途中でアプリが終了しても会話は復元できます。起動時には両者を突き合わせて調整します。

保存時のオプション暗号化として AES-256-GCM を Settings → Privacy & data で有効にできます。 マスターキーは OS のキーチェーンで wrap されます。デフォルトでは無効で、メッセージ内容はまだ対象外です。 現時点の対象範囲は プライバシーページ を確認してください。

トラブルシューティング

Windows でビルドに失敗する

ほとんどの場合は C++ toolchain の不足です。"Desktop development with C++" workload を含めて Visual Studio 2022 Build Tools をインストールし、その後 check-setup.ps1 で確認してください。

プロバイダーキーが保存されない

Conduit には動作する OS の認証情報ストアが必要です。headless もしくは最小構成の Linux では、 Secret Service が動いていない場合があります。keyring daemon を起動するか、環境変数経由でキーを渡す encrypted file-backed credential store を有効にしてください。

Ollama のモデルが表示されない

Ollama が起動しており、少なくとも1つモデルが pull 済みであること、そして Conduit に設定した base URL が Ollama の待ち受け port と一致していることを確認してください。

それ以外の問題

Settings → Diagnostics から diagnostics bundle を書き出し、issue に添付してください。 そこには secret、base URL、allowlist、会話内容は意図的に含まれず、生成前には内容の確認も求められます。

ソースを読む