> ## 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.

# DeepSeek Harness

> Hubungkan DeepSeek Harness (dsh) - agent coding open-source dari DeepSeek - ke Hostlinku lewat DEEPSEEK_BASE_URL. Panduan instal, konfigurasi cordis.patch.yml, dan troubleshooting yang sudah diuji.

[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`) adalah agent coding
open-source dari DeepSeek. Di dalam folder kerja yang kamu pilih, `dsh` bisa membaca file, mengedit
kode, menjalankan perintah shell, dan menyelesaikan tugas multi-langkah - lewat antarmuka Web, mode
headless, SDK, maupun ACP.

`dsh` berbicara protokol **Anthropic Messages**. Hostlinku menyediakannya di
[`POST /v1/messages`](https://docs.hostlinku.com/anthropic-messages), sehingga `dsh` bisa diarahkan ke Hostlinku hanya dengan
dua environment variable - tanpa proxy, tanpa plugin tambahan.

Versi yang diuji

Panduan ini diverifikasi end-to-end dengan `@deepseek-ai/dsh` **0.2.1-rc.5** (agent membaca file
lewat tool lalu menjawab, mode headless). DeepSeek Harness masih *development preview*; nama file
konfigurasi atau perilaku parameter bisa berubah di versi berikutnya.

## Sebelum mulai

* **Node.js LTS terbaru** (`node --version`). Paket `dsh` menarik ratusan dependensi, jadi
  instalasi pertama bisa memakan 1-3 menit.
* **API key Hostlinku** `sk-…` dari [console.hostlinku.com](https://console.hostlinku.com) → **API Keys**.
* **Saldo** atau limit pengeluaran yang cukup untuk key tersebut.
* **Folder uji yang aman.** Folder tempat kamu menjalankan `dsh` menjadi workspace default-nya.
  Jangan jalankan langsung dari home directory atau folder berisi data penting.

### Instal DeepSeek Harness

```bash theme={null}
npm install -g @deepseek-ai/dsh
dsh --version
```

Atau jalankan tanpa instal global: `npx @deepseek-ai/dsh web`.

### Arahkan ke Hostlinku

`dsh` membaca endpoint dari `DEEPSEEK_BASE_URL` dan API key dari `DEEPSEEK_API_KEY`.

**macOS / Linux / WSL** (simpan di `~/.zshrc` atau `~/.bashrc`):

```bash theme={null}
export DEEPSEEK_BASE_URL=https://api.hostlinku.com
export DEEPSEEK_API_KEY=sk-your-api-key
```

**Windows PowerShell:**

```powershell theme={null}
$env:DEEPSEEK_BASE_URL = "https://api.hostlinku.com"
$env:DEEPSEEK_API_KEY  = "sk-your-api-key"
```

`dsh` menambahkan `/v1/messages` sendiri. Base URL `https://api.hostlinku.com/v1` juga diterima
(akhiran `/v1` dipakai ulang, tidak digandakan).

### Pilih model dan batas output

Model bawaan `dsh` (`deepseek-flash`) bukan slug Hostlinku, dan `dsh` mengirim `max_tokens: 256000`
secara default - melebihi batas output sebagian besar model. Keduanya diatur di file patch level
home: `~/.dsh/cordis.patch.yml` (atau `$DSH_HOME/cordis.patch.yml` bila `DSH_HOME` kamu set).

```yaml theme={null}
- id: agent-default-model
  config:
    provider: deepseek-official
    model: deepseek-v4-1-flash
- id: llm-deepseek
  config:
    apiKeyEnv: DEEPSEEK_API_KEY
    maxTokens: 32000
```

Patch mengganti seluruh blok config

Patch tidak menggabungkan field satu per satu - blok `config` di patch **menggantikan** blok
bawaan. Karena itu `provider: deepseek-official` dan `apiKeyEnv` harus tetap ditulis, atau `dsh`
gagal start dengan `$.provider missing required value`.

### Jalankan

Uji cepat lewat mode headless (satu tugas, cetak jawaban akhir, lalu keluar):

```bash theme={null}
mkdir dsh-test && cd dsh-test
echo "the secret word is PINEAPPLE" > hello.txt
dsh --profile headless "Read hello.txt and reply with only the secret word."
```

Output yang benar: `PINEAPPLE`. Artinya agent berhasil memanggil tool baca file lewat Hostlinku dan
menjawab. Untuk antarmuka penuh di browser:

```bash theme={null}
dsh web
```

### Verifikasi

Buka console → **Log Permintaan**. Request dari `dsh` tampil dengan model yang kamu pilih, jumlah
token, biaya, dan API key yang dipakai.

## Model yang direkomendasikan

Field `model` bisa diisi slug apa pun dari [katalog](https://docs.hostlinku.com/models.md) yang mendukung tool calling. Daftar
yang aktif untuk key kamu ada di `GET /v1/models`.

| Kebutuhan | Slug | Catatan |
| - | - | - |
| Default harian, cepat dan murah | `deepseek-v4-1-flash` | Konteks 1M, reasoning, tool calling. |
| Butuh input gambar (screenshot, diagram) | `deepseek-v4-1-flash` | Mendukung vision. |
| Tugas berat / refactor besar | `deepseek-v4-1-flash-hyper` | Konteks 1M, reasoning lebih dalam. |
| Alternatif open-weight | `kimi-k2-7-code`, `glm-5-3` | Tool calling dan reasoning. |

Sesuaikan maxTokens dengan model

`maxTokens` membatasi output per request, bukan ukuran konteks. Nilai `32000` pada contoh adalah konfigurasi awal, bukan maksimum model. Periksa batas output model di [katalog](https://docs.hostlinku.com/models.md); bila batas belum dicantumkan, kurangi nilai jika request ditolak.

## Keamanan

* Selama tugas berjalan, prompt, potongan kode, isi file, dan hasil tool dikirim ke Hostlinku untuk
  inferensi. Jangan jalankan `dsh` pada proyek berisi rahasia dagang atau data pribadi tanpa izin.
* Pakai **API key terpisah** khusus `dsh` dengan limit pengeluaran, supaya mudah di-revoke bila bocor.
  Lihat [Autentikasi](https://docs.hostlinku.com/authentication.md).
* Jangan menulis API key langsung di `cordis.patch.yml`. `apiKeyEnv` hanya menyimpan **nama**
  variabelnya; nilai key tetap dibaca dari environment.

## Troubleshooting

| Gejala | Penyebab & solusi |
| - | - |
| `INVALID_REQUEST: max_tokens (256000) exceeds the output limit of model …` | `maxTokens` belum diatur. Tambahkan `maxTokens: 32000` di blok `llm-deepseek`. |
| `startup failed … $.provider missing required value` | Blok `agent-default-model` di patch tidak memuat `provider`. Tulis ulang lengkap seperti contoh di atas. |
| `MISSING_CREDENTIAL` | `DEEPSEEK_API_KEY` belum ter-export di shell tempat `dsh` dijalankan. |
| `401` / *invalid API key* | Key salah, dicabut, atau kedaluwarsa. Buat key baru di console. |
| `404 model not found` | Slug salah atau masih `deepseek-flash`. Salin slug dari `GET /v1/models`. |
| Lampiran gambar gagal | `dsh` mencoba mengunggah gambar lewat `/v1/files` lebih dulu, lalu otomatis mengirim ulang gambar secara inline. Pastikan model yang dipilih mendukung vision (mis. `deepseek-v4-1-flash`). |

Detail lengkap opsi plugin ada di
[repositori DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness). Panduan terkait:
[Claude Code](https://docs.hostlinku.com/integrations/claude-code.md) · [CC Switch](https://docs.hostlinku.com/integrations/cc-switch.md) ·
[Anthropic Messages](https://docs.hostlinku.com/anthropic-messages.md).


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