Почему панель чата, а не окно чата
Контекст инженера-конструктора — открытый документ. Копировать свойства во вкладку браузера и вставлять код обратно медленно и чревато ошибками. Поэтому оба плагина встраивают панель чата в хост — панель верстака во FreeCAD, вкладку ленты с пристыковываемой палитрой в AutoCAD — и дают модели инструменты, которые читают и меняют документ напрямую.
Что видит модель
На каждом ходу агент отправляет компактный снимок документа: во FreeCAD — дерево объектов со свойствами, ограничения эскизов и ячейки таблиц; в AutoCAD — слои, листы, перечень блоков и текст спецификаций. Снимки короткие и стабильные, чтобы работало кэширование промпта: большая часть запроса между ходами не меняется.
Сверх снимка модель вызывает инструменты чтения по мере надобности: FreeGAD открывает любое свойство и умеет измерять геометрию; у AutoGAD есть query_entities, get_block_inventory, get_layers, get_tables и get_context над живой базой DWG.
Зрение замыкает цикл. take_screenshot во FreeGAD рендерит 3D-вид и отправляет его модели: после правки она проверяет, правильно ли выглядит деталь, а не только успешно ли прошёл вызов API. Один этот инструмент убрал большинство случаев «сказала „готово“, а результат неверный».
Записи всегда под подтверждением
Каждый инструмент записи — run_python, set_property, set_expression, delete_object во FreeCAD; replace_text, set_text, create_text, set_layer_state, set_custom_property, run_command в AutoCAD — открывает диалог с точным кодом или изменением, и каждая подтверждённая правка — один шаг отмены. Есть переключатель автоподтверждения для сессий, которым доверяешь. Это и есть разница между демо и тем, что можно подпустить к чертежу, который сдавать завтра.
Память, переживающая перезапуск
Оба хранят заметки по пользователю и по документу — по Uid документа FreeCAD или по GUID-отпечатку, записанному в чертёж, — плюс историю чата на документ. Модель сама пишет и читает их (remember / forget), так что решения вроде «плата 86,9 × 14,3 × 1,6 мм и лежит на основании» остаются привязаны к файлу.
Провайдеры, ключи и стоимость
Оба клиента говорят на Anthropic Messages API и с любым OpenAI-совместимым эндпоинтом, переводя tool_use в tool_calls и сопоставляя настройки усилия/рассуждений между провайдерами, с адаптивным мышлением у Claude. Написаны на голом HTTP (stdlib Python; HttpClient в .NET), без SDK. Ключи API зашифрованы Windows DPAPI. AutoGAD показывает стоимость в токенах каждого ответа и всей сессии; у FreeGAD есть анонимная телеметрия с возможностью отключения (FastAPI + SQLite + дашборд на SvelteKit), которая пишет задержки, расход токенов и зависания GUI.
Упаковка
FreeGAD поставляется с package.xml для FreeCAD, установщиком Inno Setup и лицензией AGPL. У AutoGAD два установщика: пользовательский EXE на Inno Setup с загрузкой по требованию через реестр и машинный MSI на WiX с бандлом Autodesk Autoloader. AutoGAD версии 1.0.5 — то, чем я ежедневно пользуюсь для рабочей документации по электрике и освещению: его персона знает российские нормы оформления (нагрузки, выбор автоматов, проверка кабелей).
Что сделал бы иначе
Сначала сделал бы инструмент скриншота. Всё остальное — обвязка; в момент, когда модель увидела собственный результат, качество правок изменилось. И держал бы инструменты записи узкими: общий run_python могуч, но именно конкретные инструменты (set_property, replace_text) пользователи подтверждают, не перечитывая по три раза.