DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
W

dsh-workspace-search

Workspace Search

DeepSeek Harness 的工作区全文搜索:从图形界面 grep 文件内容,支持筛选、上下文预览和跳转到行。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:1771486218/dsh-workspace-search#eef55b9831dc52c24e47acfca59320dcac19ff7f
README兼容性版本
工作区搜索面板:左侧结果按文件分组,右侧是命中行的语法高亮上下文

兼容性与来源证明

Workspace Search 以 dsh-workspace-search 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/23

版本

0.2.0stable
2026/10/23

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/23
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Archive Manager@michengai/dsh-archive-manager归档、恢复、收藏和永久删除会话,并诊断损坏的会话日志。Remotedsh-remoteDeepSeek Harness 的远程工作助手:连接 SSH(密码/密钥/代理/键盘交互、多跳 ProxyJump),从 ~/.ssh/config 列出主机,选择远程工作区,使用 21 个 rw_* 工具对其进行操作,支持感知冲突的镜像同步、内嵌 PTY t

README

dsh-workspace-search

给 DeepSeek Harness 的 工作区文件内容搜索 插件。 DSH 自带的搜索只搜会话标题;这个插件让你直接在会话所在的工作区里 grep 文件文本。

[!IMPORTANT] 本项目全部内容由 DeepSeek 生成。 包括:插件代码(lib/)、安装/卸载脚本(scripts/)、调试验证台(dev/)、 以及这份 README 在内的所有说明文字(含下面的使用说明)。仓库作者提供需求、安装并做了实测。

代码是在 DSH 0.2.0-rc.2(Windows 桌面版) 上按“跑通并实测”的标准验证的,没有做过系统的安全审计。 需要特别注意:它会在本机开一个只读、无鉴权的搜索接口(只监听 127.0.0.1),本机其它进程也能调用它读文件。 使用前请自行审阅代码,风险自负。

工作区搜索面板:左侧结果按文件分组,右侧是命中行的语法高亮上下文

English — A workspace full-text search plugin for DeepSeek Harness: grep file contents (not just conversation titles) from the GUI, with include/exclude globs, regex, grouped results, syntax-highlighted context preview, and double-click to open the hit in DSH's editor at that line. Install with node scripts/install.mjs, then press Ctrl+Shift+F.

