**Show HN:OneCLI – Rustで作られたAIエージェント用バルト(Vault)**

2026/03/13 1:41

**Show HN:OneCLI – Rustで作られたAIエージェント用バルト(Vault)**

RSS: https://news.ycombinator.com/rss

要約

日本語訳:

OneCLI はオープンソースのゲートウェイで、API 認証情報を一度だけ保存し、それらを AI エージェントが送信する HTTP リクエストに注入します。これにより、エージェントは実際の秘密情報を見ることがありません。エージェントはプレースホルダーキー(例:FAKE_KEY)を提供し、OneCLI の Rust プロキシがそれらを REAL_KEYS に置き換え、AES‑256‑GCM を使用してリクエスト時にのみ復号します。このシステムには、エージェント・シークレット・権限管理用の Next.js ウェブダッシュボードと、永続化用に埋め込まれた PGlite/PostgreSQL データベースが含まれます。認証モードは2種類あり、ローカル使用向けの単一ユーザー(ログイン不要)と、多人数チーム向けの Google OAuth です。

主な機能は、透過的なクレデンシャル注入、暗号化されたシークレット保存、ホスト・パスパターンマッチング、スコープ付きアクセストークンを持つ複数エージェントサポート、およびオプションのデータベース以外に外部依存がないことです。Rust ゲートウェイはポート 10255 で動作し、ウェブダッシュボード/API はポート 10254 で稼働します。`DATABASE_URL`、`NEXTAUTH_SECRET`、Google OAuth のクレデンシャル、および暗号化キーといった環境変数が必要です。

プロジェクト構成は `apps/web`(Next.js)、`apps/proxy`(Rust ゲートウェイ)、`packages/db`(Prisma ORM)、および `packages/ui`(共有 UI コンポーネント)に分かれています。クイックスタートは単一の Docker コマンド(`docker run …`)または Docker Compose で行えます。ローカル開発には `mise`、Node.js、pnpm、Rust、および Prisma が必要です。一般的なコマンドには `pnpm dev`、`pnpm build`、`pnpm check`、`pnpm db:generate`、`pnpm db:migrate`、および `pnpm db:studio` があります。OneCLI は Apache‑2.0 ライセンスでリリースされ、オープンな貢献ポリシーと行動規範を備えています。

本文

AIエージェントのためのシークレット・ヴォルト
一度保存。どこでも注入。エージェントはキーを決して見ない。

  • ウェブサイト · ドキュメント

OneCLI とは?

OneCLI は、AI エージェントとそれらが呼び出すサービスの間に位置するオープンソースゲートウェイです。
各エージェントに API キーを埋め込む代わりに、OneCLI に一度だけ認証情報を保存し、ゲートウェイが透明に注入します。エージェントはシークレットを一切見ることがありません。

なぜ作ったのか

AI エージェントは数十個もの API を呼び出す必要がありますが、各エージェントに直接認証情報を渡すとセキュリティリスクが高まります。
OneCLI は認証を一元管理するゲートウェイで、アクセス権の設定・キー回転・全エージェントの動作監視を一か所で行えるようにします。

仕組み

  1. 実際の API 認証情報を OneCLI に保存。
  2. エージェントにはプレースホルダーキー(例:
    FAKE_KEY
    )を渡す。
  3. エージェントがゲートウェイ経由で HTTP 呼び出しを行うと、OneCLI のプロキシはリクエストを適切な認証情報にマッチさせ、
    FAKE_KEY
    REAL_KEY
    に差し替え、復号してアウトバウンドリクエストへ注入。

エージェントは実際の秘密キーに触れず、通常通り HTTP 呼び出しを行い、プロキシが交換処理を担当します。


アーキテクチャ

  • Rust Gateway – 高速な HTTP ゲートウェイでアウトバウンドリクエストを傍受し認証情報を注入。
    エージェントは
    Proxy‑Authorization
    ヘッダーにアクセストークンを付与して認証します。
  • Web Dashboard – Next.js アプリ(ダッシュボード + API)。ゲートウェイが各リクエストでどの認証情報を注入すべきか決定するための API を提供します。
  • Secret Store – AES‑256‑GCM で暗号化された認証情報保管庫。シークレットはリクエスト時にのみ復号され、ホスト・パスパターンでマッチングしゲートウェイがヘッダーへ注入します。

クイックスタート

外部データベースや設定不要で OneCLI をローカル実行する最速方法:

docker run --pull always -p 10254:10254 -p 10255:10255 \
           -v onecli-data:/app/data ghcr.io/onecli/onecli

http://localhost:10254 を開き、エージェントを作成しシークレットを追加してから、エージェントの HTTP ゲートウェイ先を

localhost:10255
に設定します。

Docker Compose で実行する場合

git clone https://github.com/onecli/onecli.git
cd onecli/docker
docker compose up

主な機能

  • 透明な認証情報注入 – エージェントは通常通り HTTP 呼び出しを行い、ゲートウェイが認証処理を担います。
  • 暗号化されたシークレット保管 – AES‑256‑GCM による静的データ暗号化。リクエスト時にのみ復号。
  • ホスト&パスマッチング – パターン一致で正しい API エンドポイントへシークレットをルーティング。
  • マルチエージェント対応 – 各エージェントごとにアクセス権限付きトークンを発行。
  • 外部依存なし – PGlite を組み込み(または PostgreSQL を自前)で動作。
  • 2 つの認証モード – ローカル利用時はシングルユーザー(ログイン不要)、チーム向けは Google OAuth。
  • Rust Gateway – 高速・メモリ安全な HTTP ゲートウェイ。HTTPS の MITM 抽出も可能。

