OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

การใช้ Daybreak ใน Codex CLI

ใช้คู่มือนี้เพื่อเปิดใช้ Daybreak ใน Codex CLI ตั้งค่าให้รองรับเวิร์กโฟลว์อัตโนมัติและการผสานการทำงานกับ SDK รวมถึงแก้ปัญหาการเข้าถึงหรือการปฏิเสธคำขอ 

อัปเดตล่าสุด: 21 hours ago

โปรดทราบว่าคุณต้องอัปเกรดเป็น Codex CLI 0.163.0 ขึ้นไปจึงจะใช้การเปลี่ยนแปลงเหล่านี้ได้ คุณเลือกได้ว่าจะอัปเกรด CLI หรือไม่ โดยเวอร์ชันที่ติดตั้งอยู่จะยังทำงานเหมือนเดิมจนกว่าคุณจะอัปเดต

  • หากระบบอัตโนมัติของคุณติดตั้ง @openai/codex@latest ระบบอาจได้รับการเปลี่ยนแปลงนี้เมื่อติดตั้งหรืออัปเดตครั้งถัดไป หากคุณติดตั้ง Codex CLI แบบส่วนกลางด้วย npm ให้รัน npm install -g @openai/codex@latest แล้วรัน codex --version เพื่อยืนยันการอัปเกรด

  • หากต้องการเลื่อนการเปลี่ยนแปลงออกไป ให้ตรึงเวอร์ชันไว้ที่ @openai/codex@0.162.0 การติดตั้งด้วย @latest เพียงครั้งเดียวจะไม่อัปเดตตัวเอง เวิร์กโฟลว์ที่ตรึงไว้กับเวอร์ชันเก่าจะยังทำงานเหมือนเดิม

  • สำหรับการเชื่อมต่อผ่าน TypeScript ให้อัปเดต @openai/codex-sdk และรันไทม์ที่มาพร้อมกัน สำหรับการเชื่อมต่อผ่าน Python ให้อัปเดต openai-codex และรันไทม์ Codex ที่ใช้ร่วมกัน การอัปเดตเฉพาะ CLI ที่ติดตั้งแบบส่วนกลางอาจไม่อัปเดตรันไทม์ของ SDK หากคุณกำหนดพาธไฟล์ปฏิบัติการเอง ให้อัปเดตไฟล์ปฏิบัติการนั้นด้วย

ID โมเดลที่กำหนดเองแต่ไม่อยู่ในแคตตาล็อกที่เข้าถึงได้ จะยังได้รับการจัดการอัตโนมัติแบบเดิมใน CLI และ Codex Desktop แม้จะเปิด Daybreak อยู่ก็ตาม การที่ ID เหล่านั้นไม่อยู่ในแคตตาล็อกเพียงอย่างเดียวไม่ได้ทำให้คำขอล้มเหลว 

การเปิดให้ใช้โมเดลไซเบอร์ในตัวเลือกโมเดลอาจทยอยเปิดให้ใช้งานแยกต่างหาก เมื่อเปิดให้ใช้งานแล้ว ผู้ใช้ที่ใช้เวอร์ชันที่รองรับอยู่จะเห็นโมเดลที่เพิ่มเข้ามาใหม่ได้โดยไม่ต้องดาวน์โหลดอีกครั้ง เปิดตัวเลือกโมเดลอีกครั้งหรือรีสตาร์ท Codex เพื่อรีเฟรชรายการ

เปิดใช้งาน Daybreak ใน CLI แบบโต้ตอบ

  1. เริ่ม Codex โดยใช้วิธียืนยันตัวตนตามปกติของคุณ

  2. หากต้องการเปิด Daybreak ให้ป้อน /daybreak

  3. Codex จะแจ้งว่า เปิด Daybreak แล้ว มีผลกับรอบการโต้ตอบใหม่

  4. การตั้งค่านี้จะมีผลกับเธรดที่ใช้งานอยู่ และบันทึกเป็นค่าเริ่มต้นสำหรับเซสชันใหม่

  5. หากต้องการปิด Daybreak ให้รันคำสั่งเดิม (/daybreak) อีกครั้ง

เปิดใช้งาน Daybreak ใน CLI แบบ headless

