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

# GitHub Copilot

> Pakai model Hostlinku di GitHub Copilot CLI dan GitHub Copilot app lewat BYOK, plus batasan Copilot di IDE

[GitHub Copilot](https://docs.github.com/en/copilot) mendukung **BYOK (Bring Your Own Key)** di
beberapa permukaan. Di tempat yang menerima *base URL* sendiri, kamu bisa mengarahkannya ke
Hostlinku dan memakai model dari katalog dengan saldo Hostlinku.

| Permukaan Copilot | Bisa diarahkan ke Hostlinku? | Panduan |
| - | - | - |
| **Copilot CLI** (`copilot`) | Ya - environment variable `COPILOT_PROVIDER_*` | [di bawah](#copilot-cli) |
| **GitHub Copilot app** (desktop) | Ya - *Settings → Model providers* (public preview) | [di bawah](#github-copilot-app) |
| **Copilot Chat di VS Code** | Ya - provider *Custom Endpoint* | [VS Code](https://docs.hostlinku.com/integrations/vscode.md) |
| Copilot di JetBrains, Visual Studio, Xcode; autocomplete inline | Tidak - tidak ada pengaturan base URL | [Batasan](#batasan) |

## Copilot CLI

Saat variabel BYOK di-set, Copilot CLI mengirim semua request model ke provider kamu. **Login
GitHub tidak wajib** untuk mode ini.

### Set environment variable

```bash theme={null}
export HOSTLINKU_API_KEY=sk-isi-api-key-kamu   # API key Hostlinku
export COPILOT_PROVIDER_BASE_URL=https://api.hostlinku.com/v1
export COPILOT_PROVIDER_API_KEY="$HOSTLINKU_API_KEY"
export COPILOT_MODEL=claude-sonnet-4-6
```

`COPILOT_PROVIDER_TYPE` default-nya `openai` (Chat Completions), jadi tidak perlu di-set. Copilot
menambahkan `/chat/completions` sendiri - base URL cukup sampai `/v1`.

### (Disarankan) Beri tahu batas token model

Copilot CLI tidak mengenal slug Hostlinku, jadi isi batasnya dari [katalog](https://docs.hostlinku.com/models.md) agar
konteks dipangkas dengan benar:

```bash theme={null}
export COPILOT_PROVIDER_MAX_PROMPT_TOKENS=1000000
export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS=64000
```

Cek dengan `env | grep '^COPILOT_' | sort` di shell yang sama sebelum menjalankan `copilot`:

![Terminal: export COPILOT\_PROVIDER\_BASE\_URL, COPILOT\_PROVIDER\_API\_KEY, COPILOT\_MODEL, dan batas token, lalu env | grep COPILOT\_](https://mintcdn.com/hostlinku/wMpi8klIZneDqj3k/images/integrations/copilot-terminal-env.webp?fit=max\&auto=format\&n=wMpi8klIZneDqj3k\&q=85\&s=277d199a1ee8b2f2718970710c8f25fe)

### Jalankan

```bash theme={null}
copilot
# atau ganti model per sesi
copilot --model gpt-5-5
```

Request pertama tampil di console → **Log Permintaan**.

### Varian: format Anthropic

Untuk model Claude lewat Messages API (prompt caching penuh), pakai provider `anthropic` dengan base
URL **tanpa** `/v1`:

```bash theme={null}
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL=https://api.hostlinku.com
export COPILOT_PROVIDER_API_KEY="$HOSTLINKU_API_KEY"
export COPILOT_MODEL=claude-sonnet-4-6
```

Model wajib mendukung tool calling dan streaming

Copilot CLI menolak model tanpa *tool calling* atau *streaming*, dan menyarankan konteks minimal
128K token. Semua rekomendasi di [Ikhtisar](https://docs.hostlinku.com/integrations.md) memenuhi syarat ini -
`claude-sonnet-4-6`, `gpt-5-5`, `deepseek-v4-flash`, `glm-5-3`.

* **Biarkan wire API default (Chat Completions).** Responses API di Hostlinku bersifat *stateless*
  ([detail](https://docs.hostlinku.com/responses.md)); Chat Completions menerima semua model katalog tanpa batasan itu.
* **Tanpa login GitHub**, fitur yang bergantung pada server GitHub (`/delegate`, GitHub MCP server,
  code search) tidak tersedia. Login dengan `copilot login` bila butuh fitur itu - request model
  tetap ke Hostlinku.
* **`COPILOT_OFFLINE=true`** mematikan semua koneksi ke GitHub (termasuk telemetri). Prompt tetap
  dikirim ke `api.hostlinku.com`.

## GitHub Copilot app

Aplikasi desktop GitHub Copilot mendukung provider model sendiri (public preview). Kamu tetap
perlu login GitHub, tetapi **tidak butuh paket Copilot** bila hanya memakai provider sendiri.

### Tambah provider

Buka app settings → **Model providers** → **Add provider** → pilih **OpenAI-compatible**.

### Isi detail provider

| Field | Nilai |
| - | - |
| **Display name** | `Hostlinku` |
| **Base URL** | `https://api.hostlinku.com/v1` |
| **API key** | `sk-…` (API key Hostlinku) |

Klik **Add provider**. Key disimpan di credential store sistem operasi.

### Pilih model per sesi

Model Hostlinku muncul di model picker di samping model GitHub. Pilih salah satu saat memulai
sesi agent.

Untuk model Claude, kamu juga bisa memilih provider **Anthropic** dan mengisi base URL
`https://api.hostlinku.com` (tanpa `/v1`) - tersedia bila form provider menampilkan kolom base URL.

## Batasan

* **Copilot di JetBrains, Visual Studio, dan Xcode** tidak punya pengaturan base URL atau provider
  kustom per pengguna. Di JetBrains, pakai [JetBrains AI Assistant](https://docs.hostlinku.com/integrations/jetbrains.md)
  atau [Junie CLI](https://docs.hostlinku.com/integrations/junie.md) untuk model Hostlinku.
* **Autocomplete inline (ghost text)** di semua editor selalu memakai infrastruktur Copilot. BYOK
  hanya berlaku untuk chat dan agent.
* **Copilot Business/Enterprise:** admin organisasi harus mengizinkan BYOK (dan Copilot CLI untuk
  Copilot app) di pengaturan kebijakan Copilot.

## Troubleshooting

| Gejala | Solusi |
| - | - |
| `401` | `COPILOT_PROVIDER_API_KEY` kosong/salah di shell yang menjalankan `copilot`. Cek dengan `echo ${COPILOT_PROVIDER_API_KEY:0:6}`. |
| `404` di semua request | Provider `openai` tanpa `/v1`, atau provider `anthropic` dengan `/v1`. |
| `404 model_not_found` | `COPILOT_MODEL` harus slug persis dari `GET /v1/models`. |
| Error model tidak mendukung tool calling | Ganti ke model ber-*tool calling* dari [katalog](https://docs.hostlinku.com/models.md). |
| Masih memakai model GitHub | Variabel di-export di shell lain - jalankan `copilot` dari shell yang sama atau tambahkan ke `~/.zshrc`. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.