Этот заголовок — описание моего пет‑проекта и pivot‑а, который я сделал за последние 25 дней.
Меня всегда расстраивало, что рабочий стол любой системы это обычно «мёртвый» кусок системы. Это базовый элемент — он всегда перед глазами. Почему не превратить этот мёртвый кусок системы в используемый сервис? Я решил проверить идею на PoC — бесконечная canvas‑доска вместо рабочего стола.
Я хотел проверить насколько реально с помощью ИИ‑агентов написать проект на одном из сложнейших системных языков — Rust. 4 года назад во время работы над мобильной экосистемой для сотрудников во внутренней разработке компании Связной (экс‑Евросети) я пробовал его на зуб, так же как python для скриптов и flutter для мобильной разработки.
Чтобы собрать PoC мне потребовалось потратить 80$ на подписку Kimi Code, научиться умно использовать ИИ‑агентов Z.ai, примерно 2,5 недели и больше 3 тысяч запросов к ИИ‑агентам. Результат — рабочий бинарник на Windows/Linux/macOS + WASM‑версия в браузере: https://danku13.github.io/CanvasDesk/app/

Как человек с визуально‑пространственным мышлением я обожаю онлайн‑доски. Но они всем хороши кроме одной детали — они никогда не поддерживали возможность математических расчётов. А я за свои 10 лет в ИТ‑ и продуктовом‑менеджменте сталкивался сам и видел у моих коллег продактов, архитекторов, аналитиков одну и ту же боль: рваный путь проектирования, расчётов и их защиты.

Простой пример — мы разрабатываем продукт, собираем на одной доске его бизнес‑ и техническую архитектуру, а потом нам надо идти в excel и считать экономику, пропускную способность системы и инфраструктуру. Что‑то допилили в excel и теперь надо переносить все изменения обратно на доску. Ад синхронизации.

Поэтому я подумал, кто если не я сделает такой инструмент. Я начинал с управления командой разработки ПО математического моделирования для авиационных тренажёров Sukhoi Superjet 100. За 10 лет прошёл путь от управления разработкой и поддержкой — до развития e‑com‑платформы и поиска рыночных возможностей для ИИ‑продуктов в R&D‑лабе. Этот путь и привёл меня к CanvasDesk: инструменту, где диаграмма и есть формула.
Страница проекта: https://github.com/danku13/CanvasDesk
WASM‑версия в браузере: https://danku13.github.io/CanvasDesk/app/
Буду благодарен за обратную связь!
Следующим постом — что уже работает и что будет дальше.
Комментарии (6)

ivangermes
30.09.2026 20:12
Странно поддерживается markdown
Не удалось сделать шрифт жирным или наклонным.
В формуле не могу поставить умножения. Он автоматически экранируется слешом и формула становится неправильной ( возможно я не разобрался ).
danku13 Автор
30.09.2026 20:12Это же WASM версия?
Вообще с парсингом есть моменты, т.к. в одной ноде никак не разграничивается применения numi-like расчётов и просто обычного текста, то бывают косяки
Думал над тем, чтобы при редактировании ноды надо было вставлять отдельный numi-блок, но показалось что это лишнее действие
В общем буду чинить, спасибо за пример и обратную связь!
Spiritschaser
Простите, может, то, что я скажу, прозвучит как грубая шутка, но вот буквально к этому не хватает чего-то типа DSL в стиле PlantUML, чтобы это в текстовом редакторе делать, а не рисовать!
ivangermes
не-не
рисовать - гораздо меньше когнитивной нагрузки )
Spiritschaser
Люди очень разные. Тыркаццо мышой - это очень нервно и утомляет!
danku13 Автор
привет,
Вообще у меня в голове 3 "стартовых" сценария использования:
1/ "Ручник" = набрасываешь ноды из шаблонов / шаблонных схем + inline автодополнение (сейчас пробую делать на базе Laya)
2/ "Агент" = запускаешь exe, в него встроен MCP-сервер для агента через pipe (stdin/sdtout). Дальше запрягаешь агента накидать схему которая тебе нужна обычным текстом или уже тестил создание схемы со скриншота, в целом работает нормально. Отдельный вариант это попробовать использовать агента как конвертер любых внешних файлов-схем (это ещё не тестил)
3/ "Импортёр" (пока на фризе) = скорее всего буду делать универсальный конвертер схем если Агент будет плохо импортировать схемы типа: plantuml, mermaid, draw.io
Я понимаю, что возможно не ответил на вопрос, но хотел прояснить концепт. Я ещё подумаю про DSL. Под капотом щас спецификация https://jsoncanvas.org/, а сейчас уже кажется что я далеко ушёл за эту спецификацию, хотя она обратно совместима с .canvas Obsidian-а
Спасибо за обратную связь, это сейчас крайне ценно для меня!