Adds one agent tool (read-only on your transcripts) that searches Claude Code, Codex and DSH session transcripts and returns each match with its resume command. Needs ripgrep (rg) and zstd (zstdcat) on PATH and keeps a plain-text cache of DSH sessions under ~/.dsh/cache/history-search.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/mkpoli/dsh-history-search/releases/download/v0.1.0/dsh-history-search.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:mkpoli/dsh-history-search
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
A DeepSeek Harness plugin that gives the agent one search tool over the transcript stores of three CLI agents:
| Source | Store |
|---|---|
| Claude Code | ~/.claude/projects/**/*.jsonl |
| Codex | ~/.codex/sessions/**/rollout-*.jsonl |
| DeepSeek Harness | ~/.dsh/sessions/**/session.*.jsonl* |
The tool is read-only. It returns the newest matching sessions with excerpts,
working directories, and the command that resumes each session
(claude --resume, codex resume, dsh tui --resume).
Install
dsh plugin --profile web add github:mkpoli/dsh-history-search
Restart the host afterwards. The plugin declares its bundle patch in
cordis.patch.yml, so mounting it adds one history-search row with default
configuration.
Use
Ask the agent to search earlier work, for example:
Search my history for the spectrogram rendering fix.
The model calls history_search with:
| Argument | Meaning |
|---|---|
query |
Literal words; every word must appear in the same transcript record. |
source |
all (default), claude, codex, or dsh. |
project |
Case-insensitive substring of the session working directory. |
limit |
1–30 sessions, newest first. Default 8. |
Matching is case-insensitive. A multi-word query requires all words on one record, which keeps results focused on messages that discuss the whole phrase.
How it reads each store
Claude Code and Codex are searched in place with ripgrep, so results always reflect the current files.
DeepSeek Harness appends one zstd frame per batch to each session log. Node's
zstdDecompressSync stops after the first frame, so the plugin decompresses
each log once with zstdcat into ~/.dsh/cache/history-search/dsh/ and
refreshes an entry only when its size or mtime changes. The cache holds plain
JSONL, is created with owner-only permissions, and mirrors live sessions as
they are written. Delete ~/.dsh/cache/history-search to reclaim the space;
the next search rebuilds it (about 10 seconds for a few hundred sessions).
Requirements
ripgrep(rg) on the server'sPATH.zstdcatfrom thezstdpackage on the server'sPATH.
Both are reported as tool errors when missing.
Limits
- Searches record text found in messages, reasoning, tool input, and tool output. Base64 attachments and other binary payloads are skipped.
- Subagent sidechains are included; their resume command points at the parent session.
- Older DeepSeek Harness sessions keep their historical id, which may carry a
session-prefix.
Links
More in this category
DayuanJiang/next-ai-draw-io#dsh-plugin★ 36802
Draws draw.io diagrams in DeepSeek Harness through the next-ai-drawio MCP server: the link in the reply opens a live preview in the right sidebar, you can edit the diagram by hand, and each AI change is a version you can restore. Node.js 18+; npx downloads the MCP server on first use.
Tencent/WeKnora#dsh-weknora★ 36302
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★ 7042
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★ 5074
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
sixtysevenlf/dsh-blender-plugin★ 1575
Lets a DSH agent drive a local Blender over a direct TCP channel with 15 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 228 ops across 34 families.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1155
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.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.