前言¶
在 DeepSeek Harness(DSH)里打开 Markdown、代码或日志时,侧边栏会给出文档预览。预览能读,但若要在长文件里定位某个符号、错误行或配置键,往往只能肉眼扫或把文件拖到外部编辑器里用查找。DSH 社区插件 dsh-find-viewer(维护者 Makk9609,分类:客户端)把查找栏接到官方预览已有的文档工具栏上:全文件(或当前已渲染范围)匹配计数、高亮命中项,并在命中之间跳转。
这是什么¶
dsh-find-viewer 是面向 DSH Web 客户端的插件,在侧边栏文本预览上方增加与浏览器「页面内查找」类似的工具条。它不替换官方渲染器,只在文档工具栏的追加槽位(sidebar.right.tab.document.actions)注册一个放大镜按钮和查找栏。
- 仓库:Makk9609/dsh-find-viewer
- 社区目录:SkillHub 插件页
- 许可证:MIT(见仓库 README)
- 当前包版本:0.1.0(
package.json)
插件无构建步骤、无运行时依赖;主机侧 index.js 为空壳,浏览器逻辑集中在 client.js。
核心功能¶
工具栏入口与显示条件¶
预览为文本类文件时,文档工具栏(靠近「在应用中打开」)会出现放大镜按钮;PDF、图片、HTML、表格与 Office 预览保持原工具栏不变。
查找栏控件与快捷键¶
打开后出现查找栏,包含:
- 关键词输入框
n/m匹配计数- 上一处 / 下一处
- 区分大小写(
Aa)、全词匹配(W)、关闭
交互与常见编辑器一致:Enter 下一处,Shift+Enter 上一处,Esc 关闭。在你最后一次点击过的预览窗格处于焦点时,Cmd/Ctrl+F 可打开查找栏。插件不注册全局快捷键,只在上述焦点条件下拦截 Cmd/Ctrl+F。
选中即搜¶
在预览里先选中文字再打开查找栏,选中内容会作为关键词。多行选中取第一行;超过 200 字符的选中会被忽略。
高亮与滚动¶
命中项通过 CSS Custom Highlight API 着色,颜色与 Edge、Chrome 页面查找一致:普通命中 #FFFF00,当前命中 #FF9632,文字为黑色。输入关键词后会滚动到第一个命中。高亮不修改官方渲染器拥有的 DOM。
匹配计数与跳转(按预览类型)¶
| 预览类型 | 计数范围 | 跳转 | 高亮 |
|---|---|---|---|
| 纯文本、代码 | 全文件、精确匹配 | 任意行(含尚未加载的行) | 已渲染的每个命中 |
| Markdown | 当前已渲染文本 | 已渲染命中之间 | 已渲染的每个命中 |
Markdown 走官方格式化 HTML 视图,源码标记不可见且无逐行锚点,因此查找只能作用于已渲染部分,计数会随文档加载变多。纯文本与代码在 DOM 中保留源行,可对全文件计数。
全文件扫描通过 Harness 分页文件 Remote(remote.workspaceFiles.read,与预览同一读取路径)完成。跳转到未加载行时调用 sidebarRight.openResource,由侧边栏加载对应页。
覆盖的文件类型¶
README 列出的包括:Markdown(.md、.markdown、.mdx)、纯文本与日志、以及 .js、.ts、.py、.go、.rs、.java、.c、.cpp、.css、.json、.yaml、.toml、.sh、.sql 等代码后缀。.csv、.tsv、HTML、SVG 等仍用各自预览,不在此插件范围内。无后缀文件(如 Dockerfile)因查看器按后缀选渲染器而不覆盖。
界面文案经客户端 locale 服务加载,内置英文与中文词典。
安装与启用¶
以下命令摘自仓库 README。安装后需重启 dsh web。也可在 Plugin Market 或 Plugin Manager 中安装(会一并启用 bundle)。
从 npm 注册表:
dsh plugin --profile web add dsh-find-viewer
从 GitHub:
dsh plugin --profile web add github:Makk9609/dsh-find-viewer
卸载:
dsh plugin --profile web remove dsh-find-viewer
DSH 插件在当前 dsh 进程权限下运行。安装前建议阅读仓库源码与 MIT 许可证,确认符合你的环境策略。社区目录站点为独立生态入口,与 DeepSeek / 幻方无官方从属关系。
典型用法¶
- 安装并重启
dsh web后,在侧边栏打开一段代码或.md预览。 - 点击文档工具栏上的放大镜,或在该预览内点击后按
Cmd/Ctrl+F。 - 输入关键词(或先选中文字再打开栏),查看
n/m,用上一处 / 下一处或Enter/Shift+Enter跳转。 - 需要精确匹配时打开
Aa(区分大小写)或W(全词)。
限制与兼容性¶
- 全文件扫描上限:前 20,000 行或 4 MiB(以先达到者为准);超出时查找栏会提示。最多绘制 3,000 处高亮,计数最多 50,000(超出显示
50000+)。 - 高亮依赖 CSS Custom Highlight API(Chromium 105+、Safari 17.2+、Firefox 140+)。不支持时计数与跳转仍可用,但不绘制高亮。
- 匹配不跨行。
- README 写明在 DeepSeek Harness 0.2.0-rc.2 上验证;
package.json未声明engines.dsh范围,与更高版本的兼容性未在资料中说明。
开发侧可运行 npm test,在桩环境下检查匹配、地址解码、注册形态与高亮规则。
结尾¶
若你主要在 DSH 侧边栏里读长日志、源码或 Markdown,dsh-find-viewer 把查找栏接到官方预览工具栏上,并区分纯文本/代码与 Markdown 在计数、跳转上的差异。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。