vibe-canvas
Vibe Canvas
简体中文 | English
Превратите диалог с Codex в фильтруемую доску размышлений, растущую в реальном времени справа.

Введение
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: выбранное и невыбранное
Слева — зелёное состояние «выбрано», справа — серое «не выбрано»; после снятия выбора структура и ментальная карта синхронно обновляются.

Требования к окружению
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 打开一个思考画板Затем просто общайтесь как обычно:
Codex открывает Vibe Canvas справа.
Перед каждым ответом текущий диалог синхронизирует исходный текст этого раунда и структурный инкремент на доску.
ИИ автоматически выбирает явно ценный контент, а неопределённый помещает в буфер кандидатов.
Вы можете нажать Pick в области исходного текста, чтобы в любой момент решить, попадает ли этот раунд в структуру и ментальную карту.
Переключатель в правом верхнем углу меняет синюю и тёплую темы.
Клик по пункту третьего уровня в ментальной карте разворачивает или сворачивает дословный исходный текст четвёртого уровня.
Область активации доски ограничена текущей задачей 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Ядро состоит из трёх частей:
Skill отвечает за тайминг и семантические решения: после явного открытия каждый раунд читает канонические Topic и недавние Claim через
vibe_canvas_get_projection, затем решает, следует ли переиспользовать, объединить, связать или разделить текущее выражение. Не запускается вторая сессия Codex и не подделываются пользовательские сообщения.MCP Server отвечает за детерминированное состояние: процесс Node.js предоставляет MCP-инструменты и локальный HTTP API, слушающий только
127.0.0.1. Reducer отвечает за стабильные ID, нормализованное точное дедуплицирование, отслеживание источника Pick, межтемные отношения, ограниченную проекцию и проверку того, что каждаяsourceQuoteдействительно взята из исходного текста текущего раунда, а также сохраняет полную сессию в JSON.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 test33 поведенческих теста и визуальные тесты браузера покрывают открытие доски, инкрементальную синхронизацию, автоматический Pick ИИ, повторную оценку кандидатов, ручное переопределение, предпочтения темы, восстановление состояния, дедупликацию между раундами, перекрёстные отношения, проверку дословных доказательств, сворачивание по умолчанию, разворачивание мышью и клавиатурой, воспроизведение агрегации на 12 раундов и границу доказательств на 100 раундов.
Журнал изменений
См. CHANGELOG.md.
Лицензия
MIT © 2026 prozacLaputa
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceLocal-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.1114 npm5MIT
- AlicenseCqualityDmaintenanceMCP server for sharing source-backed engineering memory across AI coding clients like Cursor and VS Code.301MIT
- AlicenseNot gradedqualityCmaintenanceA 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
- AlicenseBqualityDmaintenanceLocal Markdown-backed memory tools for Codex and other MCP-capable agents. Exposes durable agent knowledge via CLI and MCP server.5MIT