Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 52
Glosarium 12

Alat

omp (Oh My Pi) + JoinGonka Gateway: agen dengan peran model

omp (Oh My Pi) adalah agen coding terminal, fork dari Pi yang minimalis, yang telah ditambahkan fitur-fitur penting untuk pekerjaan skala besar: server bahasa (LSP) pada setiap penyimpanan file, manajemen debugger nyata, sub-agen dalam salinan kerja terisolasi, serta sel Python dan JavaScript persisten. Kernelnya ditulis dalam Rust, dan binary yang sama berjalan di macOS, Linux, dan Windows.

Penyedia di omp dijelaskan secara deklaratif: endpoint apa pun yang menggunakan OpenAI Chat Completions dapat ditambahkan dengan selusin baris di ~/.omp/agent/models.yml. JoinGonka Gateway bekerja dengan cara tersebut, sehingga koneksinya cukup dengan satu perintah installer atau dua file YAML pendek. Setelah itu, agen bekerja menggunakan model dari jaringan terdesentralisasi Gonka — DeepSeek V4 Flash, GLM-5.3 Flash, dan MiniMax M2.7 — dengan harga seragam: $0.0069 per satu juta input token.

Perbedaan utama omp dari pendahulunya adalah peran model: tugas umum, analisis mendalam, mode perencanaan, dan tugas latar belakang bisa diserahkan ke model yang berbeda dengan rantai cadangan. Berikut adalah panduan cepat, konfigurasi manual, tabel "model mana untuk peran apa", dan analisis kesalahan. Perintah dan pesan diverifikasi melalui pengujian langsung omp 18.2.8 melalui gateway pada 21 September 2026. Setelah konfirmasi alamat, 3M token gratis akan dikreditkan ke akun — cukup untuk mencoba semuanya sendiri.

Mulai cepat: instalasi dan satu perintah

Langkah 1: pasang omp. Cara resmi dari README proyek:

# macOS and Linux
curl -fsSL https://omp.sh/install | sh

# Homebrew
brew install can1357/tap/omp

# via Bun (requires Bun 1.3.14 or newer)
bun install -g @oh-my-pi/pi-coding-agent

# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex

Langkah 2: dapatkan kunci. Daftar di gate.joingonka.ai/register, konfirmasi alamat Anda, dan buat kunci dengan awalan jg- di bagian "Kunci API". Satu kunci dan satu saldo berlaku untuk semua model di jaringan.

Langkah 3: jalankan installer.

npx @joingonka/setup --tool omp

Installer akan menanyakan kunci — kunci tidak diteruskan melalui argumen baris perintah agar tidak tersimpan di riwayat shell — dan melakukan empat hal:

  • menuliskan penyedia joingonka ke ~/.omp/agent/models.yml: alamat gateway, protokol openai-completions, kunci sebagai literal, dan tiga model jaringan dengan jendela konteks serta batas respons yang sebenarnya; file akan mendapat izin 600;
  • menetapkan model default — modelRoles.default di ~/.omp/agent/config.yml — ke DeepSeek V4 Flash, tetapi hanya jika peran tersebut kosong atau menunjuk ke model yang sudah tidak ada di jaringan: installer tidak mengambil alih pilihan Anda, melainkan memberi tahu cara beralih;
  • sebelum menulis, membuat cadangan file sebelumnya, dan membiarkan penyedia, peran, serta komentar lain tetap seperti semula;
  • di akhir, mengirim permintaan langsung ke gateway dan memberi tahu secara jelas apakah kunci, alamat, dan model diterima.

Model default lain ditentukan dengan flag --model beserta singkatan deepseek, glm, atau minimax — model yang ditentukan secara eksplisit selalu dituliskan. Untuk dotfile dan server tersedia mode tanpa pertanyaan, di mana kunci diambil dari variabel lingkungan:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool omp --model glm --non-interactive

Installer menangani lokasi konfigurasi nonstandar secara otomatis: profil bernama (OMP_PROFILE) dan direktori agen yang dipindahkan (PI_CODING_AGENT_DIR). models.json warisan akan dipindahkannya ke models.yml sama seperti yang akan dilakukan omp sendiri — penyedia lama tidak akan hilang. Dan jika di sebelahnya terdapat settings.json lama tanpa config.yml, installer tidak akan membuat config.yml agar omp tidak melewatkan migrasi pengaturannya sendiri: installer akan meminta Anda menjalankan omp sekali dan mengulangi perintahnya.

