Sign in to Claude and ChatGPT from usine, stored on the gateway
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #965 của @usine-phildl — đã merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- typescript
- Lĩnh vực
- authentication, backend-api-design
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 1
- Fork
- 0
- Merge trung bình
- 3 giờ 47 phút
- Pull request đã merge (30 ngày)
- 388
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của basaltbytes/usine
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
basaltbytes/usine#1032 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 70/100
basaltbytes/usine#1045 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 73/100
basaltbytes/usine#1044 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
basaltbytes/usine#1042 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
basaltbytes/usine#1041 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của basaltbytes/usine
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
earendil-works/pi-claude-code#36 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Resources: New work of jabodetabekCó thể đã có người làm @rmt-svc đã nhận hôm nay. Đang mởresources
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
railmapgen/rmp-gallery#4167 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
microsoft/monaco-editor#5577 ·
Maintainer thường phản hồi trong vòng 1 ngày