In the DeepSeek Harness (DSH) ecosystem, plugins are the primary way to extend capabilities. For scenarios that require interacting through Telegram, manual integration is cumbersome. The winada82/dsh-telegram-bridge plugin provides a configuration package that bridges Telegram with DSH through a single tool call.

Plugin Overview

This is a DSH configuration package maintained by winada82, containing a Telegram ↔ DSH bridge tool. After installation, the DSH model gains the install_telegram_bridge tool, used to register and start the bridge. The plugin follows the MIT license.

Core Features

The plugin provides the following core capabilities:

  • Message routing: long-polls the Telegram Bot API, routes received chat messages to DSH subagents, and sends agent replies back to the original chat.
  • Interactive feedback: provides real-time status indicators while processing, including typing actions and an editable “⏳ Processing…” message with elapsed time.
  • Command support: includes multiple built-in commands, such as /model (switch models), /new (start a new conversation), /reset (clear context), and /status (check bridge health), with interactive inline keyboards. These commands are automatically registered in the Telegram client’s / suggestion menu.
  • Diagnostics support: persists diagnostic files (.tg-bridge-diag.json) in a host-writable working directory, which can be used to inspect polling cycles, errors, and the resolved sandbox policy.

Installation and Enablement

Run the following command in the DSH profile directory where you want to use the plugin:

dsh plugin add github:winada/dsh-telegram-bridge

After installation, restart the DSH process or reload the configuration for the install_telegram_bridge tool to take effect.

Configuration and Usage

Before use, prepare a Telegram Bot Token (which can be created via @BotFather) and at least one allowed chat ID (which can be queried using @userinfobot).

In a DSH session, send the following instruction to the model:

Install the Telegram bridge. My bot token is “:” and my chat id is “5805491987”.

The model calls the install_telegram_bridge { bot_token, allowed_chat_ids: [...] } tool. After the tool returns a new Plugin ID and Package ID, the bridge immediately begins polling.

If you need to change the token or adjust the allow list, ask the model to run install_telegram_bridge again.

Environment Requirements

The plugin uses pwsh Invoke-WebRequest for HTTPS communication. Because it needs to access api.telegram.org, ensure that the current session’s resolved session policy allows child processes to make TLS connections. The default workspace-write policy blocks this connection, so the policy must be set to danger-full-access (or an equivalent value).

If this requirement is not met, installation succeeds, but polling is interrupted by SSL connection failures. In this case, check the reply from the /status command and the sandbox-policy setting in the profile’s cordis.patch.yml.

Known Limitations

  • Process model: dynamic plugins live in process memory. After DSH restarts, the plugin disappears and install_telegram_bridge must be invoked again.
  • Context management: per-chat model overrides are stored only in memory and are lost on restart. Conversation history for each chat is limited to 12 turns.
  • Transport performance: each HTTP call launches a pwsh process. Polling cycles take about 3–6 seconds, and poor network conditions may cause blocks of up to 30 seconds. This is suitable for personal use, not for high-throughput message distribution.

Conclusion

winada82/dsh-telegram-bridge provides a convenient Telegram interaction entry point for DSH. By configuring the correct sandbox policy, developers can use DeepSeek models directly in Telegram. For more details and source code, see its GitHub repository.