Konfigurasi manual: dua file YAML

Semua yang dilakukan installer bisa ditulis manual. Ada dua file, masing-masing punya tugasnya sendiri: models.yml mendeskripsikan provider dan model, config.yml menyimpan pengaturan — termasuk model mana yang menempati peran apa.

# ~/.omp/agent/models.yml
providers:
  joingonka:
    baseUrl: https://gate.joingonka.ai/v1
    api: openai-completions
    apiKey: jg-your-key
    models:
      - id: deepseek-ai/DeepSeek-V4-Flash-0731
        name: DeepSeek V4 Flash (Gonka)
        input: [text]
        contextWindow: 380000
        maxTokens: 32768
        reasoning: true
      - id: zai-org/GLM-5.3-Flash
        name: GLM-5.3 Flash (Gonka)
        input: [text]
        contextWindow: 390000
        maxTokens: 8192
        reasoning: true
      - id: MiniMaxAI/MiniMax-M2.7
        name: MiniMax M2.7 (Gonka)
        input: [text]
        contextWindow: 200000
        maxTokens: 8192
# ~/.omp/agent/config.yml
modelRoles:
  default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
KolomNilaiYang penting
baseUrlhttps://gate.joingonka.ai/v1Wajib diakhiri /v1: jalur /chat/completions ditambahkan sendiri oleh omp
apiopenai-completionsTransport Chat Completions — di sinilah seluruh panduan ini telah diuji
apiKeykunci Anda jg-…omp mula-mula mencari variabel lingkungan dengan nama tersebut dan, jika tidak menemukannya, memakai string itu sebagai kunci. Nilai yang diawali ! adalah perintah yang outputnya menjadi kunci
contextWindow, maxTokenssesuai daftar model di atasTanpa keduanya omp akan memakai 128000 dan 16384 — tidak cocok untuk model jaringan ini. Dari jendela konteks inilah agen menghitung kapan riwayat perlu dipadatkan
input[text]Model jaringan menerima teks
reasoningtruePenanda model penalaran: installer memasangnya untuk DeepSeek V4 Flash dan GLM-5.3 Flash, sedangkan entri MiniMax M2.7 tanpa penanda ini

Kunci secara literal adalah pilihan paling bebas masalah: omp bisa dijalankan dari lingkungan mana pun, dan file cukup diamankan dengan chmod 600 ~/.omp/agent/models.yml. Ingin menyimpan kunci di luar file? Tuliskan nama variabel di apiKey, misalnya JOINGONKA_API_KEY, lalu ekspor variabel itu di shell tempat Anda menjalankan omp: urutan resolusi kunci seperti itulah yang dijelaskan dalam dokumentasi proyek.

Kolom opsional cost (harga per juta token) hanya diperlukan untuk memperkirakan biaya sesi di antarmuka omp. Installer mengisinya dengan harga gateway yang berlaku saat pemasangan; pada konfigurasi manual kolom ini boleh dihilangkan — perkiraan tersebut tidak memengaruhi tagihan Anda, pemakaian sebenarnya terlihat di dasbor.

Selektor model ditulis sebagai provider/model-id. Nama provider dipisahkan pada garis miring pertama, karena itu ID jaringan yang mengandung garis miring sendiri ditulis apa adanya: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731. Alih-alih mengubah config.yml, peran bisa ditetapkan dari antarmuka — lewat perintah /model di dalam sesi atau di wizard omp setup.

Peran model: model mana untuk tugas apa

Di omp, model tidak dipilih satu untuk segalanya, melainkan berdasarkan peran — inilah tuas pengaturan utama. Peran bawaan untuk dialog: default, smol, slow, plan, commit, task, tiny, memory, advisor, dan vision. Tidak perlu menetapkan semuanya: peran smol dan slow yang tidak diatur secara otomatis mengambil model dari peran default, sub-agen tanpa peran task bekerja menggunakan model sesi saat ini, commit dan tiny mengikuti smol. Konfigurasi satu baris default saja sudah berfungsi penuh.

