Add a dedicated Chutes sidecar route without changing existing /v1/chat/completions behavior
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia tracciando l'handler esistente di POST /v1/chat/completions e la relativa logica E2EE di parse/decrypt ed encrypt. Esamina come vengono gestite configurazione ed errori, quindi aggiungi le route Chutes abilitate esplicitamente e verifica il comportamento stream e non-stream, la protezione dal replay, le risposte 503 in caso di configurazione errata, che il comportamento esistente rimanga invariato e l'assenza di perdite di API-key nei log.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
mihai-vlc/sublime-jsfmt#56 ·
-
comp/cli comp/plugins P2 type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
NousResearch/hermes-agent#141917 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Go device SDK: Whisper transcriber keeps buffering and transcribing audio appended after Stop()Forse già presa @apoorvdarshan l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
BasedHardware/omi#22770 ·
I maintainer di solito rispondono entro 1 giorno
-
bug needs-acceptance wg/router-models-inference-runtime
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
vllm-project/semantic-router#5295 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
huggingface/huggingface_hub#5210 ·
I maintainer di solito rispondono entro 1 giorno