Skip to main content

deepspider

18Stars4Forks6Issues1Watchers

Performs AI-driven web crawling and JavaScript reverse engineering, recovering parameter logic from browser evidence for validation.

Evidence4/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
Branch
main
ai-agentanti-detectautomationcaptchacrawlerdeepseek-aideepseek-harnessdsh

Install

cmdweb profile
$ dsh plugin --profile web add --allow-build=deepspider github:ma-pony/deepspider

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin ma-pony/deepspider for me: review the repository at https://github.com/ma-pony/deepspider first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

一句话定位

DeepSpider 是一款运行在 DSH 之上的浏览器逆向工程平台。它用 Patchright 浏览器观察真实页面、请求和脚本事实,把这些事实转成 Output Contract 与 Runtime Recipe,再交给独立的 Node 运行时(sdenv Worker)重新生成参数,最后用真实 HTTP 请求确认结果,并把验证通过的部分固化成可脱离浏览器复跑的 Solver。

核心能力

  • 用 Patchright Chromium(反检测版 Playwright)观察真实页面,捕获脚本、请求与运行时事实
  • 通过 CDP 控制台、断点、单步、求值、logpoint 完成 JavaScript 调试
  • 显式注入运行时 Hook 与属性采集,补齐浏览器侧事实,不修改捕获源码
  • 沿请求 Initiator、调用栈定位参数写入边界,导出 Output Contract 与 Runtime Recipe
  • 在独立的 sdenv Worker 子进程中重新生成参数,再用 CycleTLS 发起真实请求做端到端验证
  • 验证通过后导出四个文件的独立 Solver,关闭浏览器后仍可在新环境复跑

技术实现

  • 语言: JavaScript(ESM)
  • 关键依赖: @deepseek-ai/dsh、patchright、sdenv、cycletls
  • 架构模式: 通过 dsh.bundle.patch(dsh/cordis.patch.yml)向 DSH Host Plane 注入 Host 与 Preset 插件,同时向 Agent Plane 注册中央工具目录;每个 Session 独立持有 DeepSpiderRuntime(Patchright Chromium + CDP + Dialog + sdenv Worker + SessionArtifactStore + CycleTLS Validator)
  • 入口文件: src/dsh/host-plugin.js、src/dsh/agent-plugin.js、src/dsh/launcher.js、bin/cli.js

适用场景

当你面对一个普通爬虫拿不到数据的网站,需要理解并复现它的请求参数或 Cookie 生成逻辑时,可以用 DeepSpider 让 AI 自动观察浏览器事实并尝试恢复生成流程。它把"分析"和"独立复跑"两件事打通:分析出来的结果必须是脱离浏览器、在独立 Node 运行时里也能用真实请求复现的 Solver,适合需要把分析成果固化成可审计、可复跑脚本交付给下游的场景。

前置依赖与兼容性

依赖最低版本说明
Node.js>= 24.15.0源码在 package.json 的 engines 中声明
Patchright Chromium自动下载postinstall 钩子触发 patchright install chromium
DSH必需由 @deepseek-ai/dsh 提供宿主框架
平台跨平台package.json 未限制 os / cpu
原生模块sdenv、cycletlsSolver 安装阶段会构建 sdenv 原生模块

安装方式

dsh plugin --profile web add github:ma-pony/deepspider

配置项

本插件没有 DSH 侧的配置面板;只有启动命令行参数和少量环境变量。

配置类型说明默认值
--port(deepspider agent 子命令)数字DSH Web 监听端口,允许 0 由系统分配系统默认
--verbose(deepspider agent 子命令)布尔打印 DeepSpider 启动信息关闭
DEEPSPIDER_HEADLESS环境变量设置为 true 时 Patchright 以无头模式启动关闭
DSH_HOME环境变量DSH 配置目录路径,默认 ~/.dsh~/.dsh
DSH_PERMISSION_MODE环境变量启动时由 launcher 强制设为 danger-full-accessdanger-full-access

常见问题

Q: 这个插件和普通的爬虫或 Selenium 自动化有什么不一样?

A: DeepSpider 不止做页面自动化,它把浏览器观察到的事实转成 Output Contract + Runtime Recipe,再交给独立的 Node 运行时重新生成参数,用真实请求确认结果正确,最后输出可脱离浏览器复跑的 Solver,而不是停留在"一次抓取成功"。

Q: 它能自动恢复哪些输出类型?

A: 首版端到端自动链路只覆盖 Cookie。Header、Query、Body、返回值和导航可以进入证据和 Output Contract,但当前不会由高层工具自动完成独立生成、真实请求验证和 Solver 导出,仍需要人工介入。

Q: 自动恢复的产物和 Solver 文件放在哪里?

A: 每个 Agent Session 在 ~/.deepspider/sessions/<sha256(agent.id)>/ 下有独立目录,包含 evidence/、artifacts/、runs/、solvers/、screenshots/、browser-data/,不同 Session 互相隔离。验证通过的 Cookie 恢复会在 solvers/<contract-recipe-hash>/ 下生成 solver.mjs、contract.json、recipe.json、package.json 四个文件。

Q: 启动 deepspider agent 失败的常见原因有哪些?

A: 主要是 Node 版本低于 24.15.0、首次安装时 postinstall 没把 Patchright Chromium 下载下来,或运行环境禁止派生 Chromium 子进程。项目根目录的 .env 不会被自动加载,要在无头模式下运行需要显式设置 DEEPSPIDER_HEADLESS=true。

Q: 用 mode: 'algorithm' 会发生什么?

A: 当前没有自动算法引擎,会显式返回 algorithm-recovery-engine-not-implemented blocker,让 Agent 用 Hook、Debugger、Code Mode 手工恢复或等待后续实现。DeepSpider 不会把未实现的部分描述成自动完成。

Q: 我只想发一次不带浏览器的轻量请求,怎么做?

A: 用 deepspider fetch <url> 通过 CycleTLS 发一次轻量 HTTP 请求,不启动浏览器也不进入逆向流程;如果响应码 ≥400,命令行会提示改用 deepspider agent 处理。

上手难度

专家 — 需要熟悉 DSH 工具调用、Patchright/CDP 调试、JavaScript 逆向与 sdenv 运行时;建议先用普通 DSH 与 Patchright 跑通页面自动化再使用自动恢复。

已知问题与限制

  • 首版端到端自动链路只覆盖 Cookie;Header、Query、Body、返回值、导航的独立生成与 Solver 导出尚未由高层工具自动完成(src/recovery/contracts.js:3,README.md:63)
  • mode: 'algorithm' 当前没有自动算法引擎,会显式返回 program blocker 而非自动完成(src/recovery/coordinator.js:129,src/recovery/strategy-detector.js:11)
  • RecoveryCoordinator 单次恢复最多重试 3 次;3 次都未通过时不会自动调整 Runtime Recipe,只会返回首个 blocker 和下一动作(src/recovery/coordinator.js:11,README.md:112)
  • 集成测试和 Patchright Chromium 启动依赖允许派生 Chromium 子进程;在受限容器或 CI 里可能直接失败(README.md:218)
  • 项目根目录的 .env 不会被自动加载;无头模式需显式设置 DEEPSPIDER_HEADLESS=true(src/runtime/DeepSpiderRuntime.js:302,README.md:218)
  • Solver 创建全新的 Cookie Jar 并只读 contract.json 与 recipe.json,不会读取 browser-data/ 或捕获的 Cookie(src/recovery/solver.js,README.md:182)

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/ma-pony/deepspider)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory