すべてのページ
このページの内容

初回起動

oar コマンドをインストールしたら(インストールを参照)、会話を始めるまでに必要なことは 3 つです。リレーに設定ファイル(ポート、接続できる相手、アクセストークン)が必要で、リレーが実行中である必要があり、ブラウザーがトークンでサインインする必要があります。このページでは、この順に説明します。

セットアップ #

oar setup は設定ファイルを書き込みます。設定ファイルは OAR の状態フォルダー(macOS と Linux では ~/.oar、Windows では %APPDATA%\oar。環境変数 OAR_STATE_ROOT で場所を変えられます)にある config.json です。設定するのは次の 3 つで、Windows では自動起動も設定します。

設定 意味 新しい設定ファイルでの既定値
アクセストークン すべてのブラウザーがサインインに使う秘密の値です。 自動で生成されるランダムな値。
アクセス This machine only(このマシンのみ)または LAN(ネットワーク上の他のデバイス)。 このマシンのみ。
ポート リレーが待ち受けるポートです。 3333、または 3333 以降で最初に空いているポート。
自動起動(Windows) 0.9.15 で追加 リレーが自動で起動するかどうか:サインイン時、誰かがサインインする前の起動時、または起動しない。設定ファイルには含まれません。 現在有効なモード。新規インストールではオフ。

macOS と Linux のインストーラーは、すでに oar setup --defaults --start を実行しているため、これらの既定値でリレーが動作しており、インストーラーがそのアドレスを表示しています。Windows のインストーラーは最後に oar setup を実行します。これは下記の質問をしますが、リレーは起動しません。続けて oar start を実行してください。npm install -g で手動インストールした後は、自分で oar setup を実行し、続けて oar start を実行します。

ターミナルでは、oar setup は 3 つの質問をし、毎回現在の値を表示するため、Enter を押すとその値のままになります。0.9.15 で追加 Windows では 4 つ目として、リレーの起動方法(自動起動)を尋ねます。

New auth token? It signs every device out.
Access: 1 = this machine only, 2 = LAN (other devices on your network) [1]:
Port [3333]:
Autostart: 1 = at sign-in, 2 = at boot, before anyone signs in (one administrator prompt), 3 = off [3]:

At boot(起動時)では、PC で管理者の確認を 1 回求められます。確認を拒否しても何も変わらず、セットアップは設定ファイルを書き込みます。

選ぶポートは空いている必要があります。セットアップは、別のプログラムが使っているポート、WSL では Windows が使っているポートを受け付けません。--port を指定した場合は停止し、質問の場合はもう一度尋ねます。同じインストールのリレーは、自分のポートをそのまま使えます。

セットアップはオプションも受け付けます。--port、--lan、--local、--new-token、--autostart のいずれかを指定すると、セットアップは何も尋ねません。指定しなかった項目は現在の値のままです。

オプション 動作
--port <port> このポートを使います(1 から 65535 までの数)。
--lan ネットワーク上の他のデバイスからリレーに接続できるようにします。
--local リレーをこのマシンからのみ使えるようにします。--lan とは併用できません。
--new-token アクセストークンを置き換えます。サインインしていたすべてのブラウザーがサインアウトされます。
--autostart signin|boot|off 0.9.15 で追加 oar autostart と同じように、リレーの自動起動の方法を切り替えます。グローバルインストールのみです。
--defaults 何も尋ねません。既存の設定ファイルはそのまま保たれ、新しい設定ファイルはこのマシンのみ、3333 以降で最初に空いているポートになります。
--start リレーも起動します。systemd のユーザーセッションがある Linux では、ログインのたびにリレーを起動するサービスもインストールします。インストーラーはこのオプションを使います。
--migrate-from <dir> 名前の変更より前の、OAR の古い git チェックアウト向けです。<dir> にあるチェックアウトのリレーの状態を、OAR の状態フォルダーにコピーします。チェックアウト自体は変更されません。そこからリレーがまだ動作している間は拒否されます。フォルダーを指定するたびに実行されます。すでに移行済みのものはその旨を表示するだけで、移行するものがないものはエラーになります。古いインストールの移行を参照してください。

