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绕过, 结构化数据提取, 自主代理, 自动化研究, 评分系统, 调度任务