Новые возможности:
- Команда /ai для выполнения задач через Qwen Code
- Автоматический запуск сессии при первой задаче
- Обработка OAuth авторизации (ссылка отправляется в чат)
- Команды /ai status и /ai stop для управления сессией
- Таймаут неактивности 30 минут
- Буферизация вывода
Файлы:
- qwen_integration.py — менеджер сессий Qwen Code
- bot.py — команда /ai и хендлеры
Пример использования:
/ai создай функцию Python для сортировки списка
/ai status
/ai stop
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Изменения в меню 'О боте':
- Обновлена версия на 2.1.0
- Добавлен список возможностей бота
- Улучшено форматирование текста
- Добавлена информация о безопасности
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Проблема:
- В MenuItem иконка указывалась в label ('🖥️ Выбор сервера')
- И дополнительно добавлялась через поле icon
- Результат: '🖥️🖥️ Выбор сервера'
Решение:
- Убрать добавление иконки в get_keyboard()
- Иконки указываются только в label MenuItem
Изменения:
- MenuBuilder.get_keyboard() теперь использует только item.label
- Поле icon в MenuItem сохранено для обратной совместимости
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Изменения:
- Очистка ANSI-кодов через re.sub() вместо pyte
- Обработка \r для прогресс-баров (схлопывание в финальный результат)
- Удаление дублирующегося текста вида "0% [текст] 0% [текст]"
- Форматирование вывода: первые 5 + последние 10 строк
- Индикация количества пропущенных строк
Результат:
- Вместо 100+ строк мусора — 5-15 строк чистого вывода
- Корректная обработка sudo команд с запросом пароля
- Удалена зависимость от pyte
Пример:
sudo apt update теперь показывает список репозиториев и итог,
без прогресс-баров "Чтение списков пакетов… 95%"
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Новые возможности:
- Класс Server и ServerManager для управления серверами
- Конфигурация серверов через .env (SERVERS, SSH_KEY_PATH)
- Меню выбора сервера с динамическим обновлением
- Выполнение команд через SSH на удалённых серверах
- Индикатор текущего сервера в UI
- Персональная рабочая директория для каждого сервера
- Поддержка составных команд с cd через SSH
Формат конфигурации серверов:
SERVERS=name|host|port|user|tags,name|host|port|user|tags
Изменения:
- + asyncssh==2.16.0 в зависимости
- ~ .env.example: добавлены SERVERS, SSH_KEY_PATH, DEFAULT_SERVER
- ~ bot.py: ~600 строк нового кода
- ~ menu: добавлено 🖥️ Выбор сервера
Настройки состояния пользователя:
- current_server: имя текущего сервера (по умолчанию 'local')
- working_directory: сбрасывается при смене сервера
Безопасность:
- known_hosts отключён для простоты (можно включить в продакшене)
- SSH ключ через client_keys (путь из .env)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Основные изменения:
- Перенос конфигурации из bot_config.json в .env
- Удалено хранение токена в JSON (только переменные окружения)
- Добавлена проверка прав доступа через ALLOWED_USERS
- Декоратор @check_access для защиты хендлеров
- Настройки бота: BOT_NAME, BOT_DESCRIPTION, BOT_ICON_EMOJI, WORKING_DIRECTORY
- python-dotenv для загрузки переменных окружения
- Обновлён run.sh для работы с .env
- Убрана установка имени/описания при запуске (rate limit fix)
- Удалён функционал изменения настроек через бота (только через .env)
- Обновлена документация
Безопасность:
- Токен только в .env (не коммитится)
- Проверка прав доступа по списку ALLOWED_USERS
- bot_config.json удалён
Файлы:
- + .env.example (шаблон конфигурации)
- - bot_config.json
- ~ bot.py, run.sh, README.md, requirements.txt
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>