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:
parent
b26182cb08
commit
89b071b42a
166
README.md
166
README.md
|
|
@ -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 # Документация
|
||||
├── 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)
|
||||
├── vector_memory.py # Векторная память (ChromaDB + RAG)
|
||||
├── qwen_integration.py # Интеграция с Qwen Code
|
||||
├── MEMORY_ARCHITECTURE.md # Документация системы памяти
|
||||
├── VECTOR_MEMORY_SETUP.md # Инструкция по установке памяти
|
||||
└── test_vector_memory.py # Тесты системы памяти
|
||||
├── 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
|
||||
|
||||
## Лицензия
|
||||
|
|
|
|||
Loading…
Reference in New Issue