Samarth-23-eng/scope-intelligence
GitHub: Samarth-23-eng/scope-intelligence
一个以证据为先的自托管 OSINT 平台,将公开来源收集、AI 研究与关系情报整合为可审查的调查工作区。
Stars: 19 | Forks: 2
将公开的网络证据转化为可溯源的公司情报。
Scope Intelligence 是一个自托管的 OSINT 研究工作区,用于收集、
证据检索、关系映射、监控和 AI 辅助分析。
快速开始 ·
功能 ·
架构 ·
路线图 ·
贡献
证据优先 包含版本控制的来源、引用、出处和审查状态。 |
统一的模型路由 支持云端、本地及兼容提供商的加密 BYOK。 |
关系情报 包含实体、佐证、矛盾、路径和图谱变化。 |
自托管工作区 本地服务、受限收集器、可检查的运行以及操作员控制。 |
## 为什么选择 Scope Intelligence?
大多数监控工具要么只收集链接而不进行推理,要么生成 AI 摘要而没有可
溯源的证据。Scope Intelligence 将收集、检索、分析和审查紧密连接在一起:
- 每个收集的文档都带有版本控制且可搜索;
- 支持的声明保留指向证据或文档片段的引用;
- 关系边记录出处、新鲜度、佐证和
矛盾;
- agent 通过加密的 BYOK 网关共享一个由操作员选择的模型;
- pipeline 运行、重试、失败和输出质量诊断始终保持
可检查。
最终的结果是一个研究系统,帮助操作员从公司名称出发,构建出可审查的情报图景——而不是一个黑盒答案。
## 主要功能
| 功能 | 包含内容 |
| --- | --- |
| 公司发现 | 以名称为先的身份解析;提供域名有帮助但非必需 |
| 混合收集 | HTTP 和浏览器渲染、站点地图、RSS/Atom、PDF、公开资料、职位、新闻、GitHub 以及受限的 YouTube 元数据 |
| 社交收集工作室 | **实验性 pre-alpha:** 受限的 YouTube 频道、视频、字幕和公开评论,并带有标准化的证据 |
| 深度研究实验室 | **实验性 pre-alpha:** 可选开启的、仅限 GET 的针对可公开访问的 Tor 隐藏服务的研究 |
| 证据基础 | 不可变的文档版本、片段、词法 + 向量检索、来源健康度和引用完整性 |
| AI 研究 | 基于事实的摘要、信号、预测、专项调查、结构化输出修复和质量遥测 |
| 关系情报 | 实体解析、别名、时间观测、佐证、矛盾、图指标和证据检查 |
| 持续监控 | 按公司定制的计划、变更检测、活动历史、警报严重性策略以及由操作员触发的运行 |
| 验证 | 确定性声明重估、来源可靠性、审查队列和人工决策 |
| 事件时间线 | 融合事件、动量、影响、验证状态和相关进展 |
| 报告和警报 | PDF 简报,以及可选的电子邮件和 Discord 推送 |
| 模型网关 | OpenAI、OpenRouter、Anthropic、Gemini、Ollama、LM Studio 和自定义的 OpenAI 兼容端点 |
## 实验性研究实验室
这些实验室被刻意与正常的收集 pipeline 分离开来,并受工作区控制禁用或
限制。它们是用于本地评估的测试功能,并不保证准确性、可用性或
安全性。
### 社交收集工作室
- 收集受限的公开频道、视频、字幕和评论证据。
- 公开评论和字幕可能包含露骨或令人不适的内容。
- 评论者身份会被最小化;收集的材料仍需人工
审查并负责保留。
### 深度研究实验室
- 通过隔离的 Tor 容器搜索可公开访问的 version-3 `.onion` 服务。
- 使用仅限 GET 的请求,没有身份验证、表单提交、上传、
下载或任意目标 URL。
- 将所有结果视为不可信、低可信度的证据,需要
进一步佐证。
- 即使研究查询是良性的,也可能暴露色情、非法、欺诈、极端主义或
其他有害材料。
在启用任一工作流之前,请阅读[实验性实验室](docs/EXPERIMENTAL_LABS.md)、
[深度研究实验室](docs/DEEP_RESEARCH_LAB.md)和
[道德使用](docs/ETHICAL_USE.md)。
## 快速开始
### 前置条件
- Docker Desktop 和 Docker Compose
- 建议 8 GB RAM
- 用于 AI 分析的模型提供商密钥或本地 Ollama/LM Studio 服务器
### 1. 克隆并配置
```
git clone https://github.com/Samarth-23-eng/osint-platform.git
cd osint-platform
cp .env.example .env
```
在 Windows PowerShell 中,请使用 `Copy-Item .env.example .env`。
在 `.env` 中设置一个唯一的 `POSTGRES_PASSWORD`。可选的来源凭证可以
留空。
### 2. 启动平台
```
docker compose up --build
```
打开:
- 仪表板:[http://localhost:3000](http://localhost:3000)
- API 健康状态:[http://localhost:8000/health](http://localhost:8000/health)
- API 文档:[http://localhost:8000/docs](http://localhost:8000/docs)
如果端口 `3000` 不可用,请设置:
```
DASHBOARD_PORT=3200
CORS_ORIGINS=http://localhost:3200
```
### 3. 连接模型
在仪表板中打开 **Settings > AI & agents**,选择提供商、base URL、
模型 ID 和身份验证方法。保存并测试一次连接;之后每个
AI agent 都将使用该模型。
在仪表板中输入的凭证会在存储到 PostgreSQL 之前进行加密,
并且绝不会通过 API 返回。无头(Headless)安装可以改用
[.env.example](.env.example) 中记录的 `LLM_*` 变量。
### 4. 开始研究
输入公司、子公司、地区办事处、品牌或业务部门。
发现流程将创建一个以名称为先的档案,并通过公开证据进行扩展,
即使无法验证官方域名也是如此。
### 可选:启动 Deep Research Tor 服务
Deep Research 默认保持禁用。要在本地测试它,请启动
隔离服务,然后在 **Settings > Collection** 下启用该实验室:
```
docker compose --profile deep-research up -d tor
```
## 系统架构
```
flowchart LR
UI["Next.js workspace"] --> API["FastAPI"]
API --> ORCH["Durable pipeline"]
ORCH --> COLLECT["Public-source collectors"]
COLLECT --> EVIDENCE["Evidence normalization"]
EVIDENCE --> PG[("PostgreSQL")]
EVIDENCE --> QD[("Qdrant")]
ORCH --> AGENTS["Grounded AI agents"]
AGENTS --> GATEWAY["Shared model gateway"]
GATEWAY --> CLOUD["Cloud model"]
GATEWAY --> LOCAL["Local model"]
AGENTS --> INTEL["Claims · signals · relationships · events"]
INTEL --> PG
API --> REDIS[("Redis")]
PG --> UI
```
请参阅 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) 了解数据流、信任
边界和扩展点。
## 收集原则
Scope Intelligence 倾向于带有责任制的深度:
1. **公开且可溯源:** 保留规范的 URL、时间戳、来源
身份和收集诊断。
2. **受限:** 每个来源都有明确的时间、页面、深度、并发和
重试预算。
3. **可恢复:** 抓取边界和 pipeline 任务能够在中断后恢复。
4. **隔离:** 一个被阻止或不可用的来源不会导致整个运行失败。
5. **可审查:** 失败和薄弱的证据保持可见,而不会被
静默丢弃。
6. **尊重:** 默认遵守 robots 指令,实验性
来源需操作员选择开启。
在添加或操作新
收集器之前,请阅读 [docs/ETHICAL_USE.md](docs/ETHICAL_USE.md)。
## 模型提供商
所有 agent 共享一个连接,以使成本、行为和
评估变得可预测。
| 提供商类型 | 身份验证 |
| --- | --- |
| OpenAI / OpenRouter | API key |
| Anthropic | API key 或现有的 bearer token |
| Google Gemini | API key 或现有的 bearer token |
| Ollama / LM Studio | 对于受信任的本地服务器无需身份验证 |
| 自定义 OpenAI 兼容提供商 | API key、bearer token 或无需验证 |
目前尚不包含自动的特定提供商 OAuth 浏览器流程。现有的
OAuth 访问令牌可以使用 bearer 身份验证进行存储。
## 仓库指南
```
agents/ Collection, enrichment, discovery, analysis, and orchestration
alerts/ Alert evaluation plus optional delivery adapters
api/ FastAPI application and report routes
config/ Typed environment configuration
dashboard/ Next.js operator workspace
db/ PostgreSQL, Redis, Qdrant, and additive SQL migrations
intelligence/ Evidence, retrieval, graph, verification, monitoring, and events
llm_gateway/ Provider-neutral model connection and encrypted credentials
reports/ PDF intelligence brief generation
tests/ Backend unit and contract tests
docs/ Architecture, setup, safety, and troubleshooting guides
```
## 开发
```
python -m venv .venv
python -m pip install -r requirements-dev.txt
python -m playwright install chromium
python -m pytest -q
cd dashboard
npm ci
npm run lint
npm run build
```
特定平台的详细说明位于
[docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) 中。
## 安全
默认的 Compose 配置将仪表板和 API 绑定到
`127.0.0.1`。不要将它们直接暴露在互联网上。对于漏洞
或泄露的凭证,请遵循 [SECURITY.md](SECURITY.md),不要
提交公开的 issue。
## 项目状态
Scope Intelligence 处于 **pre-alpha** 阶段,正在积极开发中。证据模型、
关系融合、监控、验证、事件时间线和共享
模型网关已经实现;多用户身份验证、导出格式和
更大规模的部署控制仍是路线图上的项目。实验性实验室可能
会发生不兼容的更改或被移除,同时我们仍在评估其
安全性和证据质量。
## 灵感与致谢
Deep Research Lab 的灵感来自于
[Robin by Apurv Singh Gautam](https://github.com/apurvsinghgautam/robin) 中的模块化 Tor 搜索、抓取和 LLM
调查工作流。
Robin 采用 MIT 许可协议。Scope 使用了原创的以证据为导向的实现,
具有明确的操作员同意、受限的仅 GET 收集、结构化
诊断和需要审查的出处。请参阅
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) 了解归属详情。
## 许可协议
根据 [MIT 许可协议](LICENSE) 授权。
为需要证据而不仅仅是答案的研究人员而构建。
标签:Docker, ESC4, OSINT, Python, 动态调用, 安全防御评估, 实时处理, 情报收集, 搜索引擎查询, 无后门, 测试用例, 漏洞研究, 特征检测, 自托管, 请求拦截