Tambah agent, atur tingkatannya (siapa memanggil siapa), model, dan koneksi API masing-masing.
Konfigurasi belum siap untuk menjalankan engine
• {{ i.text }}
Pilih agent
Pilih agent di kiri untuk mengubahnya, atau tambah agent baru.
• {{ e.text }}
{{ f.icon }}
{{ f.heading }}
{{ f.sub }}
Aktif
account_tree
Tingkatan dan hierarki
dikunci graph
Level 0 hanya Orchestrator. Agent level 1 dipanggil langsung oleh Orchestrator. Agent level 2 ke atas dipanggil induknya lewat tool delegate_task. Induk selalu berlevel lebih rendah, jadi delegasi tidak bisa melingkar.
Verifikasi menguji panggilan dasar, tool calling, dan konteks panjang (memanggil model sungguhan, ada biayanya). Engine menolak berjalan sebelum model terverifikasi.
{{ f.vrTitle }}
{{ v.text }}
compress
RTK (hemat token)
Memampatkan keluaran perintah (test, lint, build) sebelum dibaca agent ini. Matikan bila agent butuh keluaran utuh, mis. QA.
{{ f.rtkNow }}
Koneksi ke API
{{ f.connDetail }}
{{ f.connLabel }}
Pemakaian kunci
{{ f.modeHint }}
Kunci yang dipakai agent ini
{{ r.name }}{{ r.detail }}{{ r.ms }}
shield_lock
Izin kerja
Folder yang boleh ditulis (scope)
Perintah proyek yang boleh dijalankan (nama dari workspace.yaml)
Agent tidak pernah menyusun perintah shell sendiri dan tidak bisa membaca .env atau kunci. {{ f.scopeNote }}
description
System prompt
Agent bawaan memakai prompt dari engine/prompts/{{ f.id }}.md, digabung dengan AGENTS.md proyek. Ubah berkas itu untuk mengubah perilakunya.
Koneksi
Provider dan kunci API: 9Router (gateway), OpenAI/GPT, Anthropic, Gemini, DeepSeek. Atur urutan prioritas (fallback) atau bergilir (round-robin).
Pilih provider
{{ p.icon }}
{{ p.name }}
{{ p.kindLabel }} · {{ p.originLabel }}
warningBase URL masih placeholder. Isi alamat gateway Anda di bawah sebelum menjalankan engine.
Kumpulan kredensial
Beberapa kunci untuk model yang sama. Nilai kunci tidak pernah tampil di sini, hanya empat karakter terakhir.
Pesan dikirim saat gate menunggu keputusan Anda, run gagal, atau selesai. Dua jalur dicoba berurutan: bila jalur pertama (mis. OpenWA Anda) mati, pesan otomatis lewat jalur kedua (Fonnte).
Kirim untuk peristiwa
Balas WhatsApp untuk menyetujui gate
Pesan gate memuat kode; balas SETUJU kode atau TOLAK kode alasan. Hanya nomor Anda yang diterima. Butuh webhook /hooks/wa/<FORGE_WA_WEBHOOK_SECRET> yang didaftarkan di OpenWA/Fonnte (secret min. 12 karakter di .env).
Jalur {{ c.order }}
{{ c.title }}
{{ c.stext }}
{{ cn.nt.resTitle }}{{ l.t }}
fact_check
Papan uji mutu
Menjalankan brief standar dari awal sampai rilis. Terskrip: model tiruan, gratis, membuktikan alur tidak macet. Live: model sungguhan, untuk membandingkan model dan prompt. {{ cn.ev.status }}
Belum ada hasil. Jalankan sekali untuk melihat hasilnya di sini.
{{ e.badge }}
{{ e.title }} · {{ e.mode }}
{{ e.meta }}
school
Pelajaran lintas proyek
Jebakan per stack yang ditemukan agent. Pelajaran baru hanya dipakai di proyek asalnya; setelah Anda setujui, ikut dipakai di proyek lain yang stack-nya mirip. Matikan yang keliru, hapus yang salah.
Belum ada pelajaran. Agent mencatatnya sendiri saat menemukan jebakan.
{{ l.text }}
{{ l.meta }}
auto_fix_high
Skill (gaya kerja agent)
Bawaan untuk proyek baru dan peran yang menerimanya. Tiap proyek tetap bisa memilih sendiri saat memulai (tombol "Skill proyek").
{{ k.title }}
{{ k.desc }}
Aktif untuk proyek baru
Dipakai agent:
compress
RTK: hemat token dari keluaran perintah
RTK (Rust Token Killer) memampatkan keluaran perintah seperti git, pytest, dan npm sebelum dibaca agent, biasanya jauh lebih sedikit token. Pemeriksaan keamanan tetap dijalankan pada perintah asli. Berlaku di run berikutnya, dan tidak dipakai bila sandbox Docker aktif.
{{ cn.rtkAgents }}
warningBinary rtk belum terpasang di server ini, jadi sakelar belum berpengaruh. Pasang rtk (sudah termasuk di image Docker).
swap_horiz
Kapan engine pindah kunci
Aturan ini berlaku di engine untuk semua provider. Pindah kunci tidak mengubah model yang menjawab, jadi jaminan "penilai berbeda dari penulis" tetap utuh.
401 / 402 / 403 / kuota habisKunci dinonaktifkan selama run, lanjut ke kunci berikutnya.
429 rate limitDidinginkan sebentar lalu dicoba lagi.
5xx / timeoutDiulang pada kunci yang sama, lalu didinginkan.
smart_toy
Dipakai oleh agent
Belum dipakai agent mana pun.
Analitik
Token dan biaya per agent dan per kunci untuk proyek {{ us.project }}. Biaya adalah estimasi dari tabel harga, bukan tagihan.
Belum ada data pemakaian
{{ us.emptyText }}
{{ c.label }}{{ c.value }}
Biaya per agent
{{ r.name }}
{{ r.text }}
Per kunci
{{ r.name }}{{ r.calls }} panggilan{{ r.usd }}
folder_open
Pilih direktori proyek
Satu direktori adalah satu proyek (satu repo Git). Anda hanya bisa memilih folder di dalam area yang diizinkan server.
/
Memuat…
Tidak ada sub-folder.
error{{ dlg.err }}
{{ pick.current }}
add_comment
Sesi baru
Direktori
infoDirektori ini sedang dikerjakan sesi lain. Sesi baru tetap bisa dibuat, tetapi run baru menunggu yang berjalan selesai.
Mulai dari contoh brief
Skill untuk proyek ini (gaya kerja agent, bisa diubah nanti)
{{ nw.skillHint }}
Proyek ini sudah ada (ubah, jangan bangun ulang)
Engine mencatat hasil test saat ini sebagai garis dasar, lalu hanya merencanakan dan mengerjakan perubahan yang Anda minta. Tulis brief sebagai permintaan perubahan.
error{{ dlg.err }}
{{ cf.title }}
{{ cf.body }}
error{{ dlg.err }}
{{ pr.title }}
{{ pr.help }}
error{{ dlg.err }}
{{ health.icon }}
Status agent dan koneksi
{{ health.text }}. Status berasal dari uji koneksi dan dari kegagalan nyata di tengah run.
Konfigurasi belum siap untuk menjalankan engine
• {{ i.text }}
{{ a.label }}{{ a.detail }}{{ a.status }}
Tambah provider
Jenis
error{{ dlg.err }}
create_new_folder
Proyek baru
Lokasi
Dibuat di {{ np.rootLabel }}
Mulai dari
Repo privat butuh akses SSH/token di server (kunci SSH Forge). Isi repo tidak ditimpa; berkas template hanya ditambahkan bila belum ada.
Skill untuk proyek ini
error{{ dlg.err }}
fork_right
Cabang Git
Membaca repositori…
Folder ini belum repo Git. Cabang tersedia setelah engine menjalankan run pertama atau saat proyek dibuat lewat "Proyek baru".
Sekarang di{{ bg.current }}Engine bekerja di{{ bg.work }}
{{ bg.note }}
{{ bg.remote }} {{ bg.sync }}
{{ bg.dirtyText }}
Ada run yang berjalan: cabang tidak bisa diubah sampai selesai.
merge
Pull Request ke {{ bg.prRemote }}
Mendorong cabang yang sedang dibuka lalu membuka PR draf berisi ringkasan, tabel AC, hasil tes, dan verdict review. Menggabungkan tetap keputusan Anda.
preview
Pratinjau cabang ini di {{ bg.pvDomain }}
Membangun snapshot commit terakhir cabang yang sedang dibuka (butuh delivery/Dockerfile dari Releaser). Alamat: {{ bg.pvCur }}
Pratinjau per cabang mati: isi FORGE_PREVIEW_DOMAIN di .env server (DNS wildcard ke VPS) untuk mengaktifkan.
{{ b.name }}{{ t.text }}
{{ b.sub }}
Buat cabang baru
Langsung dipakai engine untuk pengerjaan
{{ bg.confirmTitle }}Engine akan commit langsung ke cabang terlindungi ini. Biasanya lebih aman memakai cabang fitur lalu merge lewat pull request.
check_circle{{ bg.msg }}
error{{ dlg.err }}
auto_fix_high
Skill proyek "{{ sk.project }}"
Skill adalah gaya kerja yang ditambahkan ke instruksi agent. Pilihan ini disimpan di forge.yaml proyek dan berlaku mulai agent berikutnya yang bekerja.
{{ k.title }}
{{ k.desc }}
Untuk: {{ k.roles }}
error{{ dlg.err }}
compress
RTK untuk sesi ini
Hanya berlaku di sesi ini dan langsung dipakai pada perintah berikutnya, bahkan saat run berjalan. Agent yang butuh keluaran perintah utuh (mis. QA saat tes gagal) sebaiknya dimatikan.
Semua agent di sesi ini
{{ a.label }}
{{ a.state }} · {{ a.source }}
Belum ada agent yang boleh menjalankan perintah.
error{{ dlg.err }}
web
Browser yang diuji AI
{{ bw.badge }}
{{ bw.last }}
delete_forever
Hapus proyek "{{ pg.name }}"?
Memeriksa isi proyek…
Ini permanen dan tidak bisa dibatalkan.Folder {{ pg.path }} beserta {{ pg.files }} berkas ({{ pg.size }}) dihapus dari server.Database {{ d.kind }} {{ d.name }} di-drop, termasuk user-nya.Stack Docker lokal proyek (beserta datanya) dihapus.
Perhatian: riwayat Git{{ pg.gitText }}
blockMasih ada run yang berjalan. Hentikan dulu sebelum menghapus.
error{{ dlg.err }}
account_circle
Akun: {{ account.name }}
Ganti kata sandi. Sesi login di perangkat lain akan dikeluarkan.
error{{ dlg.err }}
Tambah API key
Provider: {{ key.provider }}. Kunci disimpan di .env server (izin 0600) dan tidak pernah dikirim kembali ke browser.