Back to home@todayer

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
GitHub repo

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/clarifyask_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)
  ...

Лицензия

MIT

Оригинал

Основано на hi-wenw/dsh-telegram-channel. Механика расширена по мотивам Telegram-гейта Hermes Agent.