Skip to main content
Glama

Vibe Canvas

Version Node.js Codex Plugin License

简体中文 | English

Превратите диалог с Codex в фильтруемую доску размышлений, растущую в реальном времени справа.

Интерфейс Vibe Canvas

Введение

Vibe Canvas — это локальный плагин для Codex. Вы продолжаете общаться с Codex слева как обычно, а справа Browser автоматически отображает структурированный контент, позволяя разворачивать четвёртый уровень дословных доказательств для каждого вывода третьего уровня по мере необходимости:

  • Дословно сохранённый исходный текст диалога

  • Структурированное понимание, обобщённое ИИ

  • Ментальная карта, непрерывно растущая по ходу диалога

  • Дословные доказательства исходного текста, свёрнутые по умолчанию и открываемые по клику

Это не отдельный сайт, куда нужно снова вводить данные, отправлять их или сохранять вручную. HTML-страница — это лишь проекция в реальном времени справа от Codex; ввод, понимание и рассуждения по-прежнему происходят в текущей задаче Codex.

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

Related MCP server: repo-memory-mcp

Возможности

  • Диалог как ввод: Codex слева — единственная точка ввода текста; на доске нет второго поля ввода.

  • Прослеживаемость исходного текста: каждый раунд пользовательского ввода сохраняется дословно; переписанный ИИ текст не выдаётся за оригинал.

  • Автоматический отбор ИИ: новый контент классифицируется как picked, candidate или ignored.

  • Буфер кандидатов: контент, который пока нельзя определить, ожидает дальнейшего контекста и не попадает в структуру преждевременно.

  • Окончательное решение человека: в каждом раунде есть флажок Pick; ручной выбор навсегда имеет приоритет над последующими решениями ИИ.

  • Реорганизация в реальном времени: после снятия Pick соответствующий контент немедленно исчезает из структуры и ментальной карты без повторного вызова модели.

  • Локальный приоритет: сессия и предпочтения темы сохраняются в каталоге .local/ текущего workspace.

  • Две темы: яркая синяя тема по умолчанию и тёплая тема переключаются мгновенно с запоминанием предпочтения.

  • Инкрементальная синхронизация: каждый раунд читает только компактную проекцию и записывает текущий инкремент, избегая повторного воспроизведения всего диалога.

  • Агрегация между раундами: одинаковые вопросы используют стабильный Topic, одинаковые утверждения объединяются в один Claim с накоплением доказательств из нескольких раундов — вместо простого добавления каждой фразы как нового узла.

  • Перекрёстные темы: одно мнение сохраняется только один раз и связывается через primary / related Topic и типизированные отношения, избегая дублирования в нескольких ветках.

  • Сохранение реальных конфликтов: противоположные мнения не удаляются как дубликаты, а сохраняются отдельно и помечаются как contradicts.

  • Ограниченная проекция: по умолчанию отображается не более 25 узлов, а 40 недавно активных Claim сохраняются для сопоставления в следующем раунде; сводка и индекс доказательств также имеют фиксированные верхние пределы.

  • Дословные доказательства четырёх уровней: Claim третьего уровня отображает 原文 N; по клику или нажатию Enter / пробела разворачиваются дословные фрагменты; исходный текст должен точно совпадать с соответствующим пользовательским вводом и не может быть выдуман ИИ.

Скриншоты

Pick: выбранное и невыбранное

Слева — зелёное состояние «выбрано», справа — серое «не выбрано»; после снятия выбора структура и ментальная карта синхронно обновляются.

Состояния Pick

Требования к окружению

  • Codex Desktop с поддержкой локальных Plugin, Skill, MCP Server и Browser справа

  • Node.js 20 или новее

  • Доступный CLI codex

Текущая версия разработана и протестирована на macOS.

Установка

Зарегистрируйте репозиторий GitHub как Codex Marketplace, затем установите плагин из него:

codex plugin marketplace add prozacLaputa/vibe-canvas
codex plugin add vibe-canvas@vibe-canvas --json

Проверьте статус установки:

codex plugin list --json

После установки или обновления рекомендуется создать новую задачу Codex, чтобы Skill и MCP-инструменты были заново обнаружены.

Использование

В новой задаче Codex введите:

使用 $vibe-canvas 打开一个思考画板

