blaikr/osint-agent

GitHub: blaikr/osint-agent

一个基于LangGraph与Claude的自主OSINT智能代理,解决多语言公开情报的自动发现、翻译与结构化报告问题。

Stars: 0 | Forks: 0

# 🎯 OSINT 情报分析代理 一个用于开源情报调查的自主 AI 代理。接收目标(个人、公司、组织或事件),并生成从全球新闻、多语言区域来源、卫星影像和持久记忆中提取的结构化情报报告。 ![三视角卫星视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/72ffc67fea023416.png) ## ✨ 功能 给定一个目标,它能够自主地: - 搜索开放网络,包括 Google、Bing、Baidu、Yandex 等 - 抓取并阅读完整文章,而不仅仅是摘要 - 使用**16 种语言**以原生脚本进行查询(中文、阿拉伯语、俄语、日语、韩语等) - 将外文内容翻译回英文 - 为任何相关的工作场所、校园或城市提取**三个缩放级别**的卫星影像 - 跨会话记住每一次调查并基于先前发现进行构建 - 关联事实并标记矛盾之处 - 生成带有可信度评估的结构化情报报告 ## 🛰️ 示例输出 ![示例](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2abc585677023417.png) 询问“调查 Anthropic 在旧金山的总部”,它将返回一份完整报告。 ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────┐ │ Streamlit UI (app.py) │ └─────────────────────┬───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────┐ │ LangGraph Agent (agent.py) │ │ - Claude Haiku brain with 10 tools │ │ - Auto-triggers multilingual for non-Western │ └───┬──────┬──────┬──────┬──────┬──────┬─────────────┘ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ▼ ┌──────┐┌──────┐┌──────┐┌──────┐┌──────┐┌────────────┐ │News ││DDGS ││SearX ││Crawl ││Geo ││ ChromaDB │ │API ││ ││NG ││4AI ││Maps ││ Memory │ └──────┘└──────┘└──────┘└──────┘└──────┘└────────────┘ ``` ## 🛠️ 技术栈 - **代理框架:** LangGraph - **大语言模型:** Claude Haiku(Anthropic API) - **网络搜索:** DuckDuckGo + 自托管 SearXNG 聚合器 - **区域引擎:** Baidu、Yandex、Bing、Google(通过 SearXNG) - **抓取:** Crawl4AI(底层使用 Playwright) - **翻译:** Claude Haiku,支持 16 种语言 - **向量记忆:** ChromaDB,搭配本地 sentence-transformers 嵌入 - **地理空间:** Google Maps Static API + Geocoding API - **用户界面:** Streamlit ## 🚀 安装与设置 ### 前置条件 - Python 3.11 - Conda(或任意 venv 管理器) - Docker Desktop(用于自托管 SearXNG) - API 密钥:Anthropic、NewsAPI、Google Maps ### 1. 克隆并安装 ``` git clone https://github.com/blaikr/osint-agent.git cd osint-agent conda create -n osint-agent python=3.11 conda activate osint-agent pip install -r requirements.txt crawl4ai-setup ``` ### 2. 添加 API 密钥 ``` cp .env.example .env ``` 打开 `.env` 并粘贴你的密钥: ``` ANTHROPIC_API_KEY=sk-ant-... NEWSAPI_KEY=... GOOGLE_MAPS_API_KEY=... ``` ### 3. 启动 SearXNG ``` cd searxng docker compose up -d ``` 访问 [http://localhost:8080](http://localhost:8080) 验证是否运行正常。 ### 4. 运行代理 终端模式: ``` python agent.py ``` 仪表板模式: ``` streamlit run app.py ``` ## 💡 示例查询 ``` Research Anthropic Investigate UT Dallas computer science department Find information on Xi Jinping's recent policy moves Research Mohammed bin Salman What do we know about Dario Amodei ``` 非西方目标会自动触发针对区域引擎的多语言搜索(例如中文使用 Baidu,俄语使用 Yandex 等)。 ## 🧠 记忆 每一次调查都会自动保存并在会话之间持久化。通过以下方式回忆: ``` what's in memory what have we investigated ``` 或者你可以像这样提问:“关于 Anthropic 我们了解什么?”——代理会直接提取存储的报告原文,而不会重新调查。 ## 📁 项目结构 ``` osint-agent/ ├── agent.py # LangGraph orchestration + tools ├── app.py # Streamlit dashboard ├── memory.py # ChromaDB persistent memory ├── translator.py # Multilingual translation (Claude) ├── searxng_client.py # Local SearXNG aggregator client ├── geo_tools.py # Google Maps geocoding + satellite ├── prompts.py # System prompt for the analyst persona ├── check_memory.py # Inspect ChromaDB directly ├── requirements.txt ├── .env.example ├── .gitignore └── searxng/ ├── docker-compose.yml └── settings.yml ``` ## 🎚️ 设计说明 - **幻觉防护:** 严格的系统提示规则,仅引用工具实际返回的 URL,大幅降低捏造内容。 - **程序化触发:** 对非西方目标自动启动多语言搜索,而非依赖 LLM 决策。 - **记忆完整性:** 存储的报告以原文引用而非意译,防止事实随时间扭曲。 - **范围边界:** 卫星影像仅限于专业/公共地点;代理不会提取私人住宅影像。 ## ⚠️ 范围与限制 本工具仅搜索**公开、开源的信息**。它无法且不会: - 访问需要登录的内容(私人社交媒体、付费文章) - 入侵、抓取受限数据库或绕过平台保护 - 访问商业数据商工具(如 Palantir、LexisNexis、Pipl) - 保证绝对准确性——每一项调查在采取行动前都应由人工核实 适用于研究、新闻报道、个人尽职调查和教育用途。 ## 🛣️ 路线图 - [ ] 自主监控模式(在保存的目标上后台循环运行) - [ ] 为免费 24/7 运行微调本地 Qwen 模型 - [ ] 在调查之间建立实体知识图谱 - [ ] 支持 PDF 摄入,用于法院文件与归档文档 - [ ] 集成 Wayback Machine 以获取历史报道 ## 👤 作者 由 [Rami Blaik](https://github.com/blaikr) 构建——UT Dallas 计算机科学本科生。 其他项目: - [personalized-llm](https://github.com/blaikr/personalized-llm) — 采用 SFT、IFT 和 DPO 的定制大模型微调 ## 📜 许可证 Apache 2.0
标签:AI智能体, Baidu, Bing, ESC4, Google, Kubernetes, LangGraph, Nuclei, OSINT, SEO检索词, Streamlit UI, Yandex, 事实关联, 会话记忆, 信息搜集, 卫星图像, 卫星影像, 地理定位, 多语言搜索, 多语言查询, 开源情报工具, 情报报告, 情报调查, 搜索引擎集成, 流式处理, 目标追踪, 矛盾检测, 结构化报告, 置信度评估, 自主智能体, 自动化分析, 记忆持久化, 跨站脚本, 跨语言翻译