DopeAgent
בפיתוח פעילמערכת הפעלה אישית לסוכנים — דימון מקומי אחד והרבה לקוחות דקים.
שכבת בקרה בשפת Rust רצה מקומית ואחראית על סביבת הריצה, ספקי מודלי שפה, מחברי ערוצים, אחסון ואירועים. הלקוחות נשארים דקים: ממשק ווב ב-React, ממשק טרמינל מלא ב-Rust, מחברים לערוצי צ׳אט ו-SDK ב-TypeScript — כולם מדברים באותם חוזי JSON Schema.
סקירה
הדימון הוא המוצר. כל מה שחייב להיות נכון — מצב הסשן, ניתוב הספקים, מעטפת הכלים ויומן האירועים — יושב ב-workspace אחד של Rust מאחורי HTTP API מקומי, כך שהלקוח אינו יותר מתצוגה עליו. קובץ הדימון הוא `dope-cli`, וה-API הוא `dope-api`.
החוזים בין השפות שמורים ב-`schemas/` כ-JSON Schema והם מקור האמת ל-API, לאירועים ולתצורה: הדימון ב-Rust והלקוחות ב-TypeScript נוצרים מאותן הגדרות במקום להיות מסונכרנים לפי מוסכמה.
הנחת עבודה מוצהרת היא שמצב סוכן ארוך טווח חייב להיות ניתן לצפייה, לשחזור ולהתפתחות בטוחה; הנדסת ההקשר, הזיכרון, התכנון, ההעברה בין סוכנים והמדיניות מתוכננים מחדש ולא מטולאים.
מה זה עושה
- שכבת בקרה ב-Rust: סביבת ריצה, ספקי מודלים, ערוצים ומחברים, אחסון, אירועים, HTTP API ומעטפת כלים ב-workspace אחד.
- שלושה ממשקים מעל דימון אחד: ממשק ווב ב-React 19 + Vite, ממשק טרמינל מלא ב-Rust (`dope-tui`) ומחברים לערוצי צ׳אט.
- SDK ללקוח ב-TypeScript (`@dope/client`) שנוצר מחוזי ה-JSON Schema המשותפים.
- הפרדה בין סביבת בדיקות לייצור — `~/.dope-test` בפורט 19192 מול `~/.dope` בפורט 19191, כשמחברים אמיתיים מושבתים כברירת מחדל בבדיקות.
- הדימון הקודם ב-Go הוחלף לגמרי ב-workspace של Rust; המעבר מתועד ב-`crates/MIGRATION.md`.