DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Tool Terminal Search — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-tool-terminal-search

Tool Terminal Search

terminal_search tool for dsh: locate lines in large persistent-terminal scrollback by regular expression, composed over the public terminal read seam.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-tool-terminal-search@0.3.2
READMECompatibilityVersions

Compatibility and provenance

Tool Terminal Search is published as dsh-tool-terminal-search and currently resolves to version 0.3.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.3.2stable
9/3/2026
0.3.1stable
8/16/2026
0.3.0stable
8/16/2026

Related plugins

Loading related plugins…

Latest
0.3.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
18.6 kB
Files
7
Surface
any
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
54
Last push
9/3/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-tool-terminal-search

A terminal_search tool plugin for DeepSeek Harness (dsh): locate lines in large retained terminal scrollback by literal substring or regular expression, without paging backward blindly through tens of thousands of log lines.

The tool is composed only over the public ctx.terminals.read seam — no upstream package changes, so it runs on published dsh releases today.

Why

terminal_read pages retained scrollback by newest-relative offset/count. With backend log output running to tens of thousands of lines, a model cannot tell where the interesting lines are: it has to page backward from the newest output one page at a time, and totalLines alone does not locate a needle in the retained buffer. terminal_search closes that gap by finding lines by content.

Install

Install with the dsh CLI — it forwards pnpm into the profile directory — then add the package to the profile's bundles list. The bundle's own patch then contributes terminal_search automatically:

# Installs into the profile's node_modules (dsh plugin forwards to pnpm).
dsh plugin --profile web add dsh-tool-terminal-search

# Verify the install.
dsh plugin --profile web ls
// ~/.dsh/profiles/web/package.json
{
  "dependencies": {
    "@deepseek-ai/dsh-tool-terminal": "0.1.2-alpha.5",
    "dsh-tool-terminal-search": "^0.3.0"
  },
  "dsh": {
    "profile": {
      "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-tool-terminal-search"]
    }
  }
}

The official @deepseek-ai/dsh-tool-terminal plugin (and the dsh-terminal / dsh-terminal-bash services) must still be present for terminal_open / terminal_send / terminal_read.

Restart your dsh profile. The model gains terminal_search next to the official terminal_open / terminal_send / terminal_read tools.

Behavior

terminal_search(sessionId, pattern, regex?, offset?, limit?):

  • Pages the whole retained scrollback (newest → oldest) through terminal_read and matches each line.
  • pattern is a literal substring by default (grep -F style) — no regex metacharacters to escape; pass regex: true to treat it as a JavaScript regular expression. Compiled regexes go through a process-wide bounded FIFO cache (oldest entries evicted first), so repeated patterns never recompile.
  • Returns matching lines newest first, each with a newest-relative offset that is directly usable as a terminal_read offset (jump to a match's context in one follow-up call).
  • Returns the exact matchCount, the retained totalLines, and truncated; offset/limit page over matches.
  • Renders [offset N] line per match plus [search: X of Y matches, Z retained lines]; results are capped by maxResultBytes (default 262144).

Known limitations

  • One search pages the bounded scrollback in memory (scrollbackLines 10 000 / scrollbackMaxBytes 4 MiB by default), so it only sees retained lines — same contract as terminal_read.
  • A page whose bytes exceed the backend maxReadBytes is reread with a smaller page size so line offsets stay exact; a single line larger than maxReadBytes degrades to a truncated line and sets truncated.
  • No surrounding-context lines are returned; read around a match's offset for context.
  • Requires the dsh 0.1.2-alpha.5 release line (the package's peer range resolves @deepseek-ai/dsh-terminal and @deepseek-ai/dsh-tools at ^0.1.2-alpha.5, so it composes against newer 0.1.2-alpha.x builds of the same read contract).

Development

npm install
npm run typecheck   # tsc --noEmit
npm test            # vitest
npm run build       # esbuild bundle + tsc declarations into lib/

Relationship to upstream

An equivalent native implementation (same tool name, schema, and coordinate space) is tracked upstream in deepseek-harness discussion #1025. This plugin lets deployments use the capability today; switching to the native backend later is transparent.