توجه داشته باشید که برای دسترسی به این تغییرات، باید 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 را بهروزرسانی نکند. اگر مسیر سفارشی برای فایل اجرایی تنظیم کردهاید، آن فایل اجرایی را نیز بهروزرسانی کنید.
شناسههای مدلی که بهصورت دستی تنظیم شدهاند و با وجود در دسترس بودن کاتالوگ در آن نیستند، در CLI و Codex Desktop همچنان بهطور خودکار مانند گذشته پردازش میشوند؛ حتی زمانی که Daybreak روشن است. نبودن آنها در کاتالوگ بهتنهایی مانع موفقیت درخواست نمیشود.
مدلهای سایبری ممکن است طی عرضهای جداگانه در انتخابگر مدل در دسترس قرار گیرند. پس از فعال شدن دسترسی، کاربرانی که از نسخهٔ پشتیبانیشده استفاده میکنند، برای دیدن مدلهای تازه در دسترس قرارگرفته نیازی به بارگیری مجدد ندارند. برای تازهسازی فهرست، انتخابگر مدل را دوباره باز کنید یا Codex را مجدداً راهاندازی کنید.
فعال کردن Daybreak در CLI تعاملی
Codex را با روش معمول احراز هویت خود اجرا کنید.
برای روشن کردن Daybreak،
/daybreakرا وارد کنید.Codex این پیام را نمایش میدهد:
Daybreak روشن است. بر نوبتهای جدید اعمال میشود.این تنظیم بر رشتهٔ گفتگوی فعال اعمال میشود و بهعنوان پیشفرض برای نشستهای جدید ذخیره خواهد شد.
برای خاموش کردن Daybreak، همان دستور (
/daybreak) را دوباره اجرا کنید.
فعالسازی Daybreak در CLI غیرتعاملی
گردشکارهای غیرتعاملی بدون رابط کاربری تعاملی اجرا میشوند؛ معمولاً از طریق codex exec در اسکریپتها، کارهای زمانبندیشده یا CI. در این حالت، اعلان تعاملی «فعالسازی Daybreak» (/daybreak) وجود ندارد. در عوض، میتوانید:
با افزودن
-c daybreak=trueبه هر دستوری که میخواهید با امتناع کمتر از پاسخگویی اجرا شود، Daybreak را برای همان اجرای CLI فعال کنید. برای مثال، میتوانید وارد کنید:
codex exec -c daybreak=true "Review the changes in this repository."
اعلان فعلی و سایر گزینههای دستور را حفظ کنید. این تنظیم را به هر فراخوانی که باید از Daybreak استفاده کند اضافه کنید؛ از جمله دستورهای موجود در اسکریپتها، کارهای زمانبندیشده و پیکربندی CI.
با افزودن
daybreak=trueبه فایل پیکربندیای که Codex بارگذاری میکند، Daybreak را برای نشستها و اجراهای جدید CLI بهصورت پیشفرض فعال کنید.فایل پیشفرض پیکربندی کاربر،
~/.codex/config.tomlاست. اگر در فرایند خودکار شماCODEX_HOMEتنظیم شده است، بهجای آن از$CODEX_HOME/config.tomlاستفاده کنید. این تنظیم را در سطح اصلی فایل، خارج از بخشهایی مانند[features]قرار دهید.تغییر را در محیطی اعمال کنید که فرایند خودکار واقعاً در آن اجرا میشود. بهروزرسانی پیکربندی لپتاپ شما، پیکربندی اجراکنندهٔ CI یا دستگاه راهدور را بهروز نمیکند.
این تنظیم برای نشستهای تعاملی جدیدی که از همان پیکربندی استفاده میکنند نیز اعمال میشود. نشستهای ازسرگرفتهشده و منشعبشده، وضعیت ذخیرهشدهٔ Daybreak خود را حفظ میکنند؛ مقدار پیشفرض جدید در پیکربندی جایگزین آن نمیشود.
توجه داشته باشید که تنظیم واردشده در خط فرمان، برای همان فراخوانی بر پیکربندی ذخیرهشده اولویت دارد. بنابراین میتوانید
daybreak = trueرا در پیکربندی خود نگه دارید و برای یک اجرای مشخص از-c daybreak=falseاستفاده کنید.
فعالسازی Daybreak با ارائهدهندهٔ استنتاج از طریق پراکسی
میتوانید از Daybreak در Codex CLI استفاده کنید و همزمان درخواستهای استنتاج را از طریق پراکسی فعلی خود بفرستید. Codex با ارسال درخواستی جداگانه به فهرست مدلها، مشخص میکند کدام مدلها در پروژهٔ شما از Daybreak پشتیبانی میکنند.
پیش از شروع، مطمئن شوید ارائهدهندهٔ پراکسی شما در Codex CLI بهدرستی کار میکند و کلید API شرکت OpenAI را از پروژهای در اختیار دارید که به Daybreak و مدل موردنظرتان دسترسی دارد. همچنین به نسخهٔ v0.167.0 از Codex CLI نیاز دارید.مستندات OpenAI دربارهٔ دسترسی پروژه به Daybreak
برای بهروزرسانی ارائهدهندهٔ پراکسی خود، فایل ~/.codex/config.toml را باز کنید و بخش [model_providers.<id>] مربوط به پراکسی خود را پیدا کنید. دو خط آخر مثال زیر را به آن بخش اضافه کنید. شناسهٔ ارائهدهنده، نشانی پراکسی و تنظیمات احراز هویت فعلی خود را حفظ کنید.
[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با انتخاب گزینهٔ متناسب با اطلاعات احراز هویت مورد استفادهٔ CLI، احراز هویت درخواست فهرست مدلها را تنظیم کنید.
اگر Codex از کلید API شرکت OpenAI استفاده میکند، نشانی فهرست مدلهای OpenAI را که در مرحلهٔ ۱ وارد کردید حفظ کنید. Codex را با کلید پروژهای اجرا کنید که Daybreak در آن فعال است تا بتواند مستقیماً برای دسترسی به فهرست مدلها احراز هویت کند.
اگر Codex از اطلاعات احراز هویت پراکسی شما استفاده میکند، مقدار model_catalog_url را روی نشانی کامل مسیر فهرست مدلها در پراکسی خود تنظیم کنید. آن مسیر را طوری پیکربندی کنید که:
درخواست CLI را با استفاده از اطلاعات معمول احراز هویت پراکسی شما احراز هویت کند.
درخواست را با استفاده از کلید API شرکت OpenAI از پروژهای که Daybreak در آن فعال است، به https://chatgpt.com/backend-api/codex/models ارسال کند.
پاسخ فهرست مدلها را به Codex برگرداند.
برای فعالکردن Daybreak، نشست جدیدی در Codex CLI با ارائهدهندهٔ پراکسی خود شروع کنید. مدلی را انتخاب کنید که امکان استفاده از Daybreak را دارد، سپس برای فعالکردن آن /daybreak را وارد کنید.
اگر Daybreak در دسترس نیست، ابتدا درخواست فهرست مدلها را بررسی کنید. حتی اگر درخواست فهرست مدلها ناموفق باشد، استنتاج میتواند با موفقیت انجام شود. مطمئن شوید درخواست با کلید پروژهٔ موردنظر به OpenAI میرسد و آن پروژه هم به Daybreak و هم به مدل انتخابشده دسترسی دارد.
فعال کردن Daybreak از طریق SDK TypeScript
تنظیم 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 و بازگشت به روال عادی رد درخواستها، از daybreak: false استفاده کنید. پیکربندی فعلی احراز هویت خود را حفظ کنید.
فعال کردن Daybreak از طریق سرور برنامه یا SDK Python
۱. مقادیر availableAccessPrograms.cyber مدل انتخابشده را از model/list بخوانید، سپس cyberAccessProgram را در پارامترهای turn/start تنظیم کنید.
الف. برای یک مدل از سری اصلی و حسابی با دسترسی به Daybreak Blue:
{ "cyberAccessProgram": "daybreakBlue" }
ب. برای یک مدل سایبری و حسابی با دسترسی به Daybreak Red:
{ "cyberAccessProgram": "daybreakRed" }
ج. برای روال عادی رد درخواستها:
{ "cyberAccessProgram": "standard" }
۲. گزینهٔ انتخابشده را در هر نوبتی که باید از آن استفاده کند بگنجانید؛ فرض نکنید که حذف پارامتر، Daybreak را خاموش میکند. کلاینتهایی که مستقیماً به سرور برنامه متصل میشوند، برای استفاده از این پارامتر باید قابلیت experimentalApi را هنگام راهاندازی اولیه فعال کنند.
۳. کلاینت سطح پایین CodexClient در SDK Python میتواند همین پارامتر را ارسال کند:
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)
۴. در این مثال فرض شده است که Daybreak Blue برای مدل انتخابشده در دسترس است. کلاینت Python قابلیت API آزمایشی را بهطور پیشفرض فعال میکند. تنظیم ذخیرهشدهٔ رشتهٔ گفتگو بهتنهایی برنامهٔ دسترسی را برای یک نوبت در سرور برنامه تعیین نمیکند.
اگر پیش از این تغییرات، کاتالوگ محلی مدلها را اضافه کردهاید
اگر قبلاً با ورود از طریق کلید API مدلهای مورد انتظارتان نمایش داده نمیشدند، ممکن است با استفاده از model_catalog_json در config.toml یک کاتالوگ محلی اضافه کرده باشید. Codex بهجای کاتالوگ خودکار از آن فایل محلی استفاده میکند، بنابراین ممکن است فهرست مدلهای شما قدیمی شود. وقتی پشتیبانی از کاتالوگ خودکار برای محیط شما فراهم شد، برای بازگشت به آن این مراحل را دنبال کنید:
فایل
config.tomlرا باز کنید. برای Codex CLI، فایل~/.codex/config.tomlرا باز کنید (یا اگرCODEX_HOMEرا تنظیم کردهاید، فایل$CODEX_HOME/config.tomlرا باز کنید). در Codex Desktop، به تنظیمات > پیکربندی بروید، سپس باز کردن config.toml را انتخاب کنید.کاتالوگ محلی را موقتاً غیرفعال کنید. در ابتدای خط
model_catalog_jsonعلامت # را اضافه کنید، فایل را ذخیره کنید و Codex را با همان حساب یا کلید API دوباره راهاندازی کنید. هر نشانی کاتالوگی را که سازمان شما الزامی کرده است، بدون تغییر نگه دارید.دسترسی خود را بررسی کنید. در CLI،
codexرا اجرا کنید، سپس در همان نشست/daybreakرا وارد کنید. در نسخهٔ دسکتاپ، انتخابگر پیشرفتهٔ مدل را باز کنید و Daybreak را روشن کنید. اگر به Daybreak Red دسترسی دارید، مطمئن شوید که مدل سایبری مورد انتظارتان نمایش داده میشود و میتوانید با استفاده از آن درخواست ارسال کنید.پیکربندیای را که درست کار میکند حفظ کنید. اگر بررسی موفقیتآمیز بود، خطی را که غیرفعال کردهاید حذف و فایل را ذخیره کنید. اگر بررسی ناموفق بود،
#را بردارید، فایل را ذخیره کنید و Codex را دوباره راهاندازی کنید تا تنظیمات قبلی بازیابی شود.
عیبیابی رد درخواستها در CLI
یک کار نمونه را با همان اطلاعات احراز هویت، مدل و پیکربندی مورد استفاده در فرایند خودکار خود اجرا کنید.
اگر Daybreak در دسترس نیست، مطمئن شوید که:
حساب یا پروژهٔ API شما به Daybreak دسترسی دارد.
مدل انتخابشده از Daybreak پشتیبانی میکند.
در CLI تعاملی، بررسی کنید که Daybreak روشن باشد. اگر Daybreak در دسترس اما خاموش باشد، CLI تعاملی ممکن است این پیام رد درخواست را نمایش دهد:
Daybreak در حال حاضر خاموش است. اگر در حال انجام فعالیت امنیتی مجاز هستید، آن را روشن کنید و درخواست خود را دوباره بفرستید.پیامی میپرسد:
Daybreak برای درخواست بعدی شما روشن شود؟و گزینههایفعال کردن Daybreakوفعلاً نهرا ارائه میدهد.گزینهٔ فعال کردن Daybreak را انتخاب کنید تا برای درخواست بعدی روشن شود، سپس درخواست را دوباره بفرستید. توجه داشته باشید که درخواست ردشده بهطور خودکار دوباره ارسال نمیشود؛ باید خودتان آن را دوباره بفرستید. برخی درخواستها ممکن است حتی با روشن بودن Daybreak هم رد شوند.
گزینهٔ فعلاً نه را انتخاب کنید تا Daybreak خاموش بماند.
برای فرایندهای خودکار، مطمئن شوید که
daybreak=trueبه پردازش واقعی Codex منتقل میشود و تنظیم دیگری در خط فرمان آن را بازنویسی نمیکند.
استفاده از Daybreak با Codex Security CLI
Codex Security CLI برای اسکنهای امنیتی از @openai/codex-security استفاده میکند. گزینههای برنامهٔ دسترسی آن با مثالهای عمومی Codex CLI در بالا متفاوت است.
برای احراز هویت با کلید 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
کیت توسعهٔ TypeScript برای Codex Security با نام @openai/codex-security، اسکنهای امنیتی را از درون یک برنامه یا ابزار توسعه اجرا میکند. این کیت با Codex SDK عمومی که در بالا توضیح داده شد، متفاوت است.
از اطلاعات احراز هویت حساب یا پروژهٔ API تأییدشدهٔ خود استفاده کنید. برخی درخواستهای امنیت سایبری و یافتههای محافظتشده به Trusted Access for Cyber نیاز دارند. نصب SDK یا انتخاب مدل بهخودیخود دسترسی به Daybreak را فراهم نمیکند.
برای آشنایی با روشهای احراز هویت پشتیبانیشده، پیکربندی و مثالهای اسکن، راهنمای Codex Security SDK را دنبال کنید.
