オープンソースの AI エージェント用認証情報ゲートウェイとボールト。API キーを一度保存すれば、エージェントが HTTP リクエストを行う際に透過的に注入されます — エージェントが本物のキーを目にすることはありません。

OneCLI は AI エージェントとその呼び出し先サービスの間に位置するオープンソースの認証情報ゲートウェイです。実際の API キーを OneCLI の暗号化ボールトに保存し、エージェントにはプレースホルダー(例:FAKE_KEY)を渡すだけで、OneCLI ゲートウェイがリクエスト時に実際の認証情報を透過的に注入します。エージェントが本物のシークレットを見ることはありません。
このテンプレートは OneCLI の完全なインスタンスをワンクリックでデプロイします。
[Zeabur LB] → OneCLI アプリ(単一イメージ、2 プロセス)
├─ :10254 → Next.js Web ダッシュボード(UI + API)
└─ :10255 → Rust ゲートウェイ(認証情報注入プロキシ)
[PostgreSQL] → OneCLI データベース(エージェント、シークレット、監査ログ)
OneCLI アプリイメージ(ghcr.io/onecli/onecli:latest)には以下が含まれます:
/app/data/ に永続化(AES-256-GCM)デフォルトでは、このテンプレートはシングルユーザー / ローカルモードでデプロイされます:ダッシュボードはログインなしで直接開きます。 ダッシュボードのドメインを知っていれば、誰でも保存されているすべての API キーを閲覧・管理できます。OneCLI は認証情報ボールトです — デフォルト状態を公共のインターネットに晒すことは安全ではありません。
本物のシークレットを保存する前に、以下のいずれかを行ってください:
onecli サービスで、NEXTAUTH_SECRET + GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET を3 つとも設定して再起動します。下記「デプロイ後の設定」を参照。ゲートウェイドメイン(エージェントがリクエストを送る場所)は常に公開です — これは問題ありません。ゲートウェイはエージェントごとのアクセストークンで全呼び出しを認証します。リスクがあるのはデフォルトのローカルモードにおけるダッシュボードドメインだけです。
https://your-domain.zeabur.app を開くあなたのエージェント → [FAKE_KEY] → OneCLI ゲートウェイ → [REAL_KEY] → 外部 API(OpenAI、GitHub など)
↓
監査ログ + レート制限
デプロイ完了後(初回起動 + マイグレーションに 2〜3 分):
https://your-domain.zeabur.app を開くエージェントトークンと少なくとも 1 つのシークレットを取得したら:
# 例: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!"}]}'
エージェントのコードでは、FAKE_OPENAI_KEY のようなプレースホルダーを使用してください。OneCLI が実際のキーに自動置換します。
Zeabur ダッシュボードの onecli サービスで環境変数をカスタマイズできます:
Google OAuth を有効にする(マルチユーザーモード):
NEXTAUTH_SECRET → NextAuth シークレットGOOGLE_CLIENT_ID → Google OAuth クライアント IDGOOGLE_CLIENT_SECRET → Google OAuth クライアントシークレットゲートウェイポートのカスタマイズ:
GATEWAY_PORT → デフォルト 10255SECRET_ENCRYPTION_KEY)は初回起動時に自動生成され /app/data/ に保存されます。このボリュームを失わないでください — 失うと、保存されたすべてのシークレットが復元不能になります。--insecure-skip-verify を設定)。詳細:https://github.com/onecli/onecli
デプロイ中に問題が発生した場合は、GitHub issues でお知らせください: https://github.com/glasschan/seafoodholdhand-zeabur-templates