Node полезен сам по себе. Граф превращает работу в систему.
Kavor не требует отказываться от любимого coding agent, прятать терминал или превращать каждое решение в очередной чат. Он размещает участников, инструменты и контекст на одном Canvas, чтобы было видно, кто работает, с чем и в каких границах.
Каждый полноценный элемент этого Canvas — Node. CodingAgent — это Node. Specification — тоже. Sticky Note, Terminal, File и Trigger находятся в том же пространстве, потому что каждый из них может участвовать в работе и отвечает за свою часть процесса.
Node уже полезен сам по себе. Когда вы создаёте Connection, эта польза становится явной возможностью. Когда несколько Connections образуют граф, контекст, выполнение, память и совместная работа перестают быть разбросаны по изолированным окнам и сессиям.
Модель выглядит так:
Node → Connection → граф → решение человека
Эта последовательность показывает, как работа приобретает структуру. Connections — не сохранённые стрелки и не автоматизация, запускающая следующий блок. Это видимые отношения между Nodes.
Canvas может объединить долговечный замысел, общую память, выполнение, файлы и запланированную причину действия, не скрывая участников и их Connections.
Что на самом деле меняет Connection
Connection отвечает на практический вопрос: что эти два Nodes могут делать вместе?
В зависимости от пары CodingAgent может работать со Specification, писать в Sticky Note, управлять Terminal, считать File явной частью области работы или общаться с другим CodingAgent. Connection также может передать Terminal канонический путь к File или разбудить в заданное время CodingAgent с активной сессией.
Одновременно Connection задаёт границу:
- Nodes, расположенные рядом на Canvas, не получают доступ друг к другу;
- упоминание Node в сообщении не даёт дополнительных возможностей;
- поддерживаются не все сочетания Nodes;
- Guardrail может ограничить возможность, которую предоставляет Connection;
- граф делает контекст доступным, но не одобряет действия автоматически.
Результат менее похож на магию, зато полезнее: структуру можно проверить до, во время и после работы.
Семь Nodes
CodingAgent: ваш любимый harness как участник графа
CodingAgent — это привычный вам нативный provider, работающий в собственном терминальном интерфейсе. Kavor не заменяет Claude Code, Codex или Google Antigravity универсальным чатом, а сохраняет опыт каждого harness и размещает его на Canvas.
У каждого CodingAgent может быть ясная роль. Если harness поддерживает соответствующие возможности, он сохраняет нативные настройки provider, модели и уровня effort. Можно выделить Spec Writer, сосредоточенного на вопросах и решениях, Builder для реализации и Reviewer, который проверяет и оспаривает результат.
Соединённые CodingAgents могут обмениваться асинхронными сообщениями. Эти разговоры остаются видны в панели Messages, и при необходимости вы можете вмешаться. Connections со Specifications, Files, Sticky Notes и Terminals показывают, какие именно ресурсы участвуют в работе.
Это тот же harness, но теперь его контекст и возможности видны.
Specification: замысел, который переживает сессию
Specification хранит решения, область работы, ограничения и критерии приёмки в долговечном Markdown. Она может описывать основу архитектуры, интеграцию, модель предметной области, функцию, модуль или ограниченную программу исправлений.
Specification можно написать вручную или совместно с CodingAgent. Для сложных тем стоит использовать лучшее доступное рассуждение ещё до реализации. Глубокое обдумывание на этом этапе обычно обходится дешевле, чем устранение неоднозначностей позже.
У Specifications есть lifecycle. Draft предназначен для исследования и принятия решений. Ready означает, что контракт можно реализовывать. In progress, Blocked и Done делают состояние работы видимым. Done имеет смысл только тогда, когда критерии приёмки действительно выполнены.
Одна Specification, соединённая с agents разных ролей, может направлять автора, исполнителя и проверяющего, не полагаясь на память единственного разговора.
Sticky Note: общая рабочая память
Sticky Note — это стикер на Canvas. В нём можно записывать вопросы, гипотезы, временные решения, наблюдения и следующие шаги, как в любой быстрой заметке.
Connection с CodingAgent добавляет второго автора. Agent может вести заметку вместе с вами: собирать открытые решения во время подготовки Specification, отмечать то, что требует вашего внимания при реализации, или отвечать на вопрос «что уже сделано, что происходит сейчас и что будет дальше?», не пряча это состояние в истории чата.
Sticky Notes хорошо подходят для неформальной и видимой рабочей памяти. Когда решение становится долговечным контрактом для реализации и будущей поддержки, его следует перенести в Specification, а не навсегда оставлять в заметке.
Общий контекст не разрешает агенту самостоятельно перестраивать ваши заметки или записи другого участника. Укажите, какую заметку поддерживать и что сохранить; см. руководство Sticky Note.
Terminal: выполнение, которое остаётся видимым
Terminal сохраняет shell в том же визуальном Workspace. Можно переключаться между terminals, следить за логом, выполнять проверки или оставаться подключённым к удалённой машине, не теряя окружающий Canvas.
Когда подключён CodingAgent, вы можете работать в одном Terminal. Agent может просматривать output, выполнять разрешённые команды, отслеживать связанный запуск и помогать с диагностикой. Ввод человека всегда имеет приоритет, а Guardrail может сделать Connection доступной только для чтения.
Files и Specifications также могут передавать свои пути в Terminal через переменные окружения. Trigger способен доставить запланированную команду прямо в активную сессию shell.
Terminal не прячет выполнение за непрозрачной автоматизацией. Процесс, команда и результат остаются видимыми.
File: файл как участник Canvas
File — это файл. Ценность состоит в том, что его канонический источник становится видимым и явным в графе.
Connection с CodingAgent позволяет точно обозначить файл, который нужно прочитать, проверить или изменить. На Canvas можно также держать перед глазами текст, изображение или PDF, пока вы организуете остальную работу.
Connection с Terminal позволяет открыть абсолютный путь File через переменную окружения. Так script, SQL-файл, конфигурацию или другой материал можно наглядно использовать как вход команды, не копируя пути между окнами.
File не превращается в одноразовое attachment. Он остаётся настоящим источником в filesystem.
WebBrowser: веб, открытый человеку и агенту
WebBrowser размещает настоящие страницы Chromium на Canvas. Можно переходить по страницам, сохранять вкладки и наблюдать происходящее, не покидая Workspace.
После соединения с CodingAgent он становится больше, чем визуальная ссылка. Агент может наблюдать и использовать те же живые страницы, что видите вы: переходить, нажимать, заполнять поля, ждать состояний и фиксировать доказательства. Connection делает браузер достижимым, но не обходит аутентификацию, разрешения или решения человека.
Профиль браузера выделен для Kavor и используется всеми его WebBrowsers. Cookies и сессии могут сохраняться после удаления Node, пока вы не очистите данные браузера в Settings. Для разработки этот профиль принимает самоподписанные, просроченные и частные сертификаты. Поэтому враждебная сеть может предъявить ему любой сертификат; учитывайте этот риск, особенно при входе в сервисы.
При переключении Workspace в том же окне Kavor сохраняет живую страницу. После возвращения WebBrowser появляется без перезагрузки, а соединённый CodingAgent может продолжать работать с этим состоянием, пока Workspace не виден. Закрытие вкладки, удаление Node или завершение сессии прекращает эту непрерывность.
Посмотрите, как человек и CodingAgent работают с одной страницей → (открывается в новой вкладке)
Trigger: видимая причина активности
Trigger планирует действие во времени. Он может доставить команду в Terminal, подобно cron операционной системы, или отправить ясный prompt в CodingAgent с активной сессией.
Особенно полезен Trigger, когда его цель уже соединена с другими Nodes. Он может разбудить agent, который должен проверить File, выполнить проверки в Terminal, написать отчёт в Sticky Note и запросить независимую проверку у другого CodingAgent.
Так время в календаре может запустить небольшую автономную или полуавтономную систему. Trigger начинает активность, а граф предоставляет контекст, инструменты, память и совместную работу.
Trigger не решает сам, что стоит делать, не расширяет разрешения, не запускает оставленную вами выключенной сессию и имеет только одну прямую цель: CodingAgent или Terminal.
Когда Nodes образуют граф
Ценность Canvas проявляется, когда у каждого Node есть своя ответственность, а Connections выражают реальную потребность. Эту последовательность показывают три графа.
От замысла к проверке
Specification → Builder → Reviewer → решение человека
Specification хранит контракт. Builder реализует его. Reviewer сопоставляет результат с критериями приёмки. Sticky Note сохраняет наблюдения и рабочие решения, а Terminal предоставляет доказательства — например тесты и проверки.
Connections не выполняют эту последовательность автоматически. Они делают нужных участников и возможности достижимыми в одном графе.
Плановое обслуживание
Trigger → Maintainer
Maintainer соединён с File, содержащим входные данные, с Terminal для проверок, со Sticky Note для отчёта и с Reviewer для независимой оценки.
Trigger доставляет prompt в заданное время, если Kavor работает, а сессия цели активна. CodingAgent действует с тем же контекстом и в тех же границах, которые у него уже были. Вернувшись в Workspace, вы можете проверить результаты, сообщения и доказательства.
Контролируемая операционная команда
Trigger → Terminal
File с SQL или script передаёт свой путь в Terminal через переменную окружения. Trigger доставляет запланированную команду в активную сессию. CodingAgent, соединённый с Terminal, может помочь проанализировать результат, пока процесс остаётся видимым для вас.
Этот граф автоматизирует причину и выполнение, но не делает вид, что система сама понимает, что считать успехом.
Используйте граф повторно, не создавая каждый Node заново
Небольшую связку, например Builder, Reviewer и Sticky Note, можно скопировать для другой задачи или переместить в другой Workspace. Выберите все нужные Nodes: захватываются только Connections между выбранными Nodes.
Копирование или перемещение
- Выберите Nodes на Canvas, поместив фокус вне редактора, Terminal или страницы WebBrowser.
- Копируйте через
⌘Cна macOS илиCtrl+Cна Windows/Linux; перемещайте через⌘XилиCtrl+X. В контекстном меню также естьCopy Node/Copy NodesиCut Node/Cut Nodes. - Останьтесь на том же Canvas или откройте целевой Workspace, в том числе в другом окне Kavor.
- Поставьте указатель в нужное место и нажмите
⌘VилиCtrl+V. Если на Canvas нет позиции указателя, вставка использует центр видимой области. Контекстное меню вставляет в точке своего открытия. - Проверьте Nodes, Connections и ресурсы назначения перед продолжением.
Относительное расположение сохраняется. Копию можно вставлять многократно; вырезание расходуется после перемещения.
Вырезать не значит сразу удалить: Esc на исходном Canvas отменяет ещё не вставленное вырезание. Завершённую вставку
можно отменить или повторить через Undo/Redo, но Kavor может отказать в отмене, которая затёрла бы последующие
изменения Nodes.
Структура — не сессия и не резервная копия
Буфер графов существует только пока работает процесс Kavor. Перезапуск теряет захват; другая копия, заменившая буфер, тоже может его сделать недоступным. Это не формат экспорта для передачи между компьютерами.
- Внешние Connections: связи с Nodes вне выбора не копируются. При переносе в другой Workspace они удаляются в источнике; выберите весь нужный контекст.
- CodingAgent и Terminal: копирование не клонирует разговор, процесс или историю выполнения. Перемещение между Workspaces закрывает исходные сессии. CodingAgent не переносит связь с Git/worktree и начинает в контексте целевого Workspace; проверьте каталог и настройки до работы.
- File: вставка ссылается на тот же физический файл, не дублируя байты. Если в целевом Workspace уже есть его материализация, используется существующий Node. Изменение источника по-прежнему влияет на тот же файл.
- Specification в другом Workspace: Markdown появляется как File, а не новая Specification с тем же lifecycle. Specification и метаданные остаются в своём Workspace.
- Trigger: копия создаётся на паузе. Проверьте цель и payload перед
Resume. Trigger с незавершённой доставкой нельзя переместить в другой Workspace; дождитесь конечного состояния и повторите попытку.
Если вставка не удалась из-за изменения вырезанного набора или исчезновения источника, проверьте исходный граф и захватите его снова. Копия графа не доказывает, что агенты завершили работу.
Для вставки файлов или изображений во ввод сессии, а не Nodes на Canvas, используйте процедуру Terminal.
Начинайте с работы, а не с количества Nodes
Большой Canvas не обязательно лучше. Начните с минимальной структуры, которая делает результат проверяемым:
- определите, что должно произойти;
- добавьте Specification, если решения, область или критерии должны сохраниться;
- выберите CodingAgent и задайте ему ясную роль;
- подключите File, когда нужно явно обозначить конкретную область работы;
- подключите Terminal, когда задаче требуется выполнение или доказательства;
- используйте Sticky Note, когда человеку и agent нужна общая рабочая память;
- подключите WebBrowser, когда нужно наблюдать или использовать живую страницу;
- добавьте другой CodingAgent, когда независимая проверка или параллельная работа действительно улучшит результат;
- добавьте Trigger, когда время является оправданной причиной активности.
Цель не в том, чтобы заполнить Canvas. Нужно построить систему, достаточно небольшую для понимания и достаточно полную, чтобы сохранить замысел, выполнение, доказательства и решение.
Что дальше
- Посмотрите матрицу поддерживаемых Connections, чтобы точно узнать возможности каждой пары.
- Замкните первый цикл со Specification, двумя CodingAgents и Sticky Note.
- Узнайте, как выбирать CodingAgents и роли, чтобы разделить формулирование, реализацию, проверку и выпуск.
- Используйте Sticky Note как общую рабочую память.
- Узнайте, как File превращает канонический источник в контекст и область работы.
- Разрабатывайте, отлаживайте и проверяйте вместе с агентом в WebBrowser.
- Вернитесь к странице Что такое Kavor?, чтобы ещё раз посмотреть на полную модель продукта.
