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

Що таке M.A.V.E.N Teams

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

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

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

Chat Один чат для всіх рушіїв - те саме об’єднання, яке M.A.V.E.N зробив у 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. Журнал - це істина, і це файл”

$MAVEN_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».