|
|
||
|---|---|---|
| bot | ||
| serv | ||
| .gitignore | ||
| README.md | ||
README.md
new-qwen
Клиент-серверная замена локального агента qwen-code.
servотвечает за OAuth, сессии, работу с Qwen LLM и вызов инструментов.botотвечает за Telegram и пересылку сообщений на сервер.
Проект написан на Python stdlib, чтобы не зависеть от Node/npm в текущем окружении.
Архитектура
Telegram User
|
v
bot/app.py
|
v
serv/app.py
|
v
Qwen OAuth + OpenAI-compatible endpoint
Что уже реализовано
- Qwen OAuth Device Flow, совместимый с
qwen-code - хранение токенов в
~/.qwen/oauth_creds.json - HTTP API сервера
- агентный цикл с tool calling
- базовые инструменты:
list_files,read_file,write_file,exec_command - Telegram polling без внешних библиотек
- JSON-хранилище сессий
Ограничения текущей реализации
- это упрощённая серверная архитектура, а не побайтный порт всего
qwen-code - пока нет MCP, skill system, subagents и rich-streaming UI
- Telegram-бот работает через long polling
Переменные окружения
Сервер:
cp serv/.env.example serv/.env
Бот:
cp bot/.env.example bot/.env
Запуск
Сервер:
python3 serv/app.py
Бот:
python3 bot/app.py
Авторизация Qwen OAuth
- Отправить боту
/auth - Открыть ссылку подтверждения
- После завершения авторизации писать обычные сообщения боту
Либо можно вызвать API сервера напрямую:
curl -X POST http://127.0.0.1:8080/api/v1/auth/device/start