Sider

Pakai Sider di coding agent Anda

Atur Claude Code, Codex CLI, OpenCode, dan coding agent lainnya agar memakai layanan ini: dapatkan API key, lalu ikuti panduan alat Anda. Perintah dan pengaturannya sudah berisi alamat layanan ini.

Sebelum mulai

API key

API key diberikan atas permintaan oleh administrator layanan ini.

Base URL

API yang kompatibel dengan OpenAI

https://sider.ai.id/v1

API yang kompatibel dengan Anthropic (Claude Code)

https://sider.ai.id

Setiap panduan di bawah sudah memakai yang sesuai.

Model

Contoh di bawah memakai gemini-3.1-pro. Anda bisa memakai model mana pun dari daftar model di halaman status. Pilih model yang mendukung tool calling: coding agent memakai tool untuk membaca dan mengedit file serta menjalankan perintah.

Claude Code

buatan Anthropic · Anthropic Messages API

Agen coding dari Anthropic untuk terminal: membaca proyek Anda, mengedit file, dan menjalankan perintah.

  1. Pasang Claude Code dengan installer dari Anthropic (atau npm install -g @anthropic-ai/claude-code dengan Node.js 22 atau yang lebih baru). Lalu buka terminal baru dan pastikan claude --version menampilkan nomor versi.

    macOS, Linux, WSL
    curl -fsSL https://claude.ai/install.sh | bash
    Windows (PowerShell)
    irm https://claude.ai/install.ps1 | iex
  2. Buat file ~/.claude/settings.json (di Windows %USERPROFILE%\.claude\settings.json) berisi teks di bawah; perintah untuk sistem Anda membukanya di editor (di nano, Ctrl+O lalu Enter menyimpan, Ctrl+X keluar). Bila file itu sudah ada, tambahkan entri-entri ini ke dalamnya. ANTHROPIC_BASE_URL adalah alamat tanpa /v1: Claude Code menambahkan /v1/messages sendiri.

    macOS, Linux
    mkdir -p ~/.claude && nano ~/.claude/settings.json
    Windows (PowerShell)
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude" | Out-Null; notepad "$env:USERPROFILE\.claude\settings.json"
    ~/.claude/settings.json
    {
      "env": {
        "ANTHROPIC_BASE_URL": "https://sider.ai.id",
        "ANTHROPIC_MODEL": "gemini-3.1-pro",
        "ANTHROPIC_DEFAULT_OPUS_MODEL": "gemini-3.1-pro",
        "ANTHROPIC_DEFAULT_SONNET_MODEL": "gemini-3.1-pro",
        "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gemini-3.1-pro",
        "ANTHROPIC_DEFAULT_FABLE_MODEL": "gemini-3.1-pro",
        "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "8192"
      },
      "disableAutoMode": "disable"
    }
  3. Simpan API key Anda di luar file itu, di variabel lingkungan ANTHROPIC_AUTH_TOKEN (Claude Code mengirimnya sebagai Authorization: Bearer): ganti API_KEY_ANDA dengan key Anda, jalankan perintah untuk sistem Anda sekali, lalu tutup terminal dan buka yang baru.

    macOS (zsh)
    echo 'export ANTHROPIC_AUTH_TOKEN="API_KEY_ANDA"' >> ~/.zshrc
    Linux (bash)
    echo 'export ANTHROPIC_AUTH_TOKEN="API_KEY_ANDA"' >> ~/.bashrc
    Windows (PowerShell)
    setx ANTHROPIC_AUTH_TOKEN "API_KEY_ANDA"
  4. Di folder proyek Anda, jalankan Claude Code. Pertama kali, pilih tema, tekan Enter setelah catatan keamanan, lalu pilih Yes, I trust this folder; tidak perlu login. Ketik /status: tampil Anthropic base URL https://sider.ai.id, Auth token ANTHROPIC_AUTH_TOKEN, dan Model gemini-3.1-pro. Lalu ajukan pertanyaan. Bila muncul layar login, berarti ANTHROPIC_AUTH_TOKEN belum ada di terminal ini.

    Di folder proyek Anda
    claude