リレーが動作中にトークン、ポート、アクセスを変更すると、セットアップは変更を反映するためにリレーを再起動します。ターミナルでは先に The relay is running. Restart it now to apply the change?(リレーは実行中です。変更を適用するために今すぐ再起動しますか?)と確認します。--defaults を指定した場合やターミナルがない場合は、すぐに再起動します。「いいえ」と答えると、動作中のリレーは oar restart まで以前の設定のままです。

最後に、セットアップはリレーのアドレスを表示し、スマートフォンから接続できる場合は QR コードも表示します(スマートフォンからを参照)。

起動と停止 #

ターミナルで引数なしで oar を実行すると、メニューが表示されます。リレーの状態(実行中か停止中か、バージョン、アドレス、ポート、アクセス、サービス)を示すヘッダーと、コマンドごとの項目があります。矢印キーまたは数字と Enter で操作し、q で終了します。ターミナル以外では、oar は代わりに状態と使い方を表示します。

最初に必要なコマンドは次のとおりです。

コマンド 動作
oar start リレーをバックグラウンドで起動し、アドレスを表示します。すでに動作中のリレーには何もしません。
oar status リレーが動作中かどうか、どのポートで、どのアクセスで動作しているかを表示します。終了コードは、リレーが動作中なら 0、動作していなければ 3 です。
oar url トークン付きのアドレスをもう一度表示し、スマートフォンで使える場合は QR コードも表示します。
oar stop リレーを停止します。実行中のターンがなくなるまで待ちます。
oar restart リレーを再起動します。こちらも実行中のターンを待ちます。

oar start は次のような行を表示します。

[oar] Relay URL: http://localhost:3333/?token=<your token>

このアドレスはパスワードと同じように扱ってください。トークンが含まれています。アクセスがこのマシンのみに設定されている場合は、2 行目でその旨が表示され、スマートフォンから接続する 2 つの方法(LAN アクセスまたはトンネル)が示されます。

リレーを開く #

リレーを実行しているマシンのブラウザーで、表示されたアドレスを開きます。?token= の部分でサインインします。その後、リレーは 30 日間有効な Cookie でブラウザーのサインインを保ち、ブラウザーのアドレスバーからはトークンが消えます。Cookie は HttpOnly で、HTTPS でリレーに接続した場合は Secure も付きます。

アドレスにトークンがない場合、リレーは Enter your access token to connect(接続するにはアクセストークンを入力してください)と表示するサインイン欄を表示します。トークンを貼り付けて Connect(接続)を押します。間違ったトークンでは Invalid token(無効なトークン)と表示されます。

スマートフォンから #

同じネットワーク上のスマートフォンや別のコンピューターから使うには、LAN アクセスを有効にします。

oar setup --lan

リレーが動作中なら、セットアップはリレーを再起動します(ターミナルでは先に確認します)。localhost の代わりにマシンのネットワークアドレスを使ったアドレスが、QR コードと一緒に表示されます。スマートフォンでスキャンしてください。後から oar url で同じアドレスとコードを表示できます。QR コードは、リレーに LAN アクセスがあり、マシンにネットワークアドレスがある場合にだけ表示されます。LAN アクセスが有効でもネットワークアドレスがない場合は、コマンドがその旨を表示します。既定のネットワーク設定の WSL では、アドレスが WSL の内部のものになり、他のデバイスからは接続できないため、セットアップはコードを表示しません。トンネルを使うか、WSL をミラーモードのネットワーク(.wslconfig の networkingMode=mirrored)に切り替えてください。

アドレスはただの http です。自分のネットワークの外から使うには、HTTPS を付け加える OAR のトンネルのいずれかを使ってください(ネットワークの外からを参照)。

トークンをなくしたとき #

oar url は、現在のトークンを含むアドレスを表示します。新しいトークンにしたい場合は、oar setup --new-token を実行します。新しいトークンを書き込んでリレーを再起動し(ターミナルでは先に確認します)、サインインしていたすべてのデバイスは新しいアドレスでサインインし直す必要があります。

最初の画面 #

