# 📦 @goodandready/dsh-messenger-gateway

Шлюз Telegram с интерактивными кнопками управления, темами форумов и голосовыми ответами для DeepSeek Harness

npm version license DSH Plugin Node version

Все проекты автора

🇬🇧 English🇷🇺 Русский🇨🇳 中文说明

Если вам нравится этот плагин, поставьте ему звезду на GitHub — это покажет мне, что плагин вам полезен, и будет мотивировать меня развивать его дальше.

🐛 Если вы нашли баг или хотите предложить новый функционал, создайте issue на GitHub на любом языке — я рассмотрю ваше предложение и реализую полезные идеи в одной из следующих версий плагина.
--- ## ⚡ Обзор **`dsh-messenger-gateway`** предоставляет полнофункциональный Telegram-мост корпоративного уровня для агентов **DeepSeek Harness**. В отличие от простых текстовых релеев, плагин переносит всю интерактивность агента прямо в Telegram: **интерактивные кнопки (Inline Keyboard)** для уточняющих вопросов (`ask_question`), изоляцию **тем форумов (Forum Topics)**, персональные **рабочие папки пользователей**, авторизацию по **6-значным кодам сопряжения** и голосовые **аудио-ответы (TTS)**. ```mermaid graph LR subgraph TelegramClient [Пользователь Telegram / Группа / Тема] User[👤 Пользователь / Тема форума] --> TG[Шлюз Telegram Bot API Long-Poll / Webhook] end subgraph GatewayCore [Диспетчер шлюза] TG --> Auth{Проверка сопряжения и доступа} Auth -->|Авторизован| Router{Маршрутизатор тем и папок} Router --> Home[Рабочая папка: /homes/user_id] Home --> Thread[Изолированный контекст сессии DSH] end subgraph AgentLoop [Цикл работы агента DSH] Thread --> Agent[Выполнение действий агента] Agent -->|ask_question выбор опций| Ask[Интерактивные кнопки Inline Keyboard] Agent -->|Озвучивание ответов| TTS[Синтез голосового сообщения TTS] end subgraph Feedback [Доставка ответа] Ask --> TG TTS --> TG end style TelegramClient fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4 style GatewayCore fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4 style AgentLoop fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4 style Feedback fill:#181825,stroke:#f38ba8,stroke-width:2px,color:#cdd6f4 ``` --- ## ✨ Ключевые возможности ### 1. 🎮 Интерактивные кнопки управления агентом (`ask.js`) Когда агент вызывает инструмент `ask_question` со списком вариантов ответа, плагин отправляет нативные **Inline-кнопки** в Telegram. Ход агента безопасно приостанавливается, а при нажатии на кнопку выполнение мгновенно возобновляется. ### 2. 🧵 Темы форумов Telegram (Forum Topics) (`topics.js`, `groups.js`) Полная поддержка тем в супергруппах Telegram: * Каждая тема (Topic) автоматически привязывается к отдельной сессии DSH; * Контексты разных тем не смешиваются между собой; * Режим ответов по тегу (`@bot_name`) или постоянное прослушивание. ### 3. 🔊 Голосовые ответы ассистента (TTS) (`tts.js`, `voice-prefs.js`) Агент может отвечать голосовыми сообщениями (`sendVoice`): * Интеграция с [`dsh-tts`](https://github.com/GooDAnDReaDY/dsh-tts) или отдельными TTS-движками; * Индивидуальное переключение пользователем через команды `/voice on` и `/voice off`. ### 4. 📁 Изоляция рабочих папок пользователей (`homes.js`) Каждому пользователю Telegram выделяется отдельная изолированная директория на сервере (`workspaces/users/{userId}`): * Файловые операции и запуск команд изолированы; * Исключен риск перезаписи чужих файлов или доступа к системным ресурсам. ### 5. 🔐 Безопасность и 6-значные коды сопряжения (`pairing.js`) * Защита от несанкционированного доступа: новые пользователи должны ввести одноразовый 6-значный код, сгенерированный в Web UI; * Белые списки разрешенных ID (`allowedUsers`, `allowedChats`). ### 6. 🤖 Команды бота (`commands.js`) * `/start` — приветствие и запуск сопряжения; * `/clear` — сброс контекста текущего диалога без удаления рабочих файлов; * `/voice [on|off]` — включение/отключение голосовых ответов; * `/model` — просмотр и переключение активной модели агента; * `/help` — список возможностей. --- ## 📦 Быстрая установка ```bash dsh plugin --profile web add @goodandready/dsh-messenger-gateway ``` --- ## ⚙️ Пример конфигурации (`settings.yaml`) ```yaml dsh-messenger-gateway: tokenEnv: TELEGRAM_BOT_TOKEN requirePairing: true enableVoiceReplies: true enableForumTopics: true homeBaseDir: data/workspaces/users allowedUsers: [] allowedChats: [] ``` --- ## 📄 Лицензия MIT © [GooDAnDReaDY](https://github.com/GooDAnDReaDY)