AnyLoom:AnythingLLM本地AI代理栈
一个完全本地的多代理人工智能系统,为您提供ChatGPT级别的智能,并对您的数据进行完全的隐私和控制。
现在使用Docker! 一个命令启动整个堆栈。零手动设置。
______________________________________________________________________
💡 你能用这个做什么?
完全在您的硬件上运行生产级AI助手堆栈:
- 🔒 100%私人 --没有数据离开你的机器。没有API密钥。没有订阅。
- 🧠 高级推理 --采用混合思维模式的Qwen3-30B MoE(30.5B参数,3.3B活动)
- 📚 混合RAG搜索 --比纯矢量搜索(密集+稀疏检索)更好地查找信息
- 🤖 多智能体群 --DyTopo协调将复杂任务路由到协作的专业代理,并可选择RAG上下文预取以进行域接地
- 🛡️ 可靠性强化 --检查点崩溃恢复、拒绝优先策略执行、确定性输出验证、僵局检测
- 🛠️ 8台MCP服务器 --记忆知识图、网络搜索、文件操作、顺序思维、RAG搜索、多智能体群、系统诊断
- 🐋 Docker第一架构 --一个命令来启动/停止一切。自动重启。零网络麻烦。
- 💬 任何LLM UI --用于聊天、文档问答和工作区管理的干净界面
适用于:
- 需要AI协助处理专有代码库的工程师
- 处理敏感文件(法律、医疗、财务)的研究人员
- 有隐私意识的用户,他们希望ChatGPT级别的功能没有云依赖性
- 开发人员使用持久内存和多代理协作构建自定义AI工作流程
______________________________________________________________________
为什么AnyLoom vs Cloud AI或单一LLM设置?
| AnyLoom | 云AI(ChatGPT,克劳德) | 单本地LLM | |
|---|---|---|---|
| 隐私 | ✅ 100%本地零遥测 | ❌ 你的数据训练他们的模型 | ✅ 本地 |
| 成本 | ✅ 一次性硬件投资 | ❌ $每月订阅20-200次 | ✅ 安装后免费 |
| 检索质量 | ✅ 混合密集+稀疏RAG | ⚠️ 仅密集嵌入 | ⚠️ 基本或无RAG |
| 多智能体群 | ✅ DyTopo路由,3-5个代理 | ❌ 每个请求一个型号 | ❌ 单一型号 |
| 持久内存 | ✅ 跨会话的MCP知识图 | ⚠️ 仅限于对话❌ 无跨会话内存 | |
| 工具生态系统 | ✅ 8台MCP服务器(RAG、swarm、web、内存、文件、诊断) | ⚠️ 有限,云门控 | ❌ 手动集成 |
| 上下文窗口 | ✅ 131K令牌(可配置) | ⚠️ 128K(昂贵层) | ⚠️ 因型号而异 |
| 离线使用 | ✅ 功能齐全 | ❌ 需要互联网 | ✅ 功能齐全 |
底线是: 如果您需要ChatGPT级别的功能来处理敏感工作,AnyLoom可以为您提供几乎相同的智能,而无需进行隐私权衡或订阅成本。
______________________________________________________________________
🌐 运作原理
AnyLoom作为 Docker编写堆栈 通过这些服务:
- Qdrant (端口6333)——混合密集+稀疏RAG的矢量数据库
- llama.cpp法学硕士 (端口8008)——具有131K上下文的GPU加速推理(Qwen3-30B-A3B)
- llama.cpp嵌入 (端口8009)——用于AnythingLLM(1024个暗密集向量)的BGE-M3嵌入服务器
- 万物皆可LLM (端口3001)——用于聊天和文档管理的Web UI
- DyTopo蜂群 (Python,本机运行)——具有刺激能量跟踪感知路由的多代理编排
- 健康监测器 (Python sidecar)——具有自动重启和崩溃窗口保护的确定性健康检查
- 8台MCP服务器 --RAG搜索、DyTopo swarm、内存图、网络搜索、文件操作、系统诊断等
一切从一个命令开始。 Docker处理网络、GPU访问、自动重启和数据持久性。
| 组件 | 令牌 |
|---|---|
| 代币总预算 | 13.1万 |
| 系统提示 | ~2K |
| MCP工具定义(6个AnythingLLM+2个代理) | ~3K |
| RAG代码片段(16×~500个令牌) | ~8K |
| 聊天记录(30条消息) | ~12K |
| 间接费用小计: | ~25K |
| 剩余时间聊天 | ~106K |
整个RAG提示集完全符合令牌限制。上下文长度是可配置的(默认值为131K)。Q4_K_M模型的权重约为18.6 GiB,为32GB GPU上的KV缓存留出了充足的空间。看 docs/llm-engine.md 有关VRAM预算的详细信息。
✅ 在单个GPU上运行(需要32GB+VRAM;针对RTX 5090进行了优化)
______________________________________________________________________
🛠️ 先决条件
您需要的一切:
| 组件 | 要求 |
|---|---|
| Docker 桌面版 | v24.0+已启用WSL2集成和GPU支持 |
| 英伟达GPU | RTX 4090/5090或类似版本(对于完整的131K上下文,建议使用32GB VRAM。24GB GPU可以在减少上下文的情况下运行。) |
| NVIDIA驱动程序 | 535+(支持CUDA 12) |
| python | 3.10+(用于基准测试和DyTopo脚本) |
| 磁盘空间 | 型号和数据约100GB |
Docker处理一切: Qdrant、llama.cpp(LLM+嵌入)和AnythingLLM作为容器运行。无需手动WSL设置或服务管理!
______________________________________________________________________
🚀 快速入门
1.克隆和下载模型
git clone
cd AnyLoom
# Download models
mkdir -p models
pip install huggingface_hub
# LLM model — Qwen3-30B-A3B Q4_K_M (~18.6 GB, GPU)
huggingface-cli download Qwen/Qwen3-30B-A3B-Instruct-2507-GGUF \
Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf \
--local-dir models
# Embedding model — BGE-M3 Q8_0 (~605 MB, GPU)
huggingface-cli download ggml-org/bge-m3-Q8_0-GGUF \
bge-m3-q8_0.gguf \
--local-dir models已经有法学硕士GGUF了吗? Symlink而不是重新下载: ln -s ~/.lmstudio/models/lmstudio-community/Qwen3-30B-A3B-Instruct-2507-GGUF/Qwen3-30B-A3B-Instruct-2507-Q4_K_M.gguf models/2.启动Docker堆栈
# One command starts everything (creates volumes, checks model, waits for health)
bash scripts/docker_start.sh
# Or manually (must create volumes first)
docker volume create anyloom_qdrant_storage
docker volume create anyloom_anythingllm_storage
docker volume create anyloom_anythingllm_hotdir
docker compose up -d启动大约需要2分钟 而llama.cpp将模型加载到GPU VRAM中。随着提示缓存的预热,第一次查询可能需要额外的1-2分钟。
3.配置AnythingLLM
- 打开 http://localhost:3001 并完成初始设置向导(密码、首选项)。API将被锁定,直到完成此操作为止。
- 然后运行自动配置:
python scripts/configure_anythingllm.py这将配置AnythingLLM系统默认值(LLM提供程序、最大令牌、BGE-M3嵌入、向量DB、块大小/重叠、默认系统提示),创建AnyLoom工作区,上传和嵌入来自的RAG参考文档 rag-docs/anythingllm/ 将调整后的工作区设置推送到工作区的向量存储中,并运行冒烟测试。重新运行脚本是安全的——它跳过已经上传和嵌入的文档。
4.访问服务
- LLM用户界面: http://localhost:3001
- 调用.cpp LLM API: http://localhost:8008/v1/models
- llama.cpp嵌入API: http://localhost:8009/v1/embeddings
- Qdrant仪表板: http://localhost:6333/dashboard
5.运行基准测试(可选)
# Install Python dependencies first
pip install -r requirements-dytopo.txt
# Test the full stack (all 6 phases)
ANYTHINGLLM_API_KEY=your-key python scripts/benchmarks/bench_run_all.py
# Or test just llama.cpp directly (no AnythingLLM needed)
ANYTHINGLLM_API_KEY=your-key python scripts/benchmarks/bench_phase5_llm.py第5阶段直接验证llama.cpp——制造防护、工具边界感知和深度校准。当前得分: 15/20 (75%) 在制造防护、对抗性、跨工作空间奇偶性、深度稳定性和LLM直接验证方面取得了完美的成绩。看 基准测试结果 获得满分。
______________________________________________________________________
🔧 管理命令
# View logs
bash scripts/docker_logs.sh llm # llama.cpp only
bash scripts/docker_logs.sh anythingllm # AnythingLLM only
docker compose logs -f # All services
# Stop services
bash scripts/docker_stop.sh
# Or: docker compose down
# Restart a specific service
docker compose restart llm
# Check status
docker compose ps
# Start the health monitor sidecar (optional, runs alongside Docker)
python scripts/health_monitor.py
# Remove everything including data (⚠️ DESTRUCTIVE)
docker compose down -v______________________________________________________________________
📚 文档
从这里开始: INSTALL.md --基于Docker的安装指南(repo root)参考文件 docs/:
| 文档 | 内容 |
|---|---|
architecture.md | 系统拓扑、VRAM预算、端口分配 |
llm-engine.md | llama.cpp Docker容器配置、GPU设置、故障排除 |
qwen3-model.md | Qwen3-30B-A3B MoE架构、量化、采样 |
bge-m3-embedding.md | BGE-M3嵌入架构(用于MCP RAG的ONNX INT8 CPU+用于AnythingLLM的llama.cpp GGUF,1024个密集矢量) |
qdrant-topology.md | Qdrant Docker容器、集合模式、同步 |
qdrant-servers.md | MCP服务器清单、工具定义、令牌预算 |
dytopo-swarm.md | DyTopo多代理路由、包架构、域、生命周期 |
anythingllm-settings.md | 任何LLM Docker容器、提供程序配置、工作区设置 |
benchmark-results-showcase.md | 所有轮次的基准结果 |
DyTopo软件包(src/dytopo/)
| 模块 | 目的 |
|---|---|
models.py | Pydantic v2数据模型(AgentState、带RAG上下文字段的SwarmTask、SwarmMetrics等) |
config.py | 具有默认值的YAML配置加载器(dytopo_config.yaml) |
agents.py | 系统提示、JSON模式、域名册 |
router.py | MiniLM-L6-v2嵌入、余弦相似性、阈值、度上限、意图嵌入富集、描述符分离验证、用于流形投影路由的可选HyDE(假设文档嵌入) |
stigmergic_router.py | 跟踪感知拓扑:Qdrant持久化群体跟踪,时间衰减增强矩阵 |
graph.py | NetworkX DAG构造、循环打破、拓扑排序 |
orchestrator.py | 主集群循环带单例推理客户端,Aegean终止,内存持久;通过受保护的导入集成检查点、策略、验证器、僵局模块 |
governance.py | 收敛检测、停滞检测、重新授权、爱琴海共识投票、多面手回退的僵局检测 |
checkpoint.py | 用于崩溃恢复的CheckpointManager——原子写入、Pydantic v2序列化、从上一个良好检查点恢复 |
policy.py | PolicyEnforcer(PCAS Lite)——通过路径遍历预防拒绝首次工具调用策略执行 |
verifier.py | 用于确定性输出验证的OutputVerifier——语法检查、模式验证,无LLM |
audit.py | JSONL审计日志记录到 ~/dytopo-logs/{task_id}/ |
health/checker.py | LLM、Qdrant、AnythingLLM、GPU的预运行健康探测器 |
memory/writer.py | 运行后群集结果持久化到结构化存储 |
支持服务
| 组件 | 目的 |
|---|---|
src/mcp_servers/system_status_mcp.py | FastMCP服务器:6个诊断工具(service_health、qdrant_collections、gpu_status、llm_slots、docker_status、stack_config) |
scripts/health_monitor.py | 独立sidecar:定期健康检查,通过自动重启 docker restart、崩溃窗口保护(3次尝试/15min)、JSONL日志记录 |
scripts/visualize_trace.py | CLI跟踪可视化工具:从audit.jsonl日志生成Mermaid流程图和自包含的HTML时间线,具有循环/停滞检测功能 |
______________________________________________________________________
🔄 数据和持久性
- Docker卷 (在重启过程中保持不变):
- anyloom_qdrant_storage --矢量数据库 - anyloom_anythingllm_storage --LLM工作区 - anyloom_anythingllm_hotdir --LLM文档收集器
- 主机绑定装载:
- ./models/ --GGUF模型文件(总计约19.2 GB)。LLM模型(~18.6 GB)+嵌入模型(~605 MB)。在开始之前,请将这两个文件放在此处。
- 文件系统访问: 所有配置文件和Python脚本都是本地的
- 型号更新: 替换中的GGUF文件
./models/并重新启动:docker compose restart llm
- RAG重新索引: 重新运行
python scripts/configure_anythingllm.py(幂等)或通过AnythingLLM UI重新嵌入文档
# View volumes
docker volume ls | grep anyloom
# Backup a volume
docker run --rm -v anyloom_qdrant_storage:/data -v $(pwd):/backup ubuntu tar czf /backup/qdrant_backup.tar.gz /data
# Remove all data (⚠️ DESTRUCTIVE)
docker compose down -v______________________________________________________________________
✅ 您现在正在运行下一代完全本地的AI代理堆栈。 立即开始使用AnyLoom进行创建、查询和编排。
