Add a dedicated Chutes sidecar route without changing existing /v1/chat/completions behavior
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
調査の方向性
まず、既存の POST /v1/chat/completions ハンドラーと、その E2EE の parse/decrypt および encrypt ロジックを追跡します。次に、設定とエラーがどのように処理されているかを確認し、明示的に有効化された Chutes ルートを追加して、stream および non-stream の動作、リプレイ保護、設定不備時の 503 レスポンス、既存の動作が変更されていないこと、ログに API-key が漏洩していないことを検証します。
索引モデルが issue の本文から書いたものです。
説明
Summary
We want to integrate Chutes models into vllm-proxy while preserving the current production-stable behavior for existing users.
Instead of modifying the current /v1/chat/completions path, add a dedicated Chutes route:
POST /v1/chutes/chat/completionsGET /v1/chutes/models
This lets upstream gateways (e.g., Redpill) continue receiving standard OpenAI-style /v1/chat/completions requests and selectively forward Chutes-bound traffic to the new sidecar route.
Goals
- Keep existing
/v1/chat/completionsbehavior unchanged - Minimize coupling/risk to current production path
- Add Chutes integration behind explicit route + config flag
Proposed behavior
Existing route (unchanged)
POST /v1/chat/completions
- continues to forward to local vLLM backend as today
New Chutes route
POST /v1/chutes/chat/completions
- reuses existing E2EE parse/decrypt logic on ingress
- forwards plaintext request to Chutes OpenAI-compatible endpoint over TLS:
${CHUTES_BASE_URL}/v1/chat/completions- with
Authorization: Bearer ${CHUTES_API_KEY}
- reuses existing E2EE encrypt logic on egress
New Chutes models route
GET /v1/chutes/models
- proxies
${CHUTES_BASE_URL}/v1/modelswith Chutes auth header
Config
CHUTES_ENABLED(default false)CHUTES_BASE_URL(defaulthttps://llm.chutes.ai)CHUTES_API_KEY(required if enabled)
Security note
This is not pure client-to-model cryptographic E2EE.
It is a practical TEE-mediated segmented model:
- Client ↔ Proxy: existing E2EE
- Proxy ↔ Chutes: TLS
- Plaintext is only visible inside trusted runtime boundaries
Acceptance criteria
- Existing route behavior remains unchanged
- Chutes route supports stream + non-stream
- Existing E2EE nonce/replay checks remain in effect
- Misconfig returns explicit 503 errors
- No API-key leakage in logs
- 主要言語
- Python
- スター
- 0
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
似ている issue
-
[Bug]: LangGraph Store sync put bypasses namespace validation対応中かも @ktz03 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
volcengine/OpenViking#6050 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunk対応中かも @rodricksz4h5 が今日担当しました。 オープンarea/streaming comp/gateway P2 type/security
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
NousResearch/hermes-agent#138245 ·
メンテナーはふだん 1 日以内に返信
-
[oblt-aw][autodoc] Update user onboarding guide for mandatory trigger CODEOWNERS step対応中かも @github-actions が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
correction metadata
難易度 2/5 1時間未満 初心者へのやさしさ 68/100
acl-org/acl-anthology#10378 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
cloudtrail_multi_region_enabled_logging_management_events fails when the advanced event selector has a custom name対応中かも @12YYCCYY16 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
prowler-cloud/prowler#13033 ·
メンテナーはふだん 1 日以内に返信