dsh-im-bubble
IdentifiedRegisters im_say, a tool that sends each call as its own IM message through dsh-im's proactive delivery service, so a single reply can arrive as several bubbles instead of one block; im_targets and im
dsh-im-bubble
English
Split one reply into several IM bubbles.
@xmanrui/dsh-im sends the final answer as one message, and only splits it when
it exceeds 1,800 characters. There is no way for the model to say "this sentence
belongs in its own bubble". This plugin adds that: it registers a tool that sends a
piece of text immediately through dsh-im's public proactive-delivery service
(ctx.dshIm.send), so each call lands as a separate message before the final reply.
It does not replace or patch dsh-im. It only calls the documented delivery
contract, so upgrading dsh-im does not break it.
Tools
| Tool | What it does |
|---|---|
im_say | Send one piece of text as its own message right now. Optional botId / targetId / format (plain, markdown). |
im_targets | Read-only list of connected bots and their delivery targets. Use it when im_say reports an unknown or ambiguous target. |
im_target_add | Create a delivery target (so im_say knows who to send to) without clicking through the settings UI. |
im_say resolves the target in this order: the arguments you pass → the plugin
config (botId / targetId) → the only target that exists. With zero targets it
tells you to create one; with several it lists them and asks you to pick.
Requirements
@xmanrui/dsh-im(or a compatible fork) installed and at least one bot connected.- One delivery target for that bot, created either in Settings → IM bots → ⚙ → New
target, or with
im_target_add.
Install
dsh plugin add dsh-im-bubble
From source:
dsh plugin add git+https://github.com/nolighter/dsh-im-bubble.git
Or copy the folder into <dsh profile>/node_modules/dsh-im-bubble and append to
cordis.patch.yml:
- insert:
- id: dsh-im-bubble
name: dsh-im-bubble
Config
Optional, set through the plugin config in the DSH settings (or in the patch entry):
- insert:
- id: dsh-im-bubble
name: dsh-im-bubble
config:
botId: wx_xxxxxxxxxxxxxxxx
targetId: tgt_xxxxxxxxxxxxxxxx
Notes
- The channel still sends the final answer itself.
im_sayis for the extra bubbles; using it for the whole answer duplicates the text. - A target id is stable and cannot be edited after creation. Delete and recreate if the route is wrong.
im_target_addaccepts the route as JSON. For WeChat the shape is{"toUserId":"..."}withkind: "user"; other channels differ per dsh-im's own validation.
License
MIT
中文
把一条回复拆成好几个气泡发出去。
@xmanrui/dsh-im 的最终回复只会作为一条消息发出,而且只有超过 1800 字才会
按换行切段。模型没法主动说「这一句单独发」。这个插件补上这一块:它注册的工具
直接调用 dsh-im 公开的主动投递服务 ctx.dshIm.send,每调一次就是一条独立消息。
它不替换也不修改 dsh-im,只调用已公开的投递契约,所以 dsh-im 升级不会冲突。
工具
| 工具 | 作用 |
|---|---|
im_say | 立刻把一段文本作为独立消息发出。可选 botId / targetId / format(plain、markdown)。 |
im_targets | 只读列出已连接的机器人和它们的投递目标。im_say 说找不到或目标不唯一时用它确认。 |
im_target_add | 新建一个投递目标(告诉 im_say 发给谁),不用去设置界面点。 |
im_say 找目标顺序:参数 → 插件配置(botId / targetId)→ 当前唯一的目标。
一个目标都没有时会提示去建;有多个时会列出来让你选。
依赖
- 已安装
@xmanrui/dsh-im(或兼容分支),并至少连接了一个机器人。 - 该机器人下有一个投递目标:在 设置 → IM机器人 → ⚙ → 新建目标 建,或者用
im_target_add建。
安装
dsh plugin add dsh-im-bubble
从源码装:
dsh plugin add git+https://github.com/nolighter/dsh-im-bubble.git
或者把目录复制到 <dsh profile>/node_modules/dsh-im-bubble,再在
cordis.patch.yml 末尾追加:
- insert:
- id: dsh-im-bubble
name: dsh-im-bubble
配置
可选,写在插件配置或 patch 条目里:
- insert:
- id: dsh-im-bubble
name: dsh-im-bubble
config:
botId: wx_xxxxxxxxxxxxxxxx
targetId: tgt_xxxxxxxxxxxxxxxx
注意
- 最终答复仍由通道自己发送。
im_say只负责多出来的那些气泡;用它发整段答复会重复。 - 目标 id 建好之后不能改。路线填错了就删掉重建。
im_target_add的 route 是 JSON 字符串。微信的形状是{"toUserId":"..."}配kind: "user";其他渠道按 dsh-im 自己的校验来。
许可
MIT
Comments
Loading…
Similar plugins
by Tangcuyu4
DSH IM 主动消息守护进程:不定时发家常主动消息,抖动间隔、免打扰时段、日预算、防重复
★ 0
JavaScript
Oct 8, 2026
dsh plugin --profile web add dsh-im-aliveby wuuuuu123-32
Emails you when a long turn finishes or errors, when a goal completes or blocks, and when an approval or a question has waited past a timeout; each new notification deletes the previous one from the i
★ 0
MIT
JavaScript
Oct 17, 2026
dsh plugin --profile web add dsh-mailbox-notifyby MichengAI
DSH IM Connect — 将主流即时通讯平台接入本机 DeepSeek Harness · Connect major messaging platforms to local DeepSeek Harness agents
★ 102
↓ 13.8k/wk
Apache-2.0
JavaScript
Oct 28, 2026
dsh plugin --profile web add @michengai/dsh-im-connectby PerryLink
Pushes DSH approval and question cards to IM channels (WeChat first) and answers them from chat, with a session console, per-channel security, and an open push service.
★ 3
↓ 699/wk
Apache-2.0
TypeScript
Oct 27, 2026
dsh plugin --profile web add dsh-reachby BiBoyang
DSH 插件:把 DeepSeek Harness 桥接到 IM(v0.1 微信/iLink;钉钉/飞书/Telegram 预留)。turn/approval 推送 + 远程批准/注入,持久去重/收敛分段/合并窗口。
★ 11
TypeScript
Aug 13, 2026
dsh plugin --profile web add dsh-im-bridgeAnnotate on selection, persist through refresh; send the notes with your message and the model answers each one.
★ 0
↓ 69/wk
dsh plugin --profile web add dsh-inline-comments