Фреймворк агентной разработки для 1С BSL с применением модульного подхода. Позволяет настроить AI-агентов (Cursor, Claude Code и др.) для работы с конфигурациями 1С через MCP-серверы — без привязки к конкретным провайдерам, с кросс-ревью и tier-ингом моделей.
- обеспечить loopback агенту в процессе работы с 1С
- реализовать работу агента по методологиям SDD + TDD (docs/info/sdd.md, docs/info/tdd.md)
- навыки привязываются к возможностям (capability), а возможности могут реализовываться разными MCP (чтобы не доказывать, чей MCP длиннее и толще)
- стараться собирать инструменты и скрипты так, чтобы они были выполнимы в любой среде (например, не привязываться к PowerShell, чтобы работало и в Linux). Честно скажу: вышло не везде — буду рад, если поправите то, с чем столкнётесь.
- оптимизации для работы с контекстом и памятью (например, как у @Jefest9988 с внешней памятью и хуками на размер контекста)
- инсталлер выбранных MCP (и тогда каталог доступных MCP в каком-то виде?)
- работу с GUI (в идеале Vanessa, но пока интересные наработки есть у @Shirokov_Nikolay в этом гайде). Тут сложности с тем, чтобы инструмент работал внутри докер-контейнера, где графика реализована через noVNC и виртуальные экраны. Механизм Николая завязан на работе с элементами веб-клиента. noVNC — это не веб-клиент, хотя и показывает экран через браузер и даже позволяет «кликать». Нужно выяснять, как это работает технически, и тогда будет ясно, можно ли механизм Николая прикрутить. Но, повторюсь, в идеале нужно доделать Vanessa, чтобы агент мог писать для неё тесты, запускать и получать результат (чтобы Vanessa формировала некий отчёт о действиях и сохраняла его на диск, как это сделано в YaxUnit Runner)
- Модульность и Единый источник истины — навыки, правила, агенты и воркфлоу подключаются отдельно, через инсталлер. Подключение — не копирование файлов фреймворка, а создание на них симлинков. Это позволяет «подсунуть» навыки в проект, физически сохраняя их в одном месте. Поменяли один навык → он изменился для всех проектов.
- RUS-ENG зеркало. Мы работаем с навыком на русском языке (для облегчения понимания), агент внутри фреймворка (работаем с фреймворком тоже через агента) автоматически зеркалирует файл в англоязычный вариант. В ваших проектах 1С симлинки будут вести на англоязычные файлы с целью экономии контекста (детальная информация: docs/info/ru-en-mirror.md).
- Современные LLM и промтинг
- Агентные системы
- Контекст
- Обратная связь
- Методологические и практические Проблемы и решения
- Навыки и Правила
- Вопросы безопасности
- Развертка песочницы позволяет кодить и не опасаться, что агент убьет данные
- Установка фреймворка в проект в сабагентном режиме, после установки всех описанных МСР, позволяет реализовать полный цикл в котором: А) Агент пишет спеку на вашу задачу (кто не понял почему это важно - вернитесь на шаг назад и прочитайте "Что нужно знать...") Б) Пишет тех.задание В) Пишет юнит-тесты под спеку Г) Кодит Д) Всё это тестирует и прогоняет юнит-тесты (да, в докер контейнере, всё прямо там и без вашего участия) Е) Всё это ревьювит вторым агентом (GPT через Codex, например)
И вы получаете готовый результат. Да, оно само. Совсем само. Отдаёшь задачу, а потом открываешь базу и смотришь результат. Не идеально, но Весьма эффективно с учетом всех плюсов и минусов.
Здесь, в docs/info/mcp.md, соберу ссылки на инструменты, которые использую сам в рамках этого фреймворка. Много «моих» инструментов, потому что писал сам для себя то, чего не нашёл в открытом доступе. Не стесняйтесь предлагать свои решения — я буду рад расширить «модельный ряд», если ваше решение тоже OPEN SOURCE и даёт дополнительные возможности.
Основа — это клиентская песочница + виртуалка для серверных служб (1С, Postgre, Apache) SteelMorgan/1c-ai-sandbox-client-server (клиентская и серверная часть работают на вашей комьюнити-лицензии, активация встроена автоматически в обе части). В клиентской песочнице уже добавлен предустановленный набор всего, что может потребоваться. Если чего-то не хватает, то: [ПРАВИЛЬНО] — дать агенту ЦУ добавить установку нужного компонента в клиентскую часть песочницы и сделать ребилд контейнера. Это даст воспроизводимость (инфраструктура как код). [НЕПРАВИЛЬНО] — установить внутри песочницы (будет потеряно при ребилде контейнера)
IDE — я лично использую Cursor (начинал с него, привык), но даже не оплачиваю его (просто как оболочка, легко заменяется на VS Code). Код-агенты — Claude CLI, Codex CLI (опционально Gemini CLI, но мне лично не особо зашёл). На практике получилась хорошая связка: Основные агенты (спека, кодинг) — Anthropic (Opus, Sonnet) Ревьювер — Codex (GPT 5.3)
- Соло-агент
- Сабагенты
При работе соло-агента возникает проблема, что все текущие необходимые навыки и правила забивают много контекста. Проблему можно решать, пытаясь «сжать» файлы инструкций:
- например, применено англоязычное зеркало, так как работа с кириллицей занимает у LLM больше токенов. Сейчас мы читаем и редактируем русскоязычную инструкцию, а агент автоматически синхронизирует её с англоязычным зеркалом
- декомпозировать задачу на шаги и каждому агенту выделить свой кусок и навыки, необходимые только для этого куска. Тогда навыки съедят меньше контекста и агенту легче будет держать фокус на задаче (и учитывать и применять правила)
Сабагентный путь начинается с правила framework/rules/framework-bootstrap.mdc. Детальную информацию об устройстве «рабочего процесса» можно извлечь из framework/workflows/full-cycle.md и framework/workflows/orchestrator.md.
Мульти-агентный режим пока не пробовал. По сути это развитие сабагентного варианта, должно быть интересно (в смысле улучшить результат).
Проектирование и анализ — docs/specs-and-analisys, но там не всё актуально. Сохранено «на всякий случай»... Может, даже стоит удалить.
Warning
В репозиторий принимаются только решения с открытым исходным кодом и бесплатным использованием.
Не предлагать к интеграции:
- закрытые (proprietary) решения;
- платные продукты/сервисы.
Даже если решение технически сильнее, оно не подходит под политику этого проекта.
Фреймворк разделяет навыки на два уровня:
| Уровень | Где лежит | Что содержит | Кто редактирует |
|---|---|---|---|
| Фреймворк | framework/skills/, framework/rules/ |
Универсальные навыки BSL, стандарты, политики | Сообщество фреймворка |
| Проект | Каталог проекта, предусмотренный IDE | Навыки и правила конкретного проекта/конфигурации | Команда проекта |
Проектные навыки — это знания, актуальные только для вашего проекта:
- Особенности конфигурации (какие подсистемы, какие модули критичные)
- Локальные coding conventions (если отличаются от стандарта ИТС)
- Бизнес-правила (например: "документ X всегда проводится через регистр Y")
- Маппинг ролей и прав
- Инструкции по работе с нетиповыми обработками Проектные навыки коммитятся в репозиторий проекта и доступны всей команде.
Куда размещать: В инсталлере tools/install.py уже зашиты все сопоставления. Если они ошибочны или не актуальны — поправьте (конечно же через агента, а не собственными руками), сделайте PR. Многим 1Сникам непонятно, как работать с Git. Коллеги, всё предельно просто: все детали знает агент (Git знает на зубок, сделает всё что надо), вам достаточно знать базу (docs/info/git.md), чтобы понимать процесс.
1c-agent-based-dev-framework/
├── docs/ # Спецификации и исследования
│ └── SPEC-001-framework-architecture.md
├── framework/ # Ядро на русском языке (источник правды)
│ ├── skills/ # tool-usage, bsl-practices, spec-writing, *_ext
│ ├── rules/ # mandatory-tools, cross-review, TDD, SDD
│ ├── subagents/ # Роли: analyst, architect, developer, etc.
│ └── workflows/ # full-cycle, quick-fix, orchestrator
├── framework_eng/ # EN-зеркало (генерируется автоматически, не редактировать)
│ └── ... # Идентичная структура, переведённые файлы
├── tools/
│ ├── install.py # CLI (clone, install) — симлинки на framework_eng/
│ ├── sync-skill.py # RU→EN синхронизатор через Codex CLI
│ ├── hooks/pre-commit # Git хук (скопировать в .git/hooks/)
│ ├── tui.py # TUI-интерфейс для CLI
│ └── model-defaults.json # Маппинг моделей по IDE
├── .claude/CLAUDE.md # Правила для агентов (языковая политика, синхронизация)
├── .skills-sync-state.json # Реестр синхронизации (хэши RU/EN, статусы)
└── README.md
Детальная информация здесь: docs/info/mcp.md. Что, почему, добавление новых.
Детальная информация здесь: docs/info/skills.md
Фреймворк содержит группу навыков framework/skills/framework-meta, которые не устанавливаются в проекты. Эти навыки предназначены для работы по изменению/доработке фреймворка и «засимлинчены» в каталогах IDE/CLI (.agents, .claude, .cursor и т.д.).
Методологическая информация по tool-usage-навыкам указана в docs/info/mcp.md
Все файлы содержат frontmatter (yaml-блок в начале файла) — по стандартам Anthropic, и backmatter (yaml-блок в конце файла) с полем depends_on. Это поле хранит навыки и правила, на которые опирается (не имеет смысла без них) текущий файл. Это нужно для корректной работы инсталлятора.
- Перейти в каталог фреймворка (НЕ проекта!)
- Запустить терминал, выполнить:
# Запустить инсталлятор
python tools/install.py- Выбрать IDE/CLI, которые вы будете использовать в проекте (можно несколько сразу)
- Выбрать каталог проекта (куда будут установлены симлинки)
- Выбрать файлы фреймворка (навыки, правила, сабагенты и т.д.)
- Подтвердить установку
- Создать корневой
CLAUDE.mdилиAGENT.md, если требуется. Для Claude и Codex это обязательно, чтобы подхватить «стартовые правила». Cursor подхватывает всё автоматически.
Инсталлятор поддерживает операции «деинсталла» и «переустановки». В принципе есть навык для агента, который описывает все возможности инсталлятора через CLI-режим. Но я его не тестил :)
MIT (или на выбор пользователя).
- Референсные репозитории по навыкам и правилам: comol/cursor_rules_1c, AndreevED/1c-ai-feature-dev-workflow, rmartynenko/workflow-dev-1c-claude-code, Nikolay-Shirokov/cc-1c-skills
- Референсные репозитории по клиентской и серверной частям песочницы: firstBitMarksistskaya/onec-docker, pravets/onec-images, alexandermyasnikov123/onec-community-docker
- Сообщество: https://t.me/onec_neurofish
- Паттерны и практики: Anthropic Claude, Cursor IDE
Хочу выразить искреннюю благодарность всем, кто помогал мне советом, делом или критикой при разработке и сборки этого фреймворка. Не перечисляю никого по-именно, что бы никого не забыть :) Много интересных решений родилось благодаря именно критике и откровенной оценке имеющихся проблем со стороны сообщещства "Нейроселедок"