דילוג לתוכן
NotHolyתיעוד

CLI

סוכן טרמינל

סוכן שקורא, מחפש ועורך קבצים בפרויקט שלך ומריץ פקודות במחשב שלך, באישור שלך.

להציג כ-Markdown

הפקודות האלה דורשות CLI מותקן ומחובר. פרטים בהתקנת ה-CLI.

יש להריץ את notholy בתוך פרויקט. הסוכן יכול להשתמש בכלים האלה במחשב שלך:

כלימה עושה
read, grep, globקריאה וחיפוש בקבצים
edit, writeשינוי קבצים
bashהרצת פקודה
cve_lookup, kb_search, web_searchכלי מחקר מרוחקים

מצבים

מצבהתנהגות
planקריאה בלבד
askברירת מחדל. שואל לפני כל כתיבה ולפני כל פקודה
auto-editעורך בלי לשאול. פקודות עדיין דורשות אישור
yoloאף פעם לא שואל. צריך --yolo בכל הרצה

הפקודות רצות במחשב שלך ובהרשאה שלך. השרתים של NotHoly לא מריצים שום דבר מול המטרות שלך.

הוראות לפרויקט נכתבות בקובץ NOTHOLY.md בתיקיית השורש. תוכן של קבצים ופלט של פקודות נחשבים לנתונים, אף פעם לא להוראות לסוכן.

דגלים: --mode, --model, --yolo, וגם -p להרצת פרומפט אחד ויציאה.

פקודות סלאש: /model, /effort (off, low, high או max), /mode (plan, ask או auto-edit), /cost, /compact, /autocompact, /mcp, /resume (הסשן האחרון), /exit. הסשנים נשמרים בתיקייה ~/.notholy/sessions עם הרשאה 600.

Shell
notholy --mode plan -p "map the auth flow in this repo"

Engagements

notholy engage מתעד מה מותר לבדיקה לגעת בו ובודק פקודות מול זה לפני שהן רצות. נדרשים שם, סקופ והפניה להרשאה: חוזה, URL של תוכנית או טיקט. הסקופ מקבל hosts, תווים כלליים *., כתובות IP ו-CIDR. --exclude גובר על הסקופ, ו---from ו---until קובעים חלון.

Shell
notholy engage init --name acme-q4 --scope "*.acme-staging.test,10.20.0.0/24" --exclude vpn.acme-staging.test --until 2026-12-20 --auth "contract 2026-117"
notholy engage status
notholy engage off

הכללים והלוג נשארים ב-~/.notholy/engagements/<id>/, מחוץ לריפו, כך שריפו לא יכול לשתול סקופ משלו. שום דבר לא נשלח.

כש-engagement פעיל, הסוכן קורא את היעדים מכל פקודת bash לפני שהיא רצה. פקודה בסקופ עוברת את האישור הרגיל. יעד מחוץ לסקופ מחייב הקלדת ה-host, והחריגה נרשמת. yolo כבוי. יעד שידוע רק בזמן ריצה, כמו משתנה shell, מקבל אזהרה לבדיקה שלך.

כל החלטה נכתבת ל-log.jsonl עם הפקודה, היעדים, קוד היציאה ו-SHA-256 של הפלט, וכל רשומה משורשרת ל-hash של קודמתה.

notholy connect claude מתקין את אותה בדיקה כ-hook של PreToolUse על קריאות Bash. שם, פקודה מחוץ לסקופ נדחית.

הבדיקה קוראת טקסט shell ולא מפענחת DNS. היא תופסת טעויות תפעול ואינה sandbox, כך שפקודה יכולה להגיע ל-host שלא מוזכר בה.

סשנים ארוכים

לכל מודל יש גודל הקשר, שמופיע בשדה context_length בתשובה של GET /v1/models. הסוכן קורא אותו משם ודוחס את השיחה לפני שבקשה תעבור כ-80% ממנו. כשזה קורה מוצגת שורה עמומה.

הדחיסה מחליפה את החלק הישן של השיחה בסיכום אחד, שהמודל של הסשן כותב בקריאה בלי כלים. הסיכום שומר את המטרה, ההחלטות, הקבצים שנגעו בהם, הממצאים, הפקודות שהורצו והמשימות הפתוחות. הודעת המערכת, הבקשה האחרונה שלך וההודעות החדשות ביותר, עד כ-30% מההקשר, נשארות כמו שהן, אלא שפלט כלי ארוך מאוד בחלק הזה יכול להיחתך באמצע. קריאת כלי והתוצאות שלה אף פעם לא מופרדות. קריאת הסיכום מחויבת כמו כל בקשה אחרת ונספרת בפלט של /cost.

פקודהמה עושה
/compactדוחסת עכשיו ומדפיסה את הגודל המשוער לפני ואחרי
/compact keep the auth findingsאותו דבר, ומכוונת את הסיכום למה שצריך להתמקד בו
/autocompact on|offמפעילה או מכבה דחיסה אוטומטית בסשן הזה. בהתחלה היא פועלת

אם קריאת הסיכום נכשלת, הסוכן שומר את ההודעות החדשות ביותר, משמיט את הישנות ומודיע על כך. הפסקה, או שגיאה של חשבון, קרדיטים או מגבלת קצב, עוצרות את הדחיסה ומשאירות את ההיסטוריה שלמה. אם ה-API עונה context_length_exceeded, הסוכן דוחס פעם אחת ומנסה שוב את אותו שלב. עם /autocompact off השגיאה מגיעה אליך.

הבא