Dethrottled
One local engine for agents that need the web. Dethrottled discovers sources, reads pages and files, operates a real browser, and retains evidence for follow-up. It returns source references, warnings and concrete continuation steps. Your agent or application decides what the evidence supports.
The default stack needs no API key, paid search subscription or model API. It runs on native AMD64 and ARM64 Docker hosts. Public sites can still block requests; retries, queues and storage have limits. Optional paid discovery integrations remain opt-in and are not required by the default workflow.
Install the complete engine
Install Docker Engine and Compose, then:
python3 -m venv .venv
. .venv/bin/activate
pip install dethrottled
dethrottled stack up
dethrottled stack status
The Python distribution includes matching deployment sources: no Git clone is
needed. stack up builds/downloads the five default services and waits for
readiness. Installing the package alone starts nothing and downloads no models.
dethrottled stack up --profile full # add local speech and PDF layout workers
dethrottled stack down # keep documents, cache and model volumes
Use --project NAME --port PORT for an isolated installation. Speech/layout model
weights initialize on first use; status reports this separately from readiness.
See installation choices
and measured requirements.
Standalone Python/library use remains available, with capabilities determined by
its installed libraries, system tools and external workers.
Prefer a checkout? Both routes run the same default services:
git clone https://github.com/halonyx-io/dethrottled.git
cd dethrottled
docker compose up -d --build
The API listens on 127.0.0.1:8787. Connect locally over REST, or configure the
optional authenticated REST/MCP adapters
for remote agents. The raw API has no caller authentication.
Follow the evidence
| Capability | What the agent receives |
|---|---|
| Search | Compact source choices: up to ten DDG results, at most three per supplementary engine, fifteen unique URLs total |
| Read | Extracted pages, documents, tables, archives, captions and media; quality and provenance remain attached |
| Recover | Observed publisher alternatives, TLS acquisition, JavaScript rendering and scoped headed-browser interaction |
| Drive | Native controls, frames, tabs, application responses, downloads, screenshots and checkpointed sessions |
| Retain | Document IDs with text, page and table ranges; focused follow-up without fetching the source again |
| Research | A bounded evidence bundle with explicit coverage gaps; ten sources by default, twenty on request |
A normal fetch runs the recovery policy automatically. When content remains
incomplete, read_plan and workflow.next_actions expose useful continuations,
including reuse of the same browser session. Agents can also operate /drive
directly. Read the agent integration guide
for tool selection and response contracts.
curl -sS http://127.0.0.1:8787/fetch \
-H 'Content-Type: application/json' \
-d '{"urls":["https://docs.python.org/3/library/sqlite3.html"],"focus":"in-memory database"}'
Preserve quality, warnings, source_partial, truncated, document_id and
continuation metadata. A successful HTTP response is not proof of a complete,
relevant or correct read. OCR and speech may need checking against source pixels
or audio. Interactive challenges can remain unresolved.
Measured on two machines
The current installation and benchmark report compares a Radxa Dragon Q6A ARM64 board with an AMD Ryzen szbox. It preserves installation failures and fixes, controlled browser/document checks, 50 live search questions, 30 fixed fetch targets and six research tasks per device. Fresh acquisition, cache-enabled repeats and optional workers are reported separately. Every plotted value is generated from retained case data.
| Recorded check | Q6A | szbox |
|---|---|---|
| Browser/document contracts, three runs | 63/63 | 63/63 |
| Controlled format fact retained, eleven fixtures × three runs | 33/33 | 33/33 |
| Worker-restart storage restoration | 3/3 | 3/3 |
| Nonempty live search menus | 50/50 | 50/50 |
Fresh public fetches assessed ok |
26/30 | 27/30 |
The live ok label is the engine's assessment, not verified answer correctness.
The report separately records topic-marker retention, thin results and failures.
These are observed workloads, not universal minimum requirements or a paid-service superiority claim. Earlier evaluations proved native Reddit interaction and recovery on specific pages; Crunchbase and G2 remained blocked. Current live outcomes, historical reports and limits are linked in the evidence index. Neural live-web reranking remains disabled.
Explore the engine
| Guide | Purpose |
|---|---|
| Documentation home | Find the right integration or operations guide |
| Architecture | Service boundaries, search, reading, research and corpus |
| HTTP API | Routes, examples and generated request reference |
| Browser operation | Actions, scope, sessions, checkpoints and downloads |
| Requirements and measurements | Tested hardware, memory, disk and optional-profile costs |
| Configuration | Workers, models, profiles and workload controls |
| Operations | Updates, backups, verification and remote deployment |
The default API image includes native document readers, Tesseract and MiniLM/E5
corpus models. Mutable evidence, jobs, cache and corpus use a named data volume;
browser checkpoints and optional model caches have their own volumes. GPU access
is optional. No .env file or worker URL is required for the default stack.
The fetch ladder does not consult robots.txt. Raw API access to trusted LAN
targets requires care; public adapters enforce narrower policies, alongside
operator-provided network isolation. See operations.
This checkout is 1.4.0. Check /health and /v2/capabilities on the service you
actually use; deployed services and remote plugins can differ from a checkout.
MIT license · Maintained by Halonyx
Metadata
Release files for dethrottled 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dethrottled-1.4.0.tar.gz | 10.1 MB | With provenance | Details for dethrottled-1.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dethrottled-1.4.0-py3-none-any.whl | Python 3 | none | any | Details for dethrottled-1.4.0-py3-none-any.whl |
Total release size: 20.3 MB
Release files / dethrottled-1.4.0.tar.gz
| Download URL | dethrottled-1.4.0.tar.gz |
|---|---|
| Size | 10.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7ef993a29cc0630f9d1128c88fdd87a2ef9904f10fc0dcf4d88acd14260da46
|
|
BLAKE2b-256 checksum How to use checksums |
1f234eb5cb59adda42b326a51f8e06fbeb1f32a312998c13456bb5a2165d6910
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logRelease files / dethrottled-1.4.0-py3-none-any.whl
| Download URL | dethrottled-1.4.0-py3-none-any.whl |
|---|---|
| Size | 10.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c64d53a8bd61fb4a90fff01df02ba6eeac0bd249ab122f3f2d3a6cbbdb0579aa
|
|
BLAKE2b-256 checksum How to use checksums |
49efa16ec48e4e0ceca3d12ae96f76725c77023074b5a8a70d76c691603b1bf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logSecurity for dethrottled 1.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for dethrottled-1.4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.