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
@@ -181,6 +181,37 @@ const thTH = {
help: 'ขอความช่วยเหลือ',
},
models: {
codex: {
account: 'การสมัครสมาชิก ChatGPT',
description:
'ลงชื่อเข้าใช้ด้วยบัญชี ChatGPT การใช้งานผ่านการสมัครสมาชิกแยกจากการเรียกเก็บเงิน OpenAI API รุ่นโมเดลและขีดจำกัดการใช้งานขึ้นอยู่กับแพ็กเกจของคุณ',
disconnected: 'ยังไม่ได้เชื่อมต่อ',
loading: 'กำลังตรวจสอบการเชื่อมต่อ…',
starting: 'กำลังเริ่มลงชื่อเข้าใช้…',
pending: 'กำลังรอการอนุญาต',
connected: 'เชื่อมต่อแล้ว',
expired: 'การลงชื่อเข้าใช้หมดอายุ เริ่มใหม่เพื่อรับรหัสใหม่',
error: 'ไม่สามารถลงชื่อเข้าใช้ได้ ตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง',
canceling: 'กำลังยกเลิกการลงชื่อเข้าใช้…',
saveAndSignIn: 'บันทึกและลงชื่อเข้าใช้',
done: 'เสร็จสิ้น',
instructions:
'ป้อนรหัสนี้บนหน้า OpenAI เปิดกล่องโต้ตอบนี้ไว้จนกว่าจะลงชื่อเข้าใช้เสร็จ',
copyCode: 'คัดลอกรหัส',
copied: 'คัดลอกแล้ว',
copyManually: 'เลือกรหัสและคัดลอกด้วยตนเอง',
continueAtOpenAI: 'ดำเนินการต่อที่ OpenAI',
expiresAt: 'รหัสหมดอายุเวลา {{time}}',
retrying: 'การเชื่อมต่อขัดข้อง กำลังลองใหม่โดยอัตโนมัติ…',
cancelSignIn: 'ยกเลิกการลงชื่อเข้าใช้',
tryAgain: 'ลองอีกครั้ง',
signIn: 'ลงชื่อเข้าใช้',
reconnect: 'เชื่อมต่อใหม่',
disconnect: 'ยกเลิกการเชื่อมต่อ',
disconnectConfirm:
'ยกเลิกการเชื่อมต่อผู้ให้บริการนี้หรือไม่? โมเดลจะหยุดทำงานจนกว่าคุณจะลงชื่อเข้าใช้อีกครั้ง การดำเนินการนี้ไม่ได้ยกเลิกการสมัครสมาชิก ChatGPT',
confirmDisconnect: 'ยืนยันการยกเลิกการเชื่อมต่อ',
},
title: 'โมเดล',
description: 'กำหนดค่าและจัดการโมเดลที่สามารถใช้ใน Pipeline',
createModel: 'สร้างโมเดล',
@@ -310,6 +341,8 @@ const thTH = {
providerSaveError: 'บันทึกผู้ให้บริการล้มเหลว: ',
providerDeleted: 'ลบผู้ให้บริการแล้ว',
providerDeleteError: 'ลบผู้ให้บริการล้มเหลว: ',
deleteProviderCascadeConfirmation:
'ลบผู้ให้บริการนี้และโมเดลทั้งหมดที่อยู่ภายในหรือไม่? การดำเนินการนี้ไม่สามารถย้อนกลับหรือยกเลิกได้',
deleteProviderConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบผู้ให้บริการนี้?',
loadError: 'โหลดข้อมูลล้มเหลว',
chat: 'แชท',