logo
icon

OneCLI

Gateway dan vault kredensial sumber terbuka untuk agen AI. Simpan kunci API sekali saja, suntikkan secara transparan saat agen Anda melakukan panggilan HTTP — mereka tidak pernah melihat kunci asli.

template cover
Dideploy1 kali
Penerbitglasschan
Dibuat2026-08-01
Tag
AISecurityVaultCredentialsAI AgentsGateway

OneCLI — Vault Rahasia untuk Agen AI (dibuat oleh SEAFOODHOLDHAND)

OneCLI adalah gateway kredensial sumber terbuka yang berada di antara agen AI Anda dan layanan yang mereka panggil. Simpan kunci API asli di vault terenkripsi OneCLI, berikan placeholder (mis. FAKE_KEY) kepada agen Anda, dan gateway OneCLI akan menyuntikkan kredensial asli secara transparan pada permintaan keluar — agen tidak pernah melihat rahasia asli.

Template ini men-deploy instance OneCLI lengkap dalam satu klik.

Arsitektur

[Zeabur LB] → Aplikasi OneCLI (satu image, dua proses)
                  ├─ :10254  → Dashboard Web Next.js (UI + API)
                  └─ :10255  → Gateway Rust (proksi injeksi kredensial)
[PostgreSQL]  → Database OneCLI (agen, rahasia, log audit)

Image aplikasi OneCLI (ghcr.io/onecli/onecli:latest) mencakup:

  • Dashboard web Next.js di port 10254 (UI, manajemen agen, manajemen rahasia)
  • Gateway Rust di port 10255 (proksi injeksi kredensial transparan)
  • Migrasi Prisma berjalan otomatis saat container dimulai
  • SECRET_ENCRYPTION_KEY otomatis dibuat dan disimpan di /app/data/ (AES-256-GCM)

⚠️ Baca ini sebelum menyimpan kredensial asli — Keamanan

Secara default, template ini di-deploy dalam mode pengguna tunggal / lokal: dashboard terbuka tanpa login. Siapa pun yang bisa mengakses domain dashboard Anda dapat melihat dan mengelola setiap kunci API yang tersimpan. OneCLI adalah vault kredensial — exposure default di internet publik tidak aman.

Sebelum menyimpan rahasia asli apa pun, lakukan SALAH SATU dari berikut:

  1. Kunci dashboard dengan Google OAuth — pada layanan onecli di Zeabur Dashboard, setel NEXTAUTH_SECRET + GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET bersama-sama (ketiganya, lalu restart). Lihat "Konfigurasi Pasca-Deploy" di bawah.
  2. ATAU simpan dashboard di domain privat / non-publik (mis. hanya dapat dijangkau via VPN atau jaringan pribadi), sehingga hanya Anda yang bisa membukanya.

Domain Gateway (tempat agen mengirim permintaan) selalu publik — itu tidak masalah, karena gateway mengautentikasi setiap panggilan dengan access token per-agen. Yang menjadi perhatian hanyalah Domain Dashboard dalam mode lokal default.

Cara Kerja

  1. Buka https://your-domain.zeabur.app di browser
  2. Anda akan langsung masuk ke dashboard (tidak perlu login dalam mode pengguna tunggal)
  3. Buat agen pertama Anda dan dapatkan access token
  4. Tambahkan kunci API asli ke vault
  5. Arahkan HTTP client agen AI Anda ke URL gateway
Agen Anda → [FAKE_KEY] → Gateway OneCLI → [REAL_KEY] → API Eksternal (OpenAI, GitHub, dll.)
                                              ↓
                                        Log audit + rate limit

Fitur

  • Injeksi kredensial transparan — agen membuat panggilan HTTP normal, gateway menangani auth
  • Enkripsi AES-256-GCM at rest — rahasia hanya didekripsi saat permintaan
  • Pencocokan host & path — rutekan rahasia ke endpoint API tertentu
  • Dukungan multi-agen — setiap agen mendapat access token dengan scope sendiri
  • Gateway Rust — proksi HTTP cepat, memory-safe dengan intersepsi MITM
  • Dua mode auth — pengguna tunggal (tanpa login) atau Google OAuth (tim multi-pengguna)
  • Integrasi Vault — hubungkan Bitwarden untuk injeksi kredensial sesuai permintaan
  • Log audit lengkap — lihat apa yang dilakukan setiap agen

Login Pertama

Setelah deployment selesai (membutuhkan 2-3 menit untuk startup awal + migrasi):

  1. Buka https://your-domain.zeabur.app di browser
  2. Anda akan langsung masuk ke dashboard (tidak perlu login dalam mode pengguna tunggal)
  3. Buat agen pertama Anda dan dapatkan access token
  4. Tambahkan rahasia ke vault
  5. Arahkan HTTP client agen AI Anda ke URL gateway

Konfigurasi Agen AI Anda

Setelah Anda memiliki token agen dan setidaknya satu rahasia tersimpan:

# Contoh: rutekan panggilan OpenAI melalui OneCLI
curl https://your-gateway-domain.zeabur.app/v1/chat/completions \
  -H "Authorization: Bearer <your-agent-access-token>" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4","messages":[{"role":"user","content":"Hello!"}]}'

Dalam kode agen Anda, gunakan placeholder seperti FAKE_OPENAI_KEY dan OneCLI akan menggantinya dengan kunci asli.

Konfigurasi Pasca-Deploy (Opsional)

Sesuaikan variabel lingkungan ini di Zeabur Dashboard pada layanan onecli:

Aktifkan Google OAuth (mode multi-pengguna):

  • NEXTAUTH_SECRET → NextAuth secret Anda
  • GOOGLE_CLIENT_ID → Google OAuth client ID Anda
  • GOOGLE_CLIENT_SECRET → Google OAuth client secret Anda

Port Gateway Kustom:

  • GATEWAY_PORT → default 10255

Catatan

  • Kunci enkripsi (SECRET_ENCRYPTION_KEY) dibuat otomatis saat start pertama dan disimpan di /app/data/. Jangan hilangkan volume ini — tanpa itu, semua rahasia yang tersimpan tidak dapat dipulihkan.
  • Gateway Rust menggunakan intersepsi HTTPS (MITM) untuk injeksi kredensial. Agen Anda harus mempercayai sertifikat CA OneCLI (atau gunakan --insecure-skip-verify di development).
  • Migrasi database berjalan otomatis melalui entrypoint script.
  • Image all-in-one sekitar 500MB (Next.js + Rust gateway). Lebih kecil dari menjalankannya secara terpisah.

Pelajari lebih lanjut: https://github.com/onecli/onecli

Jika Anda mengalami masalah selama deployment, beri tahu melalui GitHub issues: https://github.com/glasschan/seafoodholdhand-zeabur-templates