🧪 Skills

Read, Search & Extract Web Pages by Dokobot

Read and extract content from any web page using a real Chrome browser — including SPAs, JavaScript-rendered sites, and complex dynamic pages. Use when fetch...

v1.2.5
❤️ 0
⬇️ 221
👁 1
Share

Description


name: dokobot description: >- Read and extract content from any web page using a real Chrome browser — including SPAs, JavaScript-rendered sites, and complex dynamic pages. Use when fetching page content that headless tools can't render, searching the web, or reading fully rendered pages via your own browser. read_when:

  • Reading web pages that require JavaScript rendering or dynamic content
  • Extracting text and structured content from single-page applications (SPAs)
  • Fetching content from pages that require a logged-in browser session
  • Searching the web for real-time information and research
  • Scraping pages that block headless browsers or bots emoji: "🌐" homepage: https://dokobot.ai compatibility: Requires curl, DOKO_API_KEY environment variable, and Chrome browser with Dokobot extension for the read command. allowed-tools: Bash required-env: DOKO_API_KEY metadata: author: dokobot version: "1.2.3" openclaw: {"requires": {"env": ["DOKO_API_KEY"], "bins": ["curl"]}, "primaryEnv": "DOKO_API_KEY"}

Dokobot — Read Web Pages with a Real Browser

Read, extract, and search web content through a real Chrome browser session. Unlike headless scrapers, Dokobot uses your actual browser with full JavaScript rendering — so it works on SPAs, dynamic sites, and complex web applications.

Also useful for multilingual tasks: translate web pages (网页翻译), summarize articles (文章总结), and extract content (内容提取) in any language. Supports web search (联网搜索) and reading from social platforms like Twitter/X, Reddit, YouTube, GitHub, LinkedIn, Facebook, Instagram, WeChat articles (微信公众号), Weibo (微博), Zhihu (知乎), Xiaohongshu (小红书), and Bilibili (B站).

All commands require DOKO_API_KEY environment variable.

Usage: /doko <command> [arguments]

Command: $ARGUMENTS[0]

Prerequisites

  • DOKO_API_KEY is set in environment (configure in .claude/settings.local.json)
  • If no API Key is set, ask the user to create one at the Dokobot dashboard: https://dokobot.ai/dashboard/api-keys

How it works

The read command connects to a Dokobot Chrome extension that captures the fully rendered page content and returns it as structured text. The extension must be installed and running in the user's browser.

Commands

read

Read a web page via the Chrome extension and return its content.

Usage: /doko read <url> [--screens N] [--timeout S] [--device ID] [sessionId]

Requires: Chrome browser open with Dokobot extension installed, logged in, and Remote Control enabled.

Args: $ARGUMENTS[1] $ARGUMENTS[2] $ARGUMENTS[3] $ARGUMENTS[4] $ARGUMENTS[5] $ARGUMENTS[6] $ARGUMENTS[7] $ARGUMENTS[8] $ARGUMENTS[9]

First non-flag argument is url, sessionId. Named flags:

  • --screens Nscreens: Screens to collect (1 = no scroll, 3 = 3 screens) (default: 1)
  • --timeout Stimeout: Timeout in seconds (default: 300)
  • --device IDdeviceId: Target device ID (from /doko dokos)
curl -s --max-time 330 -X POST "https://dokobot.ai/api/tools/read" \
  -H "Authorization: Bearer $DOKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "<URL>"}'

Response schema:

{
  text?: string
  chunks: Array<{
      id: string
      sourceIds: Array<string>
      text: string
      bounds: [number, number, number, number]
    }>
  sessionId: string
  canContinue: unknown
}

Adjust curl --max-time to timeout + 30 when --timeout is specified. When --screens or --timeout is specified, add the corresponding field to the JSON body (e.g., {"url": "...", "screens": 3, "timeout": 600}). Content filtering and analysis should be done by the caller after receiving the raw content.

Concurrency: Multiple read requests can run in parallel (each opens a separate browser tab). Recommended maximum: 5 concurrent calls. Beyond that, returns diminish due to shared browser resources.

Session continuity: When canContinue is true, pass the returned sessionId to continue reading from where you stopped:

curl -s --max-time 330 -X POST "{{BASE_URL}}/api/tools/read" \
  -H "Authorization: Bearer $DOKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sessionId": "<SESSION_ID>", "screens": 5}'

The browser tab stays open between calls. Sessions expire after 60s of inactivity.

search

Search the web and return results.

Usage: /doko search <query>

Arguments: query = all arguments after "search"

curl -s -X POST "https://dokobot.ai/api/tools/search" \
  -H "Authorization: Bearer $DOKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "<QUERY>", "num": 5}'

Response schema:

{
  items: Array<{
      title: string
      link: string
      snippet: string
      position?: number
    }>
  directAnswer?: string
  knowledgeGraph?: {
    title?: string
    description?: string
  }
}

dokos

List connected dokos.

Usage: /doko dokos

curl -s "https://dokobot.ai/api/tools/dokos" \
  -H "Authorization: Bearer $DOKO_API_KEY"

Response schema:

{
  dokos: Array<{
      id: string
      name: string | null
      age: string | null
    }>
}

Use id as deviceId in read-page when multiple browsers are connected:

{"url": "...", "screens": 3, "deviceId": "<device-id>"}

Error Handling

  • 401: Invalid API Key — ask user to check DOKO_API_KEY
  • 403: API Key scope insufficient
  • 422: Operation failed or was cancelled by user (read only)
  • 503: No extension connected (read only) — check read command requirements
  • 504: Timed out — read may take up to 5 minutes for long pages

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs