# Codex CLI dan Codex Desktop

> Tambahkan Vikey sebagai model provider di ~/.codex/config.toml dengan wire_api responses.

Codex memakai format OpenAI Responses (`/v1/responses`). Vikey mendukung format itu untuk semua model teks, termasuk model Claude dan DeepSeek.

Diuji dengan Codex CLI 0.167 pada 13 November 2026.

## Config yang disarankan

1. Simpan API key di variabel environment. Tambahkan baris ini ke `~/.zshrc` atau `~/.bashrc` supaya tetap ada di terminal baru:

    ```bash
    export VIKEY_API_KEY=API_KEY_KAMU
    ```

2. Tulis provider Vikey di `~/.codex/config.toml`:

    ```toml title="~/.codex/config.toml"
    model = "vikey/agent-gpt"
    model_provider = "vikey"

    [model_providers.vikey]
    name = "Vikey"
    base_url = "https://api.vikey.ai/v1"
    env_key = "VIKEY_API_KEY"
    wire_api = "responses"
    ```

3. Jalankan `codex`. Ganti model untuk satu sesi dengan `codex -m openai/gpt-6.1-sol`.

### Kenapa tiap baris ada

| Baris | Fungsi |
| --- | --- |
| `model` | Model default. Bisa model tetap seperti `openai/gpt-6.1-sol` atau [Vikey Auto](/models/vikey-auto/) seperti `vikey/agent-gpt`. |
| `model_provider` | Memilih provider `vikey` yang didefinisikan di bawahnya. Nama `openai`, `ollama`, dan `lmstudio` sudah dipakai Codex, jadi jangan dipakai sebagai id provider. |
| `base_url` | Dengan `/v1`. Codex menambahkan `/responses` sendiri. |
| `env_key` | Nama variabel environment yang berisi API key. Key tidak ditulis di file. |
| `wire_api = "responses"` | Wajib `"responses"`. Codex versi sekarang menolak `"chat"` dengan pesan `wire_api = "chat" is no longer supported`. |

Config provider hanya dibaca dari `~/.codex/config.toml`. Codex mengabaikan setelan provider di `.codex/config.toml` milik proyek.

## Codex Desktop (macOS)

Codex Desktop memakai file `~/.codex/config.toml` yang sama. Bedanya, aplikasi yang dibuka dari Dock tidak membaca variabel yang di-export di terminal. Daftarkan key di level sistem, lalu tutup penuh dan buka lagi Codex Desktop:

```bash
launchctl setenv VIKEY_API_KEY API_KEY_KAMU
```

`launchctl setenv` hilang setelah restart Mac. Jalankan lagi setelah restart, atau buka Codex Desktop dari terminal yang sudah punya `VIKEY_API_KEY`.

## Beberapa setelan sekaligus (profile)

Sejak Codex 0.134, profile ditulis sebagai file terpisah. Contoh profile hemat di `~/.codex/hemat.config.toml`:

```toml title="~/.codex/hemat.config.toml"
model = "vikey/agent-mocin"
model_provider = "vikey"
```

Jalankan dengan `codex --profile hemat`. Provider `vikey` tetap diambil dari `~/.codex/config.toml`.

## Cek koneksi

```bash
curl -sS https://api.vikey.ai/v1/responses \
  -H "Authorization: Bearer $VIKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-6-luna", "input": "ping"}'
```

Response yang berisi `"output"` berarti key dan base URL sudah benar. Setelah itu coba `codex exec "balas dengan kata ok"`.

## Masalah umum

| Yang kamu lihat | Penyebab | Solusi |
| --- | --- | --- |
| `401` atau `Missing environment variable VIKEY_API_KEY` | Variabel belum di-export di terminal ini, atau Codex Desktop tidak melihatnya | `export VIKEY_API_KEY=...`, atau `launchctl setenv` untuk Codex Desktop |
| `404` di `/v1/v1/responses` | `/v1` tertulis dua kali | `base_url` cukup `https://api.vikey.ai/v1` |
| `wire_api = "chat" is no longer supported` | Masih memakai config lama | Ganti jadi `wire_api = "responses"` |
| `Model '...' not found` | Model id salah ketik | Ambil id dari `GET /v1/models` atau [halaman harga](https://vikey.ai/pricing) |

Source: https://docs.vikey.ai/agents/codex/
