前言¶
DeepSeek Harness (DSH) 的标准输入框目前主要处理纯文本。当需要使用 Markdown 进行格式化时,开发者通常需要手动编写代码或依赖外部工具。dsh-markdown-composer 插件通过在官方输入框的基础上增加功能,解决了这个问题。它是一个纯增量插件,不会替换官方输入框,从而保留了附件上传、模型选择、权限/计划控件、斜杠命令等全部官方能力。
核心功能¶
实时预览¶
在输入框上方会出现一个预览卡片,草稿内容会实时渲染。该预览使用官方的 MarkdownText 原语,与对话正文使用相同的 GFM + TeX 渲染器。支持的语法包括标题、加粗/斜体/删除线、行内代码、围栏代码块(带高亮)、有序/无序/任务/嵌套列表、引用、表格、链接、脚注、KaTeX 数学公式和分隔线。附件和图片不参与预览渲染。
格式化工具栏¶
预览卡片头部集成了 12 个按钮,包括加粗、斜体、删除线、行内代码、链接、H1、H2、无序列表、有序列表、任务列表、引用和代码块。点击按钮不会抢走输入框的焦点。
语法快捷键¶
支持在输入框内直接使用快捷键插入或切换语法。macOS 使用 ⌘,Windows/Linux 使用 Ctrl。快捷键按物理键位判定。
| 快捷键 | 动作 |
|---|---|
⌘B |
加粗 |
⌘I |
斜体 |
⌘K |
链接 |
⌘⇧1 / ⌘⇧2 / ⌘⇧3 |
一级 / 二级 / 三级标题 |
⌘⇧8 |
无序列表 |
⌘⇧7 |
有序列表 |
⌘⇧9 |
任务列表 |
⌘⇧. |
引用 |
⌘⇧C |
代码块 |
列表续写与 Chip 安全¶
在列表项或引用行按 Shift+Enter 换行,会自动补上同级标记(如 -、*、1.、- [ ]、>)。在空列表项上再按一次 Shift+Enter 会退出列表。该插件还实现了引用 chip 的安全编辑计划,确保在编辑草稿时,包含 @文件 或 /指令 chip 的区间不会被覆盖或降级为纯文本。
安装与启用¶
Web 端安装¶
- 将插件仓库放到任意目录。
- 在对应的 profile 的
package.json中添加依赖:
// ~/.dsh/profiles/<profile>/package.json
{
"dependencies": {
"dsh-markdown-composer": "link:/path/to/dsh-markdown-composer"
}
}
- 运行安装命令:
dsh plugin --profile web install
- 重启 DSH 应用后生效。
桌面端安装¶
CLI 的 dsh plugin 命令不支持桌面端 profile。需要在 DSH 应用内使用插件管理器(设置 → 插件,或 Agent 侧的 plugin_manager 工具)安装同一个 link: 依赖。
使用示例¶
列表续写¶
在列表项中按下 Shift+Enter,光标会自动落在下一行的同级标记后:
- 第一点
- 第二点
记忆偏好¶
预览开关与折叠状态会保存在 localStorage(dsh-markdown-composer.*)中,刷新或重启后保持上次的设置。
注意事项¶
- 输入内容:输入框内显示的仍然是原始 Markdown 文本,所见即所得通过上方的预览卡片体现。
- Enter 键:
Enter键保持 DSH 的原始语义(发送消息),列表续写仅支持Shift+Enter。 - 桌面端限制:桌面端需通过应用内管理器安装,不支持
dsh plugin --profile desktop。 - 附件与链接:预览不渲染附件和图片;本地文件相对路径在工作区中不会变成可点击的文件链接。
总结¶
dsh-markdown-composer 是一个针对 DSH 输入体验的增量增强插件。它通过实时预览、工具栏和快捷键,让 Markdown 编辑更直观,同时保持了与官方输入框的兼容性。该插件由 dgmico 维护,采用 MIT 许可证。