DeepSeek Harness plugin

deepspider

AI-native web scraping and JavaScript reverse-engineering platform powered by DSH, Patchright/CDP, semantic recovery, and verifiable Solvers

Jump to install

Source facts

Repository
ma-pony/deepspider
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
18
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/ma-pony/deepspider
Plugin: deepspider
Author: ma-pony

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README_EN.mdSource · read only
README language

DeepSpider

![npm version](https://www.npmjs.com/package/deepspider) ![License: MIT](https://opensource.org/licenses/MIT)

> An AI-native web scraping and JavaScript reverse-engineering platform powered by DSH, Patchright/CDP, and an independent semantic runtime—from browser evidence to recovered parameter-generation logic and runnable Solvers verified against real requests.

DeepSpider combines DSH Web, Patchright Chromium, Chrome DevTools Protocol (CDP), and an independent Node semantic runtime. The browser collects requests, scripts, and runtime facts. A finished result must be generated again outside the browser and accepted by a real request; page automation or a one-off capture is not the deliverable.

中文

Quick start

DeepSpider requires Node.js >=24.15.0. Global installation downloads Patchright Chromium.

npm install -g deepspider
deepspider agent

deepspider is also published as a native DSH Bundle. The primary command mounts it into the web Profile through the DSH Profile manager; an existing DSH installation can add it directly:

dsh plugin --profile web add deepspider
dsh web

This is the primary start command. DSH Web loads the Spider Preset. Create a Session and describe the target URL, trigger path, and target output. The first-release automatic semantic recovery supports Cookie only. Header, Query, Body, return-value, and navigation remain browser evidence, Output Contract, and manual analysis targets; the high-level tool does not currently produce an automatic reproduced result or Solver for them. Multiple Sessions can run concurrently with isolated browsers, SessionArtifactStores, Workers, and artifact roots.

Ctrl+C closes DSH Web and waits for every Session-owned Patchright Chromium process, sdenv Worker, and runtime resource to exit.

What DeepSpider is built for

  • Follow real request Initiators, call stacks, and script source to the parameter write boundary.
  • Analyze dynamic execution, Webpack, Workers, WebAssembly, state machines, and heavily obfuscated code.
  • Use Hooks, the Debugger, and property capture to fill evidence gaps without editing captured source in place.
  • Express browser dependencies required for Cookie generation as an auditable Runtime Recipe and execute them in an independent Worker.
  • Validate generated Cookies against the real request and export a Solver that runs without the Browser Session; use the general browser, Hook, Debugger, and Code Mode capabilities to locate and implement other output kinds.

One definition of done

For the currently automated Cookie path, recovery is complete only when the Browser Oracle has stored target evidence; an Output Contract and Runtime Recipe belong to the current Session; an independent sdenv Worker generates the Cookie from fresh state; CycleTLS sends a real request using only those generated values; the Validation level is reproduced; and the exported Solver reaches the same acceptance result after the browser has closed.

Browser output, a page-automation script, captured Cookies, a single Hook log, or a request that only replays captured values is not completion evidence.

Output-driven semantic recovery

Browser Oracle → Session Artifact Graph → Output Contract → Runtime Recipe
               → sdenv Worker → Real-request Validation → Solver
PhaseResponsibilityBoundary
Browser OracleObserve the real page, requests, scripts, and runtime facts through Patchright Chromium + CDPBrowser-produced final values remain observed
Session Artifact GraphLink Documents, Scripts, dynamic sources, requests, responses, and recovery artifactsOriginal content is immutable and every node belongs to the Session
Output ContractDefine the output and request acceptance conditionsRecover only semantics that affect the target output
Runtime RecipeDeclare fixed values, concealment, window proxy settings, UA, TLS, and timeoutsKeep target rules in the Session Recipe, not core branches
sdenv WorkerExecute page semantics in an independent Node child and fresh Cookie JarNever read Patchright final outputs or browser-data/
Request ValidationSend the real request using only Worker-generated valuesRequire both status and content conditions for reproduced
SolverExport the Contract, Recipe, and standalone entry pointRegenerate and validate after the browser has closed

An Output Contract can describe Cookie, Header, Query, Body, return-value, and navigation outputs. The first-release end-to-end automation implements Worker generation, real-request validation, and Solver export for Cookie only. Other kinds retain Contract, Artifact Graph, and manual reverse-engineering support without an automatic reproduced claim.

Evidence levels

LevelMeaning
observedA real Browser Oracle observation used to locate behavior and build the Contract
replayedA captured value or response reused for diagnosis and comparison
reproducedThe independent Node runtime generated the output and a real request accepted it

The Runtime Recipe boundary

Confirmed fixed fingerprints, concealed properties, window proxy settings, and target-specific rules may live in the current Session's Runtime Recipe. The generated-result identity binds the Recipe and Contract hashes, engine version, upstream Artifact IDs, and SHA-256 values. Core code executes these declarations without branching on a hostname, Cookie name, or protection vendor.

A Patchright Session is important evidence, not an absolute browser truth. When automation fingerprints or timing differ, compare regular Chrome, multiple Sessions, or confirmed target behavior, collect the missing facts, and update the Recipe.

Observed, derived, and generated artifacts

Captured scripts, responses, and dynamic sources are immutable observed Artifacts. Formatting, deobfuscation, or targeted processing creates a new derived Artifact with its source ID, transformation description, and content hash. Worker outputs are generated Artifacts. Only successful real-request validation raises the result to reproduced.

One recovery entry point

Normal recovery uses one high-level tool:

recover_target_output({ url, outputKind, outputSelector?, mode? })

For a Cookie Contract, the tool builds the Artifact Graph, Output Contract, and Runtime Recipe; starts the Session-owned sdenv Worker; performs real-request validation; and exports a Solver. Header, Query, Body, return-value, and navigation can enter evidence and Contracts, but the high-level tool does not currently complete their independent generation or Solver export. It returns only stage status, evidence levels, strategy, the first blocker, Solver Artifact ID, and next action to the Agent. Source, Cookie values, and full diagnostics stay in private Session Artifacts.

mode: "auto" selects the semantic runtime by default. mode: "algorithm" has no automatic algorithm engine yet and returns an explicit program blocker: algorithm-recovery-engine-not-implemented. The Agent can then use the existing Hook, Debugger, and Code Mode workflow to recover the local logic that affects the target output, or wait for a future algorithm engine. DeepSpider does not present this unimplemented escalation as automatic completion.

Eight-stage reverse-engineering workflow

intake → evidence → locate → recover → runtime → extraction → validation → handoff
StageCore taskMain output
intakeDefine the request, trigger path, delivery, and output kindStructured objective
evidenceReproduce the request on the real page and inspect the full responseBrowser Oracle evidence
locateFollow the Initiator, call stack, and source to the write boundaryParameter origin and key Artifacts
recoverRecover bridge contracts and operators that affect the outputOutput Contract
runtimeFind the first browser/independent-runtime divergenceRuntime Recipe
extractionUse Hook, Debugger, and Code Mode to separate algorithm and environment semantics as required by the blockerWorker result or manually recovered local algorithm
validationSend the real request with generated valuesreproduced Validation Artifact
handoffFreeze identity, entry points, and operating instructionsSolver or direct-request module

The Coordinator makes at most three semantic attempts and stops on success. It does not modify the Runtime Recipe or handle a blocker between attempts. If all three fail, it returns the first blocker and next action; the Agent may then collect evidence or manually change the Recipe before starting a new recovery run. environment is a missing browser semantic, resource is a dependency or network-response problem, program is behavior the current engine cannot execute, and validation means an output was generated but the request rejected it.

DSH Agent and Dialog

  • Sessions run multiple tasks with isolated browsers, Workers, and files.
  • Goals and Todo hold the task objective and current execution items.
  • Code Mode uses run_code and the generated TypeScript SDK to call DeepSpider tools.
  • Cordis dynamic tools inspect and invoke runtime capabilities within current Agent permissions.
  • Web Search finds public references; the Browser Oracle remains the source of page facts.
  • Dialog is an optional in-browser panel that shows browser evidence, Artifact Graph, Node generation, and request validation status.

When the output kind is ambiguous, login interaction is required, or algorithm recovery needs approval, DeepSpider uses the native DSH single-choice, multiple-choice, and custom-answer protocol. browser_dialog opens only when the current Session owns a browser. Answers return to the same Session; there is no second dialog state machine.

Usage

CommandPurpose
deepspider agent [--port <number>] [--verbose]Start native DSH Web and the Spider Preset
deepspider mcpStart the stdio MCP external adapter
deepspider fetch <url>Make one lightweight HTTP request through CycleTLS
deepspider updateCheck for and update a global installation
deepspider --versionShow the version
deepspider --helpShow help

fetch does not launch a browser or enter the Agent workflow. The MCP stdio external adapter gives other clients the same central tool catalog. Use DSH Web for the complete multi-Session workflow.

Tool catalog

GroupCapabilities
BrowserPage actions, tabs and iframes, screenshots, DOM, storage, console, Dialog
NetworkRequests, responses, Initiator data, WebSockets
ScriptScript inventory, full source retrieval, cross-script search
DebuggerBreakpoints, call stacks, stepping, evaluation, logpoints
HookExplicit injection and runtime log queries
StealthAnti-debug interception control
CaptureBrowser environment, descriptors, prototypes, and function facts
RecoveryCookie generation, real-request validation, and Solver export through recover_target_output; evidence and Contracts for other outputs

Catalog size is derived from code and is not a documentation contract.

Session artifacts and Solver

~/.deepspider/sessions/<sha256(agent.id)>/
├── evidence/
│   ├── sites/            # Requests, responses, scripts, and site indexes
│   └── artifacts/        # Artifact Graph, Contract, Recipe, Run, Validation, Solver
├── runs/                 # sdenv Worker requests, results, and diagnostics
├── solvers/              # Standalone Solvers
├── screenshots/
└── browser-data/

Every successful automated Cookie recovery creates four files under solvers/:

solver.mjs
contract.json
recipe.json
package.json

Install and run them with npm. Installation builds the sdenv native module:

npm install
node solver.mjs

The Solver creates a fresh Cookie Jar. It imports no Patchright code and reads neither Session browser-data/ nor captured Cookies. It prints a compact validation result and closes sdenv and CycleTLS before exit.

Architecture

DSH Web Host Plane
├── Sessions, models, Goals, Todo, Cordis, and event routing
└── Spider Agent Plane
    ├── Code Mode + DeepSpider Catalog
    └── Session-owned DeepSpider Runtime
        ├── Patchright Chromium + CDP + Dialog
        ├── Browser Oracle + SessionArtifactStore
        ├── Session Artifact Graph + RecoveryCoordinator
        └── sdenv Worker + CycleTLS Validator + Solver

MCP stdio adapter
└── the same DeepSpider Catalog

The Host Plane owns application services and multiple Sessions. An Agent Plane performs one Session's reverse-engineering work. RuntimeManager enforces state boundaries. When a Session is disposed or the Host receives an exit signal, DeepSpider aborts the active operation and closes Workers before Dialog, CDP, Patchright Chromium, and the Store.

Development and release checks

Source development uses Node.js >=24.15.0 and pnpm 11.22.0.

git clone https://github.com/ma-pony/deepspider.git
cd deepspider
pnpm install

pnpm test
pnpm lint
pnpm test:integration
pnpm smoke:pack

Integration tests require an environment that permits Patchright Chromium child processes. DeepSpider does not load a project-root .env automatically. Set DEEPSPIDER_HEADLESS=true explicitly for headless operation.

Security and authorization

DSH stores model-provider settings and credentials; DeepSpider bundles no accounts. Cordis, browser debugging, script execution, and network access are privileged capabilities for trusted tasks. Analyze only targets that you own or are authorized to assess, and comply with target terms and applicable law.

License

MIT