סוכני AICloudflare Workersניטורמקרה בוחןHE
Agent Office: תמונה חיה אחת של כל סוכני ה-AI שלי
6 בנובמבר 2026 · 5 דקות קריאה

הבעיה
אני מריץ כמה סוכני 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.