การกำหนดค่าไคลเอนต์ Codex
ไคลเอนต์ Codex คือแอปพลิเคชันเดสก์ท็อปของ OpenAI สามารถเข้าสู่ระบบ ChatGPT ได้โดยตรง หรือใช้ API Key เพื่อเรียกใช้เวิร์กโฟลว์ Codex บนเครื่องของคุณ มือใหม่อาจสับสนบ่อยครั้ง: การเข้าสู่ระบบบัญชีทางการ, OpenAI API Key และ Key ของผู้ให้บริการ (provider) ไม่ใช่สิ่งเดียวกัน
ก่อนอื่น ให้แยกความแตกต่างระหว่างวิธีเข้าสู่ระบบทั้งสองแบบ
หน้านี้จะครอบคลุมเฉพาะการกำหนดค่าในเดสก์ท็อปไคลเอนต์ที่เกี่ยวข้องกับ Key, โมเดล และ Provider เท่านั้น สำหรับการติดตั้งผ่าน Command Line, คำสั่งเทอร์มินัล และการใช้งาน CLI อย่างละเอียด ให้ดูที่หน้าเครื่องมือ CLI
| วิธี | เหมาะสำหรับใคร | วิธีจัดการ Key |
|---|---|---|
| การเข้าสู่ระบบ ChatGPT | มีบัญชี ChatGPT Plus / Pro / Business / Enterprise อยู่แล้ว และต้องการใช้ Codex ทางการโดยตรง | ทำตามคำแนะนำการเข้าสู่ระบบของไคลเอนต์ โดยทั่วไปไม่จำเป็นต้องกรอก API Key ด้วยตนเอง |
| การเข้าสู่ระบบด้วย OpenAI API Key | ต้องการใช้บัญชี OpenAI Platform แบบจ่ายตามการใช้งานจริง (Pay-as-you-go) หรือเวิร์กโฟลว์ในเครื่องต้องใช้ API Key | ใช้ Key ที่สร้างขึ้นในคอนโซลของ OpenAI ไม่ใช่ Key ของ provider |
| provider / บริการพร็อกซี | ผู้ให้บริการให้ที่อยู่ API, Key และชื่อโมเดลของตนเองมา | อย่ากรอกในช่องเข้าสู่ระบบ API Key ทางการโดยไม่ตรวจสอบ โดยปกติแล้วคุณจะต้องกำหนดค่า Provider แบบกำหนดเองผ่าน config.toml |
ตัวอย่างเส้นทาง:C: \Users\YourUsername\. codex
วิธีกำหนดค่า Key
ไดเรกทอรีการกำหนดค่าภายในเครื่องของ Codex เรียกว่า . codex สำหรับไคลเอนต์ Windows ให้ใช้ %USERPROFILE%\. codex สำหรับ macOS / Linux โดยปกติจะใช้ ~/. codex หากคุณเข้าสู่ระบบด้วย ChatGPT เพียงอย่างเดียว ยังไม่ต้องใส่ Key ด้วยตนเองในตอนนี้ แต่หากคุณใช้ provider หรือ Key ของผู้ให้บริการบุคคลที่สาม ขอแนะนำให้ใส่ Key ลงในตัวแปรสภาพแวดล้อมของระบบ (Environment Variable) แล้วให้ config.toml อ่านค่าจากตัวแปรนี้
| ระบบ | ไฟล์การกำหนดค่า | ตำแหน่งที่ต้องใส่ Key |
|---|---|---|
| Windows | %USERPROFILE%\. codex\config.toml | ตัวแปรสภาพแวดล้อมของผู้ใช้ ตัวอย่างเช่น MZ_PROXY_API_KEY |
| macOS / Linux | ~/. codex/config.toml | ตัวแปรสภาพแวดล้อมในเทอร์มินัลปัจจุบัน หลังจากยืนยันว่าใช้งานได้แล้ว ให้บันทึกแบบถาวรตามวิธีของระบบที่คุณใช้งาน |
| WSL | ~/. codex/config.toml | WSL มีไดเรกทอรี home แยกเป็นของตนเอง และจะไม่อ่าน %USERPROFILE%\. codex ของ Windows โดยอัตโนมัติ |
$env:MZ_PROXY_API_KEY = "YOUR_KEY" MZ_PROXY_API_KEY="YOUR_KEY" codex "Please reply only: Configuration successful" อย่าใส่ Key จริงลงในหน้าเว็บ, ภาพหน้าจอ, ประวัติการแชท หรือที่เก็บโปรเจกต์ (Repository) ควรใช้ตัวแปรสภาพแวดล้อมทุกครั้งที่เป็นไปได้ แทนที่จะเขียน Key ลงใน config.toml โดยตรง สำหรับการบันทึกถาวรบน Windows คุณสามารถเพิ่มตัวแปรผู้ใช้ใน "Environment Variables" ของระบบ ส่วนวิธีบันทึกถาวรบน macOS / Linux จะขึ้นอยู่กับเทอร์มินัลที่คุณใช้งานจริง
วิธีกำหนดค่าโมเดล
โมเดลเริ่มต้นจะถูกระบุไว้ที่ด้านบนสุดของ config.toml เอกสารทางการแนะนำให้เริ่มต้นจาก gpt-5.5 หากคุณใช้ provider ให้กรอกข้อความที่เป็นตัวระบุโมเดลที่ใช้สำหรับการเรียก API จากรายการโมเดลหลังบ้านของผู้ให้บริการ ซึ่งอาจระบุเป็น "Model ID", "Model Name" หรือ "ชื่อโมเดล" ในระบบหลังบ้าน ให้คัดลอกมาแบบตรงตัวทุกประการ อย่าแก้ไขตัวพิมพ์เล็ก/ใหญ่ เครื่องหมายขีดกลาง หรือจุดด้วยตนเอง
model = "gpt-5.5" model = "MODEL_ID_FROM_PROVIDER_DASHBOARD" model_provider = "mz_proxy" | การตั้งค่า | วิธีกรอก | ข้อผิดพลาดที่พบบ่อย |
|---|---|---|
| model | Model ID / Model Name ซึ่งเป็นตัวระบุดั้งเดิมที่ใช้สำหรับการเรียก API ในรายการโมเดลหลังบ้าน | อย่านำชื่อแสดงผลที่คุณตั้งเองมาใช้เป็นตัวระบุโมเดล หรือแก้ไขตัวพิมพ์เล็ก/ใหญ่ เครื่องหมายขีดกลาง และจุดด้วยตนเอง |
| model_provider | เลือก Provider ID ที่กำหนดไว้ด้านล่าง | กำหนดตาราง Provider ไว้แล้ว แต่ไม่ได้เปลี่ยนการตั้งค่าตรงนี้ |
| openai_base_url | ใช้เฉพาะเมื่อคุณต้องการเปลี่ยน URL คำขอของ Provider OpenAI ที่ติดตั้งมาในตัวเท่านั้น | การนำไปใช้ปนกับ Provider แบบกำหนดเอง จะทำให้คำขอถูกส่งไปยังปลายทางที่ไม่ถูกต้อง |
| wire_api | โดยทั่วไปให้ใช้ responses | อาจทำงานได้ไม่สมบูรณ์หากผู้ให้บริการไม่รองรับ Responses API |
วิธีกำหนดค่า Provider สำหรับ provider
หัวใจสำคัญของการกำหนดค่า provider ประกอบด้วย 3 สิ่ง: ชื่อโมเดล, Base URL, ตัวแปรสภาพแวดล้อมสำหรับ Key หาก provider ของคุณมีอินเทอร์เฟซที่เข้ากันได้กับ OpenAI ควรเลือกใช้ตัวที่รองรับ Responses API เป็นอันดับแรก สำหรับ provider ที่รองรับเฉพาะ Chat Completions แบบเก่าจะมีความเข้ากันได้ในอนาคตที่น้อยกว่า
model = "MODEL_ID_FROM_PROVIDER_DASHBOARD" model_provider = "mz_proxy" [model_providers.mz_proxy] name = "Example AI Provider" base_url = "https://YOUR_PROVIDER_API_URL" env_key = "MZ_PROXY_API_KEY" wire_api = "responses" model = "gpt-5.5" model_provider = "openai" openai_base_url = "https://YOUR_OPENAI_PROXY_API_URL" openai_base_url เฉพาะสำหรับพร็อกซีระดับองค์กร การจัดเก็บข้อมูลตามพื้นที่ หรือที่อยู่สำหรับส่งต่อของ OpenAI ทางการเท่านั้น| รายการตรวจสอบ | วิธีที่ถูกต้อง | วิธีที่ไม่ถูกต้อง |
|---|---|---|
| Base URL | คัดลอกที่อยู่ API ที่ระบุไว้ในระบบหลังบ้านของ provider ส่วนจะรวม /v1 หรือไม่นั้น ให้อ้างอิงตามคำแนะนำของ provider | ใช้หน้าแรกของเว็บไซต์หรือหน้าหลักของคอนโซลเป็นที่อยู่ API |
| Key | ใช้ชื่อตัวแปรสภาพแวดล้อม ตัวอย่างเช่น MZ_PROXY_API_KEY | เขียน Key ลงในไฟล์โปรเจกต์โดยตรงหรือส่งเป็นภาพหน้าจอ |
| Provider ID | สร้าง ID ภาษาอังกฤษของคุณเอง ตัวอย่างเช่น mz_proxy | ใช้ ID สงวน เช่น openai, ollama, lmstudio |
| Model ID / Model Name | คัดลอกตัวระบุดั้งเดิมสำหรับการเรียก API จากรายการโมเดลหลังบ้าน | ใช้ชื่อที่แสดงที่คุณตั้งเอง ชื่อแพ็กเกจ หรือชื่อที่คาดเดาจากความจำ |
ก่อนอื่น ให้ตรวจสอบสิ่งเหล่านี้ในการตั้งค่าของไคลเอนต์
หลังจากเปิดการตั้งค่าไคลเอนต์ Codex ด้านซ้ายจะถูกจัดกลุ่มเป็น 'Personal, Integration, Coding, Archived' สำหรับมือใหม่ควรเริ่มต้นจาก General โดยเน้นตรวจสอบโหมดการทำงาน, ขอบเขตสิทธิ์, ตำแหน่งเปิดเริ่มต้น, เทอร์มินัล และภาษา ส่วนโมเดล, Key และ Provider ให้กลับไปจัดการในส่วนการกำหนดค่า config.toml ที่กล่าวไปก่อนหน้านี้
| การตั้งค่า | ความหมายในภาพ | คำแนะนำสำหรับมือใหม่ |
|---|---|---|
| Work mode | เลือกระดับรายละเอียดทางเทคนิคที่จะแสดงเมื่อ Codex ตอบกลับ เหมาะสำหรับการเขียนโปรแกรม จะเน้นที่โค้ดและการควบคุมมากกว่า เหมาะสำหรับงานประจำวัน จะลดรายละเอียดทางเทคนิคลง | เลือก 'เหมาะสำหรับการเขียนโปรแกรม' เมื่อกำลังกำหนดค่าโค้ดหรือแก้ไขข้อผิดพลาด และเลือก 'เหมาะสำหรับงานประจำวัน' เมื่อต้องการเพียงแค่เขียนข้อความหรือจัดระเบียบเนื้อหา |
| Default permissions | อนุญาตให้ Codex อ่านและแก้ไขไฟล์ในพื้นที่ทำงานปัจจุบัน โดยจะขอสิทธิ์เพิ่มเติมเฉพาะเมื่อต้องการเข้าถึงเนื้อหานอกพื้นที่ทำงานเท่านั้น | สามารถคงการตั้งค่าเริ่มต้นไว้ได้ และโปรดตรวจสอบว่าระบบต้องการเข้าถึงตำแหน่งใดก่อนที่จะอนุญาตทุกครั้ง |
| Automatic review | Codex สามารถพิจารณาคำขอเข้าถึงเพิ่มเติมบางอย่างได้โดยอัตโนมัติ แต่ในหน้านี้ก็มีคำเตือนว่าการตรวจสอบอัตโนมัติอาจเกิดข้อผิดพลาดได้ | เมื่อมือใหม่ยังไม่แน่ใจ ควรปิดตัวเลือกนี้ไว้ก่อนแล้วเปลี่ยนเป็นการยืนยันทีละขั้นตอนด้วยตนเอง หลังจากเริ่มคุ้นเคยแล้วจึงเปิดใช้งานตามความจำเป็น |
| Full access | การอนุญาตให้ Codex แก้ไขไฟล์ใดๆ บนคอมพิวเตอร์และรันคำสั่งเครือข่ายได้โดยไม่ต้องผ่านการอนุมัติ ซึ่งมีความเสี่ยงสูงกว่ามากอย่างเห็นได้ชัด | อย่าเปิดใช้งานโดยค่าเริ่มต้น ให้เปิดใช้งานชั่วคราวเฉพาะเมื่อคุณเข้าใจผลลัพธ์ที่จะตามมาอย่างชัดเจนและงานปัจจุบันจำเป็นต้องใช้จริงๆ เท่านั้น |
| Default open target | กำหนดแอปพลิเคชันเริ่มต้นที่ไคลเอนต์จะใช้เปิดไฟล์หรือโฟลเดอร์ ในภาพหน้าจอจะแสดงเป็น Antigravity | เลือกเอดิเตอร์หรือพื้นที่ทำงานที่คุณใช้งานเป็นประจำ หากไม่แน่ใจให้คงค่าปัจจุบันไว้ |
| Integrated Terminal Shell | กำหนด Shell ที่ Codex จะใช้ในเทอร์มินัลในตัว เช่น PowerShell, CMD หรือ Git Bash | มือใหม่บน Windows ควรเลือกใช้ PowerShell เป็นอันดับแรก เว้นแต่บทเรียนจะระบุให้ใช้เทอร์มินัลอื่นโดยเฉพาะ |
| Language | ควบคุมภาษาของอินเทอร์เฟซไคลเอนต์ ในภาพหน้าจอแสดงการตรวจหาอัตโนมัติ | หากคุณต้องการคงคำแนะนำเป็นภาษาอังกฤษ ให้เลือกภาษาจีนหรือการตรวจหาอัตโนมัติ |
| Bottom Panel / Default Terminal Location | ควบคุมว่าจะแสดงแผงด้านล่างหรือไม่ และแท็บเทอร์มินัลจะแสดงที่ด้านล่างหรือด้านขวาโดยค่าเริ่มต้น | เลือกตามขนาดหน้าจอ: แล็ปท็อปมักจะวางไว้ที่ด้านล่าง ส่วนหน้าจอกว้างสามารถวางไว้ที่ด้านขวาได้ |
| Code Review | กำหนดว่าการเริ่ม /review จะดำเนินการตรวจสอบในการสนทนาปัจจุบัน หรือแยกออกไปเป็นการสนทนาการตรวจสอบแยกต่างหาก | มือใหม่ควรใช้ 'inline view' ก่อน เพื่อให้บริบทโฟกัสอยู่ที่เดิม |
| Suggestion Prompt | แนะนำสิ่งที่สามารถทำต่อไปได้โดยอิงตามไฟล์โปรเจกต์และแอปพลิเคชันที่เชื่อมต่ออยู่ | สามารถเปิดไว้ได้ แต่หากรู้สึกว่ารบกวนก็สามารถปิดได้เช่นกัน |
การตรวจสอบและการแก้ไขปัญหา
หลังจากเปลี่ยน Key, โมเดล หรือ Provider แล้ว ให้รีสตาร์ทไคลเอนต์และสร้างเธรดทดสอบใหม่ ในขั้นตอนนี้ยังไม่ต้องให้แก้ไขไฟล์ เพียงแค่ให้ยืนยันว่าโปรเจกต์ปัจจุบันและโมเดลสามารถทำงานได้อย่างถูกต้อง
First state which files you can see. Do not modify files or run commands. Reply only with whether the current project is readable and the model ID or model name you are using. | อาการ | สาเหตุที่พบบ่อย | วิธีจัดการ |
|---|---|---|
| ข้อความแจ้งว่าไม่มี Key หรือการยืนยันตัวตนล้มเหลว | ตัวแปรสภาพแวดล้อมยังไม่มีผล หรือยังไม่ได้รีสตาร์ทไคลเอนต์ | เปิดเทอร์มินัล/ไคลเอนต์ใหม่อีกครั้ง บน Windows ให้ตรวจสอบตัวแปรสภาพแวดล้อมในหน้าต่างใหม่ |
| Model Unavailable (โมเดลไม่พร้อมใช้งาน) | Model ID / ชื่อโมเดลไม่ถูกต้อง หรือ provider ยังไม่ได้เปิดใช้งานโมเดลนี้ | กลับไปที่ระบบหลังบ้านของ provider แล้วคัดลอกตัวระบุดั้งเดิมจากรายการโมเดล |
| 404 / endpoint not found | เส้นทาง Base URL ไม่ถูกต้อง ปัญหาทั่วไปคือมี /v1 เกินมาหรือขาดไป | ยืนยันที่อยู่ API ตามเอกสารของ provider โดยไม่ต้องคาดเดาเอง |
| คำขอถูกส่งไปยัง OpenAI ทางการ | provider ยังไม่ได้เปลี่ยนไปใช้ ID ที่กำหนดเอง หรือมีการใช้ openai_base_url ทั้งที่ไม่ใช่กรณีการใช้งานนี้ | ตรวจสอบว่า model_provider ตรงกับ Provider ID ของคุณหรือไม่ |
| ใช้งานได้ใน WSL แต่ใช้ไม่ได้ในไคลเอนต์ Windows | Windows และ WSL ใช้ไดเรกทอรี . codex คนละแห่งกัน | ตรวจสอบให้แน่ใจว่าคุณกำลังแก้ไขไฟล์การกำหนดค่าที่ไคลเอนต์อ่านอยู่จริงๆ |
config.toml ก็ต่อเมื่อคุณตั้งใจจะใช้ API Key, พร็อกซีระดับองค์กร หรือ provider บุคคลที่สามเท่านั้นสิทธิ์และความปลอดภัย
ไคลเอนต์ Codex สามารถอ่านไฟล์โปรเจกต์ และอาจแก้ไขไฟล์ ดำเนินการตรวจสอบ หรือเปิดหน้าเว็บเพื่อดูข้อมูลตามการยืนยันของคุณ สิ่งสำคัญที่สุดสำหรับมือใหม่คือต้องดูให้ชัดเจนว่าระบบต้องการทำอะไรก่อนที่จะอนุญาตให้ดำเนินการต่อ
| ตำแหน่ง | สิ่งที่ต้องให้ความสำคัญ | คำแนะนำสำหรับมือใหม่ |
|---|---|---|
| ข้อความแจ้งขออนุมัติ | ระบบต้องการแก้ไขไฟล์ รันการตรวจสอบ หรือเข้าถึงบริการภายนอกหรือไม่ | หากคุณไม่เข้าใจ ให้ปฏิเสธไปก่อนแล้วให้ Codex อธิบายเหตุผลเป็นภาษาอังกฤษ |
| การเปลี่ยนแปลงไฟล์ | มีไฟล์ใดบ้างที่ถูกเพิ่ม ลบ หรือแก้ไข | ก่อนส่ง ให้ตรวจสอบ diff แต่ละจุดทีละรายการ อย่าดูเพียงแค่สรุปภาพรวม |
| ขอบเขตโปรเจกต์ | การสนทนานี้เชื่อมต่อกับโปรเจกต์ใดในคอมพิวเตอร์ของคุณ | ตรวจสอบให้แน่ใจว่าไม่ใช่โปรเจกต์เก่าหรือโปรเจกต์สำหรับทดสอบ |
| ตำแหน่งที่เกิดการเปลี่ยนแปลง | ตรวจสอบว่าเป็นการแก้ไขบนสำเนาที่แยกต่างหาก (Isolated copy) หรือไม่ แทนที่จะแก้ไขโปรเจกต์ต้นฉบับของคุณโดยตรง | เมื่อยังไม่แน่ใจในความเสี่ยง ให้เลือกใช้สำเนาที่แยกต่างหากเป็นอันดับแรก |
| การเปิดดูหน้าเบราว์เซอร์ | ตรวจสอบว่าเป็นหน้าที่กำลังพัฒนาในเครื่อง (Local development) ที่ถูกเปิดขึ้นมาหรือไม่ | ตรวจสอบด้วยตนเองเมื่อเกี่ยวข้องกับบัญชีผู้ใช้ การชำระเงิน หรือสิทธิ์ในระบบหลังบ้าน |
