Resident-index grep for DeepSeek Harness that shadows the built-in grep/glob tools under the same names: repeated content searches hit an in-memory index ranked by access/modification frecency, and glob serves the built-in ripgrep semantics when available, falling back to the index otherwise.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-frecency
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ZK-Andy/dsh-frecency
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
A DeepSeek Harness plugin that takes over the built-in grep / glob file-search tools: grep runs on a resident index with frecency ranking, glob mirrors the built-in discovery semantics exactly when ripgrep is available (and degrades to the resident index otherwise).
The built-in tools spawn a fresh ripgrep process on every call and scan from scratch. In long sessions with many parallel subagents, the same searches run dozens of times. dsh-frecency keeps one resident index per working directory (the Rust fff engine via @ff-labs/fff-node), so repeated searches answer from that hot memory instead of spawning ripgrep per call, ranked by access/modification frecency.
Install
dsh plugin --profile <profile> add dsh-frecency
Restart dsh and start a session — grep / glob keep their names and schemas; grep hits the resident index and glob serves the same results as the built-in tool, whatever agent preset you use. The built-in search tools are mounted per-session on the agent plane, which beats any host-plane registration, so the plugin registers into each agent's own layer at agent creation (first-party precedent: dsh-tool-subagent). Config enabled: false or removing the plugin falls back to the built-in ripgrep tools.
Host packages come from the running installation: @deepseek-ai/dsh-tools, @deepseek-ai/dsh-tool-fs-search, @deepseek-ai/dsh-output-retention and @deepseek-ai/schemastery are resolved through the profile's module resolution, never installed alongside the plugin. Built and tested against DSH 0.1.2-alpha.3 through 0.2.1-alpha.1.
What you get
- Same tool names —
grep/globkeep their names and schemas; the model switches with zero prompt changes. - Resident index (grep) — repeated content searches reuse one in-memory index instead of spawning ripgrep per call; measured 2.5–2.7× faster on a 14k-file tree (baseline).
- Frecency ranking (grep) — frequently opened / recently modified files surface first.
- Built-in-parity glob — glob runs the same fixed
rg --filesinvocation as the built-in tool: hidden and ignored files included, VCS metadata excluded, modification-time order. If ripgrep is unavailable, it degrades to the resident index. - Annotated grep output — engine-classified
isDefinitionand per-filegitStatusride along in grep results, so the model can spot definition lines and modified files without re-reading. - Git-aware index — the engine tracks working-tree state per file and surfaces it as
gitStatusin results. - Graceful fallback — if the native engine can't load, the plugin steps aside and the built-in ripgrep tools keep working.
See docs/design.md for the full design rationale.
Development
pnpm install
pnpm check # typecheck + build + test
scripts/setup-hooks.sh # point git hooks at .githooks/ (pre-commit / pre-push)
Local e2e against a real harness: build, then boot the default headless profile with a --patch overlay pointing at ./dist/index.js.
Quality gates: python3 scripts/verify-adr-format.py && python3 scripts/verify-handoff-structure.py && python3 scripts/verify-doc-budgets.py --manifest scripts/doc-budgets.manifest.json && python3 scripts/verify-md-links.py.
License
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 34626
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
superdesigndev/treg★ 5760
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
T-Auto/dsh-ops★ 3102
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1139
Tencent CloudBase backend for DeepSeek Harness — scaffold and deploy full-stack apps from chat, render query results as table cards with paging, sorting and CSV export, preview a deployment on its domain, and call the CloudBase MCP toolset (`mcp__cloudbase__*`) with device-code login.
sixtysevenlf/dsh-blender-plugin★ 599
Lets a DSH agent drive a local Blender over a direct TCP channel with 16 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 186 ops across 28 families.
anysearch-team/anysearch-dsh★ 537
AnySearch-powered real-time web and vertical search provider for DeepSeek Harness.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.