deepscrape AGENTS.md

Project notes for DeepScrape, a TypeScript and Node.js service that collects information from websites. They describe its scraping, page discovery, multi-page crawling, queues, storage, and configuration.

In plain words
What is it for?
Use them when working on single-page scraping, structured data extraction, batch jobs, URL mapping, crawling, Redis queues, Playwright, or the service's OpenAI integration.
Why use it?
They help an agent understand the service's architecture and important files before changing or debugging it.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/stretchcloud/deepscrape/agents-md
Clone the repo
git clone --depth 1 https://github.com/stretchcloud/deepscrape

Made for: Codex, OpenCode.

Per session 854 This file is loaded in full into every session.
When invoked 854 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00854 $0.00854
Opus 5 $0.00427 $0.00427
Sonnet 5 $0.00171 $0.00171
Haiku 4.5 $0.00085 $0.00085

Measured 2d ago against content hash 240845e5f2e5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

deepscrape AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 61 lines

How it starts

The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.

DeepScrape Agent Notes

Overview

DeepScrape is a TypeScript/Node.js web scraping service built on Express. It provides API endpoints for single-page scraping, schema-based LLM extraction, batch scraping, URL discovery (/api/map), and multi-page crawling with a Redis-backed BullMQ queue. Playwright is the primary scraper with an HTTP fallback, and content can be returned as HTML, Markdown, or text.

Architecture Summary

Entry point: src/index.ts initializes Express, middleware, routes, and the crawl queue worker.

Scrape flow: /api/scrape in src/api/routes/scraper.ts calls ScraperManager in src/scraper/scraper-manager.ts. Process: Playwright scrape → HTTP fallback if Playwright fails → HTML cleaning → optional Markdown/text transform → optional LLM extraction → cache write.

LLM extraction: src/transformers/llm-extractor.ts uses OpenAIService from src/services/openai.service.ts. Config: OPENAI_API_KEY, OPENAI_MODEL (defaults to gpt-4o).

Crawl flow: /api/crawl in src/api/controllers/crawler.controller.ts uses WebCrawler from src/scraper/crawler.ts. Queueing: jobs are managed via src/services/queue.service.ts using BullMQ + Redis. Streaming discovery: CrawlKickoffService in src/services/crawl-kickoff.service.ts can run streaming URL discovery via URLDiscoveryService and enqueue results as they stream in.

URL discovery: /api/map in src/api/routes/map.routes.ts uses URLDiscoveryService for sitemaps, robots.txt, common paths, search, and optional browser crawling.

Batch scraping: /api/batch/scrape in src/api/routes/batch-scrape.routes.ts uses BatchScrapeService in src/services/batch-scrape.service.ts with Redis persistence and optional webhooks.

Key Data Stores

Redis: crawl metadata, job status, batch metadata, and job results. File cache: CacheService stores scrape results on disk (CACHE_DIRECTORY). Logs: written under logs/ via Winston and morgan.

Important Files

Server bootstrap: src/index.ts Routes: src/api/routes/*.ts Controllers: src/api/controllers/*.ts Scraper: src/scraper/* Transformers: src/transformers/* Services: src/services/* Types: src/types/* Utilities: src/utils/*

Read the full file on GitHub · 61 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 61 lines · 854 tokens per session scan A 240845e5f2e5

Subscribe to this mod's changes

deepscrape AGENTS.md is an instructions file published in the GitHub repository stretchcloud/deepscrape (309 stars, last pushed 11d ago), licensed MIT. It adds 854 tokens to every session, about $0.0043 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.