Membagi peran antar model jaringan dilakukan bukan demi penghematan — harga untuk DeepSeek V4 Flash, GLM-5.3 Flash, dan MiniMax M2.7 sama — tetapi demi perilaku dan kapasitas: model penalaran merencanakan lebih baik, model dengan respons panjang menulis lebih baik, dan hal-hal latar belakang yang sepele tidak perlu mengantre di baris yang sama dengan tugas utama.

PeranApa yang dijalankanModel jaringanMengapa
defaultlangkah agen biasa: membaca, revisi, perintahDeepSeek V4 FlashKonteks 380K dan batas respons 32768 — cadangan untuk sesi panjang dengan alat; model ini juga diatur oleh installer
smol, task, committugas cepat, sub-agen, analisis perubahan untuk commitjangan diatur — secara warisan akan menggunakan DeepSeek V4 FlashSemuanya memanggil alat, dan model "murah" tidak memberikan penghematan apa pun dengan harga yang sama
slowanalisis mendalam: logika rumit, mencari penyebabGLM-5.3 FlashBernalar sebelum menjawab; batas respons 8192, sebagian digunakan untuk penalaran — untuk teks panjang, gunakan kembali DeepSeek V4 Flash
planmode perencanaanGLM-5.3 FlashRencana adalah teks pendek di mana alur berpikir lebih penting daripada volume
tinyjudul sesi dan klasifikasi utilitas — kueri pendek tanpa alatMiniMax M2.7Model ini memiliki kapasitas terbesar di jaringan, dan latar belakang tidak berebut slot dengan tugas utama
advisormodel kedua yang membaca setiap langkah model utama dan menyisipkan catatanGLM-5.3 Flash, opsionalBerguna jika penasihat berbeda dari pelaksana; diaktifkan dengan perintah /advisor on
visiontugas dengan gambarjangan diaturModel jaringan bersifat teks: serahkan peran ini kepada penyedia dengan model vision
# ~/.omp/agent/config.yml
modelRoles:
  default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
  slow: joingonka/zai-org/GLM-5.3-Flash
  plan: joingonka/zai-org/GLM-5.3-Flash
  tiny: joingonka/MiniMaxAI/MiniMax-M2.7

retry:
  fallbackChains:
    default:
      - joingonka/zai-org/GLM-5.3-Flash

