Free Web Search Js
Web search & content fetching via Playwright + HTTP — zero API keys. Searches Bing CN (domestic) or DDG (international), auto-fetches top page contents. For... Skill: Free Web Search Js Owner: ucsdzehualiu Summary: Web search & content fetching via Playwright + HTTP — zero API keys. Searches Bing CN (domestic) or DDG (international), auto-fetches top page contents. For... Tags: latest:29.1.0 Version history: v29.1.0 | 2026-06-22T07:29:35.102Z | user v29.1.0: Add LICENSE, fix playwright dep check, align metadata (version/author), remove dead engine docs, delete stale TEST_RE
Rank
62
Safety
84
Downloads
1.2k
Updated
Oct 11, 2026
Version
29.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.2K downloadsadoption · observed Oct 11, 2026
- Latest release
- 29.1.0release · observed Jun 22, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: medium.
clawhub skill install s17bk47xgrxy45rkmxpwv5p1z983nsd8:free-web-search-js- Setup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search-js/snapshot"
Documentation
CLAWHUB
137,455 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: free-web-search-js
description: Web search & content fetching via Playwright + HTTP — zero API keys. Searches Bing CN (domestic) or DDG (international), auto-fetches top page contents. For real-time search, fact-checking, news, tutorials, documentation lookup.
version: 29.1.0
license: MIT
author: free-web-search-js
trigger_keywords:
- search
- find
- look up
- 搜索
- 查一下
- 找一下
tools:
- name: search
description: Search + auto-fetch; Bing CN via Playwright, DDG via HTTP
script: scripts/search.js
parameters:
query:
type: string
description: "Search query"
required: true
max:
type: integer
description: "Max results 1-30, default 10"
required: false
region:
type: string
description: "Region: auto/cn/intl, defaults to auto (IP detection)"
required: false
- name: fetch
description: Fetch page content by URL, HTTP first with headed fallback
script: scripts/fetch.js
parameters:
urls:
type: string
description: "URLs to fetch, space-separated"
required: true
max-len:
type: integer
description: "Max chars per page, default 12000"
required: false
---
# free-web-search-js
Pure search — no rewriting, no filtering, noise handled by the AI. Uses real browser automation (Playwright) for Bing CN anti-bot, with HTTP fallback for international queries. Zero API keys required.
## Quick start
```bash
# Search (auto-fetches top 3 page contents)
node scripts/search.js "silver price"
node scripts/search.js "how to deploy docker" --max=5
node scripts/search.js "xxx" --region=cn
node scripts/search.js "xxx" --fetch=5 # fetch top 5
node scripts/search.js "xxx" --no-fetch # search only
# Fetch specific URLs
node scripts/fetch.js "https://example.com/page1" "https://example.com/page2"
```
## Architecture
```
Domestic (CN IP):
Playwright headless → Bing CN → home page for cookie → search box submit
→ 0 results? fallback to DDG HTML
→ auto-fetch top N page contents
International:
Pure HTTP → DDG HTML parse
→ fetch fails? fallback to Playwright request
→ DDG empty? fallback to Bing
→ auto-fetch top N page contents
```
## Install
All dependencies are installed upfront by the setup script. **The skill never runs `npm install` or `pip install` at runtime.** This avoids audit flags and supply-chain risks.
### Prerequisites
| Dependency | Purpose | Size |
|---|---|---|
| Node.js >= 18 | Runtime | — |
| cheerio | HTML parsing | small |
| commander | CLI arg parsing | small |
| iconv-lite | GBK charset conversion | small |
| playwright | Browser automation | ~50 MB |
| Chromium (Playwright) | Browser engine for Bing search + headed fetch | ~150 MB |
### One-command setup
```bash
# Linux / macOS
bash scripts/setup.sh
# Windows
powershell -File scripts/setup.ps1
```
The scripts auto-detect region and use `npmmirror.com` mirrors inside China for fasteREADME.md
# free-web-search-js ## 项目简介 free-web-search-js 是一个基于 Playwright和JS写 的免费网络搜索skill 可用于CC或者openclaw(clawhub install free-web-search-js),无需 API Key,支持国内和海外搜索,自动抓取搜索结果内容。 **Pure search — no rewriting, no filtering.** 噪音交给 AI 处理。使用真实浏览器(Playwright)处理 Bing CN 反爬,国际查询则使用 HTTP 加速。 - **免费**:零成本使用,无需 API Key - **稳定**:根据网络环境自动切换搜索策略,提高可达性 - **快速**:首次搜索 3\~6 秒,后续复用浏览器更快 - **自动抓取**:搜索后自动抓取 top N 条结果内容 - **跨区域**:国内使用 Bing,海外使用 DDG ## 支持的搜索引擎 | 引擎 | 协议 | 区域 | 说明 | | -------- | ---------------- | -- | ------------------------------------------- | | Bing CN | Playwright 搜索框提交 | 国内 | 先访问首页拿 cookie,再搜索框输入提交 | | DDG | Playwright 搜索框提交 | 海外 | 完整浏览器自动化 | ## 安装 ### 前置依赖 | 依赖 | 说明 | 大小/耗时 | | ------------- | ---------------------- | ------------------ | | Node.js >= 18 | 运行时 | — | | cheerio | HTML 解析 | 小,秒装 | | commander | CLI 参数解析 | 小,秒装 | | iconv-lite | GBK 编码转换 | 小,秒装 | | playwright | 浏览器自动化(Bing 搜索 + 抓取兜底) | \~50MB | | Chromium | Playwright 专用浏览器 | **\~150MB,需几分钟下载** | ### 安装步骤 #### 一键安装 ```bash # Linux/macOS bash scripts/setup.sh # Windows powershell -File scripts/setup.ps1 ``` #### 手动安装 ```bash # 进入项目目录 cd free-web-search-js # 安装依赖 npm install # 安装 Playwright 浏览器 npx playwright install chromium # ~150MB,需几分钟 ``` ### 国内镜像加速 ```bash # npm 镜像 npm install --registry=https://registry.npmmirror.com # Playwright/Chromium 镜像 PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright npx playwright install chromium ``` ### 验证环境 ```bash node scripts/check-env.js ``` ## 用法 ### 搜索(搜 + 自动抓内容) ```bash # 基本搜索 node scripts/search.js "白银价格" # 控制结果数量 node scripts/search.js "how to deploy docker" --max=5 # 指定区域 node scripts/search.js "xxx" --region=cn # 控制抓取数量 node scripts/search.js "xxx" --fetch=5 # 抓前5条 # 只搜索不抓取 node scripts/search.js "xxx" --no-fetch # 控制单页最大字符数 node scripts/search.js "xxx" --max-len=8000 ``` ### 单独抓取(给定 URL) ```bash node scripts/fetch.js "https://example.com/page1" "https://example.com/page2" ``` ## 性能优化:浏览器守护进程 搜索和抓取可复用浏览器守护进程,**提速约 70%**: ```bash node scripts/browser-daemon.js & # 启动 node scripts/browser-daemon.js --status # 状态 node scripts/browser-daemon.js --stop # 停止 ``` 守护进程空闲 10 分钟自动退出。 ## 架构 ### 国内搜索流程 ``` Playwright 打开 Bing → 首页拿 cookie → 搜索框提交 → 自动抓取 top N 页面内容 延迟:首次 3~6s(启动浏览器),后续复用更快 ``` ### 海外搜索流程 ``` 纯 HTTP → DDG HTML 解析 → 自动抓取 top N 页面内容 延迟:几百ms~1s ``` ### 抓取模式 | 层级 | 方式 | 速度 | 说明 | | --- | ----------------- | ---- | -------------- | | 第1层 | 轻量 HTTP + cheerio | ⚡ 秒出 | 不启动浏览器 | | 第2层 | Playwright headed | 🟡 慢 | 完整浏览器,支持 JS 渲染 | ## 区域检测 每次搜索时自动检测,三轮探测并行,谁先成功用谁: | 轮次 | 探测服务 | 逻辑 | | --- | -------------------
_meta.json
{
"ownerId": "kn7ecgbzbya89gesghbv1kty9d82r8e4",
"slug": "free-web-search-js",
"version": "29.1.0",
"publishedAt": 1782113375102
}skill-card.md
## Description: Free Web Search Js searches the web with Playwright and HTTP, using Bing CN or DuckDuckGo and optionally fetching page content without API keys. This skill is ready for commercial/non-commercial use. ## Publisher: [ucsdzehualiu](https://clawhub.ai/user/ucsdzehualiu) ### License/Terms of Use: MIT ## Use Case: Developers and agents use this skill to look up current web information, fact-check claims, find documentation or tutorials, and fetch page text for downstream reasoning. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The skill can fetch arbitrary HTTP URLs from the agent runtime, which can expose internal, localhost, cloud metadata, or private-network endpoints if misused. Mitigation: Use it in an isolated environment with restricted network access, avoid sensitive URLs, and prefer explicit --region plus --no-fetch when privacy matters. Risk: The skill may run untrusted pages in Chromium while default browser launch flags disable the browser sandbox. Mitigation: Update Playwright before sensitive use and remove the default no-sandbox browser flags on hosts where browser isolation matters. Risk: Queries, fetched URLs, and page requests are sent directly to search engines and target websites from the runtime. Mitigation: Do not submit confidential queries or URLs, and review fetched content before relying on it in downstream decisions. ## Reference(s): - [ClawHub skill page](https://clawhub.ai/ucsdzehualiu/skills/free-web-search-js) - [ClawHub publisher profile](https://clawhub.ai/user/ucsdzehualiu) - [Node.js](https://nodejs.org) ## Skill Output: **Output Type(s):** [text, json] **Output Format:** [JSON containing search results, URLs, snippets, and fetched page text.] **Output Parameters:** [1D] **Other Properties Related to Output:** [Result count and per-page content length are configurable; search may auto-fetch top results unless disabled.] ## Skill Version(s): 29.1.0 (source: frontmatter, package.json, server release metadata) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
package-lock.json
{
"name": "free-web-search-js",
"version": "28.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "free-web-search-js",
"version": "28.1.0",
"dependencies": {
"cheerio": "~1.0.0",
"commander": "~12.1.0",
"iconv-lite": "~0.6.3",
"playwright": "~1.52.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
"license": "ISC"
},
"node_modules/cheerio": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0.tgz",
"integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==",
"license": "MIT",
"dependencies": {
"cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0",
"domhandler": "^5.0.3",
"domutils": "^3.1.0",
"encoding-sniffer": "^0.2.0",
"htmlparser2": "^9.1.0",
"parse5": "^7.1.2",
"parse5-htmlparser2-tree-adapter": "^7.0.0",
"parse5-parser-stream": "^7.1.2",
"undici": "^6.19.5",
"whatwg-mimetype": "^4.0.0"
},
"engines": {
"node": ">=18.17"
},
"funding": {
"url": "https://github.com/cheeriojs/cheerio?sponsor=1"
}
},
"node_modules/cheerio-select": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz",
"integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
"license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
"css-select": "^5.1.0",
"css-what": "^6.1.0",
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3",
"domutils": "^3.0.1"
},
"funding": {
"url": "https://github.com/sponsors/fb55"
}
},
"node_modules/commander": {
"version": "12.1.0",
"resolved": "https://registry.npmmirror.com/commander/-/commander-12.1.0.tgz",
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/css-select": {
"version": "5.2.2",
"resolved": "https://registry.npmmirror.com/css-select/-/css-select-5.2.2.tgz",
"integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
"license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
"css-what": "^6.1.0",
"domhandler": "^5.0.2",
"domutils": "^3.0.1",
"nth-check": "^2.0.1"
},
"fundingAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/ucsdzehualiu/skills/free-web-search-js",
"sourceUrl": "https://clawhub.ai/ucsdzehualiu/skills/free-web-search-js",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T00:31:55.962Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search-js/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search-js/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T00:31:55.962Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.2K downloads",
"href": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceUrl": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T00:31:55.962Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "29.1.0",
"href": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceUrl": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-22T07:29:35.102Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search-js/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ucsdzehualiu-free-web-search-js/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 29.1.0",
"description": "v29.1.0: Add LICENSE, fix playwright dep check, align metadata (version/author), remove dead engine docs, delete stale TEST_REPORT.md, surface differentiator (pure search + Playwright anti-bot)",
"href": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceUrl": "https://clawhub.ai/ucsdzehualiu/free-web-search-js",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-22T07:29:35.102Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
