dsh-improved-inline-edit
当你的DSH正在工作时,你可以不用停止对话就可以再次提出要求
- Stars
- 2
- Language
- JavaScript
- Created
- Aug 28, 2026
- Updated
- Aug 29, 2026
Introduction
目录
为什么做这个?
在 DSH使用过程中,你是否经历过这种时刻:
「等等,方向不对!」「先别动那个,先看看这个!」「这部分改一下再继续!」
然后只能:
- 干等 agent 跑完 —— 浪费时间
- 粗暴停止对话 —— 丢失进度和上下文
dsh-improved-inline-edit 让「中断」和「继续」不再互斥:agent 运行时,composer 上方弹出一条「修改要求」输入条,你随时输入要求发送,消息会通过官方 agent.steer() 机制无缝注入到 agent 的下一个决策步骤。
| 现有方案的问题 | 本插件的解决方案 |
|---|---|
| 打断 = 丢失上下文 | 通过 agent.steer() 无缝注入,上下文完整保留 |
| 只能等任务跑完 | 随时插话,agent 下一步就响应 |
| 界面杂乱 | 仅在运行时弹出,运行结束自动消失 |
界面预览
2026.8.29
新增撤回功能: 在消息气泡旁增加「撤回」按钮,未被读取时可撤回,已读取则变灰。

2026.8.29
新增注入引导前缀功能(可选): 开启时发送的消息格式:【修改要求|请基于当前任务继续执行,不要改变任务目标】 + 你的内容

2026.8.28

