Как это работает
Восемь этапов от начала к концу. Пользователь описывает задачу в brief.md, после чего Copperhead запускает этапы по порядку, каждый как отдельный запуск агента. На каждом этапе нужно оставить артефакт на диске перед тем, как переходить к следующему. Если проверка не пройдена, процесс останавливается.
- Спецификация →
docs/SPEC.md(проверка: раздел с бюджетом заполнен) - Архитектура →
docs/SUBSYSTEMS.md(проверка: под каждой подсистемой есть обоснование) - Компоненты →
docs/BOM.md(проверка: детали выбраны по даташитам) - Схема →
design.kicad_sch(проверка: компоненты размещены, документы согласованы, ERC чист) - Размещение →
design.kicad_pcb(проверка: корпусы на плате, DRC чист) - Выходные файлы →
gerbers / drill / STEP(проверка: файлы на диске) - Прошивка →
firmware/ / pins.h(проверка: исходники на диске, пины совпадают с разводкой) - План разработки →
docs/DEVPLAN.md(проверка: описаны запуск и тестирование)
Ключевые правила:
- Каждый переход — это ворота проверки: никакой реальной работы на диске, никакого коммита, пока проверка не пройдена.
- Граница меди: проверяется самим KiCad, ERC и DRC должны быть чистыми.
Доказано на реальной медной плате
Open Telegraph — портативный morse-ключ на ESP32-S3, собранный полностью в этом workflow. Каждое решение, каждая проверка, каждый файл открыты.
Проблема, которую Copperhead решает
Рассинхронизация. Аппаратный проект разбросан по схеме, списку компонентов, бюджету питания и документам, и никто не видит несоответствия, пока оно не всплывает на этапе запуска. Такое обнаружение ошибки требует переделки: 5–50 тысяч долларов и 6–8 недель.
Copperhead автоматизирует каждый переход между этапами: агент редактирует реальные KiCad-файлы, обновляет всю документацию, ссылающуюся на них, и гонит встроенные в KiCad проверки до упора.
Модель цен: open core
Copperhead распространяется по открытой лицензии Apache 2.0 и бесплатен в использовании на собственной машине. Платишь только за хостинг, работу в команде или аудит.
- CLI (бесплатно) — полный агент на собственной машине, в собственном git-репо, без метрик и блокировок.
- Cloud ($49/мес на пользователя) — запуски в облаке с веб-просмотром, историей и экспортом, для приватных репо. Бесплатен для открытых.
- Team ($49/мес + $199/мес платформа) — Cloud плюс CI-бот, общие библиотеки, SSO и управление правами.
- Enterprise (кастомная цена/год) — self-hosted, Altium-поддержка, RBAC, аудит-trail, поддержка.
Часто задаваемые вопросы
Что такое Copperhead?
Открытый AI-агент, проектирующий, документирующий и проверяющий печатные платы. Описываешь изменение или отправляешь краткое описание проекта, и агент редактирует реальные KiCad-файлы, обновляет все документы, на них ссылающиеся, и гонит встроенные проверки.
Что нужно установить?
Node 20 и выше, KiCad с kicad-cli в PATH, и свой API-ключ для модели. После этого: npm i -g copperhead.
Работает ли на уже существующем проекте?
Да, это основной сценарий. Запустить copperhead init на KiCad-репо и просить изменения. copperhead create запускает всю трубу с нуля из текстового описания, но лучше всего инструмент работает с итеративными правками существующих дизайнов.
Что он отказывается делать?
Отказывается работать на грязном git-дереве, редактировать файлы дизайна без проверенного предложения изменения, применять правки, нарушающие задокументированные бюджеты, и придумывать номера деталей без обоснования из даташитов.
Перепишет ли мою схему целиком?
Нет. Правки — это хирургические изменения в s-expression исходнике KiCad, так что диффы остаются маленькими и рецензируемыми, а нетронутые части файла остаются байт-идентичными.
Начать работу
Никогда не выпускай плату, которую твоя документация больше не описывает. Copperhead — открытый исходный код и бесплатен. Установи один раз, опиши плату в brief.md и запусти create:
$ npm i -g copperhead
$ export ANTHROPIC_API_KEY=<api-key>
$ copperhead create --brief brief.md
Пример brief.md:
# Карманный Bluetooth-динамик
Портативный Bluetooth-динамик размером с ладонь, работающий сутки на одном заряде.
- ESP32, Bluetooth audio (A2DP sink)
- 3 W класс-D усилитель на драйвер 4 Ω
- Li-Po батарея, USB-C зарядка
- Ток ожидания: 100 µA