OpenCodeをApertureで使う
最終検証日:
翻訳: 竹洞 陽一郎
Aperture by Tailscaleは、現在ベータ版です。
OpenCodeを、Aperture by Tailscale経由でリクエストを送信するように設定すると、組織はAPIキーの一元管理、利用状況の追跡、セッションのロギングを得られます。
前提条件
始める前に、次のものが必要です。
- 少なくとも1つのAIプロバイダー(AnthropicやOpenAIなど)が設定済みで、お使いのデバイスからアクセスできるApertureインスタンス。まだ設定していない場合は、Apertureを使い始めるを参照してください。
- お使いのデバイスからアクセスできるApertureのホストURL。
https://ではなくhttp://を使用します。 - お使いのデバイスにインストールされたOpenCode。
予期しないTLSの問題を避けるため、LLMクライアントを設定する際は、ApertureのURLにhttp://を使用してください。
HTTPSを使わない場合でも、すべての接続はWireGuardによって暗号化されたままです。
Apertureは、LLMクライアントではなくモデル名に基づいてリクエストをルーティングします。
Apertureを使うように設定したLLMクライアントであれば、管理者が設定したどのプロバイダーにもアクセスできます。
サポートされるプロバイダーとAPI形式の完全な一覧については、プロバイダー互換性リファレンスを参照してください。
OpenCodeを設定する
OpenCodeでは、2つの設定変更が必要です。
1つはApertureを指すようにベースURLを設定すること、もう1つは各プロバイダーにプレースホルダのAPIキーを指定することです。
ベースURLを設定する
OpenCodeの設定ファイルで、各プロバイダーのベースURLを設定して、OpenCodeをApertureインスタンスに向けます。
-
OpenCodeの設定ファイルを開くか、作成します。
このファイルは通常opencode.jsonという名前で、ホームディレクトリ、またはOpenCodeを実行するディレクトリに置かれています。
詳細は、OpenCodeの設定ドキュメントを参照してください。 -
Apertureを各プロバイダーのベースURLとして設定するために、次の構成を追加します。
{ "$schema": "https://opencode.ai/config.json", "provider": { "anthropic": { "options": { "baseURL": "http://<aperture-hostname>/v1" } }, "openai": { "options": { "baseURL": "http://<aperture-hostname>/v1" } } } }<aperture-hostname>は、自分のApertureのホスト名に置き換えてください。ts-unplug経由で接続する場合は、代わりにhttp://localhost:<port-number>を使用します。
Apertureで設定済みのプロバイダーのみを含めてください。たとえば、Anthropicのみを設定している場合は、openaiのブロックを省略します。 - ファイルを保存します。
認証を設定する
OpenCodeは、各プロバイダーに認証エントリを必要とします。
設定した各プロバイダーに、プレースホルダの値を設定します。
Apertureは、Tailscaleのアイデンティティを通じてユーザーを識別し、リクエストを転送する際に本物のAPI認証情報を注入します。
プレースホルダの値が、プロバイダーへ送信されることはありません。
- OpenCodeの認証ファイルを開くか、作成します。
-
次のプレースホルダのキーを追加します。
{ "anthropic": { "type": "api", "key": "-" }, "openai": { "type": "api", "key": "-" } }ダッシュ文字(-)が、OpenCodeの認証チェックを満たします。 - ファイルを保存します。
あるいは、OpenCode内で /connect を実行し、各プロバイダーで「Manually enter an API Key(手動でAPIキーを入力)」を選択して、プレースホルダのキーを対話的に入力することもできます。
接続を確認する
- OpenCodeでテストメッセージを送信します。
- Apertureダッシュボード(
http://<aperture-hostname>/ui/)を開き、「ログ(Logs)」ページにそのリクエストが表示されることを確認します。
リクエストが表示されない場合は、Apertureのトラブルシューティングガイドを参照してください。
次のステップ
- ユーザーにモデルへのアクセスを許可する: 各ユーザーまたはグループが、Apertureを通じてどのモデルにアクセスできるかを制御します。
- 利用状況ダッシュボードを表示する: 組織全体のトークン消費、コスト、セッションの活動を監視します。
- ユーザーごとの支出上限を設定する: クォータバケットを設定して、個々のユーザーのコストを制御します。