docs: обновление README.md

- Добавлена версия 0.6.0
- Секция 'Быстрый старт' с install.sh
- Подробная инструкция по установке
- Инструкция по обновлению
- Обновлённая структура проекта с bot/
- Модульная архитектура
- Актуализированные требования (Python 3.10+, Node.js 18+)

Version: 0.6.1

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 01:00:18 +08:00
parent b26182cb08
commit 89b071b42a
1 changed files with 119 additions and 51 deletions

170
README.md
View File

@ -2,6 +2,8 @@
Бот для выполнения CLI команд на вашем ПК через Telegram с многоуровневым меню и гибкой настройкой.
**Версия:** 0.6.0
## Возможности
- 🖥️ **Выполнение CLI команд** - запуск любых команд от имени пользователя
@ -12,10 +14,53 @@
- 🔧 **Легкое добавление команд** - простая регистрация новых команд через код
- 🧠 **ИИ-агент с памятью** - чат с Qwen Code с контекстом и семантическим поиском
- 🔍 **Векторная память** - поиск по истории диалогов на ChromaDB (RAG)
- 📦 **Автоматическая установка** - скрипт install.sh ставит все зависимости
## Установка
---
### 1. Клонирование репозитория
## 🚀 Быстрый старт
### 1. Установка (первый запуск)
```bash
cd /path/to/telegram-cli-bot
./install.sh
```
Скрипт автоматически:
- Проверит Python, pip, Node.js, npm
- Установит qwen-code (для ИИ-агента)
- Создаст виртуальное окружение
- Установит все зависимости
- Создаст .env из примера
### 2. Настройка
Отредактируйте `.env` и укажите токен бота:
```bash
nano .env
# TELEGRAM_BOT_TOKEN=ваш_токен_от_BotFather
```
### 3. Запуск
```bash
./run.sh
```
---
## 📦 Подробная установка
### Требования
- **Python 3.10+**
- **pip** (менеджер пакетов Python)
- **Node.js 18+** (для qwen-code, опционально)
- **npm** (менеджер пакетов Node.js)
### Шаг 1: Клонирование
```bash
cd /home/mirivlad/git
@ -23,60 +68,60 @@ git clone <repository_url> telegram-cli-bot
cd telegram-cli-bot
```
### 2. Создание виртуального окружения
### Шаг 2: Запуск установщика
```bash
python3 -m venv venv
source venv/bin/activate
./install.sh
```
### 3. Установка зависимостей
**Что делает install.sh:**
| Шаг | Действие |
|-----|----------|
| 1 | Проверяет Python, pip |
| 2 | Проверяет Node.js, npm (предлагает установить если нет) |
| 3 | Устанавливает `qwen-code` через `npm install -g` |
| 4 | Создаёт/обновляет venv |
| 5 | Устанавливает pip зависимости из requirements.txt |
| 6 | Создаёт .env из .env.example (если нет) |
| 7 | Сохраняет версию в `.installed` |
### Шаг 3: Настройка .env
```bash
pip install -r requirements.txt
# Отредактируйте .env
nano .env
```
### 4. Получение токена бота
1. Откройте [@BotFather](https://t.me/BotFather) в Telegram
2. Отправьте `/newbot`
3. Следуйте инструкциям
4. Скопируйте полученный токен
### 5. Настройка токена
**Способ 1: Через файл .env (рекомендуется)**
Скопируйте `.env.example` в `.env` и укажите токен:
Обязательные параметры:
```bash
cp .env.example .env
# Отредактируйте .env, вставив ваш токен
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
ALLOWED_USERS=ваш_telegram_id
```
**Способ 2: Через переменную окружения**
Ваш Telegram ID можно узнать через @userinfobot.
```bash
export TELEGRAM_BOT_TOKEN='your_token_here'
```
**Способ 3: Интерактивная настройка**
Запустите скрипт `run.sh` — он сам запросит токен:
### Шаг 4: Запуск
```bash
./run.sh
```
### 6. Запуск бота
---
## 🔄 Обновление
```bash
python bot.py
# или через скрипт
./run.sh
# Просто запустите установщик снова
./install.sh
```
## Использование
Скрипт определит что это обновление и:
- Обновит qwen-code
- Обновит pip зависимости
- Сохранит новую версию
---
### Команды бота
@ -220,26 +265,49 @@ WORKING_DIRECTORY=/home/user
```
telegram-cli-bot/
├── bot.py # Основной файл бота
├── requirements.txt # Зависимости Python
├── .env # Конфигурация (создаётся автоматически, не коммитить)
├── .env.example # Пример конфигурации
├── .gitignore # Git ignore
├── bot.log # Лог файл
├── run.sh # Скрипт запуска
├── README.md # Документация
├── memory_system.py # Система памяти (SQLite)
├── vector_memory.py # Векторная память (ChromaDB)
├── qwen_integration.py # Интеграция с Qwen Code
├── MEMORY_ARCHITECTURE.md # Документация системы памяти
├── VECTOR_MEMORY_SETUP.md # Инструкция по установке памяти
└── test_vector_memory.py # Тесты системы памяти
├── bot.py # Точка входа (1411 строк)
├── bot/ # Модульная структура
│ ├── config.py # Конфигурация и глобальные объекты
│ ├── models/ # Модели данных
│ │ ├── server.py # Server, ServerManager
│ │ ├── session.py # SSH/Local сессии и менеджеры
│ │ └── user_state.py # UserState, StateManager
│ ├── utils/ # Утилиты
│ │ ├── cleaners.py # Очистка ANSI-кодов
│ │ ├── formatters.py # Форматирование сообщений
│ │ ├── decorators.py # Декоратор @check_access
│ │ └── ssh_readers.py # Чтение SSH/PTY вывода
│ ├── keyboards/ # Клавиатуры
│ │ └── menus.py # MenuItem, MenuBuilder
│ ├── handlers/ # Обработчики событий
│ │ ├── commands.py # /start, /menu, /help, /settings
│ │ └── callbacks.py # Callback от меню
│ └── services/ # Бизнес-логика
│ └── command_executor.py # Выполнение CLI команд
├── memory_system.py # Система памяти (SQLite)
├── vector_memory.py # Векторная память (ChromaDB + RAG)
├── qwen_integration.py # Интеграция с Qwen Code
├── install.sh # Универсальный установщик
├── run.sh # Скрипт запуска
├── requirements.txt # Зависимости Python
├── .env # Конфигурация (не коммитить!)
├── .env.example # Пример конфигурации
├── bot.log # Лог файл
└── README.md # Документация
```
**Модульная архитектура:**
- **models** — модели данных и менеджеры
- **utils** — вспомогательные функции
- **handlers** — обработчики команд Telegram
- **services** — бизнес-логика выполнения команд
- **keyboards** — построение inline-клавиатур
## Требования
- Python 3.8+
- Библиотеки: `python-telegram-bot`, `pyyaml`
- **Python 3.10+**
- **Node.js 18+** (опционально, для qwen-code)
- Библиотеки: `python-telegram-bot`, `chromadb`, `sentence-transformers`
- Доступ к Telegram API
## Лицензия