Perlu diketahui

  • Kelima entri model menyebut gemini-3.1-pro untuk percakapan utama dan untuk model yang oleh Claude Code disebut opus, sonnet, haiku, dan fable, yang diminta subagent dan helper-nya. Tanpa entri itu, permintaan tersebut menyebut model Claude yang tidak ada di layanan ini dan gagal dengan 404. Untuk memakai model lain, ganti kelimanya.
  • Claude Code meminta jawaban sampai 32.000 token; banyak model mengizinkan lebih sedikit, dan provider-nya menolak permintaan seperti itu (400). CLAUDE_CODE_MAX_OUTPUT_TOKENS memintanya 8.192 saja: naikkan bila model Anda mengizinkan lebih. Selama permintaan berjalan, batas output-nya juga ikut dihitung dalam batas token harian akun Anda, bila ada.
  • disableAutoMode membuat Claude Code mulai dalam mode Manual: ia bertanya dulu sebelum mengedit file atau menjalankan perintah. Dalam auto mode, mode bawaannya, sebuah classifier memeriksa perintah sebelum dijalankan dengan permintaan tambahan berukuran puluhan ribu token ke gemini-3.1-pro, yang ikut dihitung dalam batas Anda, dan memblokir perintah bila jawabannya tidak terbaca. Hapus baris itu bila Anda tetap ingin memakai auto mode.
  • Pilih model yang mendukung tool calling (function calling): Claude Code membaca, mengedit, dan menjalankan semuanya lewat tool.
  • Tool WebSearch berjalan di server Anthropic. Tool ini hanya bekerja bila gemini-3.1-pro dilayani provider yang kompatibel dengan Anthropic dan mendukungnya, dan admin meneruskan server tool Anthropic; selain itu pencarian gagal.
  • Claude Code tidak mengenal nama model layanan ini, jadi saat mulai ia memperingatkan bahwa jendela konteks dianggap 200k token. Bila jendela gemini-3.1-pro berbeda (tertera di tab Model dashboard Anda, atau context_length-nya di GET https://sider.ai.id/v1/models dengan API key Anda), tambahkan "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "…" berisi angka itu ke env, agar Claude Code meringkas percakapan tepat waktu.

Semua pengaturannya ada di dokumentasi Claude Code.

Codex CLI

buatan OpenAI · OpenAI Responses API

Agen coding dari OpenAI untuk terminal: membaca proyek Anda, mengedit file, dan menjalankan perintah.

  1. Pasang Codex CLI dengan installer dari OpenAI (atau npm install -g @openai/codex). Lalu buka terminal baru dan pastikan codex --version menampilkan nomor versi.

    macOS, Linux
    curl -fsSL https://chatgpt.com/codex/install.sh | sh
    Windows (PowerShell)
    powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
  2. Buka ~/.codex/config.toml (di Windows %USERPROFILE%\.codex\config.toml) dengan perintah untuk sistem Anda (di nano, Ctrl+O lalu Enter menyimpan, Ctrl+X keluar), lalu tambahkan pengaturan di bawah. Bila file itu sudah berisi pengaturan, letakkan tiga baris pertama di atas baris berkurung pertamanya, misalnya [features], dan hapus baris lamanya yang bernama sama. base_url diakhiri /v1: Codex menambahkan /responses.

    macOS, Linux
    mkdir -p ~/.codex && nano ~/.codex/config.toml
    Windows (PowerShell)
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.codex" | Out-Null; notepad "$env:USERPROFILE\.codex\config.toml"
    ~/.codex/config.toml
    model = "gemini-3.1-pro"
    model_provider = "aiter"
    web_search = "disabled"
    
    [model_providers.aiter]
    name = "Sider"
    base_url = "https://sider.ai.id/v1"
    env_key = "AITER_API_KEY"
    wire_api = "responses"
  3. Simpan API key Anda di luar file itu, di variabel lingkungan AITER_API_KEY yang disebut env_key: ganti API_KEY_ANDA dengan key Anda, jalankan perintah untuk sistem Anda sekali, lalu tutup terminal dan buka yang baru.

    macOS (zsh)
    echo 'export AITER_API_KEY="API_KEY_ANDA"' >> ~/.zshrc
    Linux (bash)
    echo 'export AITER_API_KEY="API_KEY_ANDA"' >> ~/.bashrc
    Windows (PowerShell)
    setx AITER_API_KEY "API_KEY_ANDA"
  4. Di folder proyek Anda, jalankan Codex; tidak perlu login. Ketik /status: tampil Model gemini-3.1-pro dan Model provider aiter. Lalu ajukan pertanyaan. Pesan Missing environment variable: `AITER_API_KEY` berarti variabel itu belum ada di terminal ini; setelah ada, jalankan codex app-server daemon restart, karena server latar Codex tetap memakai lingkungan saat ia dimulai.

    Di folder proyek Anda
    codex

Perlu diketahui

  • Pilih model yang namanya tidak diawali nama model OpenAI yang dikenal Codex, misalnya gpt-5.5 atau openai/gpt-5.5: untuk nama seperti itu Codex menambahkan tool jenis lain (apply_patch sebagai tool custom, dan tool_search) yang ditolak layanan ini dengan 400.
  • Untuk nama lain Codex memperingatkan Model metadata for `gemini-3.1-pro` not found dan memakai nilai bawaan, di antaranya jendela konteks 272.000 token. Bila jendela gemini-3.1-pro lebih kecil (tertera di tab Model dashboard Anda, atau context_length-nya di GET https://sider.ai.id/v1/models dengan API key Anda), tambahkan model_context_window = … berisi angka itu di dekat model, agar Codex meringkas percakapan tepat waktu.
  • Pilih model yang mendukung tool calling (function calling): Codex menjalankan perintah dan mengedit file lewat tool.
  • Agar model berpikir lebih dalam, tambahkan model_reasoning_effort = "high" (atau "low", "medium") di dekat model: nilainya sampai ke model sebagai reasoning_effort. Model tanpa reasoning bisa menolaknya dengan 400; tanpa pengaturan ini Codex tidak mengirimnya.
  • web_search = "disabled" mematikan web search Codex, yang berjalan di server OpenAI: layanan ini tidak punya web search dan tetap membuang tool itu.

Semua pengaturannya ada di dokumentasi Codex CLI.

Antigravity

buatan Google · OpenAI Chat Completions API

IDE agentik dari Google, yang agen bawaannya hanya menjalankan model yang disediakan Google dan tidak bisa diarahkan ke API lain: di Antigravity, Anda memakai Sider lewat ekstensi Cline.

  1. Di editor Antigravity, buka tampilan Extensions, cari ID ini, lalu pasang Cline dari saoudrizwan (bukan Cline (Nightly) atau tiruannya).

    ID ekstensi
    saoudrizwan.claude-dev
  2. Buka Cline lewat ikonnya di side bar. Pada pembukaan pertama, pilih Bring my own API key lalu Continue; setelah itu, ikon roda giginya membuka Settings → API Configuration. Setel API Provider ke OpenAI Compatible lalu isi kolom-kolom ini; daftar Model ID menampilkan model yang boleh dipakai key Anda.

    Base URL
    https://sider.ai.id/v1
    OpenAI Compatible API Key
    API_KEY_ANDA
    Model ID
    gemini-3.1-pro
  3. Di bawah Model Configuration, isi Max Output Tokens (8192 adalah awal yang aman; naikkan bila model mengizinkan lebih) dan Context Window Size, yaitu jendela konteks model yang tertera di tab Model dashboard Anda. Hapus centang Supports Images bila model tidak bisa membaca gambar.

  4. Buka folder proyek Anda, mulai task baru di Cline (+), lalu minta sesuatu yang memerlukan tool, misalnya menampilkan daftar file proyek. Route POST /chat/completions not found (404) berarti base URL tidak diakhiri /v1; Invalid API key (401) berarti key-nya salah.

Perlu diketahui

  • Agen bawaan Antigravity tidak bisa memakai Sider: halaman paket Google menyatakan belum ada dukungan bring-your-own-key maupun bring-your-own-endpoint, dan CLI Antigravity hanya menerima endpoint yang kompatibel dengan Gemini, yang tidak disediakan layanan ini. Cline bekerja di sampingnya, di panelnya sendiri.
  • Pilih model yang mendukung tool calling (function calling): Cline membaca dan mengubah file serta menjalankan perintah lewat tool.
  • Tanpa Max Output Tokens, Cline meminta sampai 32.000 token output, yang ditolak banyak model (400 upstream_bad_request) dan, bila akun Anda punya batas token harian, dipesan dari batas itu selama permintaan berjalan.
  • Biarkan Reasoning Effort tetap none kecuali model itu mendukung reasoning: Cline mengirim pilihan itu sebagai reasoning_effort, yang bisa ditolak model tanpa reasoning.
  • Cline menyimpan API key di pengaturannya sendiri di komputer Anda; Cline tidak membaca AITER_API_KEY.

Semua pengaturannya ada di dokumentasi Cline.

OpenCode

buatan Anomaly · OpenAI Chat Completions API

Agen coding open source untuk terminal, juga tersedia sebagai aplikasi desktop dan ekstensi IDE, yang bisa memakai provider apa pun yang kompatibel dengan OpenAI.

  1. Pasang OpenCode. Di Windows, perintah npm memerlukan Node.js; scoop install opencode atau choco install opencode juga bisa. OpenCode menyarankan WSL di Windows: di dalam WSL, pakai perintah macOS/Linux.

    macOS, Linux
    curl -fsSL https://opencode.ai/install | bash
    Windows (PowerShell)
    npm install -g opencode-ai
  2. Simpan ini sebagai config OpenCode untuk semua proyek Anda, ~/.config/opencode/opencode.json (Windows: %USERPROFILE%\.config\opencode\opencode.json; buat folder-nya bila belum ada), atau sebagai opencode.json di folder sebuah proyek untuk proyek itu saja. Bila file itu sudah ada, tambahkan saja baris model dan entri aiter (di bawah provider) ke dalamnya. Di bawah models, cantumkan setiap model yang ingin Anda pakai, beserta batasnya (lihat di bawah).

    ~/.config/opencode/opencode.json
    {
      "$schema": "https://opencode.ai/config.json",
      "model": "aiter/gemini-3.1-pro",
      "provider": {
        "aiter": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "Sider",
          "options": {
            "baseURL": "https://sider.ai.id/v1",
            "apiKey": "{env:AITER_API_KEY}"
          },
          "models": {
            "gemini-3.1-pro": {
              "limit": {
                "context": 128000,
                "output": 8192
              }
            }
          }
        }
      }
    }
  3. Simpan API key Anda di variabel lingkungan AITER_API_KEY, di terminal tempat Anda menjalankan OpenCode. Nilainya hilang saat terminal ditutup: agar tetap ada, tambahkan barisnya ke ~/.zshrc atau ~/.bashrc (macOS, Linux), atau jalankan sekali setx AITER_API_KEY "API_KEY_ANDA" lalu buka terminal baru (Windows).

    macOS, Linux
    export AITER_API_KEY="API_KEY_ANDA"
    Windows (PowerShell)
    $env:AITER_API_KEY = "API_KEY_ANDA"
  4. Di terminal yang sama, periksa config: opencode models aiter mencantumkan aiter/gemini-3.1-pro. Lalu jalankan OpenCode di folder proyek Anda; di bawah kolom prompt tampil gemini-3.1-pro dan Sider. Minta sesuatu yang memerlukan tool, misalnya menampilkan daftar file proyek. /models berganti di antara model-model di config Anda.

    Di folder proyek Anda
    opencode models aiter
    opencode

Perlu diketahui

  • Pilih model yang mendukung tool calling (function calling): OpenCode membaca dan mengubah file serta menjalankan perintah lewat tool, di setiap giliran.
  • limit.output membatasi panjang setiap jawaban. Tanpanya OpenCode meminta 32.000 token, yang ditolak banyak model (400 upstream_bad_request) dan, bila akun Anda punya batas token harian, dipesan dari batas itu selama permintaan berjalan. 8192 adalah awal yang aman; naikkan bila model mengizinkan lebih.
  • limit.context adalah jendela konteks model, yang tertera di tab Model dashboard Anda: OpenCode meringkas percakapan sebelum melampaui jendela itu.
  • Tidak ingin memakai variabel lingkungan? Jalankan opencode auth login, pilih Other, isi aiter dan API key Anda, lalu hapus baris apiKey dari config. Missing API key (401) berarti OpenCode tidak mengirim key: variabelnya tidak ada di terminal tempat OpenCode dijalankan.
  • Model yang menjawab 503 dengan served for Anthropic's Messages API only hanya bisa dipakai lewat API Anthropic: tambahkan "provider": { "npm": "@ai-sdk/anthropic" } ke entrinya di bawah models. Base URL dan key tetap sama.

Semua pengaturannya ada di dokumentasi OpenCode.

Hermes Agent

buatan Nous Research · OpenAI Chat Completions API

Agent open-source dari Nous Research untuk terminal: menjalankan perintah, mengubah file, serta menyimpan memori dan skill antarsesi.

  1. Pasang Hermes Agent dengan installer resminya, yang sudah membawa Python yang diperlukan. Di Windows, pakai PowerShell, atau perintah Linux di dalam WSL2. Di akhir, installer membuka wizard setup.

    macOS, Linux, Windows (WSL2)
    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
    Windows (PowerShell)
    iex (irm https://hermes-agent.nousresearch.com/install.ps1)
  2. Di wizard, pilih Full setup, lalu provider Custom endpoint (enter URL manually). Isi API base URL https://sider.ai.id/v1 dan API key Anda (API_KEY_ANDA): Hermes memeriksanya lalu menampilkan model yang boleh dipakai key Anda. Bila wizard tidak terbuka, atau untuk mengubahnya nanti, jalankan hermes model di terminal baru.

    API base URL
    https://sider.ai.id/v1
  3. Pilih API compatibility mode Chat Completions dan model gemini-3.1-pro, lalu tekan Enter di Context length (Hermes membacanya dari layanan) dan di Display name. Untuk sisa wizard, biarkan pilihan bawaan dan lewati key yang tidak Anda punya. Hermes menyimpan pengaturan di ~/.hermes/config.yaml dan key di ~/.hermes/.env (di Windows tanpa WSL, di %LOCALAPPDATA%\hermes).

    Model
    gemini-3.1-pro
  4. Buka terminal baru dan jalankan Hermes. Banner pembuka menampilkan model gemini-3.1-pro. Tanyakan misalnya File apa saja di folder ini? Hermes menjalankan perintah untuk mencari tahu, lalu menjawab.

    macOS, Linux, Windows
    hermes

Perlu diketahui

  • Pilih model yang mendukung tool calling: Hermes bekerja lewat tool. Hermes juga memerlukan jendela konteks minimal 64K token dan menolak model yang lebih kecil saat mulai (below the minimum 64,000 required by Hermes Agent). Jendela itu dibaca dari daftar model layanan ini (context_length); untuk model tanpa nilai itu, Hermes menebak dari namanya atau menganggap 256K, jadi isi jendela sebenarnya bila Anda tahu: hermes config set model.context_length 131072.
  • Setiap permintaan membawa system prompt dan daftar tool Hermes (hermes prompt-size menunjukkan ukurannya), dan tugas sampingannya juga memakai model Anda di layanan ini: judul sesi, kompresi konteks, review memori di latar belakang, dan deskripsi gambar (hanya dengan model yang menerima gambar). Semuanya dihitung dalam batas key Anda; tugas sampingan baru dikirim ke provider lain (OpenRouter, Nous Portal) bila Anda mengaturnya di Hermes. Untuk menghemat token, matikan review otomatis: hermes config set auxiliary.background_review.enabled false.
  • Hermes meminta reasoning_effort: medium kecuali Anda memilih level lain, dan layanan ini meneruskannya ke provider model. Bila provider menolaknya, Hermes menulis bahwa model itu rejects reasoning effort lalu melanjutkan tanpanya. Token reasoning dihitung sebagai output: turunkan levelnya dengan /reasoning low dalam sesi, atau permanen dengan hermes config set agent.reasoning_effort low.

Semua pengaturannya ada di dokumentasi Hermes Agent.

omp (oh-my-pi)

buatan Stencil Labs · OpenAI Chat Completions API

Coding agent untuk terminal, turunan (fork) dari Pi, dengan language server, debugger, subagent, dan banyak tool lain bawaan.

  1. Pasang omp. Installer memasang omp yang sudah jadi, atau memasangnya lewat Bun bila Bun 1.4.4 atau lebih baru sudah ada; brew install can1357/tap/omp juga bisa. Bila terminal lalu tidak menemukan omp, ikuti baris PATH yang ditampilkan installer dan buka terminal baru; omp --version menampilkan versinya.

    macOS, Linux
    curl -fsSL https://omp.sh/install | sh
    Windows (PowerShell)
    irm https://omp.sh/install.ps1 | iex
  2. Simpan API key Anda di variabel lingkungan AITER_API_KEY pada terminal tempat Anda menjalankan omp: omp membacanya dari sana, sehingga key tidak tertulis di file omp. Variabel ini hilang saat terminal ditutup. Agar tetap ada, tambahkan baris itu ke ~/.zshrc (macOS) atau ~/.bashrc (Linux); di Windows, jalankan sekali setx AITER_API_KEY "API_KEY_ANDA" lalu buka terminal baru.

    macOS, Linux
    export AITER_API_KEY="API_KEY_ANDA"
    Windows (PowerShell)
    $env:AITER_API_KEY = "API_KEY_ANDA"
  3. Tambahkan layanan ini ke ~/.omp/agent/models.yml (di Windows %USERPROFILE%\.omp\agent\models.yml): buat file dengan isi ini, atau tambahkan entri aiter di bawah providers di file yang sudah ada. apiKey berisi nama variabelnya, bukan key-nya. Tambahkan satu entri di models untuk setiap model yang Anda pakai; contextWindow dan maxTokens dijelaskan di catatan.

    ~/.omp/agent/models.yml
    providers:
      aiter:
        baseUrl: "https://sider.ai.id/v1"
        api: openai-completions
        apiKey: AITER_API_KEY
        compat:
          maxTokensField: max_tokens
        models:
          - id: "gemini-3.1-pro"
            contextWindow: 128000
            maxTokens: 8192
  4. Periksa koneksinya: omp mengirim satu permintaan ke gemini-3.1-pro lewat layanan ini dan menampilkan jawabannya, misalnya OK. omp models aiter menampilkan model yang dibaca omp dari file; kesalahan di file tampil sebagai models.yml validation failed beserta field yang salah.

    Terminal
    omp -p --model aiter/gemini-3.1-pro "Reply with only OK"
  5. Jalankan omp di folder proyek Anda. Saat pertama dijalankan, omp membuka wizard pengaturan: di Set up your providers tekan Esc (key sudah ada di AITER_API_KEY), lalu di Choose your default model ketik aiter, pilih aiter/gemini-3.1-pro, dan tekan Enter. Bila omp sudah pernah diatur, buka /model dan jadikan aiter/gemini-3.1-pro model Default.

    Terminal, di folder proyek Anda
    omp

Perlu diketahui

  • omp mengubah file dan menjalankan perintah lewat tool call: pakai model yang mendukung tool calling (function calling). Tool omp yang memerlukan jenis model lain, seperti pembuatan gambar atau suara, tidak bekerja lewat layanan ini, yang melayani model chat.
  • apiKey: AITER_API_KEY membuat omp membaca key dari variabel itu di setiap permintaan. Bila variabel itu tidak ada, omp mengirim namanya sendiri sebagai key dan layanan ini menjawab 401 invalid_api_key: isi variabel itu di terminal tempat Anda menjalankan omp. 404 model_not_found berarti key ini tidak bisa memakai model dengan ID itu (huruf besar dan kecil dibedakan).
  • contextWindow adalah jendela konteks model dalam token: omp meringkas percakapan sebelum jendela itu penuh, dan meringkas lalu mencoba lagi bila layanan ini menjawab 400 context_length_exceeded. Isi dengan jendela model itu dari tab Model dashboard Anda, atau context_length-nya di GET https://sider.ai.id/v1/models dengan API key Anda, bila tercantum. maxTokens adalah jawaban terpanjang yang diminta omp: 8192 cocok untuk kebanyakan model; naikkan untuk model yang mengizinkan jawaban lebih panjang, atau turunkan bila permintaan gagal dengan 400 upstream_bad_request tentang batas output. Dengan batas token harian, setiap permintaan memesan prompt-nya ditambah maxTokens sampai selesai.
  • maxTokensField: max_tokens mengirim batas output di field yang dibaca provider di belakang layanan ini; tanpa itu omp mengirim max_completion_tokens, yang diabaikan sebagian provider. Model reasoning OpenAI (seri o, GPT-5) menolak max_tokens (400 upstream_bad_request): beri model seperti itu compat: { maxTokensField: max_completion_tokens } di entrinya.
  • omp mengirim pengaturan reasoning seperti reasoning_effort untuk model bertanda reasoning: true, dan untuk model yang dikenalnya dari ID-nya sebagai model reasoning. Provider yang tidak menerimanya menolak permintaan itu (400 upstream_bad_request): isi reasoning: false pada model tersebut.

Semua pengaturannya ada di dokumentasi omp (oh-my-pi).

Pi

buatan Earendil · OpenAI Chat Completions API

Coding agent minimalis untuk terminal yang bisa diperluas, dibuat oleh Mario Zechner: membaca dan mengubah file Anda serta menjalankan perintah.

  1. Pasang Pi. Installer juga memasang Node.js bila perlu; dengan Node.js 22.19 atau lebih baru, npm install -g --ignore-scripts @earendil-works/pi-coding-agent juga bisa. Setelah itu pi --version menampilkan versinya.

    macOS, Linux
    curl -fsSL https://pi.dev/install.sh | sh
    Windows (PowerShell)
    powershell -c "irm https://pi.dev/install.ps1 | iex"
  2. Simpan API key Anda di variabel lingkungan AITER_API_KEY pada terminal tempat Anda menjalankan Pi: Pi membacanya dari sana, sehingga key tidak tertulis di file Pi. Variabel ini hilang saat terminal ditutup. Agar tetap ada, tambahkan baris itu ke ~/.zshrc (macOS) atau ~/.bashrc (Linux); di Windows, jalankan sekali setx AITER_API_KEY "API_KEY_ANDA" lalu buka terminal baru.

    macOS, Linux
    export AITER_API_KEY="API_KEY_ANDA"
    Windows (PowerShell)
    $env:AITER_API_KEY = "API_KEY_ANDA"
  3. Tambahkan layanan ini ke ~/.pi/agent/models.json (di Windows %USERPROFILE%\.pi\agent\models.json): buat file dengan isi ini, atau tambahkan entri aiter ke providers di file yang sudah ada. Tambahkan satu entri di models untuk setiap model yang Anda pakai; contextWindow dan maxTokens dijelaskan di catatan.

    ~/.pi/agent/models.json
    {
      "providers": {
        "aiter": {
          "name": "Sider",
          "baseUrl": "https://sider.ai.id/v1",
          "api": "openai-completions",
          "apiKey": "$AITER_API_KEY",
          "compat": {
            "supportsDeveloperRole": false,
            "maxTokensField": "max_tokens"
          },
          "models": [
            {
              "id": "gemini-3.1-pro",
              "contextWindow": 128000,
              "maxTokens": 8192
            }
          ]
        }
      }
    }
  4. Jalankan Pi di folder proyek Anda dengan model ini, lalu kirim permintaan singkat, misalnya Reply with only OK: jawabannya datang dari gemini-3.1-pro lewat layanan ini. Agar Pi selalu mulai dengan model ini, buka /model, pilih model itu, lalu tekan Ctrl+S. Bila Pi menjawab No API key found for aiter, AITER_API_KEY belum diisi di terminal ini.

    Terminal, di folder proyek Anda
    pi --model aiter/gemini-3.1-pro

Perlu diketahui

  • Pi mengubah file dan menjalankan perintah lewat tool call: pakai model yang mendukung tool calling (function calling).
  • contextWindow adalah jendela konteks model dalam token: Pi meringkas percakapan sebelum jendela itu penuh, dan meringkas lalu mencoba lagi bila layanan ini menjawab 400 context_length_exceeded. Isi dengan jendela model itu dari tab Model dashboard Anda, atau context_length-nya di GET https://sider.ai.id/v1/models dengan API key Anda, bila tercantum. maxTokens adalah jawaban terpanjang yang diminta Pi: 8192 cocok untuk kebanyakan model; naikkan untuk model yang mengizinkan jawaban lebih panjang, atau turunkan bila permintaan gagal dengan 400 upstream_bad_request tentang batas output. Dengan batas token harian, setiap permintaan memesan prompt-nya ditambah maxTokens sampai selesai.
  • supportsDeveloperRole: false membuat instruksi Pi tetap dikirim sebagai pesan system, yang diterima semua provider yang kompatibel dengan OpenAI, juga untuk model bertanda reasoning; layanan ini meneruskan pesan developer apa adanya, dan provider model lain bisa menolaknya. maxTokensField: "max_tokens" mengirim batas output di field yang dibaca provider di belakang layanan ini; tanpa itu Pi mengirim max_completion_tokens, yang diabaikan sebagian provider. Model reasoning OpenAI (seri o, GPT-5) menolak max_tokens (400 upstream_bad_request): beri model seperti itu "compat": { "maxTokensField": "max_completion_tokens" } di entrinya.
  • Pi tidak mengirim reasoning_effort untuk model ini, sehingga setiap model berpikir seperti bawaan providernya; proses berpikirnya tampil bila provider mengirimkannya. Tambahkan "reasoning": true ke sebuah model hanya bila providernya menerima reasoning_effort: /thinking lalu mengatur levelnya. Provider model lain menolaknya.
  • Bila permintaan gagal: 401 invalid_api_key berarti key di AITER_API_KEY salah atau sudah di-regenerate; 404 model_not_found berarti key ini tidak bisa memakai model dengan ID itu (huruf besar dan kecil dibedakan). Pi membaca $AITER_API_KEY dengan cara ini sejak versi 0.77: perbarui Pi yang lebih lama dengan pi update, atau pasang ulang seperti di langkah 1 bila Pi Anda dari paket lama @mariozechner/pi-coding-agent.

Semua pengaturannya ada di dokumentasi Pi.