เวิร์กโฟลว์แบบ headless ทำงานโดยไม่มี UI แบบโต้ตอบ โดยทั่วไปจะใช้ codex exec ในสคริปต์ งานที่ตั้งเวลาไว้ หรือ CI ในโหมดนี้จะไม่มีข้อความโต้ตอบให้ “เปิดใช้งาน Daybreak” (/daybreak) คุณสามารถใช้วิธีต่อไปนี้แทนได้:

  1. เปิดใช้ Daybreak สำหรับการเรียกใช้ CLI เฉพาะครั้ง โดยเพิ่ม -c daybreak=true ในแต่ละคำสั่งที่ต้องการให้โมเดลปฏิเสธคำขอน้อยลง ตัวอย่างเช่น คุณอาจป้อนคำสั่ง:

codex exec -c daybreak=true "Review the changes in this repository."

  1. คงพรอมต์และตัวเลือกคำสั่งอื่นๆ ที่ใช้อยู่ไว้ เพิ่มการตั้งค่านี้ในการเรียกใช้แต่ละครั้งที่ต้องการใช้ Daybreak รวมถึงคำสั่งในสคริปต์ งานที่ตั้งเวลาไว้ และการกำหนดค่า CI

  2. ตั้ง Daybreak เป็นค่าเริ่มต้นสำหรับเซสชันและการเรียกใช้ CLI ใหม่ โดยเพิ่ม daybreak=true ในไฟล์การกำหนดค่าที่ Codex โหลด

  3. ไฟล์การกำหนดค่าผู้ใช้เริ่มต้นคือ ~/.codex/config.toml หากระบบอัตโนมัติของคุณตั้งค่า CODEX_HOME ไว้ ให้ใช้ $CODEX_HOME/config.toml แทน วางการตั้งค่านี้ไว้ที่ระดับบนสุด นอกส่วนต่างๆ เช่น [features]

  4. แก้ไขการตั้งค่าในสภาพแวดล้อมที่ระบบอัตโนมัติทำงานจริง การอัปเดตการกำหนดค่าบนแล็ปท็อปไม่ได้อัปเดตการกำหนดค่าของตัวรัน CI หรือเครื่องระยะไกล

  5. การตั้งค่านี้ยังมีผลกับเซสชันแบบโต้ตอบใหม่ที่ใช้การกำหนดค่าเดียวกันด้วย เซสชันที่กลับมาทำงานต่อหรือแยกออกจากเซสชันเดิมจะยังใช้ตัวเลือก Daybreak ที่บันทึกไว้ ค่าเริ่มต้นใหม่ในการกำหนดค่าจะไม่แทนที่ตัวเลือกนั้น

  6. โปรดทราบว่าการตั้งค่าผ่านบรรทัดคำสั่งจะมีผลแทนการกำหนดค่าที่บันทึกไว้สำหรับการเรียกใช้ครั้งนั้น คุณจึงคง daybreak = true ไว้ในการกำหนดค่า แล้วใช้ -c daybreak=false สำหรับการเรียกใช้เฉพาะครั้งได้

การเปิดใช้งาน Daybreak กับผู้ให้บริการอนุมานผ่านพร็อกซี

คุณสามารถใช้ Daybreak ใน Codex CLI พร้อมส่งคำขออนุมานผ่านพร็อกซีที่ใช้อยู่ได้ Codex จะค้นข้อมูลแค็ตตาล็อกโมเดลแยกต่างหาก เพื่อตรวจสอบว่าโมเดลใดรองรับ Daybreak สำหรับโปรเจกต์ของคุณ

