lekot/vscodepluginfor1cdev/agent-api
Claude Code and agent skill by lekot/vscodepluginfor1cdev
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install lekot/vscodepluginfor1cdev/agent-apiSKILL.md
CDT 41 Agent API — Skill Reference
Расширение CDT 41 для VS Code предоставляет 100 runtime-команд Agent API для программного управления метаданными, Хранилищем конфигурации, фоновыми задачами, CFE-проектами, поддержкой конфигурации, привязками, раскаткой, отладкой, статическими формами и формами enterprise, СКД, XDTO-пакетами и внешними EPF/ERF 1С:Предприятие. Основной транспорт для агента — стандартный Streamable HTTP MCP; прямой вызов через vscode.commands.executeCommand и legacy /command остаются совместимыми.
MCP (Streamable HTTP) и discovery
Расширение поднимает локальный MCP endpoint на случайном порту при активации. Координаты записываются в discovery-файл:
Формат:
Поля helperScriptPath / discoverScriptPath относятся к legacy /command и сохранены для совместимости.
schemaVersion: 2 добавляет стандартный MCP endpoint, не удаляя ни одного legacy-поля. Discovery записывается атомарно; клиент должен перечитывать его после каждой активации расширения, потому что порт и token меняются. Token передаётся только в заголовке и не должен добавляться к URL или попадать в логи.
Подключение MCP
Подключите MCP-клиент к mcp.url и настройте заголовок Authorization: Bearer <token> из того же discovery-файла. Endpoint принимает POST, GET и DELETE, использует stateful sessions и отклоняет запросы без token, не с loopback-интерфейса либо с посторонним Host/Origin.
По умолчанию MCP публикует семь компактных tools. Шесть диспетчеров покрывают все 100 операций Agent API по статическим профилям; cdt_catalog перечисляет операции и выдаёт схему по запросу.
| Tool | Для чего используется | |
|---|---|---|
cdt_read | Closed, read-only configuration and Agent API operations | |
cdt_write | Closed configuration writes, including role rights | |
cdt_write_idempotent | Closed writes that safely converge when repeated | |
cdt_read_live | Reads from external systems | |
cdt_write_live | Writes to external systems | |
cdt_verify_live | Verification against external systems | |
cdt_catalog | List all operation names and profiles, or describe one operation schema |
Шесть диспетчеров принимают { operation, arguments }: operation — прежнее имя cdt_* из каталога, arguments — прежний input Agent-команды. cdt_catalog({}) возвращает 100 имён, краткие описания и профили; cdt_catalog({ operation: "cdt_debug_get_variables" }) возвращает JSON Schema одной операции. Все аргументы строго валидируются прежними Zod-схемами до вызова Agent-команды; невоплотимые в JSON Schema refinements остаются runtime-проверками. Полный нормативный mapping и annotations находятся в MCP specification.
Например, чтение списка конфигураций вызывается как cdt_read({ operation: "cdt_list_configurations", arguments: {} }). Установка прав вызывается через cdt_write({ operation: "cdt_roles_set_rights", arguments: { roleName: "Менеджер", objects: ["Catalog.Товары: @view"] } }).
Если процесс расширения запущен с CDT_MCP_LEGACY_TOOLS=1, к семи compact tools дополнительно регистрируются 100 индивидуальных имён операций с исходными схемами. Без этой переменной по умолчанию доступны только семь инструментов. Прямые Agent-команды и legacy /command сохраняют прежние идентификаторы и поведение.
Каждый вызов диспетчера выполняет ровно одну существующую Agent-команду и возвращает исходный AgentResult в structuredContent и JSON-копией в text content. Входные объекты строгие: неизвестные поля запрещены. Mutating tools сохраняют очереди Agent API.
Фоновые задачи
Длительные deploy, deploy выбранных/изменённых файлов, pull, export status, EPF/ERF operations, команды СКД (compile, info, edit, validate), операции поддержки конфигурации (setObjectMode, enableObjectRules, sync, verify), операции TestClient launch, start, shot, native и debug-команды start, startFromBinding, waitForStop можно запустить с background: true. MCP-схемы для этих операций по умолчанию выбирают background; синхронный MCP-вызов задаёт background: false. Прямые Agent-вызовы этих операций сохраняют синхронное поведение без background; мутации Хранилища остаются фоновыми по умолчанию и принимают background: false для синхронного вызова.
Передайте taskId из receipt в 1c-metadata-tree.agent.task.status, .task.result или .task.cancel. В compact MCP это операции диспетчера cdt_read, например cdt_read({ operation: "cdt_task_status", arguments: { taskId } }) и cdt_read({ operation: "cdt_task_result", arguments: { taskId } }); это не отдельные tools по умолчанию. Receipt немедленно возвращает status: "working"; task snapshots сообщают running, completed, failed или подтверждённый cancelled, флаг cancellationRequested и elapsedMs. Для running задачи время растёт от момента создания; после terminal state elapsedMs фиксируется. recentMessages содержит этапы операции и доступные свежие строки процесса. Tail содержит не более 24 сообщений по 320 символов и проходит credential-pattern redaction до сохранения. task.result после завершения добавляет исходный AgentResult без потери его typed data. Терминальные результаты хранятся 15 минут; running задачи не вытесняются лимитом памяти. task.cancel только запрашивает отмену: receipt остаётся working, а snapshot сохраняет running, пока нижележащая операция не вернёт фактический результат. Для Хранилища inDoubt и acknowledged сохраняются даже после запроса отмены.
CFE project lifecycle
cfe.listProjects, cfe.getContext и cfe.validate читают устойчивые связи из .vscode/cfe-projects.json. cfe.createProject принимает baseConfigurationId, имя расширения, назначение, префикс и режим совместимости; необязательный target допускается только как путь внутри workspace без абсолютных путей и переходов ... cfe.borrowObject принимает extensionConfigurationId и ровно один источник: sourceDotPath (Type.Name) либо sourceUuid. Заимствование идемпотентно по UUID, выполняется только из связанной основной конфигурации и пока поддерживает Catalog, Document, Enum и CommonModule; неподтверждённые замыкания зависимостей отклоняются с CFE_DEPENDENCY_UNSUPPORTED.
cfe.createInterceptor принимает UUID уже заимствованного объекта, moduleKind из Module|ObjectModule|ManagerModule|RecordSetModule|ValueManagerModule, имя метода и kind before|after|instead|changeAndValidate. Module kind сверяется с типом объекта; before/after для функций запрещены. Для changeAndValidate обязателен SHA-256 expectedSourceHash канонического текста исходного метода. Результат содержит created|already-exists, имя перехватчика, source hash и относительный module path; конфликт пользовательского тела даёт CFE_INTERCEPTOR_CONFLICT, drift — CFE_SOURCE_CHANGED.
cfe.createOwnForm создаёт managed-форму у существующего CFE Catalog/Document по ownerDotPath; имя должно соответствовать NamePrefix. cfe.borrowForm принимает UUID уже заимствованного владельца и ровно один selector sourceFormUuid|sourceFormName; результат borrowed|already-borrowed содержит относительные metadata/form/module paths. Владелец и его зависимости никогда не заимствуются автоматически.
cfe.extendForm принимает UUID заимствованной формы, SHA-256 expectedFormHash исходного Ext/Form.xml и непустой список аддитивных операций: addAttribute, addCommand, addElement, setFormEvent, setElementEvent, addCommandAction. Допустимые callType — Before|After|Override; новые visual elements — UsualGroup|InputField|Button. BaseForm не удаляется и не перезаписывается, идентичное повторное изменение возвращает unchanged.
Для всех form-операций closure fail-closed: Catalog, Document, Enum/EnumValue, CommonPicture и StyleItem должны быть уже заимствованы и совпадать с объектом основной конфигурации. Неизвестная metadata reference, отсутствующая или незаимствованная зависимость возвращает CFE_DEPENDENCY_UNSUPPORTED до записи. Обычный Form editor не сохраняет и не создаёт handlers для заимствованной формы — используйте cfe.extendForm (CFE_ADOPTED_OPERATION_REQUIRED). Ответы содержат JSON-safe DTO: идентификаторы конфигураций и метаданные связи, но не сессии VS Code и не абсолютные пути. Создание и заимствование обновляют discovery конфигураций и дерево метаданных.
Доверие и опасные операции
Bearer даёт аутентифицированному локальному MCP-клиенту ту же authority, что legacy /command, то есть доступ ко всему Agent API. В частности:
- операция
cdt_debug_evaluateисполняет BSL-выражение, которое может иметь side effects; - deploy/pull меняют информационные базы или workspace;
- support set/enable/sync меняют master-файл и могут запускать Configurator для связанных ИБ;
- support verify не меняет master или информационные базы, но запускает внешние Configurator dump-процессы и записывает durable audit run в локальный журнал;
cdt_dump_external_processorиcdt_build_external_processorзапускают Configurator и создают файлы; standalone может потерять ссылочные типы и требует явногоacknowledgeTypeLoss: true;- debug/forms/SKD запускают и останавливают дочерние процессы; SKD принимает локальные input/output paths;
- XDTO export с
outputPath, import/create/merge и metadata tools изменяют файлы конфигурации.
Подключайте только доверенный локальный MCP-клиент и не передавайте token в URL или логи. MCP annotations описывают риск, но не являются дополнительной авторизацией. Отмена запроса до dispatch не запускает Agent-команду; отмена после dispatch не прерывает уже запущенный процесс или мутацию, а только отбрасывает итоговый результат.
Legacy POST /command, helper-скрипты и все Agent-команды продолжают работать по прежнему контракту.
Legacy /command
- Health check:
GET /health→{ "ok": true, "pid": ... } - Команда:
POST /commandс JSON-телом{ "name": "...", "args": { ... } } - Аутентификация: заголовок
Authorization: Bearer <token> - Content-Type:
application/json; charset=utf-8(важно для кириллицы)
Пример вызова через curl:
Пример вызова через Node.js (корректная кодировка для кириллицы):
Whitelist команд
Через bridge доступны только команды, соответствующие паттерну:
Вызов через helper-скрипт
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdocs/features/agent-api/agent-skill.md
Popularity
- Repository stars
- 58
- Repository forks
- 4
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lekot/vscodepluginfor1cdev/agent-api)