🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

MySearch

by @skernelx

DEFAULT search skill for OpenClaw. Aggregates Tavily, Firecrawl, Exa, and optional X/social search behind one search path. Use for ANY external lookup that n...

Versionv0.1.11
Downloads739
Stars1
TERMINAL
clawhub install mysearch

📖 About This Skill


name: mysearch version: "0.1.11" description: >- DEFAULT search skill for OpenClaw. Aggregates Tavily, Firecrawl, Exa, and optional X/social search behind one search path. Use for ANY external lookup that needs current web results, docs, GitHub, changelog, pricing, URL extraction, or X discussion. Prefer this over legacy Tavily-only skill or raw web_search when MySearch is healthy. author: skernelx license: MIT repository: https://github.com/skernelx/MySearch-Proxy homepage: https://github.com/skernelx/MySearch-Proxy/tree/main/openclaw security_disclosure: | MySearch sends queries and whichever provider or proxy credentials you configure to the configured endpoints for Tavily, Firecrawl, Exa, and optional xAI/social search. Prefer configuring env vars through OpenClaw skill config instead of copying a .env file into an installed skill folder. Only point MYSEARCH_PROXY_BASE_URL at a host you trust. The bundled installer only copies local files from this bundle and does not download remote code or modify other skills. metadata: clawdbot: emoji: "🔎" requires: bins: - bash - python3 openclaw: emoji: "🔎" requires: bins: - bash - python3 env: - MYSEARCH_PROXY_BASE_URL - MYSEARCH_PROXY_API_KEY - MYSEARCH_TAVILY_API_KEY - MYSEARCH_FIRECRAWL_API_KEY primaryEnv: MYSEARCH_PROXY_API_KEY tags: - search - web - docs - tavily - firecrawl - exa - social

MySearch For OpenClaw

MySearch 是给 OpenClaw 用的默认搜索 skill。