ก่อนเริ่มต้น ตรวจสอบว่าคุณตั้งค่าผู้ให้บริการพร็อกซีใน Codex CLI ให้ใช้งานได้แล้ว มีคีย์ OpenAI API จากโปรเจกต์ที่มีสิทธิ์เข้าถึง Daybreak และโมเดลที่ต้องการใช้ รวมทั้งมี Codex CLI เวอร์ชัน v0.167.0เอกสาร OpenAI เกี่ยวกับสิทธิ์เข้าถึง Daybreak ของโปรเจกต์

  1. อัปเดตการตั้งค่าผู้ให้บริการพร็อกซี โดยเปิด ~/.codex/config.toml แล้วค้นหาส่วน [model_providers.<id>] ของพร็อกซีที่คุณใช้ เพิ่มสองบรรทัดสุดท้ายของตัวอย่างด้านล่างลงในส่วนนั้น คง ID ผู้ให้บริการ, URL พร็อกซี และการตั้งค่าการยืนยันตัวตนเดิมไว้


    [model_providers.proxy]

    name = "Proxied with Cyber"

    base_url = "https://<your-proxy>/v1"

    model_catalog_url = "<https://chatgpt.com/backend-api/codex/models>"

    capabilities.cyber_access_programs = true

    หากการกำหนดค่าของคุณมีส่วน [model_providers.<id>.capabilities] อยู่แล้ว ให้ใส่ cyber_access_programs = true ไว้ในส่วนนั้น และคง model_catalog_url ไว้ในส่วนผู้ให้บริการระดับบนเอกสารอ้างอิงการกำหนดค่า Codex

  2. ยืนยันตัวตนสำหรับการค้นข้อมูลแค็ตตาล็อก โดยเลือกวิธีที่ตรงกับข้อมูลรับรองที่ CLI ของคุณใช้

    1. หาก Codex ใช้คีย์ OpenAI API ให้คง URL แค็ตตาล็อกของ OpenAI จากขั้นตอนที่ 1 ไว้ เรียกใช้ Codex ด้วยคีย์จากโปรเจกต์ที่เปิดใช้งาน Daybreak เพื่อให้ยืนยันตัวตนกับแค็ตตาล็อกได้โดยตรง

    2. หาก Codex ใช้ข้อมูลรับรองของพร็อกซี ให้ตั้งค่า model_catalog_url เป็น URL แบบเต็มของเส้นทางแค็ตตาล็อกบนพร็อกซีของคุณ กำหนดค่าเส้นทางนั้นให้ทำงานดังนี้:

      1. ยืนยันตัวตนของคำขอจาก CLI โดยใช้ข้อมูลรับรองพร็อกซีตามปกติของคุณ

      2. ส่งต่อคำขอไปยัง https://chatgpt.com/backend-api/codex/models โดยใช้คีย์ OpenAI API จากโปรเจกต์ที่เปิดใช้งาน Daybreak

      3. ส่งการตอบกลับจากแค็ตตาล็อกคืนให้ Codex

  3. เปิดใช้ Daybreak โดยเริ่มเซสชัน Codex CLI ใหม่กับผู้ให้บริการพร็อกซีของคุณ เลือกโมเดลที่มีสิทธิ์ใช้ Daybreak แล้วป้อน /daybreak เพื่อเปิดใช้งาน

    1. หากใช้ Daybreak ไม่ได้ ให้ตรวจสอบการค้นข้อมูลแค็ตตาล็อกก่อน การอนุมานอาจสำเร็จได้แม้คำขอแค็ตตาล็อกจะล้มเหลว ตรวจสอบว่าคำขอส่งถึง OpenAI โดยใช้คีย์จากโปรเจกต์ที่ต้องการ และโปรเจกต์นั้นมีสิทธิ์เข้าถึงทั้ง Daybreak และโมเดลที่เลือก

เปิดใช้งาน Daybreak ผ่าน TypeScript SDK

ส่งการตั้งค่า Daybreak ผ่านการกำหนดค่าไคลเอนต์:

import { Codex } from "@openai/codex-sdk";

const codex = new Codex({

  config: { daybreak: true },

});

const thread = codex.startThread();

const result = await thread.run("Review the changes in this repository.");

console.log(result.finalResponse);

ใช้ daybreak: false เพื่อปิด Daybreak และใช้การปฏิเสธคำขอแบบปกติ คงการกำหนดค่าการยืนยันตัวตนเดิมของคุณไว้

เปิดใช้งาน Daybreak ผ่านเซิร์ฟเวอร์แอปหรือ Python SDK

1. อ่านค่า availableAccessPrograms.cyber ของโมเดลที่เลือกจาก model/list แล้วตั้งค่า cyberAccessProgram ในพารามิเตอร์ของ turn/start

ก. สำหรับโมเดลหลักและบัญชีที่มีสิทธิ์เข้าถึง Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

ข. สำหรับโมเดลไซเบอร์และบัญชีที่มีสิทธิ์เข้าถึง Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

ค. สำหรับการปฏิเสธคำขอแบบปกติ:

