חזרה למקרי הבוחן
סוכני AICloudflare Workersניטורמקרה בוחןHE

Agent Office: תמונה חיה אחת של כל סוכני ה-AI שלי

6 בנובמבר 2026 · 5 דקות קריאה

Agent Office: תמונה חיה אחת של כל סוכני ה-AI שלי

הבעיה

אני מריץ כמה סוכני AI במקביל: Claude, GPT, Hermes (סוכן צעיר שאני מאמן), ועוד Nova, Pixel ו-Atlas. כל אחד עובד במקום משלו. לא הייתה תמונה משותפת של מה כל סוכן עושה עכשיו, כמה הוא עולה לי או איפה הוא תקוע. כדי לדעת הייתי צריך לקרוא לוגים, סוכן אחרי סוכן.

מה בניתי

Agent Office הוא "משרד" חי ברשת. כל סוכן הוא דמות ליד שולחן, והחדר עצמו הוא הדשבורד: כשכמה סוכנים עובדים במקביל, רואים בשנייה מה כל אחד עושה, בלי לקרוא לוגים.

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

ארכיטקטורה

  • נקודת כניסה אחת. הסוכנים מדווחים ב-POST /api/ingest. סוגי האירועים: task.start, task.done, task.failed, task.queued, status, usage ו-config, ובנוסף review, pr.merged, deploy ו-handoff. סוכן יכול גם לשלוח תמונת מצב מלאה בקריאה אחת ל-heartbeat שלו.
  • טוקן לכל סוכן. כל סוכן כותב עם bearer token משלו, ששמור כסוד ב-Workers ולא בריפו. דיווחי ביקורת, מיזוג ו-deploy לא תקינים נדחים עם 400 ולא נשמר כלום; סוגי האירועים המקוריים אף פעם לא נדחים, כך שסוכנים קיימים ממשיכים לעבוד.
  • האב אחד, בזמן אמת. Durable Object אחד עם SQLite שומר את האירועים ואת המצב של כל סוכן, ומפיץ אותם לדפדפנים ב-WebSocket. GET /api/events?since=N הוא הגיבוי בפולינג.
  • אותה לוגיקה בשני הצדדים. הדפדפן מריץ את אותו reducer כמו השרת, ולכן שחזור היום תואם למה שבאמת קרה.
  • בלי מספרים מומצאים. סוכן שלא דיווח מעולם מציג "אין נתונים", וסוכן ששקט 10 דקות מציג "לא מחובר".
  • סטאק בלי עלות. התוכנית החינמית של Cloudflare Workers, קבצים סטטיים ו-Worker אחד, בלי APIs בתשלום ובלי שלב בילד. החדר התלת-ממדי בנוי ב-Three.js וכל הגיאומטריה נוצרת בקוד.

מה רואים

  • לוח קנבן לכל סוכן (לביצוע, בעבודה, הושלם), סטטיסטיקות ומדף כישורים.
  • כרטיסי ביקורת קוד, עם מגמת הממצאים לכל PR של Hermes.
  • גרף היסטוריה של 7 ימים: משימות שהושלמו ושנכשלו.
  • התראת תקוע / שקט אחרי 30 דקות בלי עדכון על משימה פתוחה.
  • פיד "מה השתנה היום" של PRs שמוזגו ו-deploys, ושורת פעילות חיה מתחת לשם של כל סוכן.
  • שחזור יום ב-×10, ×60 או ×600, עם סליידר לקפיצה לכל רגע.
  • קווי העברה שעפים בין השולחנות כשסוכן מעביר משימה לסוכן אחר.
  • מד עלות / תקציב יומי שהופך לכתום ב-80% ולאדום כשעוברים אותו.
  • endpoint של סיכום בוקר עם מה שקרה בלילה.
  • חדר ישיבות: סוכנים שעובדים על אותו PR יושבים יחד ליד השולחן העגול.
  • ציון אמינות מ-0 עד 100, שנבנה רק מאירועים שהסוכנים כבר שולחים.
  • "תן משימה": מוסיפים כרטיס לעמודת "לביצוע" של סוכן ישר מהלוח.

קישורים

טכנולוגיות: JavaScript (ES modules), Cloudflare Workers, Durable Objects (SQLite), WebSockets, Three.js.