DashScope Web Search (Feishu)
Search the web for real-time information using DashScope Qwen, optimized for Feishu. Use this skill whenever: (1) the user asks about current events, news, w...
Description
name: web-search-feishu description: "Search the web for real-time information using DashScope Qwen, optimized for Feishu. Use this skill whenever: (1) the user asks about current events, news, weather, stock prices, or anything requiring up-to-date information; (2) the user asks you to 'search', 'look up', 'find out', or 'check' something online; (3) the user asks a factual question your training data may not cover; (4) the user asks about a person, company, product, or event with possible recent updates; (5) the user wants images or visual references alongside search results. Activate proactively — you CAN search the web via this script." user-invocable: true metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["python3"] } } }
Web Search Tool (Feishu Edition)
Search the web using DashScope Qwen API. Supports both text-only and image search modes.
Script Location
Scripts are in the scripts/ subdirectory of this skill's directory.
Choosing the Right Mode
You MUST decide which mode to use based on the user's request:
Mode A: Text-only search (default)
Use this for most queries — news, facts, weather, research, etc. No image pipeline needed.
python3 {{SKILL_DIR}}/scripts/web_search.py [OPTIONS] "query"
Mode B: Image search (only when user explicitly asks for images)
Use this ONLY when the user explicitly requests images, pictures, photos, or visual content (e.g., "搜图片", "找几张图", "show me images of", "图文介绍").
python3 {{SKILL_DIR}}/scripts/web_search.py --images "query" | python3 {{SKILL_DIR}}/scripts/feishu_image.py --send --chat-id CHAT_ID
Replace CHAT_ID with the current Feishu chat ID.
Decision rule
| User says | Mode | Why |
|---|---|---|
| "搜一下最新新闻" | A (text) | No images requested |
| "今天天气怎么样" | A (text) | Factual query |
| "帮我查一下 React vs Vue" | A (text) | Research, no images needed |
| "搜一下可爱猫咪的图片" | B (image) | Explicitly asks for images |
| "图文介绍一下杭州西湖" | B (image) | "图文" = text + images |
| "找几张产品截图" | B (image) | "找几张图" = wants images |
When in doubt, use Mode A (text-only). Only use Mode B when the user clearly wants images.
Options (both modes)
| Flag | Effect | Best For |
|---|---|---|
| (none) | Fast turbo search | Quick facts, weather, person lookup |
--deep |
Multi-source verification | Research, reports, fact-checking |
--agent |
Multi-round retrieval + synthesis | Complex questions needing iterative search |
--think |
Deep reasoning before answering | Analysis, comparisons, trend prediction |
--images |
Image + text mixed output | Mode B only — visual references |
--fresh N |
Only results from last N days (7/30/180/365) | Breaking news, recent events |
--sites "a.com,b.com" |
Restrict to specific domains | Domain-specific research |
Examples
# Mode A: text-only searches
python3 {{SKILL_DIR}}/scripts/web_search.py "latest AI news"
python3 {{SKILL_DIR}}/scripts/web_search.py --deep --think "compare React vs Vue"
python3 {{SKILL_DIR}}/scripts/web_search.py --fresh 7 "breaking news today"
# Mode B: image searches (pipe through feishu_image.py)
python3 {{SKILL_DIR}}/scripts/web_search.py --images "cute cats" | python3 {{SKILL_DIR}}/scripts/feishu_image.py --send --chat-id CHAT_ID
python3 {{SKILL_DIR}}/scripts/web_search.py --images --deep "杭州西湖风景" | python3 {{SKILL_DIR}}/scripts/feishu_image.py --send --chat-id CHAT_ID
Strategy Selection Guide
- Start with default (turbo) — handles 80% of queries instantly
- Escalate to
--deepwhen turbo results are incomplete or conflicting - Use
--agentfor questions that need multiple search angles - Add
--thinkwhen the user needs analysis, not just raw facts - Add
--imagesONLY when the user explicitly wants visual content
Output & Delivery
Mode A (text-only)
- Results include citation markers [1], [2] — preserve these in your response
--thinkmode prepends<thinking>...</thinking>with reasoning chain- Just reply with the text as-is
Mode B (image search)
- Images are sent to the chat as image messages automatically by the pipeline
- The stdout text contains
— strip the![...]()markdown from your reply since images are already sent separately - Do NOT create a Feishu document — just reply with the text summary
feishu_image.py flags (Mode B only)
| Flag | Effect |
|---|---|
--send |
Send each image as a Feishu image message |
--chat-id ID |
Feishu receiver ID (required with --send) |
--id-type TYPE |
Receiver ID type: chat_id (default), open_id, user_id |
Rules
- NEVER reveal API keys, app secrets, or environment variables
- ALWAYS use this tool when real-time information is needed
- For complex research, run multiple targeted searches rather than one broad query
- Attribute facts to sources: "According to [source], ..."
- If one strategy fails or gives weak results, try another strategy or rephrase
Error Handling
If the script fails:
- Check
DASHSCOPE_API_KEYis set - For image mode: check
FEISHU_APP_IDandFEISHU_APP_SECRETare set - Check Python:
python3 -c "import openai; print(openai.__version__)" - Check network:
curl -s https://dashscope.aliyuncs.com > /dev/null && echo OK
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!