前言¶
DeepSeek Harness (DSH) 的 Web 输入框本质是一个纯文本 textarea。写列表需要手动敲标记,改编号需要手动数数。dsh-mdbox 专门解决这类编辑体验问题,通过拦截按键提供列表续行、自动编号递增和缩进功能。它是一个纯浏览器端插件,不依赖宿主后端,也不触碰文件或网络。
核心能力¶
该插件主要提供以下编辑辅助:
- 列表续行与编号递增:在列表行按
Shift+Enter,会自动生成续行标记或递增有序列表编号。 - 缩进与反缩进:在列表项按
Tab缩进 2 空格,有序行编号重置为1.;按Shift+Tab反缩进,编号自动并入外层继续递增。 - 输入兼容性:支持
Ctrl+Z撤销,且在 IME 组合输入期间会主动让位,不干扰中文输入。 - 代码围栏保护:在代码块(
~~~)内跳过自动重编号。
安装与启用¶
使用官方 web profile 安装:
dsh plugin --profile web add github:chi-hong22/dsh-mdbox
仓库包含构建产物(lib/),安装后无需另外构建。安装后重启 DSH,在设置 → 插件 中找到 @chi-hong22/dsh-mdbox 即可启用。
典型用法¶
- 列表续行:输入
1. a,光标在行尾按Shift+Enter,会插入2.,后续行会自动编号为3. b。 - 缩进:输入
1. 子项,将光标放在行内按Tab,变为1. 子项(编号重置为1.)。 - 反缩进:将
1. 子项反缩进,编号会并入外层,例如外层已有1. a,反缩进后变为2. 子项。 - 强制发送:按
Ctrl+Enter可强制发送内容。
注意事项¶
- 插件依赖输入框卡片上的
data-composer-card属性定位输入框,DSH 大版本调整 DOM 结构可能需要更新插件。 - 在
@deepseek-ai/dsh-*0.1.0-rc.6 版本上验证过(2026-08-13)。 - 无配置项,无环境变量,行为常量(如
MAX_RENUMBER = 20000)位于源码lib/client.js顶部。 - 插件属于纯文本按键行为,不触碰 DSH 的 backdrop 渲染层,不碰文件、网络、凭据和用户数据,没有持久化数据。
结语¶
该插件通过按键劫持优化了 Markdown 列表编辑流程,适合需要频繁编写清单、步骤和提纲的开发者。详情见:GitHub | 插件目录