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, а не навсегда оставлять в заметке.
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.
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, может помочь проанализировать результат, пока процесс остаётся видимым для вас.
Этот граф автоматизирует причину и выполнение, но не делает вид, что система сама понимает, что считать успехом.
Начинайте с работы, а не с количества Nodes
Большой Canvas не обязательно лучше. Начните с минимальной структуры, которая делает результат проверяемым:
- определите, что должно произойти;
- добавьте Specification, если решения, область или критерии должны сохраниться;
- выберите CodingAgent и задайте ему ясную роль;
- подключите File, когда нужно явно обозначить конкретную область работы;
- подключите Terminal, когда задаче требуется выполнение или доказательства;
- используйте Sticky Note, когда человеку и agent нужна общая рабочая память;
- добавьте другой CodingAgent, когда независимая проверка или параллельная работа действительно улучшит результат;
- добавьте Trigger, когда время является оправданной причиной активности.
Цель не в том, чтобы заполнить Canvas. Нужно построить систему, достаточно небольшую для понимания и достаточно полную, чтобы сохранить замысел, выполнение, доказательства и решение.
Что дальше
- Посмотрите матрицу поддерживаемых Connections, чтобы точно узнать возможности каждой пары.
- Замкните первый цикл со Specification, двумя CodingAgents и Sticky Note.
- Узнайте, как выбирать CodingAgents и роли, чтобы разделить формулирование, реализацию, проверку и выпуск.
- Вернитесь к странице Что такое Kavor?, чтобы ещё раз посмотреть на полную модель продукта.