Tailscaleロゴ

OpenCodeをApertureで使う

最終検証日:
翻訳: 竹洞 陽一郎

Aperture by Tailscaleは、現在ベータ版です。

OpenCodeを、Aperture by Tailscale経由でリクエストを送信するように設定すると、組織はAPIキーの一元管理、利用状況の追跡、セッションのロギングを得られます。

前提条件

始める前に、次のものが必要です。

予期しない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インスタンスに向けます。

  1. OpenCodeの設定ファイルを開くか、作成します。
    このファイルは通常 opencode.json という名前で、ホームディレクトリ、またはOpenCodeを実行するディレクトリに置かれています。
    詳細は、OpenCodeの設定ドキュメントを参照してください。
  2. 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 のブロックを省略します。
  3. ファイルを保存します。

認証を設定する

OpenCodeは、各プロバイダーに認証エントリを必要とします。
設定した各プロバイダーに、プレースホルダの値を設定します。

Apertureは、Tailscaleのアイデンティティを通じてユーザーを識別し、リクエストを転送する際に本物のAPI認証情報を注入します。
プレースホルダの値が、プロバイダーへ送信されることはありません。

  1. OpenCodeの認証ファイルを開くか、作成します。
  2. 次のプレースホルダのキーを追加します。
    {
      "anthropic": {
        "type": "api",
        "key": "-"
      },
      "openai": {
        "type": "api",
        "key": "-"
      }
    }
    ダッシュ文字(-)が、OpenCodeの認証チェックを満たします。
  3. ファイルを保存します。

あるいは、OpenCode内で /connect を実行し、各プロバイダーで「Manually enter an API Key(手動でAPIキーを入力)」を選択して、プレースホルダのキーを対話的に入力することもできます。

接続を確認する

  1. OpenCodeでテストメッセージを送信します。
  2. Apertureダッシュボード(http://<aperture-hostname>/ui/)を開き、「ログ(Logs)」ページにそのリクエストが表示されることを確認します。

リクエストが表示されない場合は、Apertureのトラブルシューティングガイドを参照してください。

次のステップ