{ "cyberAccessProgram": "standard" }

2. ระบุค่าที่เลือกในทุกรอบการโต้ตอบที่ต้องการใช้ อย่าคิดว่าการละพารามิเตอร์นี้จะเป็นการปิด Daybreak ไคลเอนต์ที่เชื่อมต่อกับเซิร์ฟเวอร์แอปโดยตรงต้องเปิดใช้ความสามารถ experimentalApi ระหว่างการเริ่มต้นระบบเพื่อใช้พารามิเตอร์นี้

3. CodexClient ระดับล่างของ Python SDK สามารถส่งพารามิเตอร์เดียวกันได้:

from openai_codex.client import CodexClient

with CodexClient() as client:

client.initialize()

thread = client.thread_start()

turn = client.turn_start(

thread.thread.id,

"Review the changes in this repository.",

params={"cyberAccessProgram": "daybreakBlue"},

)

client.wait_for_turn_completed(turn.turn.id)

4. ตัวอย่างนี้ตั้งอยู่บนสมมติฐานว่าโมเดลที่เลือกใช้ Daybreak Blue ได้ ไคลเอนต์ Python เปิดใช้ความสามารถ API รุ่นทดลองไว้โดยค่าเริ่มต้น การตั้งค่าเธรดที่บันทึกไว้เพียงอย่างเดียวไม่ได้เป็นการเลือกโปรแกรมสำหรับรอบการโต้ตอบบนเซิร์ฟเวอร์แอป

หากคุณเพิ่มแคตตาล็อกโมเดลในเครื่องไว้ก่อนการเปลี่ยนแปลงเหล่านี้

หากก่อนหน้านี้การลงชื่อเข้าใช้ด้วยคีย์ API ไม่แสดงโมเดลที่คุณคาดไว้ คุณอาจเคยเพิ่มแคตตาล็อกในเครื่องโดยใช้ model_catalog_json ใน config.toml Codex ใช้ไฟล์ในเครื่องนั้นแทนแคตตาล็อกอัตโนมัติ รายการโมเดลของคุณจึงอาจไม่เป็นปัจจุบัน เมื่อสภาพแวดล้อมของคุณรองรับแคตตาล็อกอัตโนมัติแล้ว ให้ทำตามขั้นตอนเหล่านี้เพื่อเปลี่ยนกลับไปใช้:

  1. เปิด config.toml สำหรับ Codex CLI ให้เปิด ~/.codex/config.toml (หรือ $CODEX_HOME/config.toml หากคุณตั้งค่า CODEX_HOME ไว้) ใน Codex Desktop ให้ไปที่ การตั้งค่า > การกำหนดค่า แล้วเลือก เปิด config.toml

  2. ปิดใช้งานแคตตาล็อกในเครื่องชั่วคราว เพิ่ม # ที่ต้นบรรทัด model_catalog_json บันทึกไฟล์ แล้วรีสตาร์ท Codex โดยใช้บัญชีหรือคีย์ API เดิม คง URL แคตตาล็อกที่องค์กรของคุณกำหนดให้ใช้ไว้ตามเดิม

  3. ตรวจสอบสิทธิ์การเข้าถึงของคุณ ใน CLI ให้เริ่ม codex แล้วป้อน /daybreak ภายในเซสชัน ใน Desktop ให้เปิดตัวเลือกโมเดลขั้นสูง แล้วเปิด Daybreak หากคุณมีสิทธิ์เข้าถึง Daybreak Red ให้ตรวจสอบว่าโมเดลไซเบอร์ที่คาดไว้ปรากฏขึ้น และคุณสามารถใช้โมเดลนั้นส่งคำขอได้

  4. เก็บการกำหนดค่าที่ใช้งานได้ไว้ หากตรวจสอบแล้วใช้งานได้ ให้ลบบรรทัดที่คุณปิดใช้งานออก แล้วบันทึกไฟล์ หากใช้งานไม่ได้ ให้ลบ # ออก บันทึก แล้วรีสตาร์ท Codex เพื่อกลับไปใช้การตั้งค่าเดิม