プロジェクト構成

apps/
  web/          # Next.js アプリ(ダッシュボード + API、ポート 10254)
  proxy/        # Rust Gateway(認証情報注入、ポート 10255)
packages/
  db/           # Prisma ORM + マイグレーション + PGlite
  ui/           # 共通 UI コンポーネント(shadcn/ui)
docker/
  Dockerfile    # シングルコンテナビルド(ゲートウェイ + ウェブ + PGlite)
  docker-compose.yml

ローカル開発

必要条件

  • mise
    (Node.js、pnpm 等をインストール)
  • Rust(ゲートウェイ用)

セットアップ

mise install
pnpm install
cp .env.example .env
pnpm db:generate
pnpm db:init-dev
pnpm dev

Dashboard は http://localhost:10254、Gateway は http://localhost:10255 で確認できます。


コマンド一覧

コマンド説明
pnpm dev
開発モードで Web + Gateway を起動
pnpm build
本番ビルド
pnpm check
Lint・型チェック・フォーマット実行
pnpm db:generate
Prisma クライアント生成
pnpm db:migrate
データベースマイグレーション実行
pnpm db:studio
Prisma Studio を起動

設定

ローカル開発では全ての環境変数は任意です:

変数名説明デフォルト値
DATABASE_URL
PostgreSQL 接続文字列Embedded PGlite
NEXTAUTH_SECRET
Google OAuth を有効化(マルチユーザー)シングルユーザーモード
GOOGLE_CLIENT_ID
Google OAuth クライアント ID
GOOGLE_CLIENT_SECRET
Google OAuth クライアントシークレット
SECRET_ENCRYPTION_KEY
AES‑256‑GCM 暗号化キー自動生成

コントリビューション

貢献を歓迎します!開始前に Contributing GuideCode of Conduct をご覧ください。


ライセンス

Apache‑2.0

同じ日のほかのニュース

一覧に戻る →

2026/03/13 6:01

「実装したほうがよろしいでしょうか? いいえ。」

## Japanese Translation: **オリジナルの要約は既に明確で正確、簡潔です。修正は不要です。**

2026/03/12 22:42

マルス – サービステクノロジー型クリーンルーム (“Malus – Clean Room as a Service” を自然な日本語に訳したものです。)

## Japanese Translation: ## 要約 このテキストは、企業がオープンソースライブラリを「ロボット再構築版」に合法的に置き換え、帰属表示とコピーレフトの義務を排除できる商業サービスを推進しています。公的なドキュメントと型定義のみを使用してクリーンルーム環境でコードを書き直すことで、同社は各新しいコピーが自動化されたチームによって独立して作成され、元のソースから直接コピーされていないことを保証すると主張しています。サービスは、パッケージの解凍サイズに基づく透明なKB単位課金を提供し、基本料金やサブスクリプションはなく、Stripe処理最低限度が設定されています。支払いはUSD、EUR、BTC、または株式オプションで可能です。npm、PyPI、Cargo、Maven、Go、NuGet、RubyGems、Composer など複数のエコシステムをサポートしていますが、ダッシュボードには現在処理済みプロジェクトもアクティブ顧客もゼロと表示されています。 匿名企業クライアントからのケーススタディでは、AGPL の依存関係削除、$4 M のコンプライアンスコスト節約(サービス料 $50 K と比較)、そして $2.3 B の買収を促進した事例が挙げられています。同社の「MalusCorp Guarantee™」は、リベレートされたコードが元のライセンスに違反した場合、全額返金または国際水域への移転を保証します—これまで一度も発動されたことがありません。 将来的な計画としては、緊急 AGPL 問題に対するラッシュ価格設定、追加パッケージエコシステムへの拡大、および帰属表示要件を排除する独自の MalusCorp‑0 ライセンスの継続的な推進が含まれます。広く採用されれば、企業は制限的なオープンソースライセンスを回避でき、法的リスクとコストを低減し、依存関係管理に関する業界規範を変える可能性があります。

2026/03/13 2:13

**バブルソートされたアメンブレイク**

## Japanese Translation: > **概要:** > 「このアイデアで起きた、今や存在する。かっこいい!」というタイトルの新しいインディーゲームプロトタイプが、itch.ioで*自分で価格を決めてください*タグ付きでリリースされました。Godotエンジンで構築され、HTML5とWindowsで動作し、「AmenSorting (Windows)」(~93 MB) などのダウンロード可能ファイルが含まれています。現在、このゲームは3人のレビューアから5つ星評価を受けています。Music、Music Production、および No AI のタグが付いており、人工知能よりも音声ソートに焦点を当てた内容であることを示しています。ユーザーはログイン後にコメントを残すことができ、一部の人々は並べ替えられたサンプルを再生する機能やソースコードの有無について尋ねています。この無料リリースは音楽制作の趣味家を惹きつける可能性があり、関心が高まればさらなる開発につながるかもしれません。