> ## Documentation Index
> Fetch the complete documentation index at: https://cli.fuxicode.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Hubungkan Fuxi Code ke gateway LLM

> Arahkan Fuxi Code ke gateway LLM organisasi Anda. Periksa apakah admin Anda sudah mengonfigurasinya, atau atur URL dasar dan kredensial sendiri untuk CLI, VS Code, GitHub Actions, dan Agent SDK, kemudian verifikasi koneksi dan perbaiki kesalahan gateway.

[Gateway LLM](/id/llm-gateway) adalah proxy yang dijalankan organisasi Anda antara Fuxi Code dan penyedia model. Ketika organisasi Anda menggunakan satu, Fuxi Code melakukan autentikasi ke gateway dengan kredensial yang dikeluarkan organisasi Anda, bukan login fuxi.ai pribadi Anda.

Halaman ini untuk pengembang yang menjalankan Fuxi Code melalui gateway yang dioperasikan organisasi mereka. Ini mencakup dua jalur: [memeriksa apakah administrator Anda sudah mengonfigurasinya untuk Anda](#check-for-an-existing-configuration), dan [mengonfigurasinya sendiri](#configure-fuxi-code-yourself) ketika mereka belum.

<Note>
  * Untuk menerapkan gateway untuk organisasi Anda, lihat [Luncurkan gateway LLM](/id/llm-gateway-rollout)
  * Untuk apa yang Fuxi Code kirim ke gateway, lihat [referensi protokol gateway](/id/llm-gateway-protocol)
</Note>

<h2 id="check-for-an-existing-configuration">
  Periksa konfigurasi yang ada
</h2>

Administrator dapat mendistribusikan alamat gateway dan kredensial melalui [pengaturan terkelola](/id/settings#settings-files), manajemen perangkat, atau [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), sehingga Fuxi Code mengambilnya saat startup tanpa apa pun yang perlu Anda atur. Untuk memeriksa apakah organisasi Anda sudah melakukan ini:

<Steps>
  <Step title="Mulai Fuxi Code">
    Jalankan `fuxi`. Jika membuka ke layar login alih-alih sesi, tidak ada kredensial gateway yang didistribusikan; [konfigurasikan sendiri](#configure-fuxi-code-yourself) di bawah.
  </Step>

  <Step title="Periksa tab Status">
    Jika Fuxi Code memulai sesi tanpa menampilkan layar login, jalankan `/status`, buka tab **Status**, dan periksa dua baris:

    * `Anthropic base URL`: baris ini hanya muncul ketika alamat gateway diatur. Jika tidak ada, Fuxi Code tidak menunjuk ke gateway; [konfigurasikan sendiri](#configure-fuxi-code-yourself) di bawah.
    * `Auth token` atau `API key`: baris yang menamai `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, atau `apiKeyHelper` mengonfirmasi kredensial gateway aktif. Baris `Login method` yang menamai akun fuxi.ai sebagai gantinya berarti kredensial tidak didistribusikan; [aturnya sendiri](#set-the-credential-variable).
  </Step>

  <Step title="Kirim pesan uji">
    Tutup menu `/status` dan kirim prompt apa pun di Fuxi Code. Respons normal dari Fuxi, tanpa kesalahan, mengonfirmasi koneksi gateway berfungsi.
  </Step>
</Steps>

Jika kedua baris di menu `/status` terlihat benar tetapi pesan ke Fuxi gagal, lihat [tabel pemecahan masalah](#troubleshoot-gateway-errors).

<h2 id="configure-fuxi-code-yourself">
  Konfigurasikan Fuxi Code sendiri
</h2>

Untuk mengonfigurasi Fuxi Code untuk gateway sendiri, Anda memerlukan dari tim gateway Anda:

* URL dasar gateway
* Kredensial: string kunci atau token, atau perintah yang mengambilnya
  * Jika tim gateway Anda tidak mengatakan jenis kredensial apa itu, bagian [variabel kredensial](#set-the-credential-variable) di bawah mencakup apa yang harus dicoba

Bagian di bawah mencakup konfigurasi secara berurutan:

* [Atur variabel kredensial](#set-the-credential-variable) dan [atur URL dasar](#set-the-base-url-and-credential): dua variabel yang setiap koneksi gateway butuhkan
* [Verifikasi koneksi](#verify-the-connection): konfirmasi berfungsi sebelum menyimpan apa pun
* [Konfigurasikan setiap permukaan](#configure-each-surface): jika Anda menggunakan permukaan selain CLI Fuxi Code, seperti VS Code, lihat cara mengonfigurasinya dengan kredensial gateway Anda
* [Konfigurasi tambahan](#additional-configuration): variabel yang beberapa gateway butuhkan di luar URL dasar dan kredensial, seperti header khusus, pembantu kredensial, penemuan model, atau URL dasar format penyedia. Atur ini hanya jika administrator Anda menamakannya

<h3 id="set-the-credential-variable">
  Atur variabel kredensial
</h3>

Untuk melakukan autentikasi Fuxi Code ke gateway, atur kredensial Anda dalam variabel lingkungan. Variabel mana tergantung pada apa yang diberitahu tim gateway Anda:

| Atur kredensial di                                      | Gunakan ketika                                                         |
| :------------------------------------------------------ | :--------------------------------------------------------------------- |
| `ANTHROPIC_AUTH_TOKEN`                                  | Tim gateway Anda mengatakan "bearer token" atau "Authorization header" |
| `ANTHROPIC_API_KEY`                                     | Tim gateway Anda mengatakan "API key" atau "x-api-key"                 |
| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Kredensial berputar atau berasal dari vault                            |

Jika Anda tidak diberitahu jenis mana, gunakan `ANTHROPIC_AUTH_TOKEN`; [permintaan verifikasi](#verify-the-connection) di bawah menunjukkan cara mengetahui apakah Anda perlu beralih.

<h3 id="set-the-base-url-and-credential">
  Atur URL dasar dan kredensial
</h3>

Atur URL dasar gateway dan variabel kredensial yang Anda pilih di atas sebagai variabel lingkungan. Contoh menggunakan `ANTHROPIC_AUTH_TOKEN`; tukarnya dengan `ANTHROPIC_API_KEY` jika itu [variabel yang Anda pilih](#set-the-credential-variable). Anda dapat mengaturnya [di shell Anda](#set-as-shell-environment-variables), yang berlaku untuk satu sesi terminal, atau [di file pengaturan Fuxi Code](#set-in-a-settings-file), yang bertahan di mana pun Fuxi Code berjalan.

Untuk koneksi pertama Anda, mulai dengan ekspor shell dan jalankan [permintaan verifikasi](#verify-the-connection) sebelum memindahkan nilai ke file pengaturan.

<h4 id="set-as-shell-environment-variables">
  Atur sebagai variabel lingkungan shell
</h4>

Ganti nilai dengan yang diberikan tim gateway Anda:

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_BASE_URL=https://llm-gateway.example.com
    export ANTHROPIC_AUTH_TOKEN=sk-gateway-key
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"
    $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"
    ```
  </Tab>
</Tabs>

Ekspor shell hanya berlaku untuk sesi terminal itu dan program yang dimulai darinya; editor yang diluncurkan dari dock atau menu Start tidak akan melihatnya. Untuk membuatnya bertahan di terminal baru, tambahkan baris yang sama ke profil shell Anda, seperti `~/.zshrc`, `~/.bashrc`, atau `$PROFILE` PowerShell Anda, atau gunakan file pengaturan sebagai gantinya.

<h4 id="set-in-a-settings-file">
  Atur di file pengaturan
</h4>

Untuk membuat konfigurasi berlaku di mana pun Fuxi Code berjalan tanpa bergantung pada shell Anda, atur variabel di blok `env` dari [file pengaturan](/id/settings). File pengaturan memiliki cakupan berbeda:

* `~/.fuxi/settings.json` berlaku untuk semua proyek Anda. Di Windows jalurnya adalah `%USERPROFILE%\.fuxi\settings.json`
* `.fuxi/settings.local.json` berlaku untuk satu proyek. Fuxi Code menambahkannya ke gitignore Anda ketika membuat file; jika Anda membuatnya sendiri, tambahkan ke gitignore Anda secara manual terlebih dahulu sehingga Anda tidak secara tidak sengaja melakukan komit kredensial Anda

<Warning>
  Jangan letakkan kredensial di `.fuxi/settings.json` proyek. File itu dilakukan komit dan dibagikan dengan semua orang yang mengkloning repositori.
</Warning>

Blok `env` terlihat sama di kedua file:

```json theme={null}
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"
  }
}
```

Ketika ekspor shell dan blok `env` file pengaturan mengatur variabel yang sama, nilai file pengaturan berlaku. Jalankan `/status` untuk melihat URL dasar dan sumber kredensial mana yang digunakan Fuxi Code.

<h3 id="verify-the-connection">
  Verifikasi koneksi
</h3>

Dengan variabel yang diekspor di shell Anda, kirim permintaan satu token ke gateway secara langsung. Ini mengonfirmasi URL dan kredensial berfungsi sebelum Anda membuka Fuxi Code, sehingga kegagalan menunjuk ke gateway daripada konfigurasi Anda. Perintah di bawah membaca variabel shell, jadi mereka memerlukan [ekspor shell](#set-as-shell-environment-variables) bahkan jika Anda juga menempatkan nilai di file pengaturan.

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
      -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{"model": "fuxi-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `
      -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `
      -ContentType "application/json" `
      -Body '{"model": "fuxi-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'
    ```
  </Tab>
</Tabs>

Jika gateway Anda mengharapkan kunci di header `x-api-key`, ganti header `Authorization` dengan `x-api-key: $ANTHROPIC_API_KEY` di perintah Bash, atau entri hashtable `"Authorization"` dengan `"x-api-key" = "$env:ANTHROPIC_API_KEY"` di perintah PowerShell.

Respons JSON yang dimulai dengan `{"id":"msg_` dan menyertakan bidang `"content":[...]` berarti gateway dapat dijangkau dan kredensial berfungsi. Kesalahan yang menamai model yang tidak dikenal masih membuktikan URL dan kredensial berfungsi, karena gateway melakukan autentikasi permintaan sebelum menolak nama model; Anda tidak perlu menemukan model yang dilayani gateway Anda untuk tes ini. `401` berarti kredensial ditolak: jika Anda menebak variabel, beralih ke yang lain dan ekspor ulang.

<h4 id="confirm-in-fuxi-code">
  Konfirmasi di Fuxi Code
</h4>

Mulai `fuxi` dari shell yang sama sehingga mewarisi ekspor, kirim pesan, dan jalankan `/status`.

Di tab **Status**, baris `Anthropic base URL` harus menampilkan alamat gateway Anda, yang mengonfirmasi permintaan dirutekan ke sana; jika baris tidak ada, variabel tidak mencapai sesi. Baris `Auth token` atau `API key` yang menamai variabel yang Anda atur mengonfirmasi kredensial gateway aktif daripada login fuxi.ai yang disimpan.

Jika pesan gagal, atau `/status` tidak menampilkan URL gateway, lihat [tabel pemecahan masalah](#troubleshoot-gateway-errors) di bawah.

<h3 id="how-the-credential-variable-maps-to-a-header">
  Bagaimana variabel kredensial memetakan ke header
</h3>

Setiap variabel mengirim kredensial di header HTTP berbeda: `ANTHROPIC_AUTH_TOKEN` di `Authorization: Bearer`, `ANTHROPIC_API_KEY` di `x-api-key`, dan `apiKeyHelper` di keduanya. Kredensial dalam variabel yang salah mencapai gateway di header yang tidak dibacanya, dan permintaan gagal dengan `401`. Jika permintaan verifikasi mengembalikan `401`, beralih ke variabel lain dan coba lagi.

<h3 id="conflicts-with-an-existing-login">
  Konflik dengan login yang ada
</h3>

Variabel kredensial gateway mengambil alih login fuxi.ai yang disimpan atau kunci Console. Login fuxi.ai Anda tetap disimpan dan tidak digunakan sementara variabel diatur; batalkan pengaturan variabel dan Fuxi Code kembali ke itu. Dengan `ANTHROPIC_AUTH_TOKEN`, variabel mengambil alih segera. Dengan `ANTHROPIC_API_KEY`, Anda diminta sekali dalam mode interaktif untuk menyetujui kunci sebelum mengambil alih.

Jalankan `/status` untuk mengonfirmasi sumber kredensial mana yang aktif. Jika startup menampilkan peringatan konflik auth yang menamai dua sumber, lihat baris pertama [tabel pemecahan masalah](#troubleshoot-gateway-errors) untuk mengetahui mana yang harus dihapus. Untuk menghapus login yang disimpan sehingga hanya kredensial gateway yang tersisa, jalankan `/logout`.

<h2 id="configure-each-surface">
  Konfigurasikan setiap permukaan
</h2>

CLI membaca variabel lingkungan dan file pengaturan di atas. Permukaan lainnya adalah ekstensi VS Code, aplikasi desktop, GitHub Actions, Agent SDK, dan permukaan cloud seperti Slack dan web; bagian di bawah mencakup apakah pengaturan itu mencapai masing-masing.

<h3 id="vs-code-extension">
  Ekstensi VS Code
</h3>

Atur variabel gateway untuk [ekstensi VS Code](/id/vs-code) di `fuxiCode.environmentVariables`, di pengaturan pengguna VS Code sendiri yang dibuka dengan perintah **Preferences: Open User Settings (JSON)**. Ekstensi memeriksa kredensial dari pengaturan ini sebelum meluncurkan, jadi itu tempat yang andal untuk kredensial gateway; nilai di `~/.fuxi/settings.json` mencapai proses yang dihasilkan tetapi bukan pemeriksaan login ekstensi sendiri.

```json theme={null}
{
  "fuxiCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }
  ]
}
```

<h3 id="desktop-app">
  Aplikasi desktop
</h3>

Aplikasi desktop membaca perutean gateway dari [konfigurasi yang didistribusikan administrator](https://fuxi.com/docs/third-party/fuxi-desktop/gateway), bukan dari `ANTHROPIC_BASE_URL` atau `settings.json`. Jika organisasi Anda telah mendistribusikannya, aplikasi desktop merutekan melalui gateway tanpa pengaturan di pihak Anda; jika tidak, gunakan CLI terminal atau ekstensi VS Code untuk sesi gateway. Administrator mendistribusikan konfigurasi seperti yang dijelaskan dalam [peluncuran organisasi](/id/llm-gateway-rollout#distribute-through-managed-settings).

Jika aplikasi desktop menampilkan `Gateway was unreachable`, aplikasi tidak dapat menjangkau URL dasar yang dikonfigurasi saat startup; periksa URL dan jalur jaringan dengan [tes curl di atas](#verify-the-connection).

<h3 id="github-actions">
  GitHub Actions
</h3>

[Fuxi Code GitHub Actions](/id/github-actions) membaca `ANTHROPIC_BASE_URL` dan `ANTHROPIC_CUSTOM_HEADERS` dari blok `env` alur kerja. Teruskan kredensial sebagai input `anthropic_api_key` tindakan; tindakan mengaturnya sebagai `ANTHROPIC_API_KEY`, sehingga mencapai gateway di header `x-api-key`.

Untuk gateway `x-api-key`, atur URL dasar di `env` dan teruskan kunci gateway sebagai input:

```yaml theme={null}
env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com

steps:
  - uses: anthropics/fuxi-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}
```

Untuk gateway bearer-token, teruskan rahasia yang sama dua kali: sebagai input `anthropic_api_key` dan sebagai `ANTHROPIC_AUTH_TOKEN` di blok `env` alur kerja. Tindakan memerlukan `anthropic_api_key`, `FUXI_CODE_OAUTH_TOKEN`, atau federasi identitas beban kerja sebelum meluncurkan Fuxi Code, dan tidak membaca `ANTHROPIC_AUTH_TOKEN`, jadi input hanya ada untuk memenuhi pemeriksaan peluncuran itu. Variabel env adalah yang menempatkan kunci di header `Authorization` yang dibaca gateway; salinan di `x-api-key` diabaikan:

```yaml theme={null}
env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com
  ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

steps:
  - uses: anthropics/fuxi-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}
```

Untuk opsi autentikasi lain tindakan, termasuk `FUXI_CODE_OAUTH_TOKEN` dan federasi identitas beban kerja, lihat [Fuxi Code GitHub Actions](/id/github-actions) dan [README](https://github.com/anthropics/fuxi-code-action#readme) tindakan.

<h3 id="agent-sdk">
  Agent SDK
</h3>

[Agent SDK](/id/agent-sdk/overview) tidak memiliki opsi khusus gateway; itu melewatkan variabel lingkungan ke proses Fuxi Code yang dihasilkannya. Setiap SDK menerima opsi `env` yang mengatur lingkungan proses yang dihasilkan, dan SDK TypeScript dan Python memperlakukannya berbeda:

* TypeScript: proses yang dihasilkan mewarisi lingkungan induk secara default, tetapi pengaturan `options.env` mengganti lingkungan sepenuhnya. Sebarkan `process.env` ke dalamnya untuk menyimpan variabel gateway Anda.
* Python: `FuxiAgentOptions(env=...)` menggabungkan di atas lingkungan yang diwarisi, jadi variabel gateway yang diatur dalam proses induk membawa tanpa penyebaran.

<CodeGroup>
  ```ts TypeScript theme={null}
  const result = query({
    prompt: "...",
    options: {
      env: {
        ...process.env,
        ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",
        ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,
      },
    },
  })
  ```

  ```python Python theme={null}
  options = FuxiAgentOptions(
      env={
          "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
          "ANTHROPIC_AUTH_TOKEN": os.environ["GATEWAY_KEY"],
      }
  )
  ```
</CodeGroup>

<h3 id="slack-web-and-remote-control">
  Slack, web, dan Remote Control
</h3>

[Fuxi Code di Slack](/id/slack) dan [Fuxi Code di web](/id/fuxi-code-on-the-web) adalah produk yang dihosting Anthropic yang selalu menggunakan API Anthropic; mereka bukan bagian dari penerapan gateway. Variabel gateway yang diatur dalam konfigurasi lingkungan sesi cloud tidak diterapkan. Jika lalu lintas Anda harus tetap di gateway, jangan aktifkan permukaan ini untuk pengguna tersebut.

[Remote Control](/id/remote-control) dan [voice dictation](/id/voice-dictation) keduanya mengandalkan identitas fuxi.ai: Remote Control untuk memasangkan sesi langsung dengan akun Anda, dan voice dictation untuk menjangkau titik akhir transkripsi fuxi.ai. Mereka tidak tersedia sementara `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper` aktif. {/* min-version: 2.1.196 */}Mulai dari v2.1.196, Remote Control juga dinonaktifkan sementara `ANTHROPIC_BASE_URL` menunjuk ke host non-Anthropic, jadi masuk dengan fuxi.ai saja tidak cukup.

Untuk mengembalikan salah satu fitur, masuk dengan fuxi.ai dan batalkan pengaturan variabel gateway yang diperiksa. Bagian Remote Control dari `fuxi doctor` menamai variabel kredensial untuk dibatalkan pengaturannya.

* Voice dictation: batalkan pengaturan kredensial gateway
* Remote Control: batalkan pengaturan kredensial gateway dan `ANTHROPIC_BASE_URL`

<h2 id="additional-configuration">
  Konfigurasi tambahan
</h2>

Pengaturan ini mencakup kasus di luar URL dasar dan kredensial. Atur hanya jika instruksi administrator Anda atau [tabel pemecahan masalah](#troubleshoot-gateway-errors) memanggil satu.

<h3 id="send-additional-headers">
  Kirim header tambahan
</h3>

Beberapa gateway merutekan atau menandai permintaan menggunakan header khusus selain kredensial, misalnya pengidentifikasi penyewa atau kunci perutean. Untuk mengirim satu, atur [`ANTHROPIC_CUSTOM_HEADERS`](/id/env-vars) dengan satu pasangan `Name: Value` per baris. Contoh di bawah menambahkan header perutean bernama `X-Org-Route`:

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"
    ```
  </Tab>
</Tabs>

Anda juga dapat mengatur `ANTHROPIC_CUSTOM_HEADERS` di blok `env` file pengaturan. Gunakan `\n` antara pasangan di sana, karena string JSON tidak dapat mencakup beberapa baris:

```json theme={null}
{
  "env": {
    "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: example"
  }
}
```

<h3 id="add-gateway-models-to-the-model-picker">
  Tambahkan model gateway ke pemilih model
</h3>

Penemuan model menanyakan gateway untuk daftar modelnya saat startup dan menambahkan nama tersebut ke pemilih `/model` bersama entri bawaan.

Aktifkan jika gateway Anda melayani nama model yang tidak ada dalam daftar bawaan Fuxi Code dan Anda ingin memilihnya dari pemilih. Jika model bawaan adalah apa yang Anda gunakan, Anda tidak memerlukan penemuan; administrator Anda mungkin juga telah mengaktifkannya melalui pengaturan terkelola.

Untuk mengaktifkannya, atur `FUXI_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` di shell Anda atau di blok `env` dari `~/.fuxi/settings.json`. Penemuan memerlukan Fuxi Code v2.1.129 atau lebih baru. {/* min-version: 2.1.129 */}

Model yang ditemukan muncul sebagai entri `/model` tambahan berlabel `From gateway`. Untuk mengonfirmasi penemuan berjalan, mulai `fuxi --debug` dan cari baris `[gatewayDiscovery]`: keberhasilan mencatat berapa banyak model yang di-cache, dan `404`, timeout, atau pengalihan dicatat di sana juga. Untuk kapan penemuan berjalan, apa yang disaringnya, dan format respons yang dilayani gateway, lihat [referensi penemuan model](/id/llm-gateway-protocol#model-discovery).

<h3 id="rotate-credentials-with-apikeyhelper">
  Putar kredensial dengan apiKeyHelper
</h3>

`apiKeyHelper` adalah perintah yang dijalankan Fuxi Code untuk mengambil kredensial gateway Anda, alih-alih membacanya dari variabel lingkungan statis.

Gunakan pembantu ketika kredensial kedaluwarsa sesuai jadwal, berasal dari vault atau perintah SSO, atau administrator Anda mengatakan untuk mengonfigurasi satu. Jika kredensial Anda adalah string tetap yang Anda atur sekali, [variabel kredensial](#set-the-credential-variable) adalah semua yang Anda butuhkan dan Anda dapat melewati bagian ini.

Pembantu adalah perintah shell apa pun yang mencetak kredensial saat ini ke stdout. Fuxi Code menjalankannya melalui shell sistem Anda, jadi di Windows itu dapat berupa executable atau invokasi PowerShell. Tulis skrip, buat dapat dieksekusi, dan referensikan dari `apiKeyHelper` di [file pengaturan](/id/settings) Anda:

<Tabs>
  <Tab title="Bash atau Zsh">
    Misalnya, skrip yang membaca dari vault:

    ```bash theme={null}
    #!/bin/bash
    vault kv get -field=api_key secret/llm-gateway/fuxi-code
    ```

    Referensikan jalurnya di `~/.fuxi/settings.json`:

    ```json theme={null}
    {
      "apiKeyHelper": "~/bin/get-gateway-key.sh"
    }
    ```
  </Tab>

  <Tab title="PowerShell">
    Misalnya, skrip yang membaca dari vault:

    ```powershell theme={null}
    vault kv get -field=api_key secret/llm-gateway/fuxi-code
    ```

    Referensikan invokasi PowerShell di `%USERPROFILE%\.fuxi\settings.json`, meloloskan garis miring terbalik dalam string JSON:

    ```json theme={null}
    {
      "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"
    }
    ```
  </Tab>
</Tabs>

Fuxi Code menyimpan output pembantu selama lima menit secara default dan menjalankannya kembali ketika permintaan mengembalikan HTTP 401. Untuk mengubah masa pakai cache, atur `FUXI_CODE_API_KEY_HELPER_TTL_MS` dalam milidetik, misalnya `FUXI_CODE_API_KEY_HELPER_TTL_MS=900000` untuk 15 menit.

Nilai pembantu dikirim di header `Authorization` dan `x-api-key`, jadi berfungsi di mana pun header gateway Anda dibaca.

<h3 id="route-to-a-cloud-provider-through-a-gateway">
  Rutekan ke penyedia cloud melalui gateway
</h3>

Konfigurasi ini menunjukkan Fuxi Code ke gateway melalui variabel URL dasar khusus penyedia sebagai pengganti `ANTHROPIC_BASE_URL`. Gateway Amazon Bedrock dan Google Cloud's Agent Platform menerima format permintaan asli penyedia tersebut; gateway Microsoft Foundry dan Fuxi Platform di AWS menerima format Anthropic Messages dan berbeda hanya dalam variabel URL dasar mana yang mencapainya.

Gunakan satu hanya jika tim gateway Anda secara khusus menamai Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, atau Fuxi Platform di AWS. Jika [permintaan verifikasi](#verify-the-connection) di atas mengembalikan JSON, Anda dapat melewati bagian ini.

Atur blok untuk penyedia yang dinamai tim gateway Anda. Variabel skip-auth memberitahu Fuxi Code untuk tidak menandatangani permintaan dengan kredensial penyedia, karena gateway menyimpannya. Jika gateway memerlukan token sendiri, tambahkan `ANTHROPIC_AUTH_TOKEN` setelah blok, kecuali untuk Microsoft Foundry, yang menggunakan `ANTHROPIC_FOUNDRY_API_KEY` seperti yang ditunjukkan. {/* min-version: 2.1.203 */}Gateway Microsoft Foundry yang mengharapkan token bearer dapat menggunakan [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/id/env-vars) sebagai gantinya; itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. `ANTHROPIC_FOUNDRY_AUTH_TOKEN` memerlukan Fuxi Code v2.1.203 atau lebih baru.

<h4 id="amazon-bedrock">
  Amazon Bedrock
</h4>

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock
    export FUXI_CODE_SKIP_BEDROCK_AUTH=1
    export FUXI_CODE_USE_BEDROCK=1
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"
    $env:FUXI_CODE_SKIP_BEDROCK_AUTH = "1"
    $env:FUXI_CODE_USE_BEDROCK = "1"
    ```
  </Tab>
</Tabs>

<h4 id="google-cloud’s-agent-platform">
  Google Cloud's Agent Platform
</h4>

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex
    export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
    export FUXI_CODE_SKIP_VERTEX_AUTH=1
    export FUXI_CODE_USE_VERTEX=1
    export CLOUD_ML_REGION=us-east5
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"
    $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"
    $env:FUXI_CODE_SKIP_VERTEX_AUTH = "1"
    $env:FUXI_CODE_USE_VERTEX = "1"
    $env:CLOUD_ML_REGION = "us-east5"
    ```
  </Tab>
</Tabs>

<h4 id="microsoft-foundry">
  Microsoft Foundry
</h4>

Letakkan kredensial gateway di `ANTHROPIC_FOUNDRY_API_KEY`; itu dikirim ke gateway sebagai header `x-api-key`. {/* min-version: 2.1.203 */}Gateway yang mengharapkan token bearer dapat mengambil [`ANTHROPIC_FOUNDRY_AUTH_TOKEN`](/id/env-vars) sebagai gantinya. Fuxi Code mengirim nilai itu sebagai header `Authorization: Bearer`, dan itu mengambil prioritas atas `ANTHROPIC_FOUNDRY_API_KEY` ketika keduanya diatur. Memerlukan Fuxi Code v2.1.203 atau lebih baru.

Untuk gateway yang menyuntikkan header `Authorization` miliknya sendiri, atur `FUXI_CODE_SKIP_FOUNDRY_AUTH=1` dan biarkan kedua variabel kredensial tidak diatur. Fuxi Code kemudian mengirim permintaan tanpa kredensial Azure dan mempertahankan header `Authorization` yang Anda suplai, misalnya melalui `ANTHROPIC_CUSTOM_HEADERS`. {/* min-version: 2.1.203 */}Sebelum v2.1.203, `FUXI_CODE_SKIP_FOUNDRY_AUTH` tanpa kunci API membuat klien Microsoft Foundry tidak dapat mengirim permintaan.

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry
    export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key
    export FUXI_CODE_USE_FOUNDRY=1
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"
    $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"
    $env:FUXI_CODE_USE_FOUNDRY = "1"
    ```
  </Tab>
</Tabs>

<h4 id="fuxi-platform-on-aws">
  Fuxi Platform di AWS
</h4>

Lihat [Fuxi Platform di AWS](/id/fuxi-platform-on-aws) untuk ID ruang kerja.

<Tabs>
  <Tab title="Bash atau Zsh">
    ```bash theme={null}
    export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws
    export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
    export FUXI_CODE_SKIP_ANTHROPIC_AWS_AUTH=1
    export FUXI_CODE_USE_ANTHROPIC_AWS=1
    ```
  </Tab>

  <Tab title="PowerShell">
    ```powershell theme={null}
    $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"
    $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"
    $env:FUXI_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"
    $env:FUXI_CODE_USE_ANTHROPIC_AWS = "1"
    ```
  </Tab>
</Tabs>

<h2 id="troubleshoot-gateway-errors">
  Pemecahan masalah kesalahan gateway
</h2>

Ini adalah kesalahan paling umum saat menjalankan Fuxi Code melalui gateway, dengan penyebab sisi gateway dan perbaikannya:

| Kesalahan                                                                                                                                                                                                                        | Penyebab                                                                                                                                                                                                                                                                               | Perbaikan                                                                                                                                                                                                                                                                                                                                                                                            |
| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Peringatan startup yang menamai dua sumber kredensial dan berakhir dengan `auth may not work as expected`. Versi lebih lama menampilkan `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` sebagai gantinya. | Kredensial gateway dan login yang disimpan keduanya aktif; variabel digunakan untuk permintaan, tetapi login basi dapat menyebabkan perilaku auth yang tidak terduga                                                                                                                   | Batalkan pengaturan variabel untuk menggunakan login yang disimpan, atau jalankan `/logout` untuk menggunakan kredensial gateway                                                                                                                                                                                                                                                                     |
| Kesalahan `401` yang menamai token yang tidak valid atau tidak dikenali                                                                                                                                                          | Kredensial bukan yang dikeluarkan gateway, atau berada di header yang tidak dibaca gateway                                                                                                                                                                                             | Konfirmasi variabel cocok dengan jenis kredensial Anda di [tabel kredensial](#set-the-credential-variable), dan regenerasi kunci di gateway jika itu dicabut                                                                                                                                                                                                                                         |
| `Unable to connect to API (ConnectionRefused)`, atau `(ECONNREFUSED)` dari instalasi npm, sering setelah jeda senyap sementara Fuxi Code [mencoba ulang dengan backoff](/id/errors#automatic-retries)                          | Tidak ada yang menjawab di URL dasar: alamatnya salah, atau VPN atau firewall memblokir jalur ke gateway                                                                                                                                                                               | Jalankan [tes curl di atas](#verify-the-connection), yang gagal segera dengan penyebab yang sama, dan konfirmasi URL dan jalur jaringan dengan tim gateway Anda                                                                                                                                                                                                                                      |
| `API returned an empty or malformed response (HTTP 200)`                                                                                                                                                                         | Gateway atau proxy perantara mengembalikan respons non-API, sering halaman HTML error atau login                                                                                                                                                                                       | Uji dengan [permintaan curl di atas](#verify-the-connection); perbaiki rute gateway yang mengembalikan non-JSON                                                                                                                                                                                                                                                                                      |
| Kesalahan `400` yang menamai `context_management`, `Extra inputs are not permitted`, atau bidang lain yang tidak dikenali                                                                                                        | Gateway meneruskan permintaan ke upstream yang menolak bidang yang dikirim Fuxi Code ke titik akhir format Anthropic                                                                                                                                                                 | Atur `FUXI_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, yang menekan sebagian besar bidang pra-rilis; lihat [feature pass-through](/id/llm-gateway-protocol#feature-pass-through). Beberapa beta tidak dijaga oleh bendera ini; untuk itu, atur variabel penyedia `FUXI_CODE_USE_*` yang cocok sehingga Fuxi Code hanya mengirim apa yang diterima penyedia itu                                         |
| Kesalahan `400` yang menamai `thinking` atau `adaptive`, seperti `Input tag 'adaptive' found`                                                                                                                                    | Build model upstream tidak menerima adaptive reasoning, yang diminta Fuxi Code untuk model Fuxi 4.6 dan lebih baru                                                                                                                                                                 | Tingkatkan upstream gateway. Di Opus 4.6 dan Sonnet 4.6, `FUXI_CODE_DISABLE_ADAPTIVE_THINKING=1` berfungsi sebagai gantinya. Variabel kemampuan [konfigurasi model](/id/model-config) hanya berlaku untuk konfigurasi penyedia, seperti `FUXI_CODE_USE_BEDROCK` dan `FUXI_CODE_USE_VERTEX`, bukan di belakang gateway `ANTHROPIC_BASE_URL`                                                     |
| Kesalahan `400` yang menyatakan batas konteks atau token dalam kata-kata gateway sendiri, seperti `ContextWindowExceededError` atau `prompt token count of N exceeds the limit of M`                                             | Gateway memberlakukan konteks yang lebih kecil dari jendela asli model dan menulis ulang kesalahan upstream, jadi compact-and-retry otomatis, yang cocok dengan pesan `prompt is too long` Anthropic, tidak terbangkitkan                                                              | Jalankan `/compact` untuk memulihkan sesi. Untuk mencegahnya, atur `FUXI_CODE_AUTO_COMPACT_WINDOW` ke batas gateway; nilainya diklem ke setidaknya 100.000 token dan paling banyak jendela konteks model, jadi batas gateway di bawah 100.000 tidak dapat dicocokkan dan `/compact` tetap menjadi pemulihan di sana. Juga atur `FUXI_CODE_MAX_OUTPUT_TOKENS` di bawah batas output model gateway |
| Model hilang dari pemilih `/model`                                                                                                                                                                                               | Nama model gateway tidak ada dalam daftar bawaan Fuxi Code                                                                                                                                                                                                                           | Aktifkan [penemuan model gateway](#add-gateway-models-to-the-model-picker) atau tambahkan nama dengan variabel [konfigurasi model](/id/model-config)                                                                                                                                                                                                                                                 |
| Fuxi Code meminta Anda untuk masuk meskipun [tes curl](#verify-the-connection) berhasil                                                                                                                                        | CLI tidak memiliki kredensial sendiri: URL dasar yang dapat dijangkau bukan satu, dan blok `env` di `.fuxi/settings.json` atau `.fuxi/settings.local.json` proyek hanya berlaku setelah wizard first-run dan prompt kepercayaan                                                    | Atur `ANTHROPIC_AUTH_TOKEN` di mana pun Fuxi Code membaca sebelum pengaturan first-run: ekspor shell, blok `env` di `~/.fuxi/settings.json`, atau pengaturan terkelola                                                                                                                                                                                                                           |
| `ANTHROPIC_API_KEY` diatur tetapi diabaikan, tanpa prompt                                                                                                                                                                        | Kunci memerlukan persetujuan satu kali dalam sesi interaktif, dan kunci yang sebelumnya ditolak diabaikan tanpa bertanya lagi                                                                                                                                                          | Aktifkannya di bawah `/config` dengan opsi `Use custom API key`                                                                                                                                                                                                                                                                                                                                      |
| `This machine's managed settings require a first-party login`                                                                                                                                                                    | Pengaturan terkelola menyertakan `forceLoginMethod` atau `forceLoginOrgUUID`, yang pada Fuxi Code v2.1.146 dan lebih baru tidak dapat hidup berdampingan dengan `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, atau `apiKeyHelper`                                                     | Administrator Anda harus menghapus `forceLoginMethod` dan `forceLoginOrgUUID` dari pengaturan terkelola untuk menggunakan kredensial gateway, atau menghapus kredensial gateway untuk menggunakan login pihak pertama. Keduanya tidak dapat digabungkan                                                                                                                                              |
| `403` dengan badan HTML seperti `403 Forbidden`, ketika log gateway sendiri menunjukkan tidak ada permintaan yang diterima                                                                                                       | Firewall aplikasi web atau proxy terbalik di depan gateway memblokir badan permintaan sebelum mencapai gateway. Prompt Fuxi Code menyertakan tag gaya XML dan kode sumber yang cocok dengan aturan badan cross-site-scripting, jadi tes curl pendek lulus sementara sesi nyata tidak | Bebaskan jalur `/v1/messages` gateway dari inspeksi badan permintaan. Di AWS WAF ini adalah aturan terkelola `CrossSiteScripting_Body`; di nginx dengan ModSecurity itu adalah aturan badan OWASP CRS yang setara                                                                                                                                                                                    |
| Kesalahan sertifikat atau TLS seperti `SSL certificate verification failed` atau `Self-signed certificate detected`, ketika [tes curl](#verify-the-connection) berhasil                                                          | Runtime Fuxi Code tidak mempercayai otoritas sertifikat yang sama dengan yang digunakan `curl`. Umum di belakang proxy inspeksi TLS korporat                                                                                                                                         | Atur `NODE_EXTRA_CA_CERTS` ke jalur bundel CA; lihat [CA certificate store](/id/network-config#ca-certificate-store)                                                                                                                                                                                                                                                                                 |

Jika Fuxi Code meminta Anda untuk masuk berulang kali setelah menghapus konfigurasi gateway, penyebabnya biasanya penyimpanan kredensial daripada gateway; lihat [kesalahan autentikasi](/id/errors#authentication-errors).

<h2 id="related-resources">
  Sumber daya terkait
</h2>

* [Ikhtisar gateway LLM](/id/llm-gateway): apa itu gateway dan bagaimana berinteraksi dengan langganan fuxi.ai
* [Luncurkan gateway LLM untuk organisasi Anda](/id/llm-gateway-rollout): daftar periksa yang menghadap admin untuk menerapkan dan mendistribusikan konfigurasi gateway
* [Referensi protokol gateway](/id/llm-gateway-protocol): apa yang dikirim Fuxi Code ke gateway, termasuk header dan bidang yang harus diteruskan gateway
* [Pengaturan](/id/settings): di mana file pengaturan berada dan bagaimana blok `env` dibaca
* [Autentikasi](/id/authentication): bagaimana variabel kredensial, `apiKeyHelper`, dan login OAuth berinteraksi
