在工作区文件内容里按行搜索并跳转到命中位置
29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/1771486218/dsh-workspace-search.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/client.js:193
const res = await fetch(url, { headers: { accept: "application/json" } });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的工作区全文搜索:在图形界面里 grep 文件内容,支持过滤、上下文预览和跳转到指定行。
README
由 DeepSeek 最新模型翻译生成dsh-workspace-search
给 DeepSeek Harness 的工作区文件内容搜索插件。
DSH 自带的搜索只搜会话标题;这个插件让你直接在会话所在的工作区里 grep 文件文本。
[!IMPORTANT]
本项目全部内容由 DeepSeek 生成。
包括:插件代码(lib/)、安装/卸载脚本(scripts/)、调试验证台(dev/)、以及这份 README 在内的所有说明文字(含下面的使用说明)。仓库作者提供需求、安装并做了实测。
代码是在 DSH 0.2.0-rc.2(Windows 桌面版) 上按「跑通并实测」的标准验证的,没有做过系统的安全审计。
需要特别注意:它会在本机开一个只读、无鉴权的搜索接口(只监听 127.0.0.1),本机其它进程也能调用它读文件。
使用前请自行审阅代码,风险自负。
展开完整文档(README 剩余 1 节)
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.js | window.__ModuleLoader__.load({ id, factory }) 形式的客户端 bundle,纯 DOM 自绘面板,同源 fetch 打上面的接口 |
宿主接口:
| 路由 | 用途 |
| GET /dsh-ws-search/api/search | root、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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
1771486218/dsh-workspace-search
在工作区文件内容里按行搜索并跳转到命中位置
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,032已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6