Перейти до вмісту

Що таке Erebros-T

Erebros-T, це те, чим стає Erebros, коли ним користується більше ніж одна людина. Одноосібний Erebros, це панель керування (control plane) вашим власним парком агентів: кожен рушій, кожен застосунок, на вашій машині. Наодинці це працює, але розвалюється тієї ж миті, коли приєднується друга людина, бо ніщо з цього не знає, хто що зробив, у якому порядку й на якій машині.

Teams відповідає на це одним рішенням, ухваленим один раз: усе, що відбувається, це подія, дописана до журналу з ланцюжком хешів і підписана. Повідомлення, патч, запуск CI, погодження, агент, що приєднався до кімнати. Немає другого джерела істини, яке треба узгоджувати, і немає питання «хто це погодив і коли», на яке журнал не зміг би відповісти через місяці.

Це окремий продукт на окремому порту, ~/erebros-t, http://localhost:3401, стан у ~/.erebros-t, і працює він на Next.js 16, React 19 та Node 22.

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 them
2000-2999 work, patches, runs, approvals, decisions
3000-3999 the workspace, channels, membership, agents
4000-4999 the machine, alerts, health, updates
9000-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».