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

166
README.md
View File

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