qwen-alpha 1.0.19 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.js CHANGED
@@ -10,12 +10,12 @@ module.exports = {
10
10
  },
11
11
  rules: {
12
12
  'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
13
- 'semi': ['error', 'always'],
14
- 'quotes': ['warn', 'single'],
13
+ semi: ['error', 'always'],
14
+ quotes: ['warn', 'single'],
15
15
  'no-console': 'off',
16
16
  'no-eval': 'error',
17
- 'eqeqeq': ['error', 'always'],
18
- 'curly': ['error', 'all'],
17
+ eqeqeq: ['error', 'always'],
18
+ curly: ['error', 'all'],
19
19
  },
20
20
  ignorePatterns: ['node_modules/', 'logs/', '*.log'],
21
21
  };
package/CHANGELOG.md ADDED
@@ -0,0 +1,116 @@
1
+ # Changelog
2
+
3
+ Все изменения в проекте Qwen Alpha.
4
+
5
+ ## [2.0.0] — 2026-03-02
6
+
7
+ ### ✨ Новые возможности
8
+
9
+ - **Системные промпты** — кастомизация поведения бота под разные задачи
10
+ - Команда `/setSystemPrompt <промт>` — установка промпта
11
+ - Команда `/getSystemPrompt` — просмотр текущего промпта
12
+ - Команда `/resetSystemPrompt` — сброс к промпту по умолчанию
13
+ - Промпт сохраняется в БД и переживает перезапуск бота
14
+ - Автоматическая инициализация при первом запуске
15
+
16
+ - **Команда `/instructions`** — подробные инструкции по настройке
17
+ - Для супер-админа: настройка промпта, примеры, управление админами
18
+ - Для всех: работа с кодом, контекст, безопасность
19
+
20
+ - **Система безопасности**
21
+ - `DANGEROUS_PATTERNS` — блокировка опасных запросов (shell, файлы, секреты)
22
+ - `SENSITIVE_PATTERNS` — скрытие чувствительной информации в ответах
23
+ - Middleware `securityMiddleware` — проверка запросов ДО отправки в Qwen
24
+ - Фильтр `filterResponse` — очистка ответов ПОСЛЕ получения от Qwen
25
+ - Супер-админ обходит все проверки
26
+
27
+ - **Интеграция с Qwen Code**
28
+ - Передача ID пользователя в запросе
29
+ - Добавление информации о правах в системный промпт
30
+ - Разные промпты для супер-админа и обычных пользователей
31
+
32
+ - **Улучшенное форматирование**
33
+ - Переход на HTML вместо Markdown (стабильнее)
34
+ - Обработка заголовков: `#` → `**🔸 Заголовок**`
35
+ - Обработка цитат: `>` → обычный текст
36
+ - Предобработка `preprocessMarkdown()` для неподдерживаемых элементов
37
+
38
+ - **Приветствие супер-админа**
39
+ - Расширенное сообщение при первом `/start`
40
+ - Пошаговые инструкции по настройке
41
+ - Примеры системных промптов
42
+
43
+ ### 🔧 Исправления
44
+
45
+ - Исправлены ошибки парсинга Markdown (незакрытые теги)
46
+ - Исправлено форматирование Prettier
47
+ - Увеличен таймаут Qwen: 120с → 300с (5 минут)
48
+ - Увеличен таймаут Telegraf: 120с → 360с (6 минут)
49
+ - Удалена функция `escapeMarkdownV2()` (не нужна с HTML)
50
+
51
+ ### 📦 Изменения
52
+
53
+ - Версия: `1.0.20` → `2.0.0`
54
+ - Обновлён README.md с полным описанием v2.0
55
+ - Обновлён `.env.example` с новыми опциями
56
+ - Создан `CHANGELOG.md`
57
+ - Обновлён `PUBLISH.md` с инструкциями для v2.0
58
+
59
+ ### 🎯 Сценарии использования
60
+
61
+ 1. **Консультант магазина**
62
+
63
+ ```
64
+ /setSystemPrompt Ты — консультант магазина электроники...
65
+ ```
66
+
67
+ 2. **Техподдержка SaaS**
68
+
69
+ ```
70
+ /setSystemPrompt Ты — техподдержка CRM-системы...
71
+ ```
72
+
73
+ 3. **Юридический бот**
74
+
75
+ ```
76
+ /setSystemPrompt Ты — юридический консультант по праву РФ...
77
+ ```
78
+
79
+ 4. **AI-ассистент кода**
80
+ ```
81
+ /setSystemPrompt Ты — AI-ассистент для работы с кодом...
82
+ ```
83
+
84
+ ---
85
+
86
+ ## [1.0.20] — 2026-03-01
87
+
88
+ ### Добавлено
89
+
90
+ - Базовая функциональность Telegram-бота
91
+ - Интеграция с Qwen Code (headless режим)
92
+ - Code review, генерация кода, объяснение
93
+ - Сессии и контекст диалога
94
+ - Админ-панель (`/admin`)
95
+ - Статистика пользователей
96
+ - Rate limiting
97
+ - Логирование (pino)
98
+ - JSON хранилище (~/.qwen-alpha/)
99
+
100
+ ### Исправлено
101
+
102
+ - Ошибки обработки сообщений
103
+ - Проблемы с таймаутами
104
+ - Форматирование ответов
105
+
106
+ ---
107
+
108
+ ## Формат
109
+
110
+ Следуем [Semantic Versioning](https://semver.org/lang/ru/).
111
+
112
+ Формат версий: `[MAJOR.MINOR.PATCH]`
113
+
114
+ - **MAJOR** — несовместимые изменения API
115
+ - **MINOR** — новые возможности (обратная совместимость)
116
+ - **PATCH** — исправления багов (обратная совместимость)
package/PUBLISH.md CHANGED
@@ -1,12 +1,15 @@
1
- # 🚀 Инструкция по публикации и запуску Qwen Alpha
1
+ # 🚀 Инструкция по публикации и запуску Qwen Alpha v2.0
2
2
 
3
3
  ## ✅ Чек-лист перед публикацией
4
4
 
5
5
  - [ ] Все зависимости установлены (`npm install`)
6
6
  - [ ] Тесты проходят (`npm test`)
7
7
  - [ ] Линтинг проходит (`npm run lint`)
8
+ - [ ] Форматирование в порядке (`npm run format:check`)
8
9
  - [ ] README.md актуален
9
- - [ ] Version в package.json обновлён
10
+ - [ ] CHANGELOG.md обновлён
11
+ - [ ] Version в package.json обновлён (2.0.0)
12
+ - [ ] .env.example актуален
10
13
 
11
14
  ---
12
15
 
@@ -30,7 +33,7 @@ npm pkg get
30
33
  npm pack --dry-run
31
34
 
32
35
  # Просмотр содержимого .tgz
33
- tar -tzf qwen-alpha-1.0.0.tgz
36
+ tar -tzf qwen-alpha-2.0.0.tgz
34
37
  ```
35
38
 
36
39
  ### 3. Публикация
@@ -39,8 +42,8 @@ tar -tzf qwen-alpha-1.0.0.tgz
39
42
  # Публикация стабильной версии
40
43
  npm publish
41
44
 
42
- # Публикация beta версии (не затронет latest)
43
- npm publish --tag beta
45
+ # Публикация с тегом latest (явно)
46
+ npm publish --tag latest
44
47
  ```
45
48
 
46
49
  ### 4. Проверка публикации
@@ -59,7 +62,7 @@ npm view qwen-alpha
59
62
  ### 1. Глобальная установка
60
63
 
61
64
  ```bash
62
- npm install -g qwen-alpha
65
+ npm install -g qwen-alpha@2.0.0
63
66
  ```
64
67
 
65
68
  ### 2. Проверка CLI
@@ -85,9 +88,7 @@ qwen-alpha --token <YOUR_BOT_TOKEN>
85
88
 
86
89
  ---
87
90
 
88
- ## 🔄 Обновление версии
89
-
90
- ### SemVer (Semantic Versioning)
91
+ ## 🔄 Обновление версии (SemVer)
91
92
 
92
93
  ```
93
94
  MAJOR.MINOR.PATCH
@@ -100,16 +101,16 @@ MAJOR.MINOR.PATCH
100
101
  ### Команды для обновления версии
101
102
 
102
103
  ```bash
103
- # Исправление багов (1.0.0 → 1.0.1)
104
+ # Исправление багов (2.0.0 → 2.0.1)
104
105
  npm version patch
105
106
 
106
- # Новые функции (1.0.0 → 1.1.0)
107
+ # Новые функции (2.0.0 → 2.1.0)
107
108
  npm version minor
108
109
 
109
- # Ломающие изменения (1.0.0 → 2.0.0)
110
+ # Ломающие изменения (2.0.0 → 3.0.0)
110
111
  npm version major
111
112
 
112
- # Pre-release версии (1.0.0 → 1.0.1-beta.0)
113
+ # Pre-release версии (2.0.0 → 2.0.1-beta.0)
113
114
  npm version prerelease --preid=beta
114
115
  ```
115
116
 
@@ -177,6 +178,7 @@ npm-views qwen-alpha
177
178
  ### Перед публикацией проверьте:
178
179
 
179
180
  1. **Нет ли .env файлов в репозитории**
181
+
180
182
  ```bash
181
183
  git ls-files | grep .env
182
184
  ```
@@ -186,11 +188,20 @@ npm-views qwen-alpha
186
188
  - Или через переменную окружения `BOT_TOKEN`
187
189
 
188
190
  3. **npm audit**
191
+
189
192
  ```bash
190
193
  npm audit
191
194
  npm audit fix
192
195
  ```
193
196
 
197
+ 4. **Проверка .gitignore**
198
+
199
+ ```bash
200
+ cat .gitignore
201
+ ```
202
+
203
+ Должны быть: `node_modules/`, `.env`, `*.log`, `~/.qwen-alpha/`
204
+
194
205
  ---
195
206
 
196
207
  ## 📝 Примеры использования
@@ -213,40 +224,85 @@ qwen-alpha --token <TOKEN> --log-level debug
213
224
  qwen-alpha --token <TOKEN> --allowed-users 123456789,987654321
214
225
  ```
215
226
 
216
- ### Через Docker (пример)
227
+ ### Через переменную окружения
228
+
229
+ ```bash
230
+ export BOT_TOKEN=your_token_here
231
+ qwen-alpha --token $BOT_TOKEN
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 🎯 Настройка v2.0 после установки
237
+
238
+ ### 1. Первый запуск
239
+
240
+ ```bash
241
+ qwen-alpha --token <TOKEN>
242
+ ```
243
+
244
+ Бот автоматически:
217
245
 
218
- ```dockerfile
219
- FROM node:18-alpine
220
- RUN npm install -g qwen-alpha @qwen-code/qwen-code
221
- CMD ["qwen-alpha", "--token", "$BOT_TOKEN"]
246
+ - Инициализирует хранилище `~/.qwen-alpha/`
247
+ - Создаст системный промпт по умолчанию
248
+ - Зарегистрирует первого пользователя как супер-админа
249
+
250
+ ### 2. Настройка системного промпта
251
+
252
+ В Telegram (супер-админ):
253
+
254
+ ```
255
+ /setSystemPrompt Ты — консультант магазина электроники. Ассортимент: телевизоры, холодильники. Отвечай кратко.
256
+ ```
257
+
258
+ ### 3. Проверка промпта
259
+
260
+ ```
261
+ /getSystemPrompt
262
+ ```
263
+
264
+ ### 4. Инструкции
265
+
266
+ ```
267
+ /instructions
268
+ ```
269
+
270
+ ### 5. Добавление администраторов
271
+
272
+ ```
273
+ /admin add <user_id>
222
274
  ```
223
275
 
224
276
  ---
225
277
 
226
- ## 🎯 Следующие шаги после публикации
278
+ ## 📚 Документация v2.0
279
+
280
+ ### Новые возможности
227
281
 
228
- 1. **Добавить бота в Telegram**
229
- - Откройте https://t.me/BotFather
230
- - Создайте нового бота если ещё не создан
231
- - Получите токен
282
+ - **Системные промпты** кастомизация поведения бота
283
+ - **Команда `/instructions`** — подробные инструкции
284
+ - **Система безопасности** защита от опасных запросов
285
+ - **Фильтрация ответов** — скрытие чувствительной информации
286
+ - **HTML-форматирование** — стабильная работа с Telegram
232
287
 
233
- 2. **Настроить бота**
234
- - Установите аватар (логотип)
235
- - Настройте description и about
288
+ ### Сценарии использования
236
289
 
237
- 3. **Протестировать функционал**
238
- - `/start` приветствие
239
- - `/help`справка
240
- - Отправить код на анализ
290
+ | Сценарий | Пример промпта |
291
+ | -------------------- | --------------------------------------------- |
292
+ | Консультант магазина | `Ты консультант магазина электроники...` |
293
+ | Техподдержка | `Ты техподдержка CRM-системы...` |
294
+ | Юридический бот | `Ты — юридический консультант по праву РФ...` |
295
+ | AI-ассистент кода | `Ты — AI-ассистент для работы с кодом...` |
296
+
297
+ ---
241
298
 
242
- 4. **Добавить в группы** (опционально)
243
- - Добавьте бота в группу
244
- - Проверьте работу `/qwen` команд
299
+ ## 🔗 Ссылки
245
300
 
246
- 5. **Мониторинг**
247
- - Следите за логами в `~/.qwen-alpha/logs/`
248
- - Проверяйте `/admin stats`
301
+ - **Репозиторий**: https://github.com/JeBance/QwenAlpha
302
+ - **NPM**: https://www.npmjs.com/package/qwen-alpha
303
+ - **Issues**: https://github.com/JeBance/QwenAlpha/issues
304
+ - **CHANGELOG**: https://github.com/JeBance/QwenAlpha/blob/main/CHANGELOG.md
249
305
 
250
306
  ---
251
307
 
252
- **Удачи с публикацией! 🚀**
308
+ **Удачи с публикацией v2.0! 🚀**