free-search
完全免费的网页搜索,使用 Bing 搜索结果。无需 API key,完全免费使用。当用户需要搜索网页、查找信息时使用此命令。
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-ddg-free
Repository
Skill path: skills/ipdoctor961051-cyber/ddg-free
完全免费的网页搜索,使用 Bing 搜索结果。无需 API key,完全免费使用。当用户需要搜索网页、查找信息时使用此命令。
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack, Backend.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install free-search into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding free-search to shared team environments
- Use free-search for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: free-search
description: "完全免费的网页搜索,使用 Bing 搜索结果。无需 API key,完全免费使用。当用户需要搜索网页、查找信息时使用此命令。"
metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["python3"] } } }
---
# Free Search
完全免费的网页搜索,使用 Bing 搜索结果。
## 何时使用
✅ **使用此命令当:**
- 用户需要搜索网页
- 查找最新信息
- 查找资料或文档
- 需要网络搜索结果
## 使用方法
```bash
python3 /Users/liruozhen/openclaw/skills/ddg-free/scripts/search.py --query "搜索关键词" --max-results 5
```
## 输出格式
返回 JSON 格式,包含:
- `query`: 搜索词
- `results`: 结果数组,每个包含:
- `title`: 标题
- `url`: 链接
- `snippet`: 摘要
## 示例
```bash
python3 /Users/liruozhen/openclaw/skills/ddg-free/scripts/search.py --query "人工智能最新发展" --max-results 3
```
## 特点
- ✅ 完全免费,无需注册
- ✅ 无需 API key
- ✅ 无使用限制
- ✅ 支持中英文搜索
- ✅ 使用 Bing 搜索结果
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "ipdoctor961051-cyber",
"slug": "ddg-free",
"displayName": "Ddg Free",
"latest": {
"version": "1.0.0",
"publishedAt": 1772503120247,
"commit": "https://github.com/openclaw/skills/commit/048034890469a334d3ce680d0c5baee1035a6afb"
},
"history": []
}
```
### scripts/search.py
```python
#!/usr/bin/env python3
import requests
import sys
import json
import argparse
from urllib.parse import quote_plus, unquote
from bs4 import BeautifulSoup
def search(query, max_results=5):
url = f"https://cn.bing.com/search?q={quote_plus(query)}"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.5",
}
try:
resp = requests.get(url, headers=headers, timeout=15)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")
results = []
for item in soup.select(".b_algo"):
title_elem = item.select_one("h2 a")
snippet_elem = item.select_one(".b_caption p")
if title_elem:
title = title_elem.get_text(strip=True)
url = title_elem.get("href", "")
snippet = ""
if snippet_elem:
snippet = snippet_elem.get_text(strip=True)
if title and url and not url.startswith("http"):
url = "https://www.bing.com" + url
if url.startswith("http"):
results.append({"title": title, "url": url, "snippet": snippet})
if len(results) >= max_results:
break
output = {"query": query, "results": results}
print(json.dumps(output, ensure_ascii=False, indent=2))
except Exception as e:
print(json.dumps({"error": str(e)}), file=sys.stderr)
sys.exit(1)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--query", required=True)
parser.add_argument("--max-results", type=int, default=5)
args = parser.parse_args()
search(args.query, args.max_results)
```