แก้ปัญหาการปฏิเสธคำขอใน CLI

  • รันงานตัวอย่างที่เป็นตัวแทนของงานจริง โดยใช้ข้อมูลรับรอง โมเดล และการกำหนดค่าเดียวกับระบบอัตโนมัติของคุณ

  • หากใช้ Daybreak ไม่ได้ ให้ตรวจสอบว่า:

    • บัญชีหรือโปรเจกต์ API ของคุณมีสิทธิ์เข้าถึง Daybreak

    • โมเดลที่เลือกรองรับ Daybreak

  • ใน CLI แบบโต้ตอบ ให้ตรวจสอบว่าเปิด Daybreak อยู่ CLI แบบโต้ตอบอาจแสดงข้อความปฏิเสธเมื่อใช้ Daybreak ได้แต่ยังปิดอยู่: ขณะนี้ Daybreak ปิดอยู่ หากคุณกำลังทำงานด้านความปลอดภัยที่ได้รับอนุญาต ให้เปิดใช้งานแล้วลองส่งคำขออีกครั้ง

    • ระบบจะแสดงคำถามว่า เปิด Daybreak สำหรับคำขอถัดไปของคุณไหม? พร้อมตัวเลือก เปิดใช้งาน Daybreak หรือ ยังไม่ใช่ตอนนี้

    • เลือก เปิดใช้งาน Daybreak เพื่อเปิดสำหรับคำขอถัดไป แล้วลองส่งคำขออีกครั้ง โปรดทราบว่าระบบจะไม่ลองส่งคำขอที่ถูกปฏิเสธซ้ำโดยอัตโนมัติ คุณต้องส่งคำขออีกครั้งเอง คำขอบางรายการอาจยังถูกปฏิเสธแม้จะเปิด Daybreak อยู่

    • เลือก ยังไม่ใช่ตอนนี้ เพื่อให้ Daybreak ปิดอยู่ต่อไป

  • สำหรับระบบอัตโนมัติ ให้ตรวจสอบว่า daybreak=true ถูกส่งไปถึงโปรเซส Codex ที่ทำงานจริง และไม่ถูกแทนที่ด้วยการตั้งค่าบรรทัดคำสั่งอื่น

ใช้ Daybreak กับ Codex Security CLI

Codex Security CLI ใช้ @openai/codex-security เพื่อสแกนความปลอดภัย โดยมีตัวเลือกโปรแกรมการเข้าถึงแยกจากตัวอย่าง Codex CLI ทั่วไปด้านบน

หากยืนยันตัวตนด้วยคีย์ API ให้ใช้คีย์จากโปรเจกต์ API ที่เปิดใช้งาน Daybreak และระบุโปรแกรมที่โปรเจกต์นั้นได้รับอนุมัติให้ใช้ สำหรับ Daybreak Blue ให้ใช้คำสั่ง:


npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue

ใช้ daybreak_red เฉพาะเมื่อโปรเจกต์ของคุณได้รับอนุมัติให้ใช้ Daybreak Red หรือใช้ standard เพื่อใช้มาตรการป้องกันมาตรฐาน การเลือกโปรแกรมไม่ได้ให้สิทธิ์เข้าถึงโปรแกรมนั้นหรือโมเดลเพิ่มเติม

ดูตัวเลือกการยืนยันตัวตนและการสแกนได้ในเอกสารอ้างอิง Codex Security CLI

ใช้ Daybreak กับ Codex Security SDK

Codex Security TypeScript SDK (@openai/codex-security) ช่วยให้เรียกใช้การสแกนความปลอดภัยจากแอปพลิเคชันหรือเครื่องมือสำหรับนักพัฒนาได้ SDK นี้แยกจาก Codex SDK ทั่วไปที่อธิบายไว้ด้านบน

ใช้ข้อมูลรับรองของบัญชีหรือโปรเจกต์ API ที่ได้รับอนุมัติแล้ว คำขอด้านความปลอดภัยไซเบอร์และผลการตรวจพบที่จำกัดการเข้าถึงบางรายการต้องใช้ Trusted Access for Cyber การติดตั้ง SDK หรือเลือกโมเดลไม่ได้ให้สิทธิ์เข้าถึง Daybreak

ทำตามคู่มือ Codex Security SDK เพื่อดูวิธียืนยันตัวตนที่รองรับ การกำหนดค่า และตัวอย่างการสแกน

บทความนี้มีประโยชน์หรือไม่