Robin 是一款AI驱动的暗网开源情报(OSINT)调查工具。它通过大语言模型(LLM)来优化查询、过滤搜索结果并生成调查摘要,并提供了友好的Web界面。

以下是一份详细的部署教程,强烈推荐使用官方首选的Docker方式,它能提供最干净、隔离的运行环境。


📋 部署前准备

无论选择哪种方式,你都需要准备:

  1. 操作系统: macOS, Linux, 或 Windows (通过WSL)。
  2. 核心依赖 - Tor: Robin依赖Tor网络进行搜索。
    • Linux (包括WSL): 在终端执行 sudo apt install tor
    • macOS: 执行 brew install tor
    • 安装后,请确保Tor服务正在后台运行(通常安装后会自动启动)。
  3. LLM API密钥 (可选): 你需要至少一个LLM的API密钥才能使用核心功能。支持OpenAI、Claude、Gemini、Ollama或任何兼容OpenAI的接口(如LM Studio, Groq等)。

🐳 方式一:Docker部署 (官方推荐)

这是最简洁、最推荐的部署方式,所有依赖都封装在容器中。

  1. 拉取镜像
    打开终端,执行以下命令从Docker Hub拉取最新的Robin镜像:

    1
    docker pull apurvsg/robin:latest
  2. 准备环境变量 (可选)
    如果你想使用LLM API,需要在项目目录下创建一个 .env 文件(可以参考仓库中的 .env.example 文件),并在其中填入你的API密钥。例如:

    1
    2
    3
    OPENAI_API_KEY=你的OpenAI密钥
    ANTHROPIC_API_KEY=你的Anthropic密钥
    # 如果使用Ollama,参考下面的说明
    • 如果你不创建 .env 文件,也可以在运行容器时通过 -e 参数直接传递环境变量。
  3. 运行容器
    在包含 .env 文件的目录下(或任何你选择的目录),执行以下命令启动容器:

    1
    2
    3
    4
    5
    docker run --rm \
    -v "$(pwd)/.env:/app/.env" \
    --add-host=host.docker.internal:host-gateway \
    -p 8501:8501 \
    apurvsg/robin:latest
    • 命令解释:
      • --rm: 容器停止后自动删除。
      • -v "$(pwd)/.env:/app/.env": 将当前目录下的 .env 文件挂载到容器内,使API密钥生效。
      • --add-host=host.docker.internal:host-gateway: 重要,允许容器内的应用访问宿主机上运行的服务(如本地运行的Ollama)。
      • -p 8501:8501: 将容器的8501端口映射到宿主机的8501端口。
  4. 访问界面
    容器启动后,打开浏览器,访问 http://localhost:8501 即可看到Robin的Web界面。

💡 Docker高级用法

  • 持久化保存调查结果:
    添加一个挂载卷,将容器内的 investigations/ 文件夹映射到本地,这样即使容器被删除,你的调查记录也不会丢失。

    1
    2
    3
    4
    5
    6
    docker run --rm \
    -v "$(pwd)/.env:/app/.env" \
    -v "$(pwd)/investigations:/app/investigations" \
    --add-host=host.docker.internal:host-gateway \
    -p 8501:8501 \
    apurvsg/robin:latest

    之后,你可以在Web界面的侧边栏 “Past Investigations” 面板中加载这些历史记录。

  • 使用Ollama:
    如果你使用Ollama,需要在 .env 文件中设置 OLLAMA_BASE_URL=http://host.docker.internal:11434。同时,你可能需要在宿主机上以 OLLAMA_HOST=0.0.0.0 ollama serve & 命令启动Ollama服务,使其监听所有网络接口。


🐍 方式二:Python源码运行 (开发版)

此方式适合希望进行二次开发或调试的用户。

  1. 克隆仓库

    1
    2
    git clone https://github.com/apurvsinghgautam/robin.git
    cd robin
  2. 安装Python依赖
    确保你的Python版本为 3.10 或更高,然后安装依赖:

    1
    pip install -r requirements.txt
  3. 配置环境变量 (可选)
    参考仓库根目录的 .env.example 文件,创建你自己的 .env 文件并填入API密钥。

  4. 启动应用

    1
    streamlit run ui.py
  5. 访问界面
    在浏览器中打开 http://localhost:8501


⚙️ 配置与使用

  1. 健康检查: 首次启动后,可以在Web界面侧边栏找到健康检查功能,用于验证你的LLM API连接和搜索引擎(通过Tor)是否正常工作。
  2. 选择模型: 在Web界面的侧边栏,你可以选择使用哪个LLM提供商(OpenAI, Claude, Gemini, Ollama等)。
    • 对于任何兼容OpenAI的提供商(如LM Studio, llama.cpp, Groq),可以使用 “🔌 Custom API Provider” 选项,直接输入Base URL和API Key(如需要),无需修改 .env 文件。
  3. 开始调查: 在主界面输入你的调查查询,Robin会利用LLM优化查询词,通过Tor进行暗网搜索,并利用LLM筛选和总结结果,最终生成一份结构化的调查摘要。
  4. 后续互动: 你可以针对一份已有的调查报告提出“后续问题”,Robin会基于该报告的数据进行回答,而无需重新搜索。界面还会根据发现,为你提供“一键跳转”的新调查建议。

❗ 重要注意事项

  • 法律与道德: 请务必阅读项目README中的免责声明。此工具仅用于教育和合法调查目的。访问或与某些暗网内容交互在您所在的司法管辖区可能属于非法行为。请确保您遵守所有相关法律和机构政策。
  • Tor网络: 请确保Tor服务在后台稳定运行。如果遇到连接问题,可以尝试重启Tor服务(sudo systemctl restart torbrew services restart tor)。
  • API密钥安全: 妥善保管你的 .env 文件,不要将其提交到公开的代码仓库。通过Docker运行时,注意挂载路径的安全性。

至此,您已完成Robin工具的部署。建议从一次简单的、非敏感的公开信息搜索开始,以熟悉其工作流程和界面交互。如遇具体技术问题,可查阅项目GitHub仓库的Issues或贡献指南。