marketimpact/opensource_airesearchtools
GitHub: marketimpact/opensource_airesearchtools
一个完全本地化的多语言OSINT研究代理,利用本地LLM和多维评分系统进行自动化情报收集和分析。
Stars: 0 | Forks: 0
# 开源 AI 研究工具
一个自主运行的本地托管 OSINT 研究代理,可使用多种语言搜索网络,使用本地 LLM 提取结构化发现结果,根据多维验证矩阵对其进行评分,并将验证结果记录到主研究文件中。
用于追踪地缘政治事件的二次全球影响——冲突地区扩散的经济、人道主义、政治、供应链和安全影响。
## 功能特性
- **支持 7 种语言搜索**(英语、波斯语、阿拉伯语、土耳其语、俄语、中文、法语),使用 DuckDuckGo 并针对特定区域进行定位
- **使用本地 31B 参数 LLM(通过 Ollama 的 Google Gemma 4)提取结构化发现**——数据不发送至云端 AI 服务
- **从 5 个独立维度对每个发现进行评分**:来源可靠性、佐证性、具体性、时效性和地理相关性
- **拒绝低于可配置阈值的低质量发现**,将其保留在审计跟踪中
- **通过内容哈希在多次运行间去重**
- **随时间积累佐证**——被多个独立来源跨语言确认的发现会提升信任分数
- **按计划自主运行**(macOS launchd),无需人工干预
## 评分矩阵
每个发现都会收到五个加权维度的综合评分(1.0-5.0):
| 维度 | 权重 | 衡量内容 |
|-----------|--------|-----------------|
| 来源可靠性 | 30% | 7 种语言 90+ 新闻来源的权威数据库 |
| 佐证性 | 25% | 多家独立来源报道同一声明(运行内 + 历史) |
| 具体性 | 20% | 具体数据标记:数字、日期、命名实体(基于正则表达式) |
| 时效性 | 15% | 发现相对于运行日期的新鲜程度 |
| 地理相关性 | 10% | 来源地区与发现受影响地区的对齐程度 |
**质量等级:**
- **已验证** (>=4.0) —— 多方佐证来源,高可靠性
- **可能** (3.0-3.9) —— 来源良好,有一定佐证
- **未验证** (2.0-2.9) —— 带警告记录
- **不可靠** (<2.0) —— 拒绝,仅保留审计跟踪
所有评分均为正则表达式 + 字典查找 + 集合操作。零额外 LLM 调用。每次运行开销 <1 秒。
## 需求
- **硬件**:24GB+ 统一内存的 Apple Silicon Mac(推荐 36GB 以运行 31B 模型)
- **Ollama**:v0.20.0+ 并已拉取 Gemma 4 31B(`ollama pull gemma4:31b`)
- **Python**:3.12+
- **依赖**:`ollama`、`duckduckgo-search`、`pyyaml`(共 3 个包)
## 快速开始
```
# 克隆
git clone https://github.com/marketimpact/opensource_airesearchtools.git
cd opensource_airesearchtools
# 设置
python3 -m venv .venv
source .venv/bin/activate
pip install ollama duckduckgo-search pyyaml
# 拉取模型(19GB下载)
ollama pull gemma4:31b
# 编辑 configs/research-agent.yaml 以自定义您的查询和类别
# 运行
python3 -m research.agent
```
## 配置
### 运行 configs/research-agent.yaml
主要配置:模型、搜索查询(7 种语言和 7 个类别共 119 个模板)、评分权重和调度选项。**编辑查询和类别以匹配您的研究主题。**
### 运行 configs/source-authority.yaml
90+ 新闻来源域名的精选数据库,包含可靠性等级(1-5)。涵盖英语、法语、阿拉伯语、土耳其语、俄语、中文和波斯语的主要媒体,以及国际组织(联合国、国际货币基金组织、国际原子能机构等)。
### 调度(macOS)
```
# 编辑 plist 以设置您的项目路径
vim configs/com.localai.research-agent.plist
# 安装(每4小时运行一次)
cp configs/com.localai.research-agent.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.localai.research-agent.plist
# 手动触发
launchctl kickstart gui/$(id -u)/com.localai.research-agent
```
## 项目结构
```
research/
agent.py Main orchestrator (search > analyze > score > dedup > log)
searcher.py DuckDuckGo multi-language search with rate limiting
analyzer.py LLM extraction with optimized Gemma 4 system prompt
scorer.py 5-dimension scoring + history management
dedup.py SHA-256 content-hash deduplication
logger.py Markdown output with score display
config.py YAML config loader
configs/
research-agent.yaml Query templates, languages, scoring weights
source-authority.yaml Source reliability ratings (90+ entries)
*.plist macOS launchd schedule
data/
findings.md Master research log (scored, accumulates over time)
findings_index.json Dedup hash index
findings_history.json Historical findings for corroboration
logs/ Per-run stats + rejected findings audit trail
```
## 输出格式
`data/findings.md` 中的每个发现:
```
#### 布伦特原油上涨 4.2% 至 127 美元/桶
- **Date observed:** 2026-04-03
- **Source:** Reuters (en) -- https://reuters.com/...
- **Quality:** Likely (3.6/5.0)
- **Scores:** Sou: 5 | Cor: 3 | Spe: 4 | Rec: 5 | Geo: 3
- **Details:** Brent crude futures rose 4.2% to $127.30 following
Iranian naval exercises near Hormuz.
- **Impact type:** Economic / Energy prices
- **Related regions:** Global, Gulf States, Europe
```
## 适配您的主题
此工具专为追踪伊朗冲突影响而构建,但可适配任何研究主题:
1. **编辑 `configs/research-agent.yaml`**:将类别和搜索查询替换为您的主题
2. **编辑 `configs/source-authority.yaml`**:添加/删除与您领域相关的来源
3. **编辑 `research/analyzer.py` 中的系统提示**:更新 SYSTEM_PROMPT 以描述您的研究重点以及要提取/跳过的发现类型
4. **调整评分权重**:根据您的用例最重要的维度,在 YAML 配置中调整维度权重
## 设计理念
- **无云 API** —— 所有 AI 通过 Ollama 本地运行。您的研究保留在您的机器上。
- **无框架开销** —— 直接使用 Python + Ollama SDK。三个 pip 依赖。
- **信任源于证据** —— 发现从"未验证"开始,随着多个独立来源随时间佐证而提升至"已验证"。
- **透明** —— 每个被拒绝的发现都保留在运行日志中,并附有评分明细。
- **可配置** —— 查询、语言、评分权重和阈值都在 YAML 中。
## 许可证
MIT 许可证。参见 [LICENSE](LICENSE)。
标签:7语言搜索, AI风险缓解, ESC4, Google Gemma, LLM, LLM评估, macOS launchd, Ollama, OSINT, Unmanaged PE, 人工智能, 信息 corroboration, 信息验证, 内容哈希, 去重, 地理相关性, 地缘政治分析, 多维度评分, 多语言搜索, 新闻分析, 时间衰减, 本地LLM, 源可靠性, 用户模式Hook绕过, 结构化数据提取, 自主代理, 自动化研究, 评分系统, 调度任务