Що таке Erebros-T
Erebros-T — це те, чим стає Erebros, коли ним користується більше ніж одна людина. Одноосібний Erebros — це панель керування (control plane) вашим власним парком агентів: кожен рушій, кожен застосунок, на вашій машині. Наодинці це працює, але розвалюється тієї ж миті, коли приєднується друга людина, бо ніщо з цього не знає, хто що зробив, у якому порядку й на якій машині.
Teams відповідає на це одним рішенням, ухваленим один раз: усе, що відбувається, — це подія, дописана до журналу з ланцюжком хешів і підписана. Повідомлення, патч, запуск CI, погодження, агент, що приєднався до кімнати. Немає другого джерела істини, яке треба узгоджувати, і немає питання «хто це погодив і коли», на яке журнал не зміг би відповісти через місяці.
Це окремий продукт на окремому порту — ~/erebros-t, http://localhost:3401,
стан у ~/.erebros-t — і працює він на Next.js 16, React 19 та Node 22.
Що всередині
Section titled “Що всередині”| Chat | Один чат для всіх рушіїв — те саме об’єднання, яке Erebros зробив у v6.14, але без OmniRoute. |
| Channels | Кімнати, де люди й агенти працюють разом; повідомлення, патчі, запуски CI та погодження ділять одну стрічку. |
| AI Mastermind | ASK, DISCUSS та MoA, збережені як окремий застосунок — рада, яку ви скликаєте, а не кімната, у якій живете. |
| Hermes | Середовище виконання агентів із його вкладками (агенти, рій, канбан, цілі, …), винесене в окремий пункт рейки. |
| Board | Дошка робочого простору, розгорнута з журналу; картку, віддану агентові, забирає та машина, яка може її виконати. |
| Git & Review | Черга патчів із CI, рецензуванням і погодженням — злиття є рішенням з аудиторським слідом. |
| Workflows | Тригери, кроки та шлюзи. Те, чим насправді були Loop, Pipeline та Kanban. |
| Search | Повнотекстовий пошук по всьому журналу — англійською, українською та російською. |
| Audit log | Реєстр із обома стовпцями хешів, щоб ланцюжок можна було перевірити на око. |
| Settings → Relay | Які машини входять до робочого простору, які з них доступні зараз і як усе з’єднано. |
| Local / Cloud | Де виконується кожна можливість — вирішується для кожної окремо. |
| Forge-застосунки | Ad, D, G, M, N, P, R, S, SEO, VC та X — перенесені цілком. |
Рейка має чотири групи — WORKSPACE, BUILD, FORGE, SYSTEM — і не містить ні агентів, ні моделей. Моделі живуть у Менеджері моделей, доступному з верхньої панелі; агенти живуть усередині Hermes.
Чотири рішення, з яких випливає все інше
Section titled “Чотири рішення, з яких випливає все інше”1. Журнал — це істина, і це файл
Section titled “1. Журнал — це істина, і це файл”$EREBROS_STATE_DIR/events/log.jsonl — один JSON-об’єкт на рядок, дописується, ніколи не
переписується. Кожен рядок несе SHA-256-хеш власного вмісту та хеш попереднього
рядка, а потім підпис Ed25519. Редагування рядка ламає всі наступні хеші — помітно,
на екрані аудиту. tail -f на цьому файлі — живий потік подій
робочого простору; формат, який можна прочитати через cat, переживе програму, що його написала.
2. Види подій — цілі числа, і вони постійні
Section titled “2. Види подій — цілі числа, і вони постійні”Кожна подія має kind — 1001 повідомлення, 2001 патч, 3001 створення каналу.
Читач, який не розпізнає вид, пропускає його, а не падає, і саме це дозволяє
трьом машинам працювати на трьох трохи різних збірках. Вид ніколи не перенумеровується
і ніколи не використовується повторно. Діапазони мають значення:
1000–1999 conversation — messages and what attaches to them2000–2999 work — patches, runs, approvals, decisions3000–3999 the workspace — channels, membership, agents4000–4999 the machine — alerts, health, updates9000–9999 ephemeral — presence and typing. NOT stored, NOT hashed, NOT audited.3. Один ланцюжок на машину, а злиття — це дописування
Section titled “3. Один ланцюжок на машину, а злиття — це дописування”Кожна машина веде власний ланцюжок у власному файлі. Злиття — це: запитати у пірa, що він
записав після останньої події, яку ви бачили, перевірити кожну за ланцюжком і підписом, дописати.
Двоє людей, що відкривають кімнати офлайн, сходяться, коли знову під’єднуються, без жодного
розв’язання конфліктів. Порядковий номер унікальний лише в межах машини — усе, що на нього
спирається, спирається на (machine, seq). Тягнути, ніколи не штовхати.
4. Індекс — похідний і одноразовий
Section titled “4. Індекс — похідний і одноразовий”Плаский файл ідеальний для дописування й марний для запитів, тож є індекс —
SQLite через node:sqlite із FTS5 — і він похідний: видаліть його, і він
відбудується з журналу, не втративши нічого. Жодних міграцій, жодної історії з резервними копіями,
крім копіювання двох файлів. Канали, дошки та запуски воркфлоу розгортаються з журналу
так само, тому сервер, убитий посеред запуску, не може залишити файл стану з написом «running».
- Налаштування — що встановлювати де, і де живуть розмови.
- Відмінності від Erebros — що перенесено, що згорнуто, що залишилося.