DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

X Message Edit — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
X

dshx-message-edit

X Message Edit

Edit a sent prompt or an assistant reply inside an existing DSH conversation, then regenerate from that point — in place, without forking a new session.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:callaumyan-design/dshx-message-edit#ff21a3086ee4c35d318aed9155dafb1abede74b8
READMECompatibilityVersions

Compatibility and provenance

X Message Edit is published as dshx-message-edit and currently resolves to version 1.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/19/2026

Versions

1.3.0stable
10/19/2026

Related plugins

Loading related plugins…

Latest
1.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/19/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek HarnessAb Memorydsh-ab-memory--- description: "The dsh-ab-memory package: a cross-session, file-backed agent memory with five tools (remember / recall / forget / load_skill / distill) and an always-on light injection." kind: "package-reference" ---Weknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.

README

dshx-message-edit

在 DSH 会话里编辑你发过的提示词并重新生成,或编辑 AI 的回复。界面风格与 ChatGPT 网页版类似:

  • 铅笔「编辑」按钮放在消息原生操作栏里,与「复制」「分支」并列,样式也一致;
  • 编辑后直接替换原来的显示;
  • 消息有多个版本时,铅笔旁会出现 ‹ 2/3 ›,可以在原文和各次修改之间切换。

目标版本:DSH 0.2.0-rc.2。后端用真实 dsh-session 测试过,前端做过加载冒烟测试。

用法

对象操作效果
你的提示词悬停 → 操作栏里的铅笔用新提示词重新生成;原提示词和其后的对话被隐藏,原位显示新提示词和新回答。用 ‹ › 切回旧版本查看
AI 回复回复下方操作栏里的铅笔回复原地显示为修改后的文字,模型此后也读这个版本;后续对话保留。用 ‹ › 查看原文或历次修改

编辑框读取完整原文;Ctrl+Enter 保存,Esc 取消。

实现

  • 按钮:提示词的按钮通过 portal 放进原生操作行 [data-clock="start"];回复的按钮走 Chat 提供的 conversation.chat.assistant-actions 插槽。按钮直接复用相邻原生按钮的 class, 因此大小、颜色、悬停效果都和原生按钮相同。
  • 原地替换显示:以更低的 priority 注册 conversation.chat.node 的 user 和 assistant-step 渲染器。按插槽系统规则,priority 越低越优先渲染,所以会先渲染本插件的包装组件。 包装组件内部仍渲染 Chat 原本的组件,只是修改了传入的数据,所以外观不变。 包装组件一旦出错,宿主的错误边界会自动退回原渲染器。
  • 提示词版本:撤回说明那条 user/message(宿主已知的事件类型)在 source 里带上 fromId / rpcId,把旧提示词链接到新提示词,由此串成版本链。每个版本各开一个回合,切换时用生成的 CSS 把其它版本对应的回合([data-chat-turn])隐藏掉。
  • 模型侧:编辑提示词时,用一次 surfaceOp: replace 把旧提示词以及它之后的所有节点替换成一句说明, 然后通过 sessionController.prompt() 发送新提示词。 编辑回复时,把修改写进插件自己的侧文件 %DSH_HOME%\dshx-message-edit\overrides\<sessionId>.json (未设 DSH_HOME 时为 ~/.dsh),再通过 llm/stream waterfall 在请求发给模型前改写: 只替换 text 块,reasoning 和 tool-call 块保留。
  • /state 只读,不会恢复冷会话。冷会话通过 sessionController.inspect() 读取日志, 所以历史版本照样可以切换。

为什么不再写自定义会话事件(v1.3.0)

宿主读取会话日志时,遇到不认识且没有标记 ignorable: true 的事件类型,会拒绝加载整个会话; 而 session.append() 不允许插件设置这个标记。v1.2.0 写入的 dshx-message-edit/prompt-edit 和 dshx-message-edit/override 因此会让编辑过的会话报「历史加载失败」。从 v1.3.0 起,插件只写宿主已知的事件类型。 旧日志里的这两类事件修复成 ignorable: true 后,旧的编辑历史仍然能读出来。

这一点用真实 dsh-session 0.2.0-rc.2 测试过:每次编辑后都用宿主的 validateStoredEvents 检查,日志都能正常加载。

已知限制

  • 切换只改变显示:模型始终读取最新版本。想让模型基于旧版本继续,请再编辑一次。
  • 修正提示词只保留文本,原消息里的图片等附件不会带过去。
  • 卸载本插件后,会话仍能正常加载;界面退回显示原始回复,模型也读原始回复(侧文件里的修改不再生效)。
  • 回复的修改存在侧文件里:只拷贝会话日志到别处时,这些修改不会跟着走。
  • 正在生成时编辑提示词,会先停止当前生成。

安装

# Web profile
dsh plugin --profile web add github:callaumyan-design/dshx-message-edit
# Desktop(用 DSH Desktop 自带的 dsh 命令,先从托盘完全退出 Desktop)
dsh plugin --profile desktop add github:callaumyan-design/dshx-message-edit

安装后重启 DSH。卸载:dsh plugin --profile <profile> remove dshx-message-edit。

License

MIT