開源 AI 代理憑證閘道與保險庫。一次儲存 API 金鑰,代理發出 HTTP 請求時自動注入 — 代理永遠不會看到真實密鑰。

OneCLI 是開源的憑證閘道,位於你的 AI 代理與外部服務之間。將真實 API 金鑰儲存於 OneCLI 的加密保險庫中,給予代理一個 placeholder(例如 FAKE_KEY),OneCLI 閘道會在請求時自動替換為真實憑證 — 代理永遠不會看到真實密鑰。
此模板一鍵部署完整的 OneCLI 實例。
[Zeabur LB] → OneCLI 應用(單一 image,兩個 process)
├─ :10254 → Next.js 網頁控制台(UI + API)
└─ :10255 → Rust 閘道(憑證注入代理)
[PostgreSQL] → OneCLI 資料庫(代理、密鑰、審計日誌)
OneCLI app image (ghcr.io/onecli/onecli:latest) 包含:
/app/data/(AES-256-GCM)預設情況下,此模板以單用戶 / 本地模式部署:控制台無需登入即會直接開啟。 任何知道你控制台網域的人都能檢視並管理其中儲存的所有 API 金鑰。OneCLI 是一個憑證保險庫 — 此預設狀態暴露於公共網際網路並不安全。
儲存任何真實密鑰前,請執行以下其中一項:
onecli 服務下,同時設定 NEXTAUTH_SECRET + GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET(三者缺一不可,然後重新啟動)。請見下方「部署後配置」。閘道網域(代理發送請求之處)永遠為公開 — 這並無問題,閘道會以每個代理的 access token 驗證每次呼叫。有風險的僅是預設本地模式下的控制台網域。
https://your-domain.zeabur.app你的代理 → [FAKE_KEY] → OneCLI 閘道 → [REAL_KEY] → 外部 API(OpenAI、GitHub 等)
↓
審計日誌 + 速率限制
部署完成後(首次啟動 + migrations 約需 2-3 分鐘):
https://your-domain.zeabur.app取得代理 token 與至少一個密鑰後:
# 範例:將 OpenAI 請求經由 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!"}]}'
在你的代理程式碼中,使用 placeholder(例如 FAKE_OPENAI_KEY),OneCLI 會自動替換為真實金鑰。
你可在 Zeabur Dashboard 的 onecli 服務下自訂環境變數:
啟用 Google OAuth(多用戶模式):
NEXTAUTH_SECRET → 你的 NextAuth 密鑰GOOGLE_CLIENT_ID → 你的 Google OAuth client IDGOOGLE_CLIENT_SECRET → 你的 Google OAuth client secret自訂閘道連接埠:
GATEWAY_PORT → 預設 10255SECRET_ENCRYPTION_KEY)於首次啟動時自動產生並儲存於 /app/data/。請勿遺失此 volume — 一旦遺失,所有已儲存的密鑰將無法復原。--insecure-skip-verify)。了解更多:https://github.com/onecli/onecli
如於部署期間遇到任何問題,請透過 GitHub issues 告知: https://github.com/glasschan/seafoodholdhand-zeabur-templates