CloudPaw

Плагин расширения облачных возможностей для QwenPaw

License Python Version

English | 中文 | 日本語 | Русский

--- CloudPaw — это плагин расширения облачных возможностей для QwenPaw, объединяющий **QwenPaw + Aliyun CLI** с глубокой интеграцией **IaC**. Это не просто чат-бот — это интеллектуальный ассистент с облачным движком выполнения. Просто опишите свои потребности на естественном языке, и CloudPaw автоматизирует весь процесс от создания ресурсов до развёртывания приложений. Например: - **Развёртывание приложения одной фразой**: Скажите CloudPaw «Помоги мне создать персональный сайт» — он автоматически создаст ECS-инстанс, настроит группы безопасности, развернёт приложение и вернёт доступный URL. - **Быстрый запуск персонального сайта**: Опишите желаемый контент и стиль, и CloudPaw сгенерирует код, развернёт его в облаке и привяжет публичный эндпоинт. - **Быстрая публикация API-сервиса**: Укажите определения интерфейсов, и CloudPaw выполнит весь пайплайн от генерации кода и сборки контейнера до публикации сервиса. CloudPaw полностью работает в вашей собственной среде, обеспечивая безопасность и контроль над данными. ## Быстрый старт ### Предварительные требования | Элемент | Требование | |---------|------------| | **Версия QwenPaw** | **≥ v1.1.7** | | **Python** | 3.10 ~ 3.13 | | **Аккаунт Alibaba Cloud** | Требуется Access Key для облачных операций | > Информацию об установке QwenPaw см. в [Быстром старте QwenPaw](https://qwenpaw.agentscope.io/docs/quickstart). Если версия QwenPaw ниже v1.1.7, сначала обновите: `pip install --upgrade qwenpaw>=1.1.7`. ### 1. Установка плагина CloudPaw **Через консоль (рекомендуется):** 1. Запустите QwenPaw (`qwenpaw app`), откройте http://127.0.0.1:8088/ 2. Нажмите «Менеджер плагинов» в левой боковой панели (в разделе «Настройки»), затем нажмите «Установить плагин» 3. Перетащите папку `cloudpaw/` в диалог установки или выберите ZIP-файл (CloudPaw предустановлен в QwenPaw v1.1.7+ в `plugins/bundle/cloudpaw/`) 4. Дождитесь завершения установки **Через CLI:** ```bash qwenpaw plugin install /path/to/cloudpaw ``` > **⚠️ ВАЖНО: После установки необходимо принудительно обновить браузер** (`Ctrl+Shift+R` / `Cmd+Shift+R`) для загрузки обновлений фронтенда. Пользовательские UI-компоненты CloudPaw (выбор предложений, управление PRD и т.д.) не появятся до обновления страницы. Если после установки функции отсутствуют, сначала попробуйте обновить страницу. ### 2. Настройка После установки CloudPaw выполните следующие настройки: #### ① Модель QwenPaw Настройте провайдера LLM и API Key в консоли: Настройки → Модели. См. [документацию по моделям QwenPaw](https://qwenpaw.agentscope.io/docs/models). #### ② Учётные данные Alibaba Cloud Настройте в разделе «Переменные окружения» консоли (CloudPaw автоматически создаёт записи-заполнители): - `ALIBABA_CLOUD_ACCESS_KEY_ID` — ваш Access Key ID - `ALIBABA_CLOUD_ACCESS_KEY_SECRET` — ваш Access Key Secret - `ALIBABA_CLOUD_REGION_ID` — ID региона (по умолчанию `cn-hangzhou`) Также можно настроить через системные переменные окружения или CLI. Инструкции по получению Access Key см. в [документации Alibaba Cloud](https://help.aliyun.com/document_detail/116401.html). Рекомендуется использовать Access Key основного аккаунта с полными правами. #### ③ Настройка модели iac-code CloudPaw использует [iac-code](https://github.com/aliyun/iac-code) (≥ 0.1.2) для генерации IaC-шаблонов. **Ручная настройка модели не требуется** — CloudPaw автоматически синхронизирует активную модель QwenPaw с iac-code. При запуске плагина CloudPaw записывает `llm_source: qwenpaw` в `~/.iac-code/settings.yml`. Это позволяет iac-code считывать конфигурацию модели (провайдер, API-ключ, название модели и т.д.) напрямую из активной модели QwenPaw. Если вы уже настроили рабочую модель в QwenPaw (шаг ①), iac-code автоматически будет использовать ту же модель — дополнительная настройка не требуется. **Ручное переопределение:** Если вам нужно, чтобы iac-code использовал модель, отличную от QwenPaw, установите переменную окружения `IAC_CODE_PROVIDER` (через страницу переменных окружения QwenPaw или системные переменные). При наличии этой переменной CloudPaw пропускает автоматическую инъекцию, и iac-code использует вашу ручную конфигурацию. Подробнее см. [документацию по настройке LLM в iac-code](https://aliyun.github.io/iac-code/docs/configuration/llm-providers). ### 3. Начало использования Выберите «CloudPaw-Master» в выпадающем списке агентов на странице чата. > **⚠️ Предупреждение о рисках: пожалуйста, прочитайте перед использованием** > > 1. **Риск ресурсов**: Данный сервис требует учётные данные администратора Alibaba Cloud с полным доступом к аккаунту. Операции могут создавать, изменять или удалять ресурсы в вашем аккаунте. > 2. **Рекомендации по безопасности**: Действуйте осторожно и следите за существующими ресурсами. **Создавайте резервные копии важных данных** перед использованием и регулярно проверяйте состояние ресурсов и счета. > 3. **Отказ от ответственности**: Данный сервис полностью управляется ИИ. ИИ может генерировать ошибки или неточные результаты. Вы несёте ответственность за проверку и подтверждение операций ИИ, а также за конечные результаты. Мы не несём ответственности за убытки, вызванные операциями ИИ. > 4. **Уведомление о стоимости**: Создание и использование облачных ресурсов повлечёт соответствующие расходы на облачные сервисы. Пожалуйста, следите за счетами и планируйте использование ресурсов. ## Архитектура CloudPaw интегрируется через нативную систему плагинов QwenPaw. ``` QwenPaw/ └── plugins/ └── bundle/ └── cloudpaw/ # Плагин CloudPaw (фронтенд и бэкенд) ├── plugin.json # Манифест плагина ├── plugin.py # Точка входа бэкенда ├── requirements.txt # Python-зависимости (iac-code, httpx-sse) ├── ui/ # Фронтенд-плагин (кастомные рендереры tool call) ├── skills/ # Определения навыков ├── tools/ # Реализации инструментов ├── modules/ # Модули ├── agents/ # Промпты и конфигурации агентов └── prompts/ # Определения промптов ``` ## Функции - **Оркестрация IaC-развёртывания**: Автоматизация развёртывания ресурсов Alibaba Cloud через движок [iac-code](https://github.com/aliyun/iac-code) для генерации ROS/Terraform-шаблонов - **Выбор предложений по ресурсам**: Интерактивное сравнение и выбор нескольких предложений с выделенным фронтенд-рендерингом (инструмент `proposal_choice`) - **Расширение фронтенда управления PRD**: Кастомный фронтенд-рендеринг для управления PRD в QwenPaw Mission Mode (инструмент `manage_prd`) - **Многоагентная коллаборация**: Оркестрация нескольких агентов для сложных задач развёртывания через QwenPaw Mission Mode - **Интеграция удалённых агентов Alibaba Cloud Skills**: Подключение и вызов удалённых агентов на Alibaba Cloud Skills Hub через протокол A2A с потоковым отображением в реальном времени - **Автоматическая настройка зависимостей**: Автоматическая установка `iac-code` и Alibaba Cloud CLI при запуске плагина ## Интеграция удалённых агентов Alibaba Cloud Skills CloudPaw поддерживает подключение и вызов удалённых агентов на **Alibaba Cloud Skills Hub** через **протокол A2A (Agent-to-Agent)**, обеспечивая межагентную коллаборацию. > **Примечание**: Функциональность A2A в настоящее время поддерживается только в плагине CloudPaw и ограничена агентами на Alibaba Cloud Skills Hub. Подключение к другим A2A-агентам может привести к проблемам совместимости. ### Использование CloudPaw предоставляет **два способа** вызова удалённых A2A-агентов. Оба метода обрабатываются LLM и выполняются через инструмент `a2a_call`: #### Способ 1: Быстрый вызов командой `/a2a` Отправляйте сообщения удалённому агенту с помощью команды `/a2a` в чате: ``` /a2a <псевдоним> <сообщение> ``` Пример: ``` /a2a my-agent Как развернуть приложение Node.js на ECS? ``` Команда автоматически преобразуется в понятную LLM инструкцию, которая затем вызывает инструмент `a2a_call`. #### Способ 2: Вызов на естественном языке Просто опишите свои потребности на естественном языке, и LLM автоматически определит, нужно ли вызывать удалённого агента, и выполнит вызов через инструмент `a2a_call`: ``` Спросите у my-agent, как быстро развернуть приложение Flask в Alibaba Cloud? ``` В этом режиме LLM понимает намерения пользователя и автоматически выбирает подходящего удалённого агента. Идеально для сценариев, требующих многоходового диалога и контекста. #### Список зарегистрированных агентов Введите `/a2a` без аргументов, чтобы увидеть список всех зарегистрированных удалённых A2A-агентов и их статус подключения, аналогично команде `/skills` для просмотра установленных навыков. ### Примечания - Функциональность A2A в настоящее время поддерживается только в плагине CloudPaw и ограничена агентами на Alibaba Cloud Skills Hub. Подключение к другим A2A-агентам может привести к проблемам совместимости. - При вызове удалённых агентов содержимое сообщений отправляется на удалённые серверы — учитывайте безопасность данных - Одновременно поддерживается только один активный вызов A2A ## Многоагентная архитектура CloudPaw реализует многоагентную коллаборацию через **Mission Mode** QwenPaw. Пользователи взаимодействуют с главным агентом, который автоматически разбивает требования в PRD (документ требований к продукту) и делегирует задачи специализированным подагентам по приоритету историй. | Агент | Ответственность | |---|---| | **CloudPaw-Master** | Оркестрация: диалог с пользователем, уточнение требований, генерация PRD, делегирование задач, агрегация результатов | | **CloudPaw-Executor** | Общее выполнение: написание кода, развёртывание приложений, настройка окружения, операции CLI | | **CloudPaw-Verifier** | Унифицированная верификация: статус облачных ресурсов, функциональность приложения, доступность, соответствие безопасности | | **iac-code** (внешний ACP-агент) | IaC-движок: асинхронный вызов через протокол ACP для генерации ROS/Terraform-шаблонов, оценки стоимости и управления стеками | ## Примеры использования **Развёртывание персональной страницы в облаке** > Помогите мне создать персональную страницу и развернуть её в облаке. Страница должна включать: личное представление, навыки, опыт проектов и контактную информацию — пожалуйста, используйте заполнители для всей личной информации. Стиль должен быть чистым и минимальным, адаптивным для мобильных и десктопных устройств. Пожалуйста, разверните с использованием Alibaba Cloud ECS. **Быстрая публикация API-сервиса в облаке** > Помогите мне быстро развернуть API-сервис в облаке. Я хочу, чтобы по умолчанию были доступны эндпоинты /health и /hello, и дайте мне вызываемый URL с примерами запросов. Конфигурация должна быть максимально простой и понятной. ## Благодарности - [iac-code](https://github.com/aliyun/iac-code) — ИИ-ассистент Infrastructure as Code для Alibaba Cloud