Sign in to Claude and ChatGPT from usine, stored on the gateway
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- authentication, backend-api-design
Direzione di ricerca
Start with apps/docs/src/content/docs/guides/configure-a-gateway.md, packages/gateway/src/admin, and the setup and Configuration → Settings entry points in the web app. Check the pinned Claude Code and Codex login flows, then trace how credentials are handed to the gateway or stored for local harnesses. Done means UI and CLI login work with and without a gateway, the specified failure and credential-leak tests pass, and all gates pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
On an instance with a gateway, the operator sets provider credentials by hand over SSH (apps/docs/src/content/docs/guides/configure-a-gateway.md, step 4): run claude setup-token and paste the token into /etc/usine-gateway/secrets.env, run CODEX_HOME=$(mktemp -d) codex login on a laptop and scp the auth.json to the gateway, set USINE_GATEWAY_CHATGPT_AUTH_FILE, then reload the service. Without a gateway, the operator runs each harness's own login on the orchestrator host. usine itself offers no login step.
Proposed change
- Web: a "Connect Claude" and "Connect ChatGPT" step in setup and in Configuration → Settings. Each shows the current state per provider (connected, expires, last refresh, which credential kind: subscription or API key) and offers connect, replace, and disconnect.
- CLI:
usine login <provider>andusine logout <provider>with the same effect, for headless hosts. - Flow: use each provider CLI's own login, preferring a device-code flow so the browser can be on another machine. Verify what Claude Code (
claude setup-token) and Codex (codex login, device auth) support at the pinned versions, and an API-key path for both. - Storage: with a gateway, hand the credential to it over its admin API (
packages/gateway/src/admin), which stores it with the same file modes and refresh handling it has today. Without a gateway, store it where the local harnesses read it. Credentials never pass through the operator API's JSON responses, logs, or the browser after the login completes. - Docs: replace the manual steps in the gateway guide and the quickstart's login section with the new step, keeping the manual path as a fallback.
It's a new screen: load the impeccable skill in .agents/skills and follow "How to add UI" in apps/web/README.md. Screenshots under docs/screenshots/<issue>/ for the owner's review before merge.
Acceptance criteria
- On a fresh instance with a gateway, the operator connects ChatGPT and Claude from the UI or CLI, and a remote attempt runs on those logins with no SSH step.
- On an instance without a gateway, the same step makes the local worker's harnesses signed in.
- Tests cover the admin API handoff, a failed or cancelled login, and that no credential appears in API responses or logs.
- All gates pass.
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 0
- Merge medio
- 3h 51m
- PR unite (30g)
- 354
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.
Altre issue di basaltbytes/usine
-
agent-in-progress
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
basaltbytes/usine#969 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
basaltbytes/usine#961 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
basaltbytes/usine#959 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
basaltbytes/usine#958 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
basaltbytes/usine#957 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di basaltbytes/usine
Issue simili
-
cloudflare-cache-binding: `unstorage://` keys are rejected by the Cache API, cache never storesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
anomalyco/opencode#62052 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
strapi/design-system#2084 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno