🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

编辑上条消息 WyxBUPT-22/dsh-plugin-edit-message

DeepSeek Harnessv0.1.5
WyxBUPT-2254 天前有提交已提供中文文档扫描:未发现敏感能力

一键把上条消息载回输入框,改完直接重发

32.9/100
综合分
5
GitHub 星标
42
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plugin-edit-message
npm 源 · dsh-plugin-edit-message 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 54 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-plugin-edit-message @ 0.1.5
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 12:41:36

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 载回上条消息
  • 修改后重发

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-edit-message English · 中文 DSH(DeepSeek Harness)Web GUI 插件:智能体回复被中断后,一键把最后一条用户消息文本载回输入框,改完直接发送——不用再重新打一遍。 为什么做这个 发出一条消息、停止回复、想稍微改一下再重新问,目前只能把整段提示词重新打一遍。本插件在输入框工具行加了一个「编辑上一条消息」按钮:点击后把最后一条用户消息的文本原样载入输入框并聚焦,直接修改、发送即可。 它是纯客户端插件——会话日志保持只追加(append-only)。发送编辑后的文本会作为新的一轮追加(原消息和被中断的回复仍保留在记录里)。它完全不触碰 host、会话日志或 agent 循环。 安装 插件以 dsh.bundle + dsh.client 包形式发布,适用于任何能加载第三方 bundle 的 DSH 环境(源码 dsh web、DSH Desktop、自定义 profile)。 从 npm 安装(已发布,推荐) dsh plugin --profile web add dsh-plugin-edit-message 装完后完全退出并重新打开 GUI——客户端插件 bundle 在启动时注册。
展开完整文档(README 剩余 1 节)
dsh-plugin-edit-message

English · 中文

DSH(DeepSeek Harness)Web GUI 插件:智能体回复被中断后,一键把最后一条用户消息文本载回输入框,改完直接发送——不用再重新打一遍。

为什么做这个

发出一条消息、停止回复、想稍微改一下再重新问,目前只能把整段提示词重新打一遍。本插件在输入框工具行加了一个「编辑上一条消息」按钮:点击后把最后一条用户消息的文本原样载入输入框并聚焦,直接修改、发送即可。

它是纯客户端插件——会话日志保持只追加(append-only)。发送编辑后的文本会作为新的一轮追加(原消息和被中断的回复仍保留在记录里)。它完全不触碰 host、会话日志或 agent 循环。

安装

插件以 dsh.bundle + dsh.client 包形式发布,适用于任何能加载第三方 bundle 的 DSH 环境(源码 dsh web、DSH Desktop、自定义 profile)。

从 npm 安装(已发布,推荐)

dsh plugin --profile web add dsh-plugin-edit-message

装完后完全退出并重新打开 GUI——客户端插件 bundle 在启动时注册。

DSH Desktop 用户:Desktop 的 DSH_HOME 位于 %APPDATA%\dsh-desktop\harness,需显式指定:

DSH_HOME="${APPDATA}/dsh-desktop/harness" \
dsh plugin --profile web add dsh-plugin-edit-message

然后退出重开 DSH Desktop。

从 GitHub 或本地源码安装(未发布版本)

GitHub 仓库
dsh plugin --profile web add git+https://github.com/WyxBUPT-22/dsh-plugin-edit-message.git

本地 checkout(先 pnpm install && pnpm run build)
dsh plugin --profile web add /path/to/dsh-plugin-edit-message

从源码构建安装

仓库完全自包含:devDependencies 从 npm 解析官方 harness 客户端包,不需要任何 deepseek-harness checkout。

pnpm install # 从 npm 拉取官方客户端包
pnpm run build # 产出 lib/index.js + lib/client.js + lib/types
dsh plugin --profile add /path/to/dsh-plugin-edit-message
dsh --profile

卸载:dsh plugin --profile remove dsh-plugin-edit-message。dsh plugin 的完整用法参见官方 checkout 的 docs/user/develop/basic/publish.md。

工作原理

- 注册一个客户端插件(dsh.client manifest,platform: web),向官方 conversation.input.left(输入框工具行左侧,一个文档化的多插件 list 插槽)贡献一个条目——官方代码零改动。
- 按钮仅在以下条件同时成立时显示:会话空闲、存在最后一条用户/steering 消息、且该消息为纯文本(草稿图片是浏览器 File 引用,无法从持久化日志中复活,因此含图片的消息保持仅复制)。
- 点击行为:inputActions.setDraft(text) 恢复文本并聚焦输入框。当部署的运行时暴露 inputActions.focus 时优先使用它,否则聚焦可编辑表面——harness 0.1.2+ 上是 [data-composer-input](Lexical 驱动的 contenteditable),旧版 composer 作为最后回退。
- 卸载插件(dsh plugin remove dsh-plugin-edit-message)后,功能完全消失,工具行恢复官方原样。

兼容性

本插件跟随 harness 客户端契约,而该契约在 0.1.2 这条线上被改了两次:

1. 0.1.2-alpha 把单体包 @deepseek-ai/dsh-client-runtime 拆成 dsh-client-store 加 dsh-client-ui-* 一族,同时会话记录从 SessionSnapshot(其 chat 字段已不存在)搬到了按 Conversation binding 发布的 Chat target 上,需经 useChat 标准 hook 读取。
2. 0.1.2-rc.1 不再给输入框工具行传 InputZone owner props:宿主现在调用的是
renderSlot("conversation.input.left", {})。因此会话生命周期改从 useSession
标准 hook 读取 —— 该 hook 由 ui-session 提供,0.1.2 全系每个 session 作用域插槽都有。

| 插件版本 | Harness / DSH Desktop | 读取方式 |
| 0.1.5+ | 0.1.2-alpha.1 … 0.1.2-rc.1(Desktop 0.7.x / 0.8.x) | useChat + useSession,不依赖任何 owner props |
| 0.1.4 | 0.1.2-alpha.1 … 0.1.2-alpha.5(Desktop 0.7.x) | useChat + InputZone owner prop |
| ≤ 0.1.3 | 0.1.0-rc.x(Desktop ≤ 0.5.0) | session.chat |

两次破坏对旧版本都是静默失败 —— 按钮直接不出现,控制台里是这样:

slot entry crashed in 'conversation.input.left':
TypeError: Cannot read properties of undefined (reading 'order') // ≤ 0.1.3 跑在 0.1.2-alpha TypeError: Cannot read properties of undefined (reading 'running') // 0.1.4 跑在 0.1.2-rc.1

与"原处替换编辑"(Codex 风格)的差异

在原处替换并截断日志尾部属于更大的设计(日志截断语义、压缩检查点、会话日志格式、双 SDK 投影),有意不在此范围。本插件提供交互价值——编辑文本、重新发送——且零副作用。

开发

pnpm run typecheck # tsc --noEmit(strict)
pnpm run test # vitest(逻辑矩阵 + 组件行为)
pnpm run build # tsdown → lib/client.js + 类型声明

pnpm publish 会先自动执行 prepublishOnly(typecheck + test + build)。

License

MIT

友情链接

https://linux.do
预览分享卡片长什么样 ↓WyxBUPT-22/dsh-plugin-edit-message
分享 · DeepSeek Harness Hub
WyxBUPT-22/dsh-plugin-edit-message

一键把上条消息载回输入框,改完直接重发

这是你的仓库?认领条目

回到顶部