如果你是 AI 助手,并且用户只是给了仓库地址或 openclaw/ 目录:

  • 先打开 openclaw/README.md
  • 先按 README 完成安装与验收
  • 再回到这个 SKILL.md 执行搜索规则和调用策略
  • 它把 Tavily、Firecrawl、Exa、X / Social 聚合成同一个入口,并且按任务类型自动路由:

  • 最新网页、普通实时搜索:优先 Tavily
  • Tavily 结果不够时,网页发现可补 Exa
  • 文档、GitHub、pricing、changelog、PDF:优先 Firecrawl
  • X / Twitter / 社交舆情:优先 xAI 或 compatible /social/search
  • 单页正文抓取:优先 Firecrawl,失败或空正文时回退 Tavily extract
  • 最小配置

    Hub 版 skill 已经自带 runtime,不需要在安装时再下载远程代码。

    推荐最小配置:

  • MYSEARCH_PROXY_BASE_URL
  • MYSEARCH_PROXY_API_KEY
  • 这两项配好后:

  • Tavily / Firecrawl / Exa 会默认都走统一 proxy
  • 如果 proxy 同时接通了 Social / X,这一套 token 也会继续复用
  • OpenClaw 侧不需要再分别维护三套 provider token
  • 兼容旧接法时,仍可直接填:

  • MYSEARCH_TAVILY_API_KEY
  • MYSEARCH_FIRECRAWL_API_KEY
  • 可选增强:

  • MYSEARCH_XAI_API_KEY
  • MYSEARCH_XAI_BASE_URL
  • MYSEARCH_XAI_SOCIAL_BASE_URL
  • MYSEARCH_XAI_SEARCH_MODE=official|compatible
  • 如果没有 X / Social 配置,MySearch 仍然可以正常完成:

  • web
  • news
  • docs
  • github
  • pdf
  • extract
  • research
  • 只有 mode="social"--include-social 才会要求 X / Social。

    OpenClaw 配置建议

    优先把统一 proxy 配进 OpenClaw skill env,而不是到处复制 provider key 或 shell 环境。 MYSEARCH_PROXY_BASE_URL 只应该指向你自己部署或明确可信的 proxy。 mysearch_openclaw.py 会优先读取 openclaw.json 里的 skills.entries.mysearch.env,正式部署不需要依赖 .env

    {
      "skills": {
        "entries": {
          "mysearch": {
            "enabled": true,
            "env": {
              "MYSEARCH_PROXY_BASE_URL": "https://search.hunters.works",
              "MYSEARCH_PROXY_API_KEY": "mysp-..."
            }
          }
        }
      }
    }
    

    如果你暂时没有统一 proxy,再退回旧接法:

    {
      "skills": {
        "entries": {
          "mysearch": {
            "enabled": true,
            "env": {
              "MYSEARCH_TAVILY_API_KEY": "tvly-...",
              "MYSEARCH_FIRECRAWL_API_KEY": "fc-..."
            }
          }
        }
      }
    }
    

    只有在你直接调试这个仓库工作树时,才建议复制 .env.example 到本地 .env。 Hub 安装或正式 OpenClaw 部署优先用上面的 skill env 注入,不要默认把 secrets 复制进已安装的 skill 目录。

    本地调试示例:

    cp {baseDir}/.env.example {baseDir}/.env
    python3 {baseDir}/scripts/mysearch_openclaw.py health
    

    如果要把 skill 复制到别的 OpenClaw skills 目录,再执行:

    bash {baseDir}/scripts/install_openclaw_skill.sh --install-to ~/.openclaw/skills/mysearch
    

    MySearch-First 规则

    只要 health 显示至少有可用搜索 provider:

  • 外部搜索任务优先走 MySearch
  • 不要把 raw web_search 当主流程
  • 不要优先走旧的 Tavily-only skill
  • 只有这些情况才回退:

  • MySearch 还没配置最小 key
  • 用户明确要求改用别的搜索方式
  • MySearch 返回冲突结果,需要额外复核
  • 严格参数规则

    search / researchmode 只允许:

  • auto
  • web
  • news
  • social
  • docs
  • research
  • github
  • pdf
  • 禁止事项:

  • 不要发明 mode="hybrid"
  • hybrid 只是某些返回结果形态,不是可传参数
  • 同时要网页和 X 时,优先:
  • - --sources web,x - 或拆成 social + news

    常用命令

    健康检查

    python3 {baseDir}/scripts/mysearch_openclaw.py health
    

    普通网页搜索

    python3 {baseDir}/scripts/mysearch_openclaw.py search \
      --query "best search MCP server" \
      --mode web
    

    今天 X 上在热议什么

    python3 {baseDir}/scripts/mysearch_openclaw.py search \
      --query "today's biggest stories on X" \
      --mode social \
      --intent status
    

    规则:

  • social
  • 不要先跑 news
  • 不要先混用 raw web_search
  • 今天 X 热议 + 网页新闻一起对照

    单次:

    python3 {baseDir}/scripts/mysearch_openclaw.py search \
      --query "today's biggest stories on X" \
      --sources web,x \
      --intent status \
      --strategy verify
    

    或者双次:

    python3 {baseDir}/scripts/mysearch_openclaw.py search --query "..." --mode social --intent status
    python3 {baseDir}/scripts/mysearch_openclaw.py search --query "..." --mode news --intent status
    

    输出时必须区分:

  • X 上在热议什么
  • 网页新闻在报道什么
  • 文档 / GitHub / pricing / changelog

    python3 {baseDir}/scripts/mysearch_openclaw.py search \
      --query "OpenAI responses API pricing" \
      --mode docs \
      --intent resource
    

    抓正文

    python3 {baseDir}/scripts/mysearch_openclaw.py extract \
      --url "https://example.com/post"
    

    小型研究包

    python3 {baseDir}/scripts/mysearch_openclaw.py research \
      --query "best search MCP server 2026" \
      --intent exploratory \
      --include-social
    

    输出要求

  • 优先给结论,再给来源
  • 保留 URL
  • 区分事实、引文和推断
  • 同时包含网页和 X 时,明确分区,不要混成一句模糊总结
  • max_results 默认保持小一些,先拿 3 到 5 条