A native DSH client UI plugin that recalls sent-but-unread interjected text messages (one-by-one or all at once) via the official session.updateQueue RPC, with zero configuration.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-08-29
License
MIT
01What can it help you accomplish?
Recall text you sent mid-run (an interjected 'steering' message) before the model reads it
The targeted message is removed from the conversation (inbox / queue) with a '已撤回一条消息' confirm prompt — one message at a time or all at once
DeepSeek Harness users who send interjected text during a run and want to cancel half-formed messages before the model claims them
See every sent-but-unread interjection in one place during a run
An unread-message band above the input box listing all 'steering' placement messages not yet read by the model, with per-message preview text
DSH operators who want a clear view of pending interjections they can still pull back
02How to install into DeepSeek Harness
Installation steps
- 01
Enable the plugin in the DSH plugin marketplace (dsh-market) or the plugin management page — the unread-message band takes effect immediately and no launcher menu is involved.
Verify the integration
Not specified by the author
03DSH integration and capability boundaries
Native DSH client UI plugin — mounts an unread-message band in the `conversation.input.dock` slot and recalls messages via the official `session.updateQueue` RPC.
Unread-message band
all sent-but-unread 'steering' placement messages in the active session→a band above the input box listing each pending interjection with preview text
Recall a single message
one unread 'steering' message→the message is removed from the conversation and a '已撤回一条消息' prompt is shown
removes the message from the Agent inbox / session queue snapshotRecall all unread messages
multiple unread 'steering' messages→all pending interjections removed at once via a single action
04Who is it for? When not to use it?
Good for
- DeepSeek Harness users who send interjected text during a run and want to cancel half-formed messages before the model claims them
- DSH operators who want a clear view of pending interjections they can still pull back
Not for
- Only messages the model has not yet claimed (read) can be recalled. Once the model starts reading a message it automatically leaves the band and can no longer be recalled — strictly 'unread-only'.
05Compatibility, maintenance and safety notes
- Only messages the model has not yet claimed (read) can be recalled. Once the model starts reading a message it automatically leaves the band and can no longer be recalled — strictly 'unread-only'.
- Recall fails if the message has already started sending. The plugin shows a clear prompt on failure and degrades gracefully without breaking the session.
MIT · no tagged release (latest_release: null); last push 2026-08-19
06Frequently asked questions
How do I install dsh-recall-unread?
Enable it in the DSH plugin marketplace (dsh-market) or the plugin management page. The unread-message band takes effect immediately and there is no launcher menu to configure.
Which messages can I recall?
Only messages the model has not yet read — the 'steering' placement interjections still sitting in the Agent inbox. Once the model claims (starts reading) a message it leaves the band and can no longer be recalled.
How does recall work internally?
The recommended static version calls the official session RPC `session.updateQueue(itemId, { kind: 'remove' })`, the same call the official queue dock uses for its delete button. A dynamic version uses an in-package private RPC that calls `agent.inbox.remove`.
What if a recall fails?
If the message has already started sending, recall fails; the plugin shows a clear prompt and degrades gracefully without breaking the session.
Does it need any configuration?
No. After enabling it in the plugin marketplace the band is active immediately; disabling unloads it entirely. It depends on no launcher menu.
07Related DSH workflows
dsh-better-sidebar
by omdsh-dev
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
dsh-tui
by ccch1mneyyy
Claude Code 风格全屏终端 TUI:像素鲸鱼顶栏、双流光大字、实时工作状态行、思考流式展开、双击 Esc 时间回溯、上下文进度条 + TPS 仪表;接入 Agent preset(standard/code/minimal/cordis)、Skills、MCP、Goals、Todos、子代理,/ 命令注册表与随附技能(audit/bug/review/practice/pr_comments/release-notes/vuln-check);纯插件挂载零核心改动。
openpets
by alvinunreal
Local first, desktop companion platform with animated pets, plugin SDK and coding-agent integrations.
dsh-tianshu-tui
by huiliyi37
DeepSeek Harness 交互式终端 UI 插件:会话工作区、图片端到端(剪贴板/视觉桥)、slash 下拉、审批卡片、推理可视化,纯展示层
08Data and sources
**未读消息条带**:在输入框上方(`conversation.input.dock` 插槽)列出所有已发送但模型尚未读取的插话消息(`placement: 'steering'`)。
**静态版(推荐)**:Client 直接调用官方会话 RPC `session.updateQueue(itemId, { kind: 'remove' })`(与官方队列坞的「删除」同一实现)。
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-08-29. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