功能

  • 搜文件内容:整棵工作区树,按行返回 文件 + 行号 + 命中的那一行
  • 过滤:包含 / 排除的 glob(src/**、*.cpp、build/**),大小写、全字、正则三个开关
  • 按文件分组:每组显示命中数,可折叠,顶部有「N 文件 / M 处 · 用时」
  • 上下文预览:命中行前后 18 行,带轻量语法高亮(C/C++、Lua、Python、JS/TS/QML、JSON、Markdown、CMake)
  • 双击跳转:双击结果(或点行尾「↗ 打开」)把文件开进 DSH 的侧栏页签,并定位到命中行
  • 工作区切换:面板右上角可切换你打开过的任意工作区,不限于当前会话
  • 键盘友好:↑↓ 选结果、Enter 看上下文(再按一次跳转)、Esc 关闭

兼容性

在 DSH 0.2.0-rc.2(Windows 桌面版)上开发和验证。

插件用的是 DSH 的插件机制(dsh.bundle / dsh.client)、宿主 webServer 路由和客户端 sidebarRight 服务—— 这些属于内部接口,DSH 升级后可能需要跟进适配。装之前建议先看一眼本文末尾的「卸载」。

安装

方式一:脚本(推荐)

# 在插件目录里
node scripts/install.mjs            # 默认装进 desktop profile
node scripts/install.mjs myprofile  # 或指定 profile 名

脚本会:

  1. 把 lib/ + package.json + cordis.patch.yml 复制到 <DSH_HOME>/profiles/<profile>/node_modules/dsh-workspace-search
  2. 在同一 profile 的 cordis.patch.yml 末尾追加注册条目(原文件先备份成 cordis.patch.yml.bak)

方式二:手动

$profile = "$env:USERPROFILE\.dsh\profiles\desktop"
New-Item -ItemType Directory -Force "$profile\node_modules\dsh-workspace-search\lib" | Out-Null
Copy-Item .\lib\* "$profile\node_modules\dsh-workspace-search\lib" -Force
Copy-Item .\package.json, .\cordis.patch.yml "$profile\node_modules\dsh-workspace-search\" -Force

然后在 $profile\cordis.patch.yml 末尾加上:

- insert:
    - id: workspace-search
      name: dsh-workspace-search

装完重启一次 DSH(宿主侧的路由在进程里加载)。之后改客户端代码只需要刷新窗口(Ctrl+R)。

使用

  1. 按 Ctrl+Shift+F,或点窗口左下角的放大镜按钮
  2. 输入关键字(默认大小写不敏感;也支持正则)
  3. 点结果看上下文;双击则在 DSH 里打开并跳到该行

面板右上角的胶囊显示当前搜索范围,点开可以在你打开过的所有工作区之间切换。

工作原理

插件分两个半边,同一个包提供:

半边文件职责
宿主lib/index.js在 DSH 的 web server 上挂前缀路由 /dsh-ws-search,遍历目录、按行匹配、带 LRU 缓存;只读,不写文件
浏览器lib/client.jswindow.__ModuleLoader__.load({ id, factory }) 形式的客户端 bundle,纯 DOM 自绘面板,同源 fetch 打上面的接口

宿主接口:

路由用途
GET /dsh-ws-search/api/searchroot、q、inc、exc、case、word、regex、max、deadline
GET /dsh-ws-search/api/file按 path + line + context 取一段文件内容(预览用)
GET /dsh-ws-search/api/roots从 DSH 的 storages/workspace.json 读出已知工作区
GET /dsh-ws-search/api/ping连通性探测

「双击跳转」走 DSH 自己的 sidebarRight.openResource():

sidebarRight.openResource(
  `dsh-resource://file/session/${sessionId}/${absolutePath}`,
  { params: { line } },
);

路径用绝对路径:面板允许搜任意目录,而资源地址是相对「当前会话工作区」解析的,用相对路径会打不开(页签显示"文件不存在")。DSH 的文件读取接口本来就接受绝对路径。

限制

  • 只搜文本类文件(扩展名白名单:c/cpp/h/hpp/lua/py/js/ts/qml/md/json/yml/cmake…),跳过 node_modules、.git、build、dist、target、__pycache__ 等目录
  • 单文件 2 MB 上限;一次最多 400 处命中;单次搜索 12 秒超时(超出会标记「已截断」)
  • 首次搜索要读盘:几千个文件的工程约 3–6 秒,之后命中缓存约 1 秒
  • 语法高亮是逐行的轻量实现,跨行块注释按普通文本处理
  • 搜索接口只监听环回口、只读,但没有鉴权:本机其它进程也能调用它读文件。只在本机使用没问题,别把端口暴露出去

卸载

node scripts/uninstall.mjs

或手动:删掉 profile 的 cordis.patch.yml 里那段 - insert: 条目,再删掉 node_modules/dsh-workspace-search。 改完重启 DSH。

开发

npm run check          # 两个文件过一遍语法检查

调试客户端界面时,可以用一个「假页面 + 真插件接口」的验证台:

node dev/harness.mjs   # 起在 8140
# http://127.0.0.1:8140/?root=<URL 编码后的绝对路径>&q=<关键字>

改完 lib/ 里的代码后,复制到 profile 并刷新窗口即可看到效果。

声明

  • 本仓库的代码、脚本、截图与全部文档(包括上面的功能说明、安装步骤、使用说明、原理与限制)均由 DeepSeek 生成。
  • 本项目是第三方插件,不是 DeepSeek 官方项目,与 DeepSeek 公司无关。
  • 按 MIT 许可「按现状(AS IS)」提供,不附带任何担保;是否适合你的场景、是否安全,请自行判断。

License

MIT