最初の画面は、空の会話ビューです。表示される内容はリレーの状態によって変わります。

  • プロバイダーの準備ができていないときは Set up a provider(プロバイダーを設定)。Open Settings(設定を開く)と + New chat(新しいチャット)が表示されます。既定のプロバイダーは GitHub Copilot で、リレーのホストにサインイン済みの Copilot CLI が必要です。その他のプロバイダーは Settings → Providers(設定 → プロバイダー)で有効にします。それぞれに必要なものはプロバイダーの概要に書かれています。
  • プロバイダーの準備ができているときは Start your first chat(最初のチャットを始めましょう)。+ New chat がメインのボタンです。

⚙️ Settings は会話の上部の ⋯ メニューにあり、空の画面にもそのためのボタンがあります。幅の狭い画面では、☰ ボタンで会話リストが表示されます。

サイドバーの + New Chat を押すと、プロバイダー、モデル、作業フォルダーを選ぶダイアログが開きます。各項目の説明は会話を始めるにあります。

動かし続ける #

oar start は、停止するかマシンが再起動するまでリレーを動かします。ログインのたびに起動するには、oar service install で設定します。これは systemd のユーザーセッションがある Linux と Windows で使え、メニューにも項目があります。0.9.15 で追加 Windows では、oar autostart boot を使うと、代わりに誰かがサインインする前の起動時にリレーを起動します。macOS ではまだ使えないため、oar start でリレーを起動してください。

ネットワークの外から #

OAR には、ネットワークの外から HTTPS でリレーに接続するためのトンネル機能が組み込まれています。Cloudflare Tunnel と SSH トンネルです。先に OAR が公開するものを読んでください。

起動しないとき #

表示される内容 対処
oar start からの Port 3333 is in use by another program (or by a relay with another token). 別のプログラムがポートを使っているか、以前のトークンのリレーがまだ動作しています。メッセージは oar setup --port <port> を提案します。
oar status、oar stop、oar restart からの Port 3333 is held by another program, or by a relay with another token. 原因は同じです。このインストールのリレーが動作しているように見える場合、oar stop と oar restart はそのプロセス ID を含む 2 行目を表示します。その Web UI の ⋯ メニューにある 🌄 Restart web relay(Web リレーを再起動)で再起動するか、そのプロセスを終了してから、oar start を実行してください。oar status はこのヒントを表示しません。
oar setup からの Port 3333 is in use by another program. 原因は同じです。セットアップは別のポートを尋ねるか、--port を指定した場合は別のポートを選ぶよう表示します。
The relay did not come up — see …/server-err.log リレーは起動しましたが、終了しました。メッセージは OAR の logs フォルダー内のログファイルを示しているので、最後の数行を読んでください。oar doctor は、使用中のインストール、状態フォルダー、設定ファイルを表示します。
手動で起動したサーバーが、Relay already running(リレーはすでに実行中です)または Relay appears to be owned by another live process(リレーは別の稼働中のプロセスが所有しているようです)ですぐに終了する 1 つのデータフォルダーで動作できるリレーは 1 つだけです。メッセージはそのターミナル、または oar が起動した場合は server-err.log に表示され、ロックを持っているリレーのプロセス ID とロックファイルが示されます。0.9.14 で追加 メッセージの最後には対処法(oar stop, or end process <pid>)が表示され、リレーはコード 78 で終了します。oar stop でそのリレーを停止してから、もう一度起動してください。データフォルダーごとに 1 つのリレーを参照してください。
WSL:Windows のブラウザーに別のページが表示される、またはトークンが拒否される WSL の既定のネットワーク設定では、ディストリビューション内でポートが空いていても Windows のプログラムがそのポートで待ち受けていることがあり、その場合 Windows のブラウザーの localhost:<port> はそのプログラムに接続します。oar setup は両側で空いているポートを選び、oar status、oar start、oar doctor は Windows がポートを使っているときに警告します。oar setup --port <port> で別のポートを選んでください。
サインイン欄の Invalid token 現在のトークンを表示する oar url のトークンを使ってください。--new-token の後や、設定ファイルでトークンを変更した後は、古いアドレスは使えなくなります。
The relay runs with its earlier settings; restart it to apply the new ones. リレーの動作中にトークン、ポート、アクセスを変更しました。oar restart で反映されます。