dsh-markdown-composer:让 DSH 输入框支持 Markdown

前言

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 端安装

  1. 将插件仓库放到任意目录。
  2. 在对应的 profile 的 package.json 中添加依赖:
// ~/.dsh/profiles/<profile>/package.json
{
  "dependencies": {
    "dsh-markdown-composer": "link:/path/to/dsh-markdown-composer"
  }
}
  1. 运行安装命令:
dsh plugin --profile web install
  1. 重启 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 许可证。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