Перейти к документации
Документация

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 или завершение сессии прекращает эту непрерывность.

WebBrowser соединён с CodingAgent на Canvas Kavor (открывается в новой вкладке)

Посмотрите, как человек и 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.

Копирование или перемещение

  1. Выберите Nodes на Canvas, поместив фокус вне редактора, Terminal или страницы WebBrowser.
  2. Копируйте через ⌘C на macOS или Ctrl+C на Windows/Linux; перемещайте через ⌘X или Ctrl+X. В контекстном меню также есть Copy Node / Copy Nodes и Cut Node / Cut Nodes.
  3. Останьтесь на том же Canvas или откройте целевой Workspace, в том числе в другом окне Kavor.
  4. Поставьте указатель в нужное место и нажмите ⌘V или Ctrl+V. Если на Canvas нет позиции указателя, вставка использует центр видимой области. Контекстное меню вставляет в точке своего открытия.
  5. Проверьте 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 не обязательно лучше. Начните с минимальной структуры, которая делает результат проверяемым:

  1. определите, что должно произойти;
  2. добавьте Specification, если решения, область или критерии должны сохраниться;
  3. выберите CodingAgent и задайте ему ясную роль;
  4. подключите File, когда нужно явно обозначить конкретную область работы;
  5. подключите Terminal, когда задаче требуется выполнение или доказательства;
  6. используйте Sticky Note, когда человеку и agent нужна общая рабочая память;
  7. подключите WebBrowser, когда нужно наблюдать или использовать живую страницу;
  8. добавьте другой CodingAgent, когда независимая проверка или параллельная работа действительно улучшит результат;
  9. добавьте Trigger, когда время является оправданной причиной активности.

Цель не в том, чтобы заполнить Canvas. Нужно построить систему, достаточно небольшую для понимания и достаточно полную, чтобы сохранить замысел, выполнение, доказательства и решение.

Что дальше

Последняя проверка 8 окт. 2026 г.Проверено с Kavor 1.7.0Оставить отзыв о документации