dsh-improved-inline-edit
当你的DSH正在工作时,你可以不用停止对话就可以再次提出要求
简体中文(默认) | English
目录
为什么做这个?
在 DSH使用过程中,你是否经历过这种时刻:
「等等,方向不对!」「先别动那个,先看看这个!」「这部分改一下再继续!」
然后只能:
- 干等 agent 跑完 —— 浪费时间
- 粗暴停止对话 —— 丢失进度和上下文
dsh-improved-inline-edit 让「中断」和「继续」不再互斥:agent 运行时,composer 上方弹出一条「修改要求」输入条,你随时输入要求发送,消息会通过官方 agent.steer() 机制无缝注入到 agent 的下一个决策步骤。
| 现有方案的问题 | 本插件的解决方案 |
|---|
| 打断 = 丢失上下文 | 通过 agent.steer() 无缝注入,上下文完整保留 |
| 只能等任务跑完 | 随时插话,agent 下一步就响应 |
| 界面杂乱 | 仅在运行时弹出,运行结束自动消失 |
界面预览
2026.8.29
新增撤回功能: 在消息气泡旁增加「撤回」按钮,未被读取时可撤回,已读取则变灰。
撤回功能预览
2026.8.29
新增注入引导前缀功能(可选): 开启时发送的消息格式:【修改要求|请基于当前任务继续执行,不要改变任务目标】 + 你的内容
注入引导前缀预览
2026.8.28
dsh-improved-inline-edit 界面预览
演示视频(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... | 抹奶油中… | 抹奶油 |
特性
| 特性 | 说明 |
|---|
| 真正的实时打断 | 不是发一条新消息,而是直接注入到运行中 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。
许可证
MIT © xiaosurongjia