CLI
סוכן טרמינל
סוכן שקורא, מחפש ועורך קבצים בפרויקט שלך ומריץ פקודות במחשב שלך, באישור שלך.
הפקודות האלה דורשות 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.
notholy --mode plan -p "map the auth flow in this repo"Engagements
notholy engage מתעד מה מותר לבדיקה לגעת בו ובודק פקודות מול זה לפני שהן רצות. נדרשים שם, סקופ והפניה להרשאה: חוזה, URL של תוכנית או טיקט. הסקופ מקבל hosts, תווים כלליים *., כתובות IP ו-CIDR. --exclude גובר על הסקופ, ו---from ו---until קובעים חלון.
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 השגיאה מגיעה אליך.