feat(provider): support Codex subscriptions with ChatGPT sign-in (#2513)

* feat(provider): support Codex subscriptions with ChatGPT sign-in

* style: format Codex live integration test

* fix(provider): preserve Codex identity in temporary model tests

* fix(web): portal provider selector without dialog overflow

* fix(web): allow native scrolling in provider dropdown

* fix(provider): surface safe Codex quota and upstream errors

* fix(web): provide reliable Codex copy feedback in dialogs

* feat(provider): confirm cascade deletion from edit dialog

* fix(persistence): discard connections after failed commit

* fix(web): polish provider loading and confirmation motion

---------

Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
This commit is contained in:
Hyu
2026-09-06 23:31:02 +08:00
committed by GitHub
parent ec63978ecf
commit 0f216a0d4d
52 changed files with 5490 additions and 360 deletions
+33
View File
@@ -184,6 +184,37 @@ const viVN = {
help: 'Trợ giúp',
},
models: {
codex: {
account: 'Gói đăng ký ChatGPT',
description:
'Đăng nhập bằng tài khoản ChatGPT. Gói đăng ký độc lập với thanh toán API OpenAI; mô hình và giới hạn sử dụng tùy thuộc vào gói của bạn.',
disconnected: 'Chưa kết nối',
loading: 'Đang kiểm tra kết nối…',
starting: 'Đang bắt đầu đăng nhập…',
pending: 'Đang chờ cấp quyền',
connected: 'Đã kết nối',
expired: 'Phiên đăng nhập đã hết hạn. Hãy lấy mã mới.',
error: 'Không thể đăng nhập. Kiểm tra kết nối và thử lại.',
canceling: 'Đang hủy đăng nhập…',
saveAndSignIn: 'Lưu và đăng nhập',
done: 'Xong',
instructions:
'Nhập mã này trên trang OpenAI. Giữ hộp thoại này mở cho đến khi đăng nhập hoàn tất.',
copyCode: 'Sao chép mã',
copied: 'Đã sao chép',
copyManually: 'Chọn và sao chép mã thủ công.',
continueAtOpenAI: 'Tiếp tục tại OpenAI',
expiresAt: 'Mã hết hạn lúc {{time}}.',
retrying: 'Kết nối bị gián đoạn. Đang tự động thử lại…',
cancelSignIn: 'Hủy đăng nhập',
tryAgain: 'Thử lại',
signIn: 'Đăng nhập',
reconnect: 'Kết nối lại',
disconnect: 'Ngắt kết nối',
disconnectConfirm:
'Ngắt kết nối nhà cung cấp này? Các mô hình sẽ ngừng hoạt động cho đến khi bạn đăng nhập lại. Thao tác này không hủy gói ChatGPT của bạn.',
confirmDisconnect: 'Xác nhận ngắt kết nối',
},
title: 'Mô hình',
description:
'Cấu hình và quản lý các mô hình có thể sử dụng trong Pipeline',
@@ -318,6 +349,8 @@ const viVN = {
providerSaveError: 'Lưu nhà cung cấp thất bại: ',
providerDeleted: 'Đã xóa nhà cung cấp',
providerDeleteError: 'Xóa nhà cung cấp thất bại: ',
deleteProviderCascadeConfirmation:
'Xóa nhà cung cấp này và TẤT CẢ mô hình bên trong? Hành động này không thể đảo ngược hoặc hoàn tác.',
deleteProviderConfirmation:
'Bạn có chắc chắn muốn xóa nhà cung cấp này không?',
loadError: 'Tải dữ liệu thất bại',