dsh-squeeze
Tool `squeeze` for DeepSeek Harness: reads long web pages, page batches, text files and PDFs with a helper model you choose and returns only the answer, so the material never fills the chat.
What it is
Tool `squeeze` for DeepSeek Harness: reads long web pages, page batches, text files and PDFs with a helper model you choose and returns only the answer, so the material never fills the chat.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/q8atnight/dsh-squeeze.git#a255ab115be99d8d7c2e70b99919c7896806cf11'
DSH versions accepted
>=0.2.1-rc.5
Author and traction
q8atnight · ★ 3 · Updated 2026-11-06
About this plugin
squeeze — read long material without filling the chat
A plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) that adds one tool, squeeze.
> 中文简介:squeeze 工具让 Agent 把长网页、多个网页、文本文件或 PDF 交给你选定的辅助模型阅读,只把答案带回对话,原文不占用上下文。注意:原文会发送给作答模型所属的提供方;开启回退(fallback)时,同一原文可能被发送给列表中另一提供方的模型。文件只通过 DSH 文件系统服务(ctx.fs)读取,被策略拒绝的路径一律拒绝(ACCESS DENIED)。
When an agent needs something from a long web page, a batch of pages, a big text file or a PDF, it calls squeeze
with a specific question. squeeze downloads or reads the material, hands it to a helper model you choose, and
returns only the answer. The material never enters the main conversation, so the agent's context stays small and
cheap.
Typical uses: pull figures out of a long report, find one section in a large log or code file, compare a few web
pages, summarise a transcript.
Example
The agent asks about a 17,000-character government PDF. Only this comes back into the chat (a few hundred
characters instead of the whole document):
squeeze url: https://tax.gov.ae/…/Cabinet Decision No. 75 of 2023 and amendments - For Publishing.pdf
prompt: What penalty (AED) applies for failing to submit a corporate tax registration application on time?
Quote the item number.
Item 14 in the Table of Violations and Administrative Penalties: "Failure of the Taxable Person to submit a Tax
Registration application within the timeframe specified by the Authority …" — penalty AED 10,000.
(Footnote: added by Cabinet Decision No. 10 of 2024, effective 1 March 2024.)
squeeze: ok | model quick (Qwen Flash Next) | 6.9s | source 16,856 chars | thinking medium
(A real call from 3 Nov 2026, answered by a local model; the answer is shortened here.)
The status line tells the agent which model answered, how long it took and how big the source was. Failures say
what went wrong and what to do next (for example `squeeze SOURCE PROBLEM: … this PDF has no text layer (probably a
scan or photo) — it needs OCR`).
Settings page
Features
- Models from your DSH model list — pick a default model and up to two extra ones on the plugin's own settings
page. Nothing to type twice: whatever providers and models DSH already knows are offered.
- Nicknames and "when to use" notes — give each model a short nickname (
quick,careful, …) and a one-line
note. The agent sees them in its tool description and picks a model by nickname.
- Fixed thinking level per model — you decide how hard each model thinks; the agent cannot change it.
- Size limit follows the model — each model's limit is worked out from its context window
(default: the material may use 80% of it, the rest is left for thinking and the answer). The agent sees the limit
per model.
- Optional fallback — when switched on, a model that is unreachable, returns a server error, has left the model
list, or is too small for the material is skipped and the next model in your list is tried. The answer's status
line says which model answered and why the others were skipped. Time-outs do not fall back.
- Clear errors — every failure starts with a kind the agent can act on (
REQUEST PROBLEM,SOURCE PROBLEM,
TOO BIG, MODEL UNAVAILABLE, NO ANSWER, TIMED OUT, CANCELLED, ACCESS DENIED) and ends with the next step.
- Batches of pages — up to 20 addresses per call (configurable), downloaded four at a time; dead pages are
skipped and listed instead of failing the whole call.
- PDFs — PDF links and PDF files with a text layer are converted to text automatically when the free
pdftotext program (poppler; brew install poppler on a Mac) is installed. Scanned PDFs are refused with
advice to use OCR.
- Sites with huge headers — some government portals send more header data than Node's built-in downloader
accepts (16 KB); squeeze retries those with a larger limit.
- Short pages — a page with almost no text (often a JavaScript-only or blocked page) is handed back to the agent
as-is without a model call (or refused, if you prefer).
- One call at a time per provider — calls to the same provider queue, so a single local model is never
flooded; calls to different providers (say a local box and a cloud model) do not wait for each other.
- No Python, no extra packages: the tool uses DSH's own model connections and logins.
Install
Requires DSH 0.2.1-rc.5 or newer. For PDF support also install pdftotext (brew install poppler on a Mac).
From the GitHub release — ask the DSH agent:
> Install the bundle https://github.com/q8atnight/dsh-squeeze/releases/download/v2.1.0/dsh-squeeze-2.1.0.tgz with the plugin manager.
(It uses plugin_manager → install_bundle with that address. You can also download the .tgz file and give the
agent its path instead.)
From a folder — clone or unpack this repository somewhere permanent (for example ~/.dsh/plugins/dsh-squeeze)
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| Mole | tw93 | 74.5K | 0.0.0 | 2026-11-10 |
| DeepSeek-Reasonix | esengine | 36.1K | 0.0.0 | 2026-11-10 |
| dsh-desktop | anywhere-labs | 35.6K | 0.4.1 | 2026-11-06 |
| awesome-dsh-plugin | awesome-dsh-plugin | 24.1K | 0.1.0 | 2026-11-10 |
| dsh-market | dsh-market | 11.8K | 1.73.17 | 2026-11-09 |