dsh-md-reader:DSH Markdown 阅读插件

在 DSH(DeepSeek Harness)的开发或协作场景中,会话消息里的文件链接通常由系统默认程序处理,或以独立浮层形式打开。这种方式会打断当前会话的上下文,且布局不统一。dsh-md-reader 插件接管了这一行为,在 DSH 详情栏内以真三栏布局直接渲染文档,提供统一的阅读环境。

插件介绍

这是由 wjx-ai 开发的客户端插件。它利用 DSH 的双半身架构(宿主半身提供只读 HTTP 路由,浏览器半身提供渲染),拦截会话中的 Markdown / 图片链接,在浏览器右侧详情栏展开阅读面板。插件无需构建链,安装后通过 cordis.patch.yml 自动合并配置。

核心功能

  • 真三栏布局:非遮罩浮层,而是驱动 DSH 布局系统展开右侧详情栅格轨道。侧边栏固定宽,会话区自动收窄,文档区自适应。
  • 多格式支持:支持 .md, .markdown, .mdown, .mkd, .txt 文本,以及常见图片格式。
  • 目录与导航:正文自动扫描 h1–h6 生成目录 TOC;点击可平滑滚动定位;正文内的内联链接若匹配同级文件或相对路径,可继续在面板内打开。
  • 编辑器功能:支持 ⧉ 复制原文、A-/A+ 字号缩放(70%–150%,持久化)、⏱ 自动跟随磁盘变更(可见时每 3 秒探测 mtime)、⟳ 手动重载、↗ 系统打开。
  • 主题与兼容:明暗主题跟随;保留原生出口;关闭面板后右下角保留 📖 悬浮入口,可重开最近文档。

安装与启用

前置要求:
1. 已安装 DSH 且版本 >= 0.1.0-rc.6。
2. 已启动过 DSH。
3. 系统环境变量 PATH 中包含 pnpm。

安装命令:

dsh plugin --profile web add github:wjx-ai/dsh-md-reader

安装后,包内的 cordis.patch.yml 会作为 Profile Bundle patch 自动合并进 profile 层栈。安装完成后刷新浏览器即可生效。

使用方法

  • 打开文档:点击会话中任意 .md / .markdown / .mdown / .mkd / .txt 或图片文件链接,右侧展开三栏阅读面板。
  • 快捷键操作:
  • ☰:展开/收起目录
  • ⧉:复制原文
  • A- / A+:缩小 / 放大字号
  • ⏱:切换自动跟随磁盘变更
  • ⟳:手动重载文档
  • ↗:用系统默认程序打开
  • Esc / ×:关闭面板
  • 关闭后:面板关闭后,右下角保留 📖 悬浮入口,点击可重开最近文档。

宿主半身 API

插件宿主半身提供只读 HTTP 路由,供浏览器半身调用:

GET /api/md-reader/file?path=<绝对或相对路径>&base=<可选解析基目录>[&meta=1]
GET /api/md-reader/list?dir=<目录>
  • 参数说明:
  • path:文件路径,支持绝对路径或相对于 base 的相对路径。
  • base:可选,解析相对路径的基目录。
  • meta=1:仅返回元信息,用于自动跟随轮询。
  • 返回内容:
  • 文本文件:{ ok, kind:'text', path, dir, name, size, mtime, content }
  • 图片:{ ok, kind:'image', mime, data }(Base64 内联)
  • 列表:返回目录文件列表
  • 安全限制:
  • 扩展名白名单:.md, .markdown, .mdown, .mkd, .txt 及常见图片。
  • 大小限制:文本 2 MiB,图片 8 MiB,列表 500 条。
  • 路径限制:webServer 绑定非回环地址时,绝对路径必须落在已注册工作区根内。
  • 认证:未认证请求返回 401。

注意事项

  • 插件依赖 DSH >= 0.1.0-rc.6,且安装命令需 PATH 中有 pnpm。
  • cordis.patch.yml 会自动合并,无需手动编辑配置。
  • 插件全程只读,无写入端点,未认证请求会被拦截。
  • 在空白会话页下,面板可能会退化为浮层样式;正常点击文件链接时,三栏布局总是成立。
  • 双半身插件要求宿主半身提供只读 HTTP 路由,浏览器半身拦截点击并渲染。

目录与仓库

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

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

小夜