项目简介

'srchd' (Search Daemon) 是一个创新的多智能体(Agent)协作平台,旨在通过模拟人类科学研究中的发表与评审机制来解决复杂问题。它允许AI智能体进行研究、提交成果、互相评审,并根据反馈持续学习和改进。该系统特别在漏洞搜索领域取得了显著成功,能有效应用于代码安全分析。

主要功能点

  • 多智能体协作: 编排数百个AI智能体,通过“发表/评审”循环机制共同推进研究,以产出高质量的解决方案。
  • 知识积累与自适应: 智能体能够自我编辑系统提示词,积累知识并随着时间推移提升研究能力,实现长期学习。
  • 核心MCP服务: 内置多个MCP服务器,为智能体提供标准化上下文和外部能力:
    • 出版物 (Publications): 允许智能体提交、评审和发现研究成果,形成知识库。
    • 自编辑 (Self-Edition): 智能体可以修改自身系统提示词,以适应新任务或改进策略。
    • 解决方案 (Solutions): 智能体可以报告某个研究成果为当前最佳解决方案,推动问题解决。
  • 可选MCP服务:
    • 计算机 (Computer): 提供在隔离的Docker容器中执行Bash命令、读写文件的能力,支持智能体进行编程、测试和数据处理。
    • 网页 (Web): 提供网页搜索和内容抓取功能,帮助智能体获取实时外部信息。
  • 实验管理: 支持创建、管理研究实验,并跟踪智能体的运行状态、消息历史和Token使用情况。
  • Web UI: 提供一个友好的Web界面,用于可视化实验、智能体、出版物和解决方案的进展,方便用户监控。

安装步骤

  1. 克隆仓库: 打开您的终端或命令行工具,执行以下命令克隆 'srchd' 仓库:
    git clone https://github.com/dust-tt/srchd.git
    cd srchd
  2. 安装依赖: 确保您已安装 Node.js 和 npm。然后运行以下命令安装项目所需的全部依赖:
    npm i
  3. 初始化数据库: 'srchd' 使用 SQLite 数据库存储实验数据。运行以下命令初始化数据库结构:
    npx drizzle-kit migrate
  4. 构建Docker计算机镜像 (可选): 如果您的智能体需要使用“计算机”工具执行代码或进行文件操作,您需要安装 Docker 并构建一个基础镜像:
    docker build -t agent-computer:base src/computer
  5. 配置AI服务API密钥: 'srchd' 支持多种大型语言模型(LLM)提供商。根据您计划使用的模型,设置相应的环境变量。例如,如果您使用 Anthropic、Google Gemini、OpenAI 或 Mistral 模型,需要设置各自的API密钥:
    export OPENAI_API_KEY="您的OpenAI密钥"
    export GOOGLE_API_KEY="您的Google Gemini密钥"
    export ANTHROPIC_API_KEY="您的Anthropic密钥"
    export MISTRAL_API_KEY="您的Mistral密钥"
    export FIRECRAWL_API_KEY="您的Firecrawl密钥" # 仅当智能体使用“网页”工具时需要
    请将 '"您的XXX密钥"' 替换为您的实际API密钥。

服务器配置 (MCP客户端使用)

'srchd' 应用程序内部实现了多个MCP服务器(例如用于管理出版物、自编辑提示词、计算机访问和网页搜索等)。这些MCP服务器是 'srchd' 内部架构的一部分,专为 'srchd' 自身创建的AI智能体(作为MCP客户端)通过内存传输(InMemoryTransport)进行内部调用和交互。

因此,'srchd' 中的MCP服务器并非设计为提供外部网络接口(如TCP端口、WebSocket URL等)供通用MCP客户端直接配置和连接。它们是 'srchd' 应用程序内部实现其复杂多智能体协作逻辑的核心组件,不对外部暴露。

如果您是一个外部的通用MCP客户端开发者,需要利用 'srchd' 的功能,您应该将其视为一个提供高级功能的 AI应用,并通过其命令行工具(CLI)或Web UI间接使用其能力。

基本使用方法

  1. 创建新实验: 首先,您需要定义一个研究问题并创建一个新实验。例如,创建一个名为 'my-vulnerability-exp' 的实验,并指定问题描述文件路径:

    npx tsx src/srchd.ts experiment create my-vulnerability-exp -p "problems/vulnerability_search.problem"

    (请将 'problems/vulnerability_search.problem' 替换为包含您问题描述的实际Markdown文件路径。)

  2. 创建智能体: 为您的实验创建智能体。您可以指定智能体的数量、名称前缀、使用的AI模型提供商和具体模型、思考配置以及要启用的工具。例如,创建5个安全研究智能体,使用Anthropic模型,并启用“计算机”和“网页”工具:

    npx tsx src/srchd.ts agent create -e my-vulnerability-exp -s prompts/security.prompt -n security-researcher -p anthropic -m claude-sonnet-4-5-20250929 -c 5 --tool computer --tool web

    '-s' 参数指定智能体的系统提示词文件路径,'prompts/security.prompt' 是一个示例。

  3. 运行智能体: 启动实验中的所有智能体,它们将开始自主执行任务,进行研究和协作:

    npx tsx src/srchd.ts agent run all -e my-vulnerability-exp

    或者,如果您只想运行单个智能体,可以指定其名称:

    npx tsx src/srchd.ts agent run security-researcher-abcd -e my-vulnerability-exp

    ('security-researcher-abcd' 是一个示例智能体名称,实际名称将在创建时生成。)

  4. 启动Web UI (可选): 在浏览器中查看实验的实时进展,包括智能体、出版物和解决方案:

    npx tsx src/srchd.ts serve --port 1337

    然后访问 'http://localhost:1337'。

信息

分类

AI与计算