Blok retry.fallbackChains adalah asuransi untuk jam sibuk: ketika model utama terus-menerus menjawab 429, omp meneruskan sisa langkah ke urutan rantai berikutnya, lalu kembali ke utama setelah jeda. Kunci rantai bisa berupa peran, model tertentu, atau seluruh penyedia (joingonka/*).

Untuk satu kali jalan, peran dapat ditentukan ulang dengan flag: omp --model slow menjalankan sesi pada model peran slow, sementara --smol, --slow, dan --plan mengganti model peran itu sendiri. Di dalam sesi, Ctrl+P menelusuri model peran, dan /model membuka pemilihan; di tab Roles, Anda juga dapat menetapkan peran dan cadangannya.

Anda dapat menambahkan tingkat refleksi pada nilai peran — :low, :medium, :high. Ini adalah sintaks omp, dan bagaimana sebuah model memahami tingkat tersebut bergantung pada model itu sendiri: misalnya, GLM-5.3 Flash menggunakan sakelar biner — detailnya ada di ulasan model. Dan satu detail berguna lainnya: peran dapat didefinisikan ulang untuk satu repositori melalui file <repo>/.omp/config.yml dengan blok modelRoles yang sama. Penyedia dan kunci tetap berada di direktori rumah, sehingga kunci tidak akan masuk ke dalam repositori.

Verifikasi: apa yang seharusnya terjadi

Pertama, pastikan omp mengenali provider-nya:

omp models joingonka

Sebagai balasan, muncul tabel berisi tiga baris dengan jendela konteks dan batas maksimum respons dari models.yml, dibulatkan ke ribuan (output dipersingkat: omp masih punya kolom thinking dan images):

joingonka (3)
model                                context  max-out
deepseek-ai/DeepSeek-V4-Flash-0731      380K      33K
MiniMaxAI/MiniMax-M2.7                  200K     8.2K
zai-org/GLM-5.3-Flash                   390K     8.2K

Berikutnya — uji coba sekali jalan tanpa antarmuka. Letakkan file dengan kesalahan yang jelas di direktori kosong dan minta agent menemukannya:

omp -p "Read calc.py and tell me in one sentence whether it has a bug."

Agent harus memanggil sendiri tool pembaca dan menjawab secara konkret — dengan menyebutkan ekspresi tempat kesalahan berada. Pada uji coba kami tanggal 21 September 2026, siklus ini — permintaan, pemanggilan tool, hasil, jawaban — dilalui dengan bersih oleh DeepSeek V4 Flash dan GLM-5.3 Flash; untuk MiniMax M2.7, lihat baris terakhir tabel di bawah.

Pemeriksaan ketiga — dari sisi gateway: di dashboard pada bagian "Usage", permintaan akan muncul di rincian "By models", dan di blok "By keys" waktu permintaan terakhir akan diperbarui. Jika kosong, berarti omp menghubungi provider lain: periksa apa yang ditetapkan pada role dengan perintah omp config get modelRoles.

Jika ada yang tidak beres, diagnosisnya biasanya langsung terbaca dari pesan errornya:

Yang terlihatArtinyaYang harus dilakukan
Bun runtime must be >= 1.3.14omp dipasang melalui Bun, tetapi Bun-nya sendiri sudah usangPerbarui Bun (bun upgrade) atau pasang binary siap pakai: curl -fsSL https://omp.sh/install | sh -s — --binary
401 Invalid API keyGateway menolak keyPeriksa apiKey: key utuh, tanpa spasi atau salah ketik tanda kutip. Jika isinya nama variabel, variabel itu harus diekspor di shell tempat omp dijalankan
405 Not Allowed dan halaman HTML nginxSufiks hilang di baseUrlAlamat harus diakhiri dengan /v1
404 Invalid URL (POST /v1/v1/chat/completions)Ada ekor berlebih di baseUrlSisakan tepat https://gate.joingonka.ai/v1 — sisanya akan dilengkapi omp sendiri
400 Model … not found. Available: …Salah ketik pada id modelGateway sendiri mencantumkan identifier yang tersedia; daftar lengkapnya lewat GET https://gate.joingonka.ai/v1/models
Warning: models.yml validation failed — custom providers disabled, lalu No models matching "joingonka"File tidak lolos validasi: salah ketik nama field wajib atau YAML rusak. omp tetap berjalan dengan model bawaanPenyebabnya disebutkan di baris tepat di bawah peringatan; perbaiki field-nya dan ulangi omp models joingonka
429Limit permintaan per menit untuk key sudah habis, atau kapasitas model penuh di jam sibukomp otomatis mengulang permintaan dengan jeda yang makin panjang. Jika berlarut-larut, ganti model lewat /model atau atur retry.fallbackChains; kondisi jaringan bisa dilihat di halaman status
402Saldo habisIsi ulang akun di bagian "Billing"; key-nya sendiri tetap berfungsi
Giliran selesai tetapi tidak ada jawaban yang terlihat (di mode -p — baris kosong)Teramati pada 21 September 2026 di MiniMax M2.7 pada giliran setelah pemanggilan tool: jawaban datang di dalam blok penalaran, dan omp menampilkannya sebagai pemikiranTetapkan DeepSeek V4 Flash atau GLM-5.3 Flash pada role yang memakai tool, dan simpan MiniMax M2.7 untuk tugas pendek tanpa tool

Berapa biayanya

Alat agen menghabiskan token secara berbeda dibandingkan obrolan: untuk setiap frasa Anda, omp menambahkan prompt sistem dan deskripsi alat, dan tugas biasanya memakan beberapa langkah. Dalam percobaan kami, bahkan dengan satu alat pembaca diaktifkan, setiap langkah memakan sekitar 3,5 ribu token input; dengan set lengkap, jumlahnya akan lebih banyak. Oleh karena itu, harga per token di sini menjadi penentu.

Melalui JoinGonka Gateway, token dihargai $0.0069 per juta di input dan $0.021 per juta di output — harganya sama untuk semua model di jaringan dan ditarik di halaman ini dari sumber langsung.

SkenarioPenggunaanMelalui Gateway
Tugas sekali jalan: membaca file, mencari errormulai dari 7K tokensepersekian sen
Sehari kerja aktif3-7M tokenbeberapa sen
Sebulan pengembangan aktif~150M tokensekitar satu dolar

Estimasi di kolom kanan berdasarkan harga per September 2026. Sebagai perbandingan — bagaimana cara membayar model di omp secara umum:

MetodeModel pembayaranApa yang membatasi
Berlangganan coding plan (masuk melalui /login)jumlah tetap per bulankuota dan jendela pembaruan batas dari sisi vendor
Kunci vendor secara langsungper token sesuai harga vendortagihan naik seiring panjangnya sesi; harga bergantung pada model yang dipilih
JoinGonka Gatewayper token, saldo prabayarpenggunaan terlihat di dashboard; tidak ada langganan atau kuota bulanan

Bilah status omp menunjukkan estimasi biaya sesi. Dihitung berdasarkan kolom cost dari models.yml: penginstal memasukkan harga gateway saat instalasi, dan harga dolar di jaringan berfluktuasi seiring kurs GNK, jadi estimasi hanyalah referensi. Penggunaan tepat dan sisa saldo ada di dashboard, di bagian «Penggunaan» dan «Penagihan». Mengapa pilihan default jatuh pada DeepSeek V4 Flash dibahas secara mendetail dalam ulasan model.

Yang perlu diperhatikan saat bekerja

Mode persetujuan. Secara default, omp berjalan dalam mode yolo: ia menyetujui sendiri pembacaan, penulisan, dan eksekusi perintah. Di proyek Anda sendiri ini praktis, tapi pada kode orang lain — alasan untuk memperketat mode atau pindah ke kontainer:

omp config set tools.approvalMode write

Dalam mode write, agen hanya meminta izin untuk eksekusi perintah; dalam always-ask — juga untuk penulisan. Untuk satu kali jalan, hal yang sama diatur oleh flag --approval-mode. Ini properti omp itu sendiri, tidak bergantung pada penyedia model.

Pi dan omp — kerabat dengan konfigurasi berbeda. Pengaturan satu alat tidak diwariskan ke yang lain: direktori, format, dan nama field-nya masing-masing berbeda.

Piomp
Direktori pengaturan~/.pi/agent~/.omp/agent
Penyediamodels.jsonmodels.yml
Model defaultsettings.json: defaultProvider dan defaultModelconfig.yml: modelRoles.default
Pemilihan model sesuai tugas/model dalam sesiperan modelRoles dan rantai retry.fallbackChains
Verifikasipi --list-modelsomp models joingonka
Installer--tool pi--tool omp

Beberapa lingkungan. Profil bernama (omp --profile work atau variabel OMP_PROFILE) memindahkan semua pengaturan ke ~/.omp/profiles/<name>/agent — praktis untuk memisahkan kunci kerja dan pribadi. Direktori agen saat ini ditampilkan oleh omp config path.

Jika agen dibutuhkan di editor. omp bisa berjalan di dalam Zed lewat protokol ACP — ini agen yang sama dengan pengaturan yang sama, tak perlu menuliskan ulang penyedia dan peran.

omp terhubung ke JoinGonka Gateway dengan satu perintah — npx @joingonka/setup --tool omp — atau dua file: penyedia joingonka di ~/.omp/agent/models.yml (baseUrl dengan /v1, api: openai-completions, kunci jg-…, model dengan contextWindow dan maxTokens yang jujur) dan modelRoles.default di config.yml. Selanjutnya, tuas utama omp bekerja — peran: DeepSeek V4 Flash untuk langkah biasa, GLM-5.3 Flash untuk penguraian dan perencanaan, MiniMax M2.7 untuk hal kecil di latar belakang, rantai fallbackChains untuk jam sibuk. Pemeriksaan — omp models joingonka dan bagian «Penggunaan» di dashboard; harga semua model jaringan sama, jadi peran dipilih berdasarkan perilaku, bukan anggaran.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan kunci dan token gratis →