989tqT/tracer-mesh
GitHub: 989tqT/tracer-mesh
一个基于本地 LLM 的开源多智能体框架,用于自主扫描系统与网络威胁并生成自动化代码补丁。
Stars: 0 | Forks: 0
# 📦 Tracer Mesh (TM)
[](https://github.com/989tqT/tracer-mesh/actions)
[](LICENSE)
[](https://www.python.org/)
[](https://ollama.com)
**Tracer Mesh** 是一个 100% 开源、本地优先的多智能体 AI 框架,旨在扫描本地系统配置、分析网络流量、查询本地 CVE 仓库、威胁狩猎漏洞,并生成自动化的代码补丁。
## 🚀 核心特性
* **事件驱动的 Broker 架构:** 采用异步 Redis Streams 来处理遥测数据的摄取和消费者组的分发。
* **本地 RAG 集成:** 交叉比对 SQLite 记录和通过 Ollama 在本地生成的 ChromaDB 向量嵌入。
* **结构化 LLM 评估:** 提示本地 LLM 返回已解析的 JSON 格式漏洞评估结果。
## 🗺️ 系统架构
```
graph TD
%% Telemetry
Sys[System State] -->|telemetry.system.inventory| Broker[(Redis Streams)]
Net[Network Traffic] -->|telemetry.network.events| Broker
%% Core Broker & Storage
Broker -->|Consume Events| VulnAgent[Vulnerability Agent]
VulnAgent -->|Query SQL / Vector| StateStore[(SQLite + ChromaDB)]
VulnAgent -->|Structured Query| Ollama[Local Ollama / vLLM]
Ollama -->|Return JSON| VulnAgent
%% Remediation
VulnAgent -->|analysis.vulnerability.found| Broker
Broker -->|Consume Findings| PatchAgent[Patch Proposer Agent]
PatchAgent -->|Generate Fix| Ollama
PatchAgent -->|remediation.patch.proposed| Output[Admin Control Panel]
```
各模块的详细说明请参阅 [docs/architecture.md](docs/architecture.md)。
## 💻 系统要求
* **Python:** 需要 3.12+ 版本。
* **容器化:** 需要 Docker 以在本地启动 Redis 和 Ollama 实例。
* **硬件配置:**
* **内存:** 至少 8GB RAM。如果运行大于 7B 的模型,建议使用 16GB RAM。TinyLlama 可以在配置较低的系统中运行。
## ⚡ 快速开始
请按照此分步工作流来配置和运行 Tracer Mesh 编排器:
### 1. 克隆并安装依赖
获取代码仓库并安装依赖:
```
git clone https://github.com/989tqT/tracer-mesh.git
cd tracer-mesh
pip install ruff pytest pytest-asyncio redis httpx chromadb jinja2 pyyaml pydantic-settings
```
### 2. 配置环境变量并拉取模型
你可以运行自动配置脚本来检测系统 RAM,推荐最合适的模型,从 Ollama 拉取它,并写入你的 `.env` 文件:
```
python scripts/setup_models.py
```
或者,你可以手动将 `.env.example` 复制为 `.env` 并拉取模型:
```
cp .env.example .env
docker exec -it ollama ollama pull tinyllama
docker exec -it ollama ollama pull nomic-embed-text
```
### 3. 模型推荐参考
根据你的系统硬件,选择匹配的推理模型:
| 系统内存 | 推荐模型 | 模型大小 | 备注 |
| :--- | :--- | :--- | :--- |
| **低于 4GB RAM** | `tinyllama` | ~1.1GB | 响应最快,基础的安全分析 |
| **4GB 到 8GB RAM** | `qwen2.5:1.5b` 或 `phi` | ~1.5GB - 2.5GB | 速度和质量之间取得了较好的平衡 |
| **16GB 到 32GB RAM**
*(或更高)* | `qwen2.5-coder:32b`
`mistral-small:22b`
`qwen2.5:32b` | ~13GB - 20GB | 最高推理质量 | | **64GB RAM 或更高**
*(工作站 / 高 VRAM)* | `llama3.3:70b`
`deepseek-r1:70b`
`qwen2.5:72b`
`gpt-oss:120b` | ~40GB - 70GB | 最高本地性能 ### 4. 启动 Docker 基础设施 在后台运行 Redis 和 Ollama 容器,并下载模型: ``` docker run -d --name redis -p 6379:6379 redis:alpine docker run -d --name ollama -p 11434:11434 -v ollama_data:/root/.ollama ollama/ollama ``` ### 5. 填充 CVE 数据库 初始化并将向量嵌入加载到 SQLite 和 ChromaDB 数据存储中: ``` mkdir -p data/cve_db/chroma powershell -Command "Set-Item Env:PYTHONPATH src; python scripts/seed_cve.py" ``` ### 6. 启动系统编排器 执行主应用程序,并发运行所有 4 个 agent: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python -m tracer_mesh.main --recon --network --patch" ``` 日志输出将显示每个 agent 的启动、网络端口轮询以及流监听循环。 ### 7. 通过模拟遥测数据摄取进行验证 在另一个终端中,触发模拟的系统软件包状态更新: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python scripts/mock_telemetry.py" ``` 立即,你将观察到编排器日志指示出与数据库中 CVE 定义相匹配的漏洞。 使用 CLI 工具检查 Redis 内部的输出流: ``` docker exec -it redis redis-cli XREAD BLOCK 5000 STREAMS analysis.vulnerability.found remediation.patch.proposed 0-0 0-0 ``` ## 📁 项目结构与开发 ### 目录概览 ``` tracer-mesh/ ├── configs/ # Configuration files ├── data/ # SQLite and Chroma database files ├── docs/ # Technical markdown documentation ├── scripts/ # Database seeder and mock telemetry triggers │ ├── mock_telemetry.py │ └── seed_cve.py ├── src/ # Project source code │ └── tracer_mesh/ │ ├── agents/ # Base, Recon, Network, Vuln, and Patch agents │ ├── core/ # Redis broker, database client, and LLM utilities │ ├── templates/ # Jinja prompts templates │ └── main.py # Main runner orchestrator └── tests/ # Pytest test cases suite ``` ### 开发指南 #### 运行单元测试 执行全套单元测试: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python -m pytest tests/" ``` #### 贡献规则 * **仅限关键字参数:** 在关键函数上始终强制使用 Python 仅限关键字参数(`*`),以保持 API 的稳健性。 * **代码格式化:** 使用 Ruff 清理并验证更改: ruff check src/ ## 📚 技术文档 * **[架构概述](docs/architecture.md):** 拓扑结构和组件说明。 * **[用户指南](docs/user-guide.md):** 安装、配置详情以及自定义规则映射。 * **[更新日志](CHANGELOG.md):** 发布历史和变更追踪。 * **[贡献指南](CONTRIBUTING.md):** 编码规范和 PR 提交说明。 * **[安全政策](SECURITY.md):** 报告安全问题的指南。 ## 📄 许可证 基于 Apache-2.0 许可证分发。查看 [LICENSE](LICENSE) 了解更多信息。
*(或更高)* | `qwen2.5-coder:32b`
`mistral-small:22b`
`qwen2.5:32b` | ~13GB - 20GB | 最高推理质量 | | **64GB RAM 或更高**
*(工作站 / 高 VRAM)* | `llama3.3:70b`
`deepseek-r1:70b`
`qwen2.5:72b`
`gpt-oss:120b` | ~40GB - 70GB | 最高本地性能 ### 4. 启动 Docker 基础设施 在后台运行 Redis 和 Ollama 容器,并下载模型: ``` docker run -d --name redis -p 6379:6379 redis:alpine docker run -d --name ollama -p 11434:11434 -v ollama_data:/root/.ollama ollama/ollama ``` ### 5. 填充 CVE 数据库 初始化并将向量嵌入加载到 SQLite 和 ChromaDB 数据存储中: ``` mkdir -p data/cve_db/chroma powershell -Command "Set-Item Env:PYTHONPATH src; python scripts/seed_cve.py" ``` ### 6. 启动系统编排器 执行主应用程序,并发运行所有 4 个 agent: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python -m tracer_mesh.main --recon --network --patch" ``` 日志输出将显示每个 agent 的启动、网络端口轮询以及流监听循环。 ### 7. 通过模拟遥测数据摄取进行验证 在另一个终端中,触发模拟的系统软件包状态更新: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python scripts/mock_telemetry.py" ``` 立即,你将观察到编排器日志指示出与数据库中 CVE 定义相匹配的漏洞。 使用 CLI 工具检查 Redis 内部的输出流: ``` docker exec -it redis redis-cli XREAD BLOCK 5000 STREAMS analysis.vulnerability.found remediation.patch.proposed 0-0 0-0 ``` ## 📁 项目结构与开发 ### 目录概览 ``` tracer-mesh/ ├── configs/ # Configuration files ├── data/ # SQLite and Chroma database files ├── docs/ # Technical markdown documentation ├── scripts/ # Database seeder and mock telemetry triggers │ ├── mock_telemetry.py │ └── seed_cve.py ├── src/ # Project source code │ └── tracer_mesh/ │ ├── agents/ # Base, Recon, Network, Vuln, and Patch agents │ ├── core/ # Redis broker, database client, and LLM utilities │ ├── templates/ # Jinja prompts templates │ └── main.py # Main runner orchestrator └── tests/ # Pytest test cases suite ``` ### 开发指南 #### 运行单元测试 执行全套单元测试: ``` powershell -Command "Set-Item Env:PYTHONPATH src; python -m pytest tests/" ``` #### 贡献规则 * **仅限关键字参数:** 在关键函数上始终强制使用 Python 仅限关键字参数(`*`),以保持 API 的稳健性。 * **代码格式化:** 使用 Ruff 清理并验证更改: ruff check src/ ## 📚 技术文档 * **[架构概述](docs/architecture.md):** 拓扑结构和组件说明。 * **[用户指南](docs/user-guide.md):** 安装、配置详情以及自定义规则映射。 * **[更新日志](CHANGELOG.md):** 发布历史和变更追踪。 * **[贡献指南](CONTRIBUTING.md):** 编码规范和 PR 提交说明。 * **[安全政策](SECURITY.md):** 报告安全问题的指南。 ## 📄 许可证 基于 Apache-2.0 许可证分发。查看 [LICENSE](LICENSE) 了解更多信息。
标签:AI智能体, AI风险缓解, GPT, Python, 多智能体框架, 搜索引擎查询, 无后门, 本地大模型, 漏洞管理, 自动化补丁, 请求拦截, 逆向工具