Затем просто общайтесь как обычно:

  1. Codex открывает Vibe Canvas справа.

  2. Перед каждым ответом текущий диалог синхронизирует исходный текст этого раунда и структурный инкремент на доску.

  3. ИИ автоматически выбирает явно ценный контент, а неопределённый помещает в буфер кандидатов.

  4. Вы можете нажать Pick в области исходного текста, чтобы в любой момент решить, попадает ли этот раунд в структуру и ментальную карту.

  5. Переключатель в правом верхнем углу меняет синюю и тёплую темы.

  6. Клик по пункту третьего уровня в ментальной карте разворачивает или сворачивает дословный исходный текст четвёртого уровня.

Область активации доски ограничена текущей задачей Codex; обычные задачи не перехватываются автоматически.

Принцип работы

flowchart LR
    U[左侧正常对话] --> C[当前 Codex 任务]
    C -->|读取紧凑投影| M[本地 MCP Server]
    C -->|写入原文与类型化概念操作| M
    M --> J[本地 Session JSON]
    M --> R[Concept Graph Reducer]
    R --> J
    J -->|revision 变化| B[右侧 Browser 投影]
    B -->|Pick / 主题 PATCH| J

Ядро состоит из трёх частей:

  1. Skill отвечает за тайминг и семантические решения: после явного открытия каждый раунд читает канонические Topic и недавние Claim через vibe_canvas_get_projection, затем решает, следует ли переиспользовать, объединить, связать или разделить текущее выражение. Не запускается вторая сессия Codex и не подделываются пользовательские сообщения.

  2. MCP Server отвечает за детерминированное состояние: процесс Node.js предоставляет MCP-инструменты и локальный HTTP API, слушающий только 127.0.0.1. Reducer отвечает за стабильные ID, нормализованное точное дедуплицирование, отслеживание источника Pick, межтемные отношения, ограниченную проекцию и проверку того, что каждая sourceQuote действительно взята из исходного текста текущего раунда, а также сохраняет полную сессию в JSON.

  3. Browser отвечает за проекцию и фильтрацию: страница проверяет внутреннюю revision примерно каждые 900 мс и перерисовывается только при изменении состояния. Pick, переключение темы и разворачивание исходного текста выполняются полностью локально, без вызова модели и без расхода дополнительных токенов.

Семантическое перефразирование выполняется текущим Codex; сервер предоставляет только детерминированный запасной вариант для полностью идентичных после нормализации вопросов или мнений, поэтому не обещает, что любое произвольное перефразирование будет автоматически объединено на 100%. Агрегация ограничена одной сессией Canvas и не объединяет автоматически разные задачи Codex.

Токены расходуются в основном на одно компактное чтение структуры и одну небольшую инкрементальную запись в каждом раунде. Отображение ограничено 25 узлами, индекс сопоставления — 40 недавними Claim; компактная проекция Codex возвращает только количество доказательств и ID последних 3 источников, не перенося исходный текст повторно. Дословные доказательства отправляются только локальному Browser, по умолчанию отображаются последние 5 записей, полное отслеживание источников остаётся в локальном JSON. Опрос браузера, переключение темы, ручной Pick и разворачивание исходного текста — всё это чисто локальные операции.

Расположение данных по умолчанию:

<workspace>/.local/vibe-canvas-demo/sessions/<session-id>.json
<workspace>/.local/vibe-canvas-demo/preferences.json

Горячие клавиши

Сфокусируйтесь на пункте третьего уровня с пометкой 原文 N и нажмите Enter или пробел, чтобы развернуть / свернуть исходный текст четвёртого уровня. Остальные операции выполняются через диалог Codex и элементы Pick / темы на доске.

Разработка

npm test

33 поведенческих теста и визуальные тесты браузера покрывают открытие доски, инкрементальную синхронизацию, автоматический Pick ИИ, повторную оценку кандидатов, ручное переопределение, предпочтения темы, восстановление состояния, дедупликацию между раундами, перекрёстные отношения, проверку дословных доказательств, сворачивание по умолчанию, разворачивание мышью и клавиатурой, воспроизведение агрегации на 12 раундов и границу доказательств на 100 раундов.

Журнал изменений

См. CHANGELOG.md.

Лицензия

MIT © 2026 prozacLaputa

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Local-first external brain for Claude Code, Codex, and any MCP client. Stores decisions, entities, and session artifacts in one SQLite file and exposes MCP tools for recall, page, promote, review, graph-query, and source-status.
    11
    14 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that provides a shared context and learning foundation across multiple AI tools (Claude, Copilot, Codex) for multiple projects, enabling persistent knowledge, decisions, and gap reflection through note storage.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Local Markdown-backed memory tools for Codex and other MCP-capable agents. Exposes durable agent knowledge via CLI and MCP server.
    5
    MIT