Token导航 LogoToken导航TokenDH.com
研究检索external-serviceclawhub未标认证来源可访问clear审计通过

double-search双重搜索

Agent Skill

double-search 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,280

周安装

134

GitHub Stars

公开资料未说明

下载量

1,051
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:double-search(双重搜索)
来源仓库:https://github.com/wjs028-coder/double-search
安装命令:
openclaw skills install double-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install double-search

简介

并行调用 Tavily 和 Kimi 双搜索引擎,合并优化搜索结果。

  • 适用于需要多角度信息覆盖和交叉验证的研究型任务。double-search 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 可指定搜索深度、结果数量和排序权重参数进行定制查询。
  • 使用前需分别配置两个引擎的 API 密钥并测试连通性。
  • 高并发请求可能触发限流,建议添加重试机制和错误处理。

SKILL.md

name
double-search
description
双搜索功能 (Tavily + Kimi) - 支持并行搜索和结果合并
metadata
openclaw
emoji
🔍
requires
bins
["python3"]
env
primaryEnv
TAVILY_API_KEY
install
kind
pip
packages
["aiohttp", "python-dotenv"]
label
安装Python依赖 (pip)

Double Search Skill

双重搜索功能,同时使用Tavily和Kimi搜索引擎,提供更全面、准确的搜索结果。

功能特性

  • 双引擎并行搜索:同时使用Tavily和Kimi
  • 智能结果合并:自动合并、去重和排序
  • 异步高效:基于asyncio的高性能实现
  • 错误容错:单个搜索失败不影响整体
  • 灵活配置:支持环境变量和配置文件

快速开始

1. 安装Python依赖

pip install aiohttp python-dotenv

2. 设置环境变量

.env文件中添加:

TAVILY_API_KEY=tvly-xxxxxxxxxxxx
KIMI_API_KEY=your_kimi_api_key_here

或者设置系统环境变量:

export TAVILY_API_KEY="tvly-xxxxxxxxxxxx"
export KIMI_API_KEY="your_kimi_api_key_here"

3. 基本使用

from double_search import DoubleSearcher

async def search_example():
    searcher = DoubleSearcher()

    # 执行搜索
    results = await searcher.search("人工智能发展趋势")

    # 打印结果
    print(f"搜索结果: {results}")

    # 查看各个搜索引擎的结果
    print(f"Tavily结果: {results.get('tavily', [])}")
    print(f"Kimi结果: {results.get('kimi', [])}")

    return results

API文档

DoubleSearcher类

初始化

searcher = DoubleSearcher()

search方法

async def search(
    query: str,
    merge_results: bool = True,
    limit_per_source: int = 5
) -> Dict[str, Any]

参数:

  • query (str): 搜索查询字符串
  • merge_results (bool): 是否合并结果(默认True)
  • limit_per_source (int): 每个搜索源返回的结果数量(默认5)

返回:

{
  "query": "搜索内容",
  "merged_results": [
    {
      "title": "结果标题",
      "url": "https://example.com",
      "snippet": "结果摘要",
      "source": "tavily"
    }
  ],
  "source_breakdown": {
    "tavily": [...],
    "kimi": [...]
  }
}

高级用法

1. 不合并结果

results = await searcher.search(
    query="技术趋势",
    merge_results=False
)

# 结果按搜索源分开
print(results['tavily'])
print(results['kimi'])

2. 限制每个源的结果数量

results = await searcher.search(
    query="市场分析",
    limit_per_source=3
)

3. 自定义结果处理

results = await searcher.search("投资策略")

# 只获取Tavily的结果
tavily_results = results.get('tavily', [])

# 只获取Kimi的结果
kimi_results = results.get('kimi', [])

# 获取合并的结果
all_results = results.get('merged_results', [])

配置管理

环境变量配置

# 必需
TAVILY_API_KEY=tvly-xxxxxxxxxxxx

# 可选(不设置则只使用Tavily)
KIMI_API_KEY=your_kimi_api_key_here

配置文件支持

支持.env文件:

# .env文件示例
TAVILY_API_KEY=tvly-xxxxxxxxxxxx
KIMI_API_KEY=your_kimi_api_key_here

错误处理

async def safe_search(query: str):
    searcher = DoubleSearcher()

    try:
        results = await searcher.search(query)

        if not results['merged_results']:
            return {"error": "搜索无结果", "query": query}

        return results

    except Exception as e:
        return {"error": f"搜索失败: {str(e)}", "query": query}

性能优化

并行搜索效率

  • Tavily和Kimi同时搜索,总时间接近较慢的搜索引擎
  • 适合需要全面结果的场景

结果缓存

from functools import lru_cache

class CachedSearcher(DoubleSearcher):
    @lru_cache(maxsize=100)
    async def search(self, query: str, ...):
        return await super().search(query, ...)

使用场景

1. 内容创作

async def research_topic(topic):
    searcher = DoubleSearcher()
    results = await searcher.search(topic)

    # 分析多个来源
    insights = analyze_results(results)
    return insights

2. 财经分析

async def financial_analysis(ticker):
    searcher = DoubleSearcher()
    query = f"{ticker} 财经分析"
    results = await searcher.search(query)

    # 过滤财经相关结果
    financial_news = filter_financial_content(results)
    return financial_news

3. 代码搜索

async def code_search(problem):
    searcher = DoubleSearcher()
    results = await searcher.search(problem)

    # 优先获取技术相关结果
    technical_results = filter_tech_content(results)
    return technical_results

故障排除

问题1:搜索无结果

# 检查API keys
echo $TAVILY_API_KEY
echo $KIMI_API_KEY

# 验证API keys有效性

问题2:Python模块未找到

# 确保在正确的工作目录
cd ~/.openclaw/skills/double-search

# 检查Python路径
which python3

问题3:依赖缺失

# 安装依赖
pip install aiohttp python-dotenv

版本信息

  • 版本: 1.0.0
  • Python版本: 3.8+
  • 更新日期: 2026-03-27
  • 兼容性: OpenClaw skill系统

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.49%
按下载量换算793

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills