一键把上条消息载回输入框,改完直接重发
32.9/100
综合分
5
GitHub 星标
42
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plugin-edit-messagenpm 源 · dsh-plugin-edit-message 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
WyxBUPT-22/dsh-plugin-edit-message
一键把上条消息载回输入框,改完直接重发
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目