返回目录
文件与数据 插件

dsh-everything-search

Argonaut790/dsh-everything-search

Instant filename search for DSH agents backed by voidtools Everything (es.exe): everything_search / everything_status tools in milliseconds, never a slow recursive walk.

Stars
0
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:Argonaut790/dsh-everything-search

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

dsh-everything-search

Instant filename search for DeepSeek Harness (DSH) agents, backed by voidtools Everything. Registers two host-side agent tools:

  • everything_search — whole-index filename queries in milliseconds (reads the NTFS MFT index, never a slow recursive directory walk), with optional path scoping, node_modules/.git noise filtering, and exact/prefix/substring ranking.
  • everything_status — reports whether the Everything backend is usable, where es.exe was found, and what to do if it is not.

⚠️ Windows-only. Everything indexes NTFS volumes on Windows; on other platforms the tools return a clear error telling the agent to fall back to the regular glob/grep tools.

Install

Requires pnpm and a DSH profile.

# into the web profile (the default GUI profile)
dsh plugin --profile web add github:Argonaut790/dsh-everything-search

# or into the desktop profile
dsh plugin --profile desktop add github:Argonaut790/dsh-everything-search

If pnpm add is blocked from running the package's build scripts, add the exact key pnpm printed under allowBuilds in <profile>/pnpm-workspace.yaml, then re-run.

Backend requirements

The tools shell out to es.exe (the Everything command-line interface). It is discovered from, in order:

  1. the EVERYTHING_ES environment variable,
  2. ~/.dsh/bin/everything/es.exe (the portable Everything layout used by DSH Desktop),
  3. Program Files / Program Files (x86) / %LOCALAPPDATA% Everything installs,
  4. es.exe on PATH.

Install Everything from https://www.voidtools.com/ (or run the portable copy under ~/.dsh/bin/everything). Everything must be running (it stays in the tray); if it is installed but not running, the plugin attempts to start it once with Everything.exe -startup and retries.

Tools

everything_search

Parameter Type Default Description
query string Filename substring (case-insensitive). */? pass through as Everything search syntax.
root string Absolute Windows folder to scope the search to (e.g. Z:\Programming\SmartQuestApp). Omit for the whole machine.
limit integer 50 Max results (cap 200).
skipNoise boolean true Drop node_modules/.git paths from results.
content boolean false Search file contents instead of names (requires Everything content indexing).
caseSensitive boolean false Match case exactly.

Results are ranked like the GUI file tree: exact name match, then prefix, then substring; shorter paths first; alphabetical tie-break. Each hit is { path, name, isDir } (folders are excluded — they are found via path prefixes anyway).

everything_status

No parameters. Returns backend, esPath, reachable, optional error/detail, and a human-readable hint.

Design rules

  • Never falls back to a slow recursive directory walk. If Everything is missing or not running, the tool returns a structured error telling the agent to use glob/grep instead.
  • Queries are literal substrings by default; Everything's own search syntax is passed through when the query contains * or ?.
  • Output is lossless JSON (no undefined values), so results pass dsh-tools validation.

Development

git clone https://github.com/Argonaut790/dsh-everything-search.git
cd dsh-everything-search
pnpm install            # pulls @deepseek-ai/dsh-tools for type-checking/imports
node .test-tmp/run-test.mjs   # standalone smoke test against the real es.exe

To use a local checkout instead of the published repo:

dsh plugin --profile web add link:/absolute/path/to/dsh-everything-search

License

Apache-2.0

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类文件与数据
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: file-search。