DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Telegram Duty — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@luzhengyangtx/dsh-telegram-duty

Telegram Duty

DeepSeek Harness 的 Telegram 值班网关:通过长轮询将 Telegram 接入专用值班会话,在值班期间转发全局审批,并提供本地/值班监视切换。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:luzhengyangtx/dsh-telegram-duty#b6b1784f1a4356b28532670f5e3508fd5c0a10ad
README兼容性版本

兼容性与来源证明

Telegram Duty 以 @luzhengyangtx/dsh-telegram-duty 发布,当前版本为 0.5.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/20

版本

0.5.0stable
2026/9/16
0.4.0stable
2026/8/15
0.3.1stable
2026/8/15
查看其余 8 个版本收起版本
0.3.0stable
2026/8/15
0.2.4stable
2026/8/15
0.2.3stable
2026/8/15
0.2.2stable
2026/8/15
0.2.1stable
2026/8/15
0.2.0stable
2026/8/15
0.1.1stable
2026/8/15
0.1.0stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.5.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 5
周下载
313
最近提交
2026/9/16
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Im@xmanrui/dsh-im将十一种 IM 渠道和一个公网 AI Office 接入本地 DeepSeek Harness。Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。

README

dsh-telegram-duty

Turn DeepSeek Harness (DSH) into your always-on pocket duty office: message a Telegram bot from your phone, the duty agent gets to work, and the result comes back to your phone. Idle cost is zero tokens — the plugin long-polls getUpdates and only wakes an agent when a message arrives.

中文说明

Requirements

DeepSeek Harness ≥ 0.1.2-rc.1 is required. Since v0.5.0 the plugin reads session history through the session.snapshotEvents() API, which does not exist in 0.1.1-rc.2 and older (it was introduced in dsh-v0.1.2-rc.1). If you are on 0.1.1-rc.2 or older, stay on npm 0.4.0 — the latest version will fail to load there.

Quick Start (≈10 minutes)

  1. Create a bot — chat with @BotFather, send /newbot, and copy the token (looks like 123456:ABC...).

  2. Find your chat id — send any message to @userinfobot (or to your new bot) and read the numeric id.

  3. Install the plugin — from inside a DeepSeek Harness checkout:

    dsh plugin --profile web add @luzhengyangtx/dsh-telegram-duty
    
  4. Configure — add to C:\Users\<you>\.dsh\profiles\web\cordis.patch.yml:

    - id: telegram-duty
      config:
        token: '123456:YOUR-BOT-TOKEN'   # step 1
        chatId: 123456789                # step 2 (whitelist)
        language: zh                     # or en
    
  5. Restart dsh web and send any message to your bot from the phone. Done — the duty agent answers.

While on duty, the web UI shows a banner telling you approvals are forwarded to your phone, with a one-click switch back.

Features

  • 📱 Task loop — Telegram message → dedicated "duty" DSH session (its agent has the standard tool set) → final reply back to Telegram; long replies are split under Telegram's message limit.
  • ⏳ Instant feedback — every task message is acknowledged immediately ("📨 Received, generating…") and the phone keeps showing the "typing…" animation until the result arrives; errors report a clear "⚠️ Processing error".
  • 🎯 Targeted sessions — /sessions lists your workspace sessions (live and offline, matching the web sidebar; blank drafts are hidden) with numbered buttons: tap one to route following messages there. Prefix one message with #N to send just that one to session N. /duty returns to the default duty route. Offline sessions are woken automatically on the first targeted message.
  • 🔐 Whitelist — only your own chat id is served; other senders are logged and ignored.
  • ✅ Global approval forwarding — in duty mode, approval requests from all sessions go to your phone with [✅ Approve] [⛔ Reject] buttons (tap to answer; typing 3 approve / 3 reject still works). Unanswered approvals time out to rejected (fail-closed, 10 minutes by default). /away warns when the web UI still holds unanswered approvals, and /unblock cancels turns stuck on them.
  • ❓ telegram_ask tool — when an agent needs you to choose between options, confirm something, or supply missing information, it pushes the question to your phone with one button per option; the duty agent is prompted to prefer it.
  • 📣 telegram_notify tool — any session's agent can proactively push a message to your phone (reports, reminders, notifications), no waiting required.
  • 🔀 Duty / local toggle
    • Enter duty: send any phone message, send /away, or flip watchMode in the web settings.
    • Back to local: send any message in the web UI, or send /back.
    • In local mode approvals stay in the web popup; in duty mode the popup is paused.
  • 🚩 Duty banner — while on duty, a frame-wide web banner shows "approvals are on your phone" with a one-click switch back.
  • 📱 Sidebar duty button — a "Duty" action beside Settings opens the duty session in one click (creating/waking it when needed), with a live status dot (amber on duty, gray locally).
  • 🗂 Durable — the cursor and the watch mode persist across restarts; backlog is fast-forwarded on the very first run only.

Configuration

All fields live in the telegram-duty settings namespace (the web Settings page shows it, or put them under the patch row's config:).

FieldDefaultMeaning
token—Bot token (marked secret; never shown in settings UIs). Alternatively set credentialsFile to a JSON file with token / chat_id / proxy.
chatId—Whitelisted chat id.
proxy(empty)HTTP proxy used for Bot API calls. Leave empty for a direct connection — only set a local proxy (e.g. http://127.0.0.1:7890) when Telegram is blocked in your network, and keep that proxy running.
sessionIdtelegram-dutyStable DSH session id; created on first message.
dutyCwdprocess cwdWorkspace directory of the duty session.
approvalTimeoutMinutes10Unanswered approvals are rejected after this.
watchModelocallocal (web popups) or duty (approvals to Telegram).
languageenLanguage of all Telegram messages: en or zh.
dataDir<DSH_HOME>/storages/telegram-dutyOffset persistence directory.
credentialsFile—Optional JSON file { token, chat_id, proxy } for credentials defaults.
replyChunkChars3800Split threshold for long replies (Telegram limit 4096).

Phone commands

  • /help — usage
  • /sessions — list your workspace sessions (live + offline) with numbered buttons; tap a number to route following messages there
  • #N message — send just this one message to session N (numbering from the latest /sessions; expires after 30 minutes)
  • /duty — back to the default duty-session route
  • /away — enter duty mode (approvals go to the phone); warns about approvals the web UI still holds
  • /unblock — cancel turns stuck on unanswered web approvals (resend the task afterwards)
  • /back — return to local mode
  • 3 approve / 3 reject — answer approval #3; with a single pending approval, bare approve/reject works too.

FAQ

  • My bot doesn't reply. Check in order: ① token and chatId are correct; ② you have sent /start to the bot at least once (bots cannot message first); ③ the DSH log shows no telegram-duty errors; ④ watchMode/language behave as expected.
  • How do I find my chat id? Send any message to @userinfobot; it replies with your numeric id.
  • Do I need a proxy? No — the plugin connects directly by default. Set proxy (e.g. http://127.0.0.1:7890 for Clash) only when your network blocks Telegram, and keep that proxy running while DSH is up.
  • Does it cost tokens while idle? No. The plugin long-polls getUpdates; an agent is woken only when a message arrives.
  • Does it work when my computer is off? No — the plugin runs together with DSH. Nothing is lost across restarts (the update cursor is persisted to disk).
  • What arrives on my phone? Task results with instant acks and a live typing indicator, approval requests from any session (in duty mode), agent questions (telegram_ask), and proactive agent messages (telegram_notify).
  • Will the bot answer messages in groups? No — the whitelist only serves your own chat id; everything else is logged and ignored.
  • Why does /sessions not list all my sessions? It lists your workspace sessions exactly like the web sidebar: blank drafts are hidden, and sessions appear live (空闲/忙碌) or offline (离线 — woken on the first targeted message). The internal duty session is never listed; the default route is the duty session anyway.
  • How do I update the plugin? Run dsh plugin --profile web add @luzhengyangtx/dsh-telegram-duty@<version> (or bump the dependency in your profile's package.json).

Roadmap

StatusItemTier
✅ shipped (v0.4.0)targeted sessions (/sessions / #N / /duty) · instant ack + typing · telegram_notify · approval recovery (/unblock) · sidebar duty button · bigger banner · zh/enfree
🚧 planned (v1.x)voice-message notes, more handy utilitiesfree
🔭 preview onlymulti-platform (Feishu / WhatsApp / …), team & multi-user mode, cloud hosting, priority supportpro (future)

Free forever: Telegram duty, global approval forwarding, duty/local toggle, web duty banner, zh/en. The pro row is only a preview — no pro code exists yet; it marks the direction of a future commercial edition.

Custom Services

Need help onboarding, configuration, connecting other platforms, or bespoke features? Email dsh-telegram-duty@outlook.com. Typical engagements start at ¥500 (integration + configuration + Q&A); complex work is quoted case by case. Scope of delivery (working setup + docs + basic Q&A) is agreed before the work starts.

Community & Support

  • 💬 Telegram group: https://t.me/+w8w7kAnGniRhZTJk
  • 💝 Sponsor on Ko-fi: https://ko-fi.com/luzhengyangtx
  • 💝 Sponsor on 爱发电 (afdian): https://afdian.com/a/luzhengyangtx
  • ⭐ GitHub: https://github.com/luzhengyangtx/dsh-telegram-duty

Dev

pnpm --filter "@luzhengyangtx/dsh-telegram-duty" run typecheck
node_modules\.bin\vitest.cmd run packages/interaction/telegram-duty/tests

# channel self-check against a real bot:
$env:TG_CREDS='C:\path\to\config.json'
node --import tsx/esm packages/interaction/telegram-duty/scripts/check-telegram.ts

License

MIT. The session-driving pattern (resume/create + summarize) follows @kriskwok/dsh-feishu-gateway (MIT) — see LICENSE.

getUpdates
  • 🌐 English & Chinese — every Telegram message respects the language setting (zh | en, default en).
  • 🌍 Direct-connection friendly — connects directly by default; configure proxy only when Telegram is blocked in your network (see the table below).