diff --git a/TASKS.md b/TASKS.md index d712382..cf1f72a 100644 --- a/TASKS.md +++ b/TASKS.md @@ -259,13 +259,31 @@ ### Фича: Agent Skills (Inter-agent Method Invocation) Вдохновлено: A2A Method Extensions -- 📋 `skills` поле в AgentConfig — массив объектов {id, name, description, input_schema, output_schema} -- 📋 API: `GET /agents/{id}/skills` — список skills агента -- 📋 API: `POST /agents/{id}/skills/{skill_id}/invoke` — вызов skill -- 📋 WS event `skill.invoke` → агент получает структурированный запрос -- 📋 WS event `skill.result` → результат возвращается вызывающему -- 📋 MCP tool `list_agent_skills(agent)` — агент узнаёт skills других агентов -- 📋 MCP tool `invoke_skill(agent, skill_id, params)` — формальный вызов -- 📋 Discovery: skills включаются в auth.ok (bootstrap) для всех участников проекта -- 📋 Tracker = прокси (маршрутизирует invoke → целевому агенту через WS) +- 💡 `skills` поле в AgentConfig — массив объектов {id, name, description, input_schema, output_schema} +- 💡 API: `GET /agents/{id}/skills` — список skills агента +- 💡 API: `POST /agents/{id}/skills/{skill_id}/invoke` — вызов skill +- 💡 WS event `skill.invoke` → агент получает структурированный запрос +- 💡 WS event `skill.result` → результат возвращается вызывающему +- 💡 MCP tool `list_agent_skills(agent)` — агент узнаёт skills других агентов +- 💡 MCP tool `invoke_skill(agent, skill_id, params)` — формальный вызов +- 💡 Discovery: skills включаются в auth.ok (bootstrap) для всех участников проекта +- 💡 Tracker = прокси (маршрутизирует invoke → целевому агенту через WS) - 💡 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 бесполезны