TASKS: Agent Skills → idea, add Agent Secrets & Permissions

This commit is contained in:
Markov 2026-02-28 07:06:18 +01:00
parent 828ab1ec3d
commit 90e381c0e9

View File

@ -259,13 +259,31 @@
### Фича: Agent Skills (Inter-agent Method Invocation) ### Фича: Agent Skills (Inter-agent Method Invocation)
Вдохновлено: A2A Method Extensions Вдохновлено: A2A Method Extensions
- 📋 `skills` поле в AgentConfig — массив объектов {id, name, description, input_schema, output_schema} - 💡 `skills` поле в AgentConfig — массив объектов {id, name, description, input_schema, output_schema}
- 📋 API: `GET /agents/{id}/skills` — список skills агента - 💡 API: `GET /agents/{id}/skills` — список skills агента
- 📋 API: `POST /agents/{id}/skills/{skill_id}/invoke` — вызов skill - 💡 API: `POST /agents/{id}/skills/{skill_id}/invoke` — вызов skill
- 📋 WS event `skill.invoke` → агент получает структурированный запрос - 💡 WS event `skill.invoke` → агент получает структурированный запрос
- 📋 WS event `skill.result` → результат возвращается вызывающему - 💡 WS event `skill.result` → результат возвращается вызывающему
- 📋 MCP tool `list_agent_skills(agent)` — агент узнаёт skills других агентов - 💡 MCP tool `list_agent_skills(agent)` — агент узнаёт skills других агентов
- 📋 MCP tool `invoke_skill(agent, skill_id, params)` — формальный вызов - 💡 MCP tool `invoke_skill(agent, skill_id, params)` — формальный вызов
- 📋 Discovery: skills включаются в auth.ok (bootstrap) для всех участников проекта - 💡 Discovery: skills включаются в auth.ok (bootstrap) для всех участников проекта
- 📋 Tracker = прокси (маршрутизирует invoke → целевому агенту через WS) - 💡 Tracker = прокси (маршрутизирует invoke → целевому агенту через WS)
- 💡 Input/output schema validation на Tracker (до отправки агенту) - 💡 Input/output schema validation на Tracker (до отправки агенту)
### Фича: Agent Secrets & Granular Permissions
Связано с: RBAC, Agent Skills
- 💡 **Agent Secrets** — зашифрованное хранилище секретов per-agent (API keys, prod credentials, SSH keys)
- Секреты доступны ТОЛЬКО агенту-владельцу (не через UI, не другим агентам)
- Tracker хранит encrypted, агент расшифровывает при получении
- Управление: admin создаёт/обновляет через UI, агент читает через MCP tool `get_secret(key)`
- 💡 **Resource Permissions** — какой агент к чему имеет доступ:
- `prod_deploy` — только deploy-agent
- `db_write` — только coder (read-only для остальных)
- `external_api` — только у агента с соответствующим секретом
- 💡 **Sandbox levels** — расширение текущего allowedPaths:
- Level 0: только свой agentHome (текущее)
- Level 1: + project files (read)
- Level 2: + project files (write) + git
- Level 3: + system commands (deploy, restart)
- 💡 Предпосылка для Agent Skills — без permissions skills бесполезны