OpenAI
הדף הזה תורגם באופן אוטומטי. לצפייה במאמר המקורי באנגלית.

מדריך ללקוחות: שימוש ב-Daybreak ב-Codex CLI

במדריך הזה תלמדו איך להפעיל את Daybreak ב-Codex CLI, להגדיר אותו לתהליכי עבודה אוטומטיים ולשילובים עם SDK, ולפתור בעיות גישה או סירוב. 

עודכן: 9 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. אם הגדרתם נתיב מותאם אישית לקובץ הרצה, עדכנו גם את הקובץ הזה.

מזהי מודלים שהוגדרו ידנית ואינם מופיעים בקטלוג זמין ימשיכו לקבל את אותו טיפול אוטומטי ב-CLI וב-Codex Desktop, גם כאשר Daybreak מופעל. עצם היעדרם מהקטלוג אינו מונע את הצלחת הבקשה. 

ייתכן שמודלי סייבר יהפכו לזמינים בבורר המודלים בתהליך נפרד. לאחר שהזמינות תופעל, משתמשים שכבר משתמשים בגרסה נתמכת לא יצטרכו להוריד דבר נוסף כדי לראות את המודלים שנוספו. פתחו מחדש את בורר המודלים או הפעילו מחדש את Codex כדי לרענן את הרשימה.

הפעלת Daybreak ב-CLI אינטראקטיבי

  1. הפעילו את Codex עם אמצעי האימות הרגיל שלכם.

  2. כדי להפעיל את Daybreak, הזינו /daybreak

  3. Codex יציג את ההודעה Daybreak מופעל. ההגדרה חלה על תורים חדשים.

  4. ההגדרה תחול על השרשור הפעיל ותישמר כברירת המחדל לסשנים חדשים.

  5. כדי לכבות את Daybreak, הריצו שוב את אותה פקודה (/daybreak).

הפעלת Daybreak ב-CLI ללא ממשק אינטראקטיבי

תהליכי עבודה ללא ממשק משתמש אינטראקטיבי רצים בדרך כלל באמצעות 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 באמצעות ה-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: false כדי לכבות את Daybreak ולחזור להתנהגות הסירוב הרגילה. השאירו את תצורת האימות הקיימת ללא שינוי.

הפעלת Daybreak באמצעות שרת האפליקציה או ה-SDK ל-Python

1. קראו את ערכי availableAccessPrograms.cyber של המודל שנבחר מתוך model/list, ולאחר מכן הגדירו את cyberAccessProgram בפרמטרים של turn/start.

א. עבור מודל מהסדרה הראשית וחשבון עם גישה ל-Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

ב. עבור מודל סייבר וחשבון עם גישה ל-Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

ג. להתנהגות הסירוב הרגילה:

{ "cyberAccessProgram": "standard" }

2. כללו את הבחירה בכל תור שבו היא אמורה לחול; אל תניחו שהשמטת הפרמטר מכבה את Daybreak. לקוחות שמתחברים ישירות לשרת האפליקציה חייבים להפעיל את היכולת experimentalApi במהלך האתחול כדי להשתמש בפרמטר הזה.

3. 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)

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 בתוך הסשן. באפליקציה למחשב, פתחו את בורר המודלים המתקדם והפעילו את Daybreak. אם יש לכם גישה ל-Daybreak Red, ודאו שמודל סייבר שציפיתם לראות מופיע ושאפשר לשלוח בקשה באמצעותו.

  4. שמרו את התצורה שעובדת. אם הבדיקה הצליחה, מחקו את השורה שהשבתתם ושמרו את הקובץ. אם הבדיקה נכשלה, הסירו את #, שמרו והפעילו מחדש את Codex כדי לשחזר את ההגדרות הקודמות.

פתרון בעיות סירוב ב-CLI

  • הריצו משימה מייצגת עם אותם פרטי אימות, מודל ותצורה שמשמשים את האוטומציה שלכם.

  • אם Daybreak אינו זמין, ודאו כי:

    • לחשבון או לפרויקט ה-API שלכם יש גישה ל-Daybreak

    • המודל שנבחר תומך ב-Daybreak

  • ב-CLI האינטראקטיבי, ודאו ש-Daybreak מופעל. ה-CLI האינטראקטיבי עשוי להציג הודעת סירוב כאשר Daybreak זמין אך כבוי: Daybreak כבוי כרגע. אם אתם מבצעים עבודת אבטחה מורשית, הפעילו אותו ונסו לשלוח את הבקשה שוב.

    • תוצג השאלה להפעיל את Daybreak עבור הבקשה הבאה? עם האפשרויות הפעלת Daybreak או לא עכשיו.

    • בחרו באפשרות הפעלת Daybreak כדי להפעיל אותו עבור הבקשה הבאה, ואז נסו לשלוח את הבקשה שוב. שימו לב שהבקשה שסורבה אינה נשלחת שוב באופן אוטומטי; עליכם לשלוח אותה שוב. ייתכן שחלק מהבקשות עדיין יסורבו גם כאשר Daybreak מופעל.

    • בחרו באפשרות לא עכשיו כדי להשאיר את Daybreak כבוי.

  • באוטומציות, ודאו שההגדרה daybreak=true מועברת לתהליך Codex בפועל, ושהגדרה אחרת בשורת הפקודה אינה גוברת עליה.

האם המאמר הזה היה מועיל?