robin
→ View on GitHubAI Summary: Robin is an AI-powered OSINT tool designed for conducting investigations on the dark web, utilizing language models to enhance query refinement and result filtering from various dark web search engines. Its notable features include modular architecture for easy integration of new components, multi-model support for flexible AI interactions, a Streamlit-based web UI for user-friendly navigation, and robust reporting capabilities to save investigation outputs. It is recommended to be deployed using Docker for isolated and efficient operation.
README

Robin: AI-Powered Dark Web OSINT Tool
Robin is an AI-powered tool for conducting dark web OSINT investigations. It leverages LLMs to refine queries, filter search results from dark web search engines, and provide an investigation summary.
Installation • Usage • Contributing • Acknowledgements
Architecture

Features
- ⚙️ Modular Architecture – Clean separation between search, scrape, and LLM workflows.
- 🤖 Multi-Model Support – Easily switch between OpenAI, Claude, Gemini or local models like Ollama.
- 🌐 Web UI – Streamlit-based interface for interactive investigations.
- 🐳 Docker-Ready – Recommended Docker deployment for clean, isolated usage.
- 📝 Custom Reporting – Save investigation output to file for reporting or further analysis.
- 🧩 Extensible – Easy to plug in new search engines, models, or output formats.
⚠️ Disclaimer
This tool is intended for educational and lawful investigative purposes only. Accessing or interacting with certain dark web content may be illegal depending on your jurisdiction. The author is not responsible for any misuse of this tool or the data gathered using it.
Use responsibly and at your own risk. Ensure you comply with all relevant laws and institutional policies before conducting OSINT investigations.
Additionally, Robin leverages third-party APIs (including LLMs). Be cautious when sending potentially sensitive queries, and review the terms of service for any API or model provider you use.
Installation
[!NOTE] The tool needs Tor to do the searches. You can install Tor using
apt install toron Linux/Windows(WSL) orbrew install toron Mac. Once installed, confirm if Tor is running in the background.
[!TIP] You can provide your LLM of choice API key by either creating .env file (refer to sample env file in the repo) or by setting env variables in PATH.
For Ollama, provide
http://host.docker.internal:11434asOLLAMA_BASE_URLin your env if running using docker method orhttp://127.0.0.1:11434for other methods. You might need to serve Ollama on 0.0.0.0 depending on your OS. You can do by runningOLLAMA_HOST=0.0.0.0 ollama serve &in your terminal.
Docker [Recommended]
- Pull the latest Robin docker image
docker pull apurvsg/robin:latest
- Run the docker image as:
docker run --rm \
-v "$(pwd)/.env:/app/.env" \
--add-host=host.docker.internal:host-gateway \
-p 8501:8501 \
apurvsg/robin:latest
[!TIP] To persist saved investigations across Docker restarts, mount a local directory:
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:latestInvestigations are saved to the
investigations/folder in your working directory and can be loaded from the Past Investigations panel in the sidebar.
- Open your browser and navigate to
http://localhost:8501
Using Python (Development Version)
- With
Python 3.10+and Tor installed, run the following:
pip install -r requirements.txt
streamlit run ui.py
- Open your browser and navigate to
http://localhost:8501
Contributing
Contributions are welcome! Please feel free to submit a Pull Request if you have major feature updates.
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m ‘Add some amazing feature’)
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
Open an Issue for any of these situations:
- If you spot a bug or bad code
- If you have a feature request idea
- If you have questions or doubts about usage
- If you have minor code changes
Acknowledgements
- Idea inspiration from Thomas Roccia and his demo of Perplexity of the Dark Web.
- Tools inspiration from my OSINT Tools for the Dark Web repository.
- LLM Prompt inspiration from OSINT-Assistant repository.
- Logo Design by my friend Tanishq Rupaal