演示视频(B 站): 点击观看 dsh-improved-inline-edit 使用演示
Deep 短语池
运行中的状态文案来自一个 100 条的 Deep 短语池(借鉴 dsh-deep-verbs 项目并自由扩充)。洗牌袋抽取保证短期不重复,agent 每推进一步/调用一次工具就轮换下一条;点击状态文案可在中/英之间切换。
| 英文 | 中文 | 含义 |
|---|---|---|
| Deep diving... | 深潜中… | 潜水 |
| Deep seeking... | 深度求索中… | deep seek 动词化 |
| Deep delving... | 刨根问底中… | delve into,深入探究 |
| Deep surfacing... | 喷涂彩虹中… | 潜完上浮换气 |
| Deep breaching... | 跃出海面中… | 鲸跃出水(whale logo 致敬) |
| Deep bubbling... | 海底冒泡中… | 在深海冒泡泡 |
| Deep singing... | 引吭高歌中… | 鲸歌 |
| Deep fishing... | 摸鱼中… | 深度摸鱼 |
| Deep sinking... | 沉底中… | 沉下去慢慢想 |
| Deep sleeping... | 呼呼大睡中… | 睡着了(长思考自嘲) |
| Deep napping... | 偷偷打盹中… | 打盹中(长思考自嘲) |
| Deep dreaming... | 白日做梦中… | 做梦中 |
| Deep cooking... | 小火慢炖中… | let me cook |
| Deep baking... | 烘焙中… | 烘焙 |
| Deep brewing... | 酿造中… | 酿造 |
| Deep caramelizing... | 熬糖色中… | 熬糖色 |
| Deep fermenting... | 发酵中… | 发酵 |
| Deep flambéing... | 喷火炙烤中… | 喷火炙烤 |
| Deep frosting... | 抹奶油中… | 抹奶油 |
| Deep garnishing... | 摆盘中… | 摆盘 |
| Deep julienning... | 切丝中… | 切丝 |
| Deep kneading... | 揉面中… | 揉面 |
| Deep leavening... | 发面中… | 发面 |
| Deep marinating... | 腌制入味中… | 腌制入味 |
| Deep proofing... | 醒面中… | 醒面(面团休息=思考) |
| Deep sautéing... | 爆炒中… | 爆炒 |
| Deep seasoning... | 调味中… | 调味 |
| Deep simmering... | 咕嘟咕嘟中… | 咕嘟冒泡 |
| Deep stewing... | 文火炖煮中… | 文火炖煮 |
| Deep tempering... | 回火中… | 回火 |
| Deep whisking... | 打发中… | 打发 |
| Deep zesting... | 削皮中… | 削皮 |
| Deep spelunking... | 洞窟探秘中… | 探洞 |
| Deep burrowing... | 挖洞中… | 往地底钻 |
| Deep ruminating... | 反刍中… | 反刍式思考 |
| Deep incubating... | 孵化中… | 孵蛋等结果 |
| Deep percolating... | 渗滤中… | 咖啡渗滤 |
| Deep honking... | 哔哔鸣笛中… | 鸣笛 |
| Deep noodling... | 瞎鼓捣中… | 瞎鼓捣 |
| Deep doodling... | 涂鸦中… | 涂鸦开小差 |
| Deep waddling... | 摇摇晃晃中… | 摇摇晃晃 |
| Deep frolicking... | 撒欢中… | 撒欢 |
| Deep moseying... | 溜达中… | 慢悠悠溜达 |
| Deep moonwalking... | 太空步中… | 太空步 |
| Deep photosynthesizing... | 光合作用中… | 光合作用发呆 |
| Deep precipitating... | 沉淀中… | 沉淀 |
| Deep combobulating... | 拼拼凑凑中… | 拼拼凑凑 |
| Deep recombobulating... | 重组中… | 重组 |
| Deep levitating... | 悬空冥想中… | 悬空冥想 |
| Deep metamorphosing... | 蜕变中… | 蜕变 |
| Deep zigzagging... | 蛇皮走位中… | 蛇皮走位 |
| Deep boondoggling... | 瞎忙活中… | 瞎忙活 |
| Deep gallivanting... | 到处浪中… | 到处浪 |
| Deep crafting... | 打磨中… | 打磨 |
| Deep forging... | 锻造中… | 锻造 |
| Deep deliberating... | 斟酌中… | 斟酌 |
| Deep inferring... | 推演中… | 推演 |
| Deep puzzling... | 解谜中… | 解谜 |
| Deep reticulating... | 编织中… | 编织 |
| Deep wandering... | 游弋中… | 游弋 |
| Deep meandering... | 漫步中… | 漫步 |
| Deep orbiting... | 绕飞中… | 绕飞 |
| Deep cascading... | 飞瀑中… | 飞瀑 |
| Deep churning... | 翻腾中… | 翻腾 |
| Deep billowing... | 鼓涌中… | 鼓涌 |
| Deep swirling... | 回旋中… | 回旋 |
| Deep undulating... | 起伏中… | 起伏 |
| Deep fluttering... | 扑棱中… | 扑棱 |
| Deep swooping... | 俯冲中… | 俯冲 |
| Deep shimmying... | 扭摆中… | 扭摆 |
| Deep grooving... | 踩点中… | 踩点 |
| Deep lollygagging... | 磨洋工中… | 磨洋工 |
| Deep sprouting... | 冒芽中… | 冒芽 |
| Deep floating... | 漂浮中… | 漂浮 |
| Deep drifting... | 漂移中… | 漂移 |
| Deep soaring... | 翱翔中… | 翱翔 |
| Deep cruising... | 巡航中… | 巡航 |
| Deep excavating... | 挖掘中… | 挖掘 |
| Deep mapping... | 测绘中… | 测绘 |
| Deep decoding... | 解码中… | 解码 |
| Deep encoding... | 编码中… | 编码 |
| Deep compiling... | 编译中… | 编译 |
| Deep bundling... | 打包中… | 打包 |
| Deep testing... | 测试中… | 测试 |
| Deep refactoring... | 重构中… | 重构 |
| Deep calculating... | 心算中… | 心算 |
| Deep sketching... | 起草中… | 起草 |
| Deep outlining... | 列大纲中… | 列大纲 |
| Deep jamming... | 即兴演奏中… | 即兴演奏 |
| Deep riffing... | 炫技中… | 炫技 |
| Deep brainstorming... | 头脑风暴中… | 头脑风暴 |
| Deep hypothesizing... | 假想中… | 假想 |
| Deep probing... | 探测中… | 探测 |
| Deep scanning... | 扫描中… | 扫描 |
| Deep synthesizing... | 综合提炼中… | 综合提炼 |
| Deep prioritizing... | 排优先级中… | 排优先级 |
| Deep optimizing... | 优化中… | 优化 |
| Deep streamlining... | 精简中… | 精简 |
| Deep hardening... | 加固中… | 加固 |
| Deep shipping... | 发货中… | 发货 |
特性
| 特性 | 说明 |
|---|---|
| 真正的实时打断 | 不是发一条新消息,而是直接注入到运行中 agent 的下一步决策(agent.steer() 官方机制) |
| 仅运行中显示 | 输入条只在 agent 运行时弹出;运行结束自动消失,界面零干扰 |
| 输入框自动换行 | textarea 随内容自动增高(上限 140px),长要求不再被截断 |
| 100 条 Deep 短语池 | 运行状态文案随 agent 活动轮换,点击可中英切换 |
| 完美视觉对齐 | 与底部 composer 同宽、左对齐,三层界面整齐一致 |
| 会「让位」的发送按钮 | 发送后按钮丝滑左移让出 √ 的位置,2 秒后自动回位 |
| 零侵入 | 不改任何 @deepseek-ai/dsh-* 源码,卸载干净 |
快速开始
安装
即使没有安装过 DSH,也可以按照下面步骤完成。
1. 安装 Node.js(LTS)
打开 Node.js 官网,下载并安装 LTS 版本,然后关闭并重新打开终端。macOS 使用「终端」,Windows 使用 PowerShell。
2. 安装 DSH 和 pnpm
npm install --global pnpm @deepseek-ai/dsh
3. 确认 DSH 已安装
dsh --version
4. 安装本插件
# 在本插件仓库目录下运行(会自动探测 profile:desktop 优先,否则 web)
.\install.ps1
# 或者手动指定插件源码目录与目标 profile 目录
.\install.ps1 -PluginSource <插件目录> -ProfileDir <你的 profile 目录>
安装脚本会依次完成:
- Junction 链接:把插件包链接到 profile 的
node_modules(与其他 dsh 插件同一约定,省空间;无 Junction 权限时自动退化为复制) - 注册 patch:在 profile 的
cordis.patch.yml里追加一行insert,声明插件 ID 与名称 - 校验解析:确认
exports['./client']能被 DSH 客户端模块系统解析
安装完成后需要完全重启 DSH(结束进程,不是关窗口),然后刷新页面。若 DSH 自带窗口,重启即可。
5. 启动 DSH Web
dsh web
保持终端窗口开启。浏览器通常会自动打开;如果没有,请打开终端中显示的 http://127.0.0.1:端口号。
如果重新打开终端后仍提示 dsh: command not found,请改用:
npx @deepseek-ai/dsh web
提示:若你同时想要插件市场(marketplace),也可以先运行
dsh plugin --profile web add @springbrand/dsh-plugin-marketplace来安装市场插件,再从市场里安装其他插件。
使用
- 让 agent 跑起来(发一条消息)
- composer 上方出现「修改要求」输入条
- 输入你的要求(支持多行),按 Enter 或点 ➤ 发送
- agent 会在下一步决策时带上你的要求继续执行
更新内容
按时间与版本号倒序排列(最新的在最上面)。
v0.2.0
- 撤回功能:消息气泡旁「撤回」按钮(带外框胶囊 UI),未被读取时可撤回,已读取则变灰。
- 草稿持久化:输入内容实时存入 localStorage(按 sessionId),不丢稿。
- 任务结束草稿保留:有内容则输入条保留,发送或清空后消失。
- 注入引导前缀:发送按钮左侧小方块开关(开=勾选),消息加「继续原任务」引导。
v0.1.6
- 按钮推至输入框最右侧,颜色统一走 DSH 主题 token。
v0.1.5
- textarea 自动换行增高(上限 140px),超限显示简约滚动条。
v0.1.4
- 修复
setTimeout崩溃(改 timer 服务);黄色实心圆钮动画。
v0.1.3
- 修复与 composer 左对齐;箭头向上;仅运行中显示。
v0.1.2
- 宽度对齐;√ / ✗ 状态反馈;按钮不被 √ 替换。
v0.1.1
- 接入 deep 短语池(73 条)轮换 + 中英切换。
v0.1.0
- 首个可发布版本:运行中弹出「修改要求」输入条,
agent.steer()注入。
技术实现
dsh-improved-inline-edit/
├── index.js # Host 半部:注册 steer API,调用 agent.steer()
├── client.js # Client 半部:槽位注入输入条 + 前端交互
├── cordis.patch.yml # bundle patch 声明
├── install.ps1 # 一键安装脚本
├── assets/preview.png # 界面预览图
├── LICENSE
└── README.md
- 标准 bundle patch:不改源码,通过 patch 机制注入
- 槽位注入:利用 DSH 的 slot 系统(
conversation.input.dock)在 composer 上方插入输入条 agent.steer():通过官方 steering 机制注入修改指令- 同源 fetch → webServer API:Client 端
fetch调用 Host 端POST /dsh-improved-inline-edit/api/steer,由 Host 端注入消息
贡献
欢迎贡献!如果你有想法或发现问题:
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/amazing) - 提交你的改动 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing)
也欢迎在 Issues 中提出建议或报告 bug。