signin with openai
Maintainer thường phản hồi trong vòng 1 ngày
Đá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
- 45/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- react, typescript
- Lĩnh vực
- authentication, backend
Hướng nghiên cứu
Start by reading OpenAI's SIWC token-sharing documentation and the existing @tanstack/ai-openrouter/pkce implementation. The scope also names the BYOK keyring, the ts-react-chat BYOK key dialog, the BYOK and OpenAI adapter documentation, and unit tests for the helpers. Done means the specified sign-in, callback, token refresh, UI, docs, and tests are covered, while respecting the stated token and Responses API limits.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Add "Sign in with ChatGPT" (SIWC) to BYOK, so a user can use their ChatGPT plan instead of pasting an OpenAI API key.
OpenAI docs: https://developers.openai.com/siwc/token-sharing-open-source
Scope
- New subpath
@tanstack/ai-openai/siwc, modelled on@tanstack/ai-openrouter/pkce.- Start: dynamic client registration (
client_id=dynamic_agent_client,agent_name_hint, persistedext_agent_host_id),state,nonce, PKCE S256, redirecthttp://127.0.0.1:<port>/auth/callback. - Callback: check
state, handleerror, keep the issuedclient_id, exchange the code athttps://auth.openai.com/api/accounts/oauth/token, check thatchatgpt.tokens.use.directwas granted. - Refresh on the client: keep the credential (client id, refresh token, expiry) in the BYOK keyring. A helper refreshes the access token before it expires and writes it into the
openaislot. The relay sees an ordinaryx-byok-openaibearer value.
- Start: dynamic client registration (
- No adapter change. Docs explain the SIWC Responses limits (
store: false,stream: true, notemperature/max_output_tokens/metadata/previous_response_id, no hosted tools). ts-react-chat: "Continue with ChatGPT" button in the BYOK key dialog.- Docs: BYOK page and OpenAI adapter page. Unit tests for the helpers.
Constraints
- OpenAI allows this only for open-source and locally hosted apps. Hosted apps need OpenAI's interest form.
- The redirect must be
127.0.0.1(notlocalhost) with the path/auth/callback. - Access tokens last 1 hour. Refresh tokens last 30 days and rotate on every refresh.
- Ngôn ngữ chính
- TypeScript
- Star
- 3.2k
- Fork
- 372
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 241
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
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 TanStack/ai
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
TanStack/ai#1916 · 1 bình luận ·
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 55/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 57/100
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 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Durable resume through withPersistence never fills ctx.inputResponse for mcp_input interruptsCó thể đã có người làm @tombeckenham đã nhận 4 ngày trước. Đang mởwaiting-on: maintainer
TanStack/ai#1885 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
New icon: `filter-clear`Đang mởcalcite-ui-icons enhancement impact - p3 - not time sensitive needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Esri/calcite-design-system#15467 ·
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 78/100
diegosouzapw/OmniRoute#18390 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 86/100
guilhermerodz/input-otp#157 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
davidjerleke/embla-carousel#1414 ·
Maintainer thường phản hồi trong vòng 4 ngày