todayer-dsh-telegram-channel
DeepSeek Harness Telegram channel plugin (Hermes-style gateway): per-topic sessions, DM topics, group gating, media, commands. Fork/extension of hi-wenw/dsh-telegram-channel.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 24, 2026
- Updated
- Aug 24, 2026
Introduction
DSH Telegram Channel (todayer)
Мобильный Telegram-канал (бот) для DeepSeek Harness (dsh): управляйте локальными сессиями, топиками и медиа прямо из Telegram. Основан на hi-wenw/dsh-telegram-channel и расширен механизмами Telegram-гейта агента Hermes.
Быстрый старт:
dsh plugin --profile web add github:todayer/todayer-dsh-telegram-channel
Возможности
- 🧵 Сессии per chat/topic — каждый топик (форум / DM-topic) = отдельная сессия; ответы бота уходят в ту же ветку.
- 📌 Топики —
message_thread_id, корректная отправка в General (1),createForumTopic/editForumTopic/deleteForumTopic; авто-переименование топика по заголовку сессии. - 💬 DM Topics (Bot API 9.4) — топики прямо в личке, каждый = изолированная сессия; лобби-режим корня. (
DSH_TELEGRAM_DM_TOPICS) - 👥 Гейтинг групп —
require_mention,allowed_chats,allowed_topics,free_response_chats/topics,guest_mode,ignored_threads. - 🖼 Медиа-вход/выход — приём фото/видео/голосовых/файлов/стикеров; нативная отправка файлов по тегам
MEDIA:/путь. - ⌨️ Команды —
/new /reset /stop /sessions /last /model /status /unbind /help. - ✅ Статус-индикатор Online/Offline (
setMyShortDescription). - 🛡 Фильтр тулов —
<tool_calls>не утекают в Telegram. - 🔥 Поллинг-устойчивость (конфликт 409 + экспоненциальный backoff).
- 🔘 Choice/clarify —
ask_user_question→ инлайн-кнопки (при доступномuserQuestions). - 🌐 Русский текст всех сообщений бота.
Установка/подключение
Требуются: Node ≥ 22,
dsh webс моделью, бот от@BotFather.
# с этой машины (локально)
dsh plugin --profile web add ./dsh-telegram-channel-local
# из репозитория
dsh plugin --profile web add github:todayer/todayer-dsh-telegram-channel
# или tarball
dsh plugin --profile web add ./dsh-telegram-channel-0.3.5.tgz
Настройка (~/.dsh/telegram.env)
# обязательные
DSH_TELEGRAM_TOKEN=123456789:AA... # от @BotFather
DSH_TELEGRAM_ALLOWED_USER_IDS=123456789 # ваш user id (от @userinfobot)
# опционально — топики/группы
DSH_TELEGRAM_REQUIRE_MENTION=false
DSH_TELEGRAM_ALLOWED_CHATS=
DSH_TELEGRAM_ALLOWED_TOPICS=
DSH_TELEGRAM_FREE_RESPONSE_CHATS=
DSH_TELEGRAM_FREE_RESPONSE_TOPICS=
DSH_TELEGRAM_GUEST_MODE=false
DSH_TELEGRAM_IGNORED_THREADS=
# топики в личке (JSON)
DSH_TELEGRAM_DM_TOPICS=[{"chatId":1212123,"topics":[{"name":"Общее"}]}]
# статус-индикатор
DSH_TELEGRAM_STATUS_INDICATOR=1
DSH_TELEGRAM_STATUS_ONLINE=🟢 Online
DSH_TELEGRAM_STATUS_OFFLINE=🔴 Offline
Пропишите в EnvironmentFile сервиса dsh.service и перезапустите:
sudo systemctl restart dsh.service
Команды бота
| Команда | Назначение |
|---|---|
/start | Справка |
/sessions | Список сессий по рабочим областям + прикрепление |
/new | Создать новую сессию (force-new) |
/reset | Алиас /new |
/last | Прошлый диалог привязанной сессии |
/model | Сменить модель |
/status | Текущая привязка |
/stop | Остановить и отвязать |
/unbind | Отвязаться (без удаления) |
/help | Полный список |
Структура
lib/
bridge.js — основная логика (обработка сообщений, топики, сессии, команды)
client.js — Telegram Bot API клиент (поллинг, файлы, топики)
catalog.js — каталог сессий/рабочих областей
commands.js — команды и сообщения
format.js — форматирование/очистка (в т.ч. stripToolCalls)
history.js — «прошлый диалог»
index.js — регистрация плагина (Config/inject)
...
Лицензия
Оригинал
Основано на hi-wenw/dsh-telegram-channel. Механика расширена по мотивам Telegram-гейта Hermes Agent.