前言¶
在 DeepSeek Harness(DSH)里使用斜杠命令时,常见的问题不只是“命令能不能执行”,还包括命令名怎么补全、参数格式怎么提示、tool 开启的会话(subagent)里为什么没有命令选项、空对话里执行命令后输出和头部按钮为什么不正常。
下面介绍 csiroqa/dsh-command-opt。它是一个 DSH 命令优化插件,主要覆盖命令名补全、参数格式引导、命令提示弹框、subagent 会话补丁和空对话命令输出修复。
这是什么¶
dsh-command-opt 是 DSH 命令优化插件:
- Tab/Enter 补全命令名
- 参数格式引导与提示弹框
- tool 开启会话(subagent)补丁
- 空对话命令输出修复
仓库地址为:
https://github.com/csiroqa/dsh-command-opt
维护者为 csiroqa,许可证为 MIT License。
它主要面向 DSH web 页面使用,解决的是斜杠命令输入、参数提示、命令执行和会话状态这几个环节的具体问题。
核心功能¶
Tab/Enter 补全命令名¶
在输入 / 加前缀后,按 Tab 可以补全命令名。
多候选场景下:
- 先补全公共前缀
- 再按
Tab轮转候选 ↑/↓选中后,用Tab或Enter补全选中项
这个能力针对的是命令目录中已经存在的命令,不是任意自由文本补全。
参数格式引导¶
补全到带参数位的命令后,可以进入参数位。
参数引导包含:
input hint幽灵文本与输入对齐Tab轮转参数选项- 输入参数过程中保持提示弹框常驻
例如补全到 /schedule 这类命令后,可以继续输入参数,并由提示弹框显示当前命令的上下文。
命令提示弹框¶
命令提示弹框使用 conversation.input.overlay 槽位。
它的作用是在输入命令参数时持续显示命令提示,而不是只在命令名补全阶段出现一次。对于多参数命令,输入参数后提示不会直接消失。
tool 开启的会话(subagent)补丁¶
tool 开启的会话(subagent)中,内置命令目录可能返回空,导致这类会话看起来“没有选项”,无法直接执行 /archive 等命令。
这个插件为这类会话提供补丁:
- 命令目录直连宿主命令目录
- 回车时执行完整命令
- 会话头部注册“操作”菜单
头部“操作”菜单提供:
- 归档
- 复制会话
- 定位父会话
空对话命令输出修复¶
在空会话里执行命令后,这个插件让输出和头部操作恢复正常:
- 命令输出正常渲染
- 头部选项按钮出现
- 不被下一次“新建对话”复用扫描合并
目录缓存¶
插件对命令目录做了缓存处理:
- 键入
/时预热 commands/change与agent-preset/selected事件主动失效- TTL 兜底
- 同会话并发去重
- 会话删除时剪枝
这些缓存策略主要服务于命令补全和命令提示,不改变 DSH 本身的命令定义。
安装与启用¶
前置条件:
- Node.js >= 22
- pnpm
- 本机
deepseek-harness源码检出 - 依赖以
link:指向../deepseek-harness
先克隆并构建插件:
git clone https://github.com/csiroqa/dsh-command-opt.git
cd dsh-command-opt
pnpm install
pnpm build
然后安装进 web profile。插件以 link: 指向当前目录安装:
dsh plugin --profile web add link:$(pwd)
安装完成后:
- 重启
dsh web - 浏览器
Ctrl+F5硬刷新
如果后续修改插件源码,需要重新构建并硬刷新:
pnpm build
配置说明¶
安装后,cordis.patch.yml 的 command-opt insert 行支持可选配置。
但需要注意一个 DSH 固有行为:浏览器半区收不到 patch config,默认值内置在代码里,修改 config 不会改变浏览器行为。
因此,日常使用时更依赖插件代码默认行为和实际运行效果,而不是通过配置文件调整浏览器侧行为。
典型用法¶
1、补全命令名¶
输入:
/
继续输入命令前缀,然后按 Tab。
如果命令目录中有多个候选:
- 先补全公共前缀
- 继续按
Tab轮转候选 - 用
↑/↓选中目标命令 - 按
Tab或Enter补全选中项
2、输入命令参数¶
补全到带参数位的命令后,例如 /schedule,直接进入参数位。
此时:
- 幽灵提示显示参数格式
Tab可以轮转参数选项- 输入参数过程中,提示弹框保持常驻
3、在 tool 开启的会话中执行命令¶
在 tool 开启的会话中:
- 输入
/archive等命令 - 按回车直接执行
- 通过头部“操作”菜单执行归档、复制会话、定位父会话
4、在空会话中执行命令¶
在空会话里执行命令后:
- 输出正常渲染
- 头部选项按钮出现
- 该会话不会被下一次“新建对话”复用
适用场景与注意¶
适合以下场景:
- 在 DSH web 页面中频繁使用斜杠命令
- 希望命令名补全更快
- 希望命令参数格式有提示
- 需要在 tool 开启的会话中执行
/archive等命令 - 需要在空会话里执行命令并保留正常输出
使用前需要注意:
- 插件运行在当前
dsh进程权限下 - 安装前应检查源码与许可证
- 许可证为 MIT License,保留
LICENSE文件与版权声明,并标明出处(本仓库链接) - 插件只在本机页面上生效,不涉及网络监听
- 插件代码以
link:指向本仓库目录安装,改动源码后需要重新构建并硬刷新生效
兼容性方面:
- 针对 DSH
0.1.1-rc.2源码检出开发验证 - 依赖
dsh-client-runtime的公开面 - 少量内部面以运行时特性检测保护,缺失时静默降级
已知限制:
- 空对话激活是浏览器侧行为
- 宿主 summary 仍报 blank
- 刷新页面后,该空会话会从列表消失,直到有真实 turn
结尾¶
dsh-command-opt 解决的问题比较具体:斜杠命令补全、参数提示、subagent 会话命令执行、空对话命令输出。它不是改变 DSH 命令定义,而是围绕 DSH 的 web 命令体验做补齐。
GitHub 仓库:
https://github.com/csiroqa/dsh-command-opt
目录页地址未在已核实资料中出现,本文不列出。