[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-nikmcfly--MiroFish-Offline":3,"tool-nikmcfly--MiroFish-Offline":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":108,"forks":109,"last_commit_at":110,"license":111,"difficulty_score":112,"env_os":113,"env_gpu":114,"env_ram":115,"env_deps":116,"category_tags":126,"github_topics":127,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":137,"updated_at":138,"faqs":139,"releases":165},875,"nikmcfly\u002FMiroFish-Offline","MiroFish-Offline","Offline multi-agent simulation & prediction engine. English fork of MiroFish with Neo4j + Ollama local stack.","MiroFish-Offline 是一个完全本地化运行的多智能体模拟与预测引擎。它能够将任何文档（如新闻稿、政策草案、财务报告）作为输入，自动生成数百个具有独特个性和记忆的AI智能体，在模拟的社交媒体环境中进行互动，从而预测公众舆论、市场情绪或社会动态的演变过程。\n\n这个工具解决了传统模拟分析对云端API的依赖和数据隐私的顾虑。作为原版MiroFish的英文分支版本，它移除了所有云服务，使用本地技术栈替代：界面完全汉化为英文，用Neo4j图数据库管理知识图谱与记忆，通过Ollama本地运行大语言模型（如qwen2.5、llama3），并使用本地的嵌入模型。这意味着你可以在自己的硬件上，无需网络或API密钥，安全地进行复杂的多智能体社会模拟。\n\nMiroFish-Offline 的工作流程清晰直观：首先从文档中提取实体和关系构建知识图谱；然后生成具有不同立场、影响力和反应速度的智能体群体；接着在模拟环境中进行实时互动，展现观点传播、争论和情绪转变；最后生成结构化分析报告，你甚至可以与模拟世界中的任意智能体对话，追溯其观点成因。\n\n它非常适合研究人员、政策分析师、市场战略制定者、社会科学家","MiroFish-Offline 是一个完全本地化运行的多智能体模拟与预测引擎。它能够将任何文档（如新闻稿、政策草案、财务报告）作为输入，自动生成数百个具有独特个性和记忆的AI智能体，在模拟的社交媒体环境中进行互动，从而预测公众舆论、市场情绪或社会动态的演变过程。\n\n这个工具解决了传统模拟分析对云端API的依赖和数据隐私的顾虑。作为原版MiroFish的英文分支版本，它移除了所有云服务，使用本地技术栈替代：界面完全汉化为英文，用Neo4j图数据库管理知识图谱与记忆，通过Ollama本地运行大语言模型（如qwen2.5、llama3），并使用本地的嵌入模型。这意味着你可以在自己的硬件上，无需网络或API密钥，安全地进行复杂的多智能体社会模拟。\n\nMiroFish-Offline 的工作流程清晰直观：首先从文档中提取实体和关系构建知识图谱；然后生成具有不同立场、影响力和反应速度的智能体群体；接着在模拟环境中进行实时互动，展现观点传播、争论和情绪转变；最后生成结构化分析报告，你甚至可以与模拟世界中的任意智能体对话，追溯其观点成因。\n\n它非常适合研究人员、政策分析师、市场战略制定者、社会科学家以及关注舆情仿真的开发者使用。对于希望研究信息传播、群体行为或进行风险预测，同时又高度重视数据隐私和可控性的团队或个人来说，这是一个强大的离线研究工具。通过Docker Compose可以快速一键部署，让复杂的多智能体模拟变得易于上手。","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnikmcfly_MiroFish-Offline_readme_60480b3e0569.png\" alt=\"MiroFish Offline\" width=\"100%\"\u002F>\n\n# MiroFish-Offline\n\n**Fully local fork of [MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) — no cloud APIs required. English UI.**\n\n*A multi-agent swarm intelligence engine that simulates public opinion, market sentiment, and social dynamics. Entirely on your hardware.*\n\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnikmcfly\u002FMiroFish-Offline?style=flat-square&color=DAA520)](https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fstargazers)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fnikmcfly\u002FMiroFish-Offline?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fnetwork)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker-Build-2496ED?style=flat-square&logo=docker&logoColor=white)](https:\u002F\u002Fhub.docker.com\u002F)\n[![License: AGPL-3.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-AGPL--3.0-blue?style=flat-square)](.\u002FLICENSE)\n\n\u003C\u002Fdiv>\n\n## What is this?\n\nMiroFish is a multi-agent simulation engine: upload any document (press release, policy draft, financial report), and it generates hundreds of AI agents with unique personalities that simulate the public reaction on social media. Posts, arguments, opinion shifts — hour by hour.\n\nThe [original MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) was built for the Chinese market (Chinese UI, Zep Cloud for knowledge graphs, DashScope API). This fork makes it **fully local and fully English**:\n\n| Original MiroFish | MiroFish-Offline |\n|---|---|\n| Chinese UI | **English UI** (1,000+ strings translated) |\n| Zep Cloud (graph memory) | **Neo4j Community Edition 5.15** |\n| DashScope \u002F OpenAI API (LLM) | **Ollama** (qwen2.5, llama3, etc.) |\n| Zep Cloud embeddings | **nomic-embed-text** via Ollama |\n| Cloud API keys required | **Zero cloud dependencies** |\n\n## Workflow\n\n1. **Graph Build** — Extracts entities (people, companies, events) and relationships from your document. Builds a knowledge graph with individual and group memory via Neo4j.\n2. **Env Setup** — Generates hundreds of agent personas, each with unique personality, opinion bias, reaction speed, influence level, and memory of past events.\n3. **Simulation** — Agents interact on simulated social platforms: posting, replying, arguing, shifting opinions. The system tracks sentiment evolution, topic propagation, and influence dynamics in real time.\n4. **Report** — A ReportAgent analyzes the post-simulation environment, interviews a focus group of agents, searches the knowledge graph for evidence, and generates a structured analysis.\n5. **Interaction** — Chat with any agent from the simulated world. Ask them why they posted what they posted. Full memory and personality persists.\n\n## Screenshot\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnikmcfly_MiroFish-Offline_readme_b3e7feb44368.jpg\" alt=\"MiroFish Offline — English UI\" width=\"100%\"\u002F>\n\u003C\u002Fdiv>\n\n## Quick Start\n\n### Prerequisites\n\n- Docker & Docker Compose (recommended), **or**\n- Python 3.11+, Node.js 18+, Neo4j 5.15+, Ollama\n\n### Option A: Docker (easiest)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline.git\ncd MiroFish-Offline\ncp .env.example .env\n\n# Start all services (Neo4j, Ollama, MiroFish)\ndocker compose up -d\n\n# Pull the required models into Ollama\ndocker exec mirofish-ollama ollama pull qwen2.5:32b\ndocker exec mirofish-ollama ollama pull nomic-embed-text\n```\n\nOpen `http:\u002F\u002Flocalhost:3000` — that's it.\n\n### Option B: Manual\n\n**1. Start Neo4j**\n\n```bash\ndocker run -d --name neo4j \\\n  -p 7474:7474 -p 7687:7687 \\\n  -e NEO4J_AUTH=neo4j\u002Fmirofish \\\n  neo4j:5.15-community\n```\n\n**2. Start Ollama & pull models**\n\n```bash\nollama serve &\nollama pull qwen2.5:32b      # LLM (or qwen2.5:14b for less VRAM)\nollama pull nomic-embed-text  # Embeddings (768d)\n```\n\n**3. Configure & run backend**\n\n```bash\ncp .env.example .env\n# Edit .env if your Neo4j\u002FOllama are on non-default ports\n\ncd backend\npip install -r requirements.txt\npython run.py\n```\n\n**4. Run frontend**\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\nOpen `http:\u002F\u002Flocalhost:3000`.\n\n## Configuration\n\nAll settings are in `.env` (copy from `.env.example`):\n\n```bash\n# LLM — points to local Ollama (OpenAI-compatible API)\nLLM_API_KEY=ollama\nLLM_BASE_URL=http:\u002F\u002Flocalhost:11434\u002Fv1\nLLM_MODEL_NAME=qwen2.5:32b\n\n# Neo4j\nNEO4J_URI=bolt:\u002F\u002Flocalhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=mirofish\n\n# Embeddings\nEMBEDDING_MODEL=nomic-embed-text\nEMBEDDING_BASE_URL=http:\u002F\u002Flocalhost:11434\n```\n\nWorks with any OpenAI-compatible API — swap Ollama for Claude, GPT, or any other provider by changing `LLM_BASE_URL` and `LLM_API_KEY`.\n\n## Architecture\n\nThis fork introduces a clean abstraction layer between the application and the graph database:\n\n```\n┌─────────────────────────────────────────┐\n│              Flask API                   │\n│  graph.py  simulation.py  report.py     │\n└──────────────┬──────────────────────────┘\n               │ app.extensions['neo4j_storage']\n┌──────────────▼──────────────────────────┐\n│           Service Layer                  │\n│  EntityReader  GraphToolsService         │\n│  GraphMemoryUpdater  ReportAgent         │\n└──────────────┬──────────────────────────┘\n               │ storage: GraphStorage\n┌──────────────▼──────────────────────────┐\n│         GraphStorage (abstract)          │\n│              │                            │\n│    ┌─────────▼─────────┐                │\n│    │   Neo4jStorage     │                │\n│    │  ┌───────────────┐ │                │\n│    │  │ EmbeddingService│ ← Ollama       │\n│    │  │ NERExtractor   │ ← Ollama LLM   │\n│    │  │ SearchService  │ ← Hybrid search │\n│    │  └───────────────┘ │                │\n│    └───────────────────┘                │\n└─────────────────────────────────────────┘\n               │\n        ┌──────▼──────┐\n        │  Neo4j CE   │\n        │  5.15       │\n        └─────────────┘\n```\n\n**Key design decisions:**\n\n- `GraphStorage` is an abstract interface — swap Neo4j for any other graph DB by implementing one class\n- Dependency injection via Flask `app.extensions` — no global singletons\n- Hybrid search: 0.7 × vector similarity + 0.3 × BM25 keyword search\n- Synchronous NER\u002FRE extraction via local LLM (replaces Zep's async episodes)\n- All original dataclasses and LLM tools (InsightForge, Panorama, Agent Interviews) preserved\n\n## Hardware Requirements\n\n| Component | Minimum | Recommended |\n|---|---|---|\n| RAM | 16 GB | 32 GB |\n| VRAM (GPU) | 10 GB (14b model) | 24 GB (32b model) |\n| Disk | 20 GB | 50 GB |\n| CPU | 4 cores | 8+ cores |\n\nCPU-only mode works but is significantly slower for LLM inference. For lighter setups, use `qwen2.5:14b` or `qwen2.5:7b`.\n\n## Use Cases\n\n- **PR crisis testing** — simulate the public reaction to a press release before publishing\n- **Trading signal generation** — feed financial news and observe simulated market sentiment\n- **Policy impact analysis** — test draft regulations against simulated public response\n- **Creative experiments** — someone fed it a classical Chinese novel with a lost ending; the agents wrote a narratively consistent conclusion\n\n## License\n\nAGPL-3.0 — same as the original MiroFish project. See [LICENSE](.\u002FLICENSE).\n\n## Credits & Attribution\n\nThis is a modified fork of [MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) by [666ghj](https:\u002F\u002Fgithub.com\u002F666ghj), originally supported by [Shanda Group](https:\u002F\u002Fwww.shanda.com\u002F). The simulation engine is powered by [OASIS](https:\u002F\u002Fgithub.com\u002Fcamel-ai\u002Foasis) from the CAMEL-AI team.\n\n**Modifications in this fork:**\n- Backend migrated from Zep Cloud to local Neo4j CE 5.15 + Ollama\n- Entire frontend translated from Chinese to English (20 files, 1,000+ strings)\n- All Zep references replaced with Neo4j across the UI\n- Rebranded to MiroFish Offline\n","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnikmcfly_MiroFish-Offline_readme_60480b3e0569.png\" alt=\"MiroFish Offline\" width=\"100%\"\u002F>\n\n# MiroFish-Offline\n\n**[MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) 的完全本地化分支 —— 无需任何云 API。英文用户界面。**\n\n*一个模拟舆论、市场情绪和社会动态的多智能体群智引擎。完全运行在你的硬件上。*\n\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fnikmcfly\u002FMiroFish-Offline?style=flat-square&color=DAA520)](https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fstargazers)\n[![GitHub Forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fnikmcfly\u002FMiroFish-Offline?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fnetwork)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocker-Build-2496ED?style=flat-square&logo=docker&logoColor=white)](https:\u002F\u002Fhub.docker.com\u002F)\n[![License: AGPL-3.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-AGPL--3.0-blue?style=flat-square)](.\u002FLICENSE)\n\n\u003C\u002Fdiv>\n\n## 这是什么？\n\nMiroFish 是一个多智能体模拟引擎：上传任意文档（新闻稿、政策草案、财务报告），它会生成数百个具有独特个性的 AI 智能体，模拟社交媒体上的公众反应。发帖、争论、观点转变——每小时都在发生。\n\n[原版 MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) 是为中国市场构建的（中文 UI，使用 Zep Cloud 作为知识图谱，DashScope API）。此分支使其**完全本地化且完全英文**：\n\n| 原版 MiroFish | MiroFish-Offline |\n|---|---|\n| 中文 UI | **英文 UI** (已翻译 1000+ 字符串) |\n| Zep Cloud (图记忆) | **Neo4j Community Edition 5.15** |\n| DashScope \u002F OpenAI API (大语言模型) | **Ollama** (qwen2.5, llama3 等) |\n| Zep Cloud 嵌入模型 | 通过 Ollama 使用 **nomic-embed-text** |\n| 需要云 API 密钥 | **零云依赖** |\n\n## 工作流程\n\n1.  **图谱构建** — 从你的文档中提取实体（人物、公司、事件）和关系。通过 Neo4j 构建包含个体和群体记忆的知识图谱。\n2.  **环境设置** — 生成数百个智能体角色，每个角色都有独特的个性、观点偏见、反应速度、影响力级别以及对过去事件的记忆。\n3.  **模拟** — 智能体在模拟的社交平台上互动：发帖、回复、争论、转变观点。系统实时跟踪情绪演变、话题传播和影响力动态。\n4.  **报告** — 一个报告智能体分析模拟后的环境，采访一组焦点智能体，在知识图谱中搜索证据，并生成结构化分析。\n5.  **交互** — 与模拟世界中的任何智能体聊天。询问他们为什么发布特定的内容。完整的记忆和个性得以保留。\n\n## 截图\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnikmcfly_MiroFish-Offline_readme_b3e7feb44368.jpg\" alt=\"MiroFish Offline — English UI\" width=\"100%\"\u002F>\n\u003C\u002Fdiv>\n\n## 快速开始\n\n### 先决条件\n\n- Docker & Docker Compose (推荐)，**或**\n- Python 3.11+, Node.js 18+, Neo4j 5.15+, Ollama\n\n### 选项 A：使用 Docker (最简单)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline.git\ncd MiroFish-Offline\ncp .env.example .env\n\n# 启动所有服务 (Neo4j, Ollama, MiroFish)\ndocker compose up -d\n\n# 将所需模型拉取到 Ollama\ndocker exec mirofish-ollama ollama pull qwen2.5:32b\ndocker exec mirofish-ollama ollama pull nomic-embed-text\n```\n\n打开 `http:\u002F\u002Flocalhost:3000` — 完成。\n\n### 选项 B：手动安装\n\n**1. 启动 Neo4j**\n\n```bash\ndocker run -d --name neo4j \\\n  -p 7474:7474 -p 7687:7687 \\\n  -e NEO4J_AUTH=neo4j\u002Fmirofish \\\n  neo4j:5.15-community\n```\n\n**2. 启动 Ollama 并拉取模型**\n\n```bash\nollama serve &\nollama pull qwen2.5:32b      # 大语言模型 (或使用 qwen2.5:14b 以减少显存占用)\nollama pull nomic-embed-text  # 嵌入模型 (768维)\n```\n\n**3. 配置并运行后端**\n\n```bash\ncp .env.example .env\n# 如果你的 Neo4j\u002FOllama 不在默认端口，请编辑 .env\n\ncd backend\npip install -r requirements.txt\npython run.py\n```\n\n**4. 运行前端**\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n打开 `http:\u002F\u002Flocalhost:3000`。\n\n## 配置\n\n所有设置都在 `.env` 文件中（从 `.env.example` 复制）：\n\n```bash\n# 大语言模型 — 指向本地 Ollama (兼容 OpenAI API)\nLLM_API_KEY=ollama\nLLM_BASE_URL=http:\u002F\u002Flocalhost:11434\u002Fv1\nLLM_MODEL_NAME=qwen2.5:32b\n\n# Neo4j\nNEO4J_URI=bolt:\u002F\u002Flocalhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=mirofish\n\n# 嵌入模型\nEMBEDDING_MODEL=nomic-embed-text\nEMBEDDING_BASE_URL=http:\u002F\u002Flocalhost:11434\n```\n\n支持任何兼容 OpenAI 的 API — 通过更改 `LLM_BASE_URL` 和 `LLM_API_KEY`，可以将 Ollama 替换为 Claude、GPT 或其他任何提供商。\n\n## 架构\n\n此分支在应用程序和图数据库之间引入了一个清晰的抽象层：\n\n```\n┌─────────────────────────────────────────┐\n│              Flask API                   │\n│  graph.py  simulation.py  report.py     │\n└──────────────┬──────────────────────────┘\n               │ app.extensions['neo4j_storage']\n┌──────────────▼──────────────────────────┐\n│           服务层                          │\n│  EntityReader  GraphToolsService         │\n│  GraphMemoryUpdater  ReportAgent         │\n└──────────────┬──────────────────────────┘\n               │ storage: GraphStorage\n┌──────────────▼──────────────────────────┐\n│         GraphStorage (抽象接口)           │\n│              │                            │\n│    ┌─────────▼─────────┐                │\n│    │   Neo4jStorage     │                │\n│    │  ┌───────────────┐ │                │\n│    │  │ EmbeddingService│ ← Ollama       │\n│    │  │ NERExtractor   │ ← Ollama LLM   │\n│    │  │ SearchService  │ ← 混合搜索      │\n│    │  └───────────────┘ │                │\n│    └───────────────────┘                │\n└─────────────────────────────────────────┘\n               │\n        ┌──────▼──────┐\n        │  Neo4j CE   │\n        │  5.15       │\n        └─────────────┘\n```\n\n**关键设计决策：**\n\n- `GraphStorage` 是一个抽象接口 — 通过实现一个类，可以将 Neo4j 替换为任何其他图数据库。\n- 通过 Flask 的 `app.extensions` 进行依赖注入 — 没有全局单例。\n- 混合搜索：0.7 × 向量相似度 + 0.3 × BM25 关键词搜索。\n- 通过本地大语言模型进行同步的命名实体识别\u002F关系提取（替代了 Zep 的异步事件处理）。\n- 保留了所有原始的数据类和 LLM 工具（InsightForge, Panorama, Agent Interviews）。\n\n## 硬件要求\n\n| 组件 | 最低要求 | 推荐配置 |\n|---|---|---|\n| 内存 | 16 GB | 32 GB |\n| 显存 (GPU) | 10 GB (14b 模型) | 24 GB (32b 模型) |\n| 磁盘空间 | 20 GB | 50 GB |\n| CPU | 4 核 | 8+ 核 |\n\n纯 CPU 模式可以工作，但对于 LLM 推理会明显更慢。对于较轻量级的设置，请使用 `qwen2.5:14b` 或 `qwen2.5:7b`。\n\n## 使用场景\n\n- **公关危机测试** — 在发布前模拟公众对新闻稿的反应\n- **交易信号生成** — 输入财经新闻并观察模拟的市场情绪\n- **政策影响分析** — 根据模拟的公众反应测试法规草案\n- **创意实验** — 有人曾输入一部结局遗失的中国古典小说；智能体们撰写了一个叙事连贯的结局\n\n## 许可证\n\nAGPL-3.0 — 与原版 MiroFish 项目相同。详见 [LICENSE](.\u002FLICENSE)。\n\n## 致谢与归属\n\n本项目是基于 [666ghj](https:\u002F\u002Fgithub.com\u002F666ghj) 的 [MiroFish](https:\u002F\u002Fgithub.com\u002F666ghj\u002FMiroFish) 修改的分支版本，原项目由 [盛大集团](https:\u002F\u002Fwww.shanda.com\u002F) 支持。模拟引擎由 CAMEL-AI 团队的 [OASIS](https:\u002F\u002Fgithub.com\u002Fcamel-ai\u002Foasis) 提供支持。\n\n**本分支的修改内容：**\n- 后端从 Zep Cloud 迁移至本地 Neo4j CE 5.15 + Ollama\n- 整个前端从中文翻译为英文（20个文件，1000+字符串）\n- 用户界面中所有 Zep 相关引用已替换为 Neo4j\n- 更名为 MiroFish Offline","# MiroFish-Offline 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux, macOS 或 Windows (WSL2 推荐)\n- **内存**: 最低 16 GB，推荐 32 GB\n- **显存 (GPU)**: 最低 10 GB (14b 模型)，推荐 24 GB (32b 模型)\n- **磁盘空间**: 最低 20 GB，推荐 50 GB\n- **CPU**: 最低 4 核，推荐 8+ 核\n\n### 前置依赖\n**推荐方案**: Docker + Docker Compose\n- Docker Desktop 或 Docker Engine 24.0+\n- Docker Compose v2.20+\n\n**备选方案 (手动安装)**:\n- Python 3.11+\n- Node.js 18+\n- Neo4j Community Edition 5.15+\n- Ollama (最新版)\n\n## 安装步骤\n\n### 方案 A: Docker 一键部署 (推荐)\n\n```bash\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline.git\ncd MiroFish-Offline\n\n# 2. 复制环境配置文件\ncp .env.example .env\n\n# 3. 启动所有服务 (Neo4j, Ollama, MiroFish)\ndocker compose up -d\n\n# 4. 下载所需模型 (国内用户可先配置 Ollama 镜像源)\n# 编辑 ~\u002F.ollama\u002Fconfig.json 添加镜像源，例如使用阿里云镜像：\n# {\n#   \"registry\": {\n#     \"mirrors\": [\"https:\u002F\u002Fregistry.cn-hangzhou.aliyuncs.com\"]\n#   }\n# }\n\n# 5. 拉取模型\ndocker exec mirofish-ollama ollama pull qwen2.5:32b\ndocker exec mirofish-ollama ollama pull nomic-embed-text\n```\n\n### 方案 B: 手动安装\n\n**1. 启动 Neo4j 数据库**\n```bash\ndocker run -d --name neo4j \\\n  -p 7474:7474 -p 7687:7687 \\\n  -e NEO4J_AUTH=neo4j\u002Fmirofish \\\n  neo4j:5.15-community\n```\n\n**2. 启动 Ollama 并下载模型**\n```bash\n# 启动 Ollama 服务\nollama serve &\n\n# 下载模型 (如需加速，可先配置镜像源)\nollama pull qwen2.5:32b      # 大语言模型\nollama pull nomic-embed-text  # 嵌入模型\n```\n\n**3. 配置并运行后端**\n```bash\ncd MiroFish-Offline\ncp .env.example .env\n# 如需修改 Neo4j 或 Ollama 端口，请编辑 .env 文件\n\ncd backend\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple  # 使用清华镜像加速\npython run.py\n```\n\n**4. 运行前端**\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n## 基本使用\n\n### 1. 访问界面\n安装完成后，在浏览器中打开：\n```\nhttp:\u002F\u002Flocalhost:3000\n```\n\n### 2. 首次使用流程\n\n**步骤 1: 上传文档**\n- 点击 \"Upload Document\" 按钮\n- 支持的文件格式: PDF, DOCX, TXT, Markdown\n- 示例文档: 新闻稿、政策草案、财务报告等\n\n**步骤 2: 构建知识图谱**\n- 系统自动从文档中提取实体（人物、公司、事件）和关系\n- 在 Neo4j 中构建知识图谱，建立个体和群体记忆\n\n**步骤 3: 配置模拟环境**\n- 系统生成数百个 AI 智能体，每个智能体具有：\n  - 独特个性\n  - 观点偏见\n  - 反应速度\n  - 影响力等级\n  - 历史事件记忆\n\n**步骤 4: 启动模拟**\n- 智能体在模拟的社交平台上互动：\n  - 发布帖子\n  - 回复评论\n  - 争论观点\n  - 观点演变\n- 系统实时追踪：\n  - 情感演变\n  - 话题传播\n  - 影响力动态\n\n**步骤 5: 查看报告**\n- ReportAgent 分析模拟后的环境\n- 采访焦点小组的智能体\n- 从知识图谱中搜索证据\n- 生成结构化分析报告\n\n### 3. 交互功能\n\n**与智能体对话**\n- 点击任意智能体头像\n- 询问他们发布特定内容的原因\n- 智能体保持完整的记忆和个性\n\n**实时监控**\n- 仪表板显示：\n  - 情感趋势图\n  - 话题热度排名\n  - 影响力网络图\n  - 实时对话流\n\n### 4. 配置文件说明\n\n主要配置位于 `.env` 文件：\n\n```bash\n# 大语言模型配置 (指向本地 Ollama)\nLLM_API_KEY=ollama\nLLM_BASE_URL=http:\u002F\u002Flocalhost:11434\u002Fv1\nLLM_MODEL_NAME=qwen2.5:32b\n\n# Neo4j 数据库配置\nNEO4J_URI=bolt:\u002F\u002Flocalhost:7687\nNEO4J_USER=neo4j\nNEO4J_PASSWORD=mirofish\n\n# 嵌入模型配置\nEMBEDDING_MODEL=nomic-embed-text\nEMBEDDING_BASE_URL=http:\u002F\u002Flocalhost:11434\n```\n\n**模型选择建议**:\n- 高性能配置: `qwen2.5:32b` (需要 24GB+ VRAM)\n- 中等配置: `qwen2.5:14b` (需要 10GB+ VRAM)\n- 低配置: `qwen2.5:7b` (可在 CPU 上运行，速度较慢)\n\n### 5. 验证安装\n\n访问以下地址确认服务正常运行：\n- MiroFish 界面: `http:\u002F\u002Flocalhost:3000`\n- Neo4j 浏览器: `http:\u002F\u002Flocalhost:7474` (用户名: neo4j, 密码: mirofish)\n- Ollama API: `http:\u002F\u002Flocalhost:11434`\n\n### 6. 停止服务\n\n**Docker 方案**:\n```bash\ncd MiroFish-Offline\ndocker compose down\n```\n\n**手动方案**:\n- 前端: 在终端按 `Ctrl+C`\n- 后端: 在终端按 `Ctrl+C`\n- Ollama: `pkill ollama`\n- Neo4j: `docker stop neo4j`","某跨国消费品公司的市场策略团队，正在为一款即将在海外市场推出的新型植物肉产品制定社交媒体预热方案。团队需要预测不同用户群体对产品核心卖点（环保、健康、口感）的可能反应，以优化宣传内容和渠道策略。\n\n### 没有 MiroFish-Offline 时\n- **依赖有限的人工头脑风暴**：团队成员只能基于有限的个人经验和少量用户访谈，主观臆测不同人群的反应，覆盖的“用户画像”类型少，且容易陷入团队内部的信息茧房。\n- **无法模拟动态舆论演变**：只能静态地列出“可能有好评\u002F差评”，无法模拟一个观点如何在社交网络中传播、发酵，以及不同立场的用户之间如何互动、争论，导致对潜在舆论风险的预判严重不足。\n- **数据敏感性与成本顾虑**：产品配方、定价策略等敏感文档不便上传至第三方云服务进行分析，而使用商业化的在线舆情预测API不仅费用高昂，还存在数据出境的安全合规风险。\n- **分析结果缺乏“追溯性”**：当得到一个“某类用户可能反感环保营销”的结论时，无法深入探究这个结论是如何得出的，是哪段原文、哪些人物关系影响了模拟结果，导致结论可信度存疑。\n\n### 使用 MiroFish-Offline 后\n- **自动化生成海量多元“数字用户”**：将产品白皮书、竞品分析报告上传后，MiroFish-Offline自动构建知识图谱，并生成数百个具有不同性格、立场、影响力和记忆的智能体，模拟出远比人工设想更丰富的用户群体。\n- **实时观测多轮互动与情绪演变**：在模拟的社交环境中，可以直观看到“环保主义者”如何积极传播，“口感至上者”如何提出质疑，双方如何争论，以及中立群体的情绪如何随时间推移而摇摆，从而精准定位舆论引爆点和转折点。\n- **全流程本地化，保障安全与控制**：基于Neo4j和Ollama的本地堆栈，所有敏感数据不出本地环境，无需支付API调用费用，且可以完全控制模拟的规模、时长和所用模型，实现了安全、可控的深度分析。\n- **结论可解释、可交互**：模拟结束后，不仅获得结构化报告，分析师还可以直接“采访”任意一个模拟中的智能体，询问其发表某条言论的具体原因，系统会基于其记忆和知识图谱给出解释，极大提升了分析洞察的深度和可信度。\n\nMiroFish-Offline通过提供一套完全本地的、动态可交互的多智能体模拟环境，将市场舆情预测从静态、主观的猜测，转变为动态、可追溯的数据驱动推演。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnikmcfly_MiroFish-Offline_60480b3e.png","nikmcfly","Nik McFly","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnikmcfly_ecd5f3b6.jpg","Shitposting. Shitposting never changes.",null,"nikmcfly69","nikmcfly.com","https:\u002F\u002Fgithub.com\u002Fnikmcfly",[85,89,93,97,101,105],{"name":86,"color":87,"percentage":88},"Python","#3572A5",57.4,{"name":90,"color":91,"percentage":92},"Vue","#41b883",40.2,{"name":94,"color":95,"percentage":96},"CSS","#663399",1.3,{"name":98,"color":99,"percentage":100},"JavaScript","#f1e05a",0.9,{"name":102,"color":103,"percentage":104},"HTML","#e34c26",0.1,{"name":106,"color":107,"percentage":104},"Dockerfile","#384d54",1745,436,"2026-04-05T22:13:01","AGPL-3.0",4,"Linux, macOS, Windows","需要 NVIDIA GPU，显存 10GB+（14b 模型）或 24GB+（32b 模型），支持 CUDA（具体版本未说明）","最低 16GB，推荐 32GB",{"notes":117,"python":118,"dependencies":119},"建议使用 Docker 部署（包含 Neo4j、Ollama 等服务），CPU 模式可用但推理速度较慢。磁盘空间需求：最低 20GB，推荐 50GB。","3.11+",[120,121,122,123,124,125],"neo4j>=5.15","ollama","docker","docker-compose","node.js>=18","flask",[54,15,13,14,26],[128,129,130,121,131,132,133,134,135,136],"ai","neo4j","offline","open-source","vue","multi-agent","prediction","simulation","swarm-intelligence","2026-03-27T02:49:30.150509","2026-04-06T08:45:21.747463",[140,145,150,155,160],{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},3772,"为什么生成最终报告时会切换成中文？","这是由于 `services\u002Freport_agent.py` 文件中第654-659行存在一个硬编码规则（`SECTION_SYSTEM_PROMPT_TEMPLATE`），规定如果模拟需求和源材料是中文，报告就必须完全用中文生成。结合 `qwen2.5:32b` 模型倾向于使用中文的特性，即使是非中文用户，报告也可能切换成中文。目前API中没有语言参数可以覆盖此规则。一个潜在的解决方案是移除该硬编码规则，改为在所有提示模板（PLAN, SECTION, CHAT）中使用动态的 `{report_language}` 参数，该参数可以自动从模拟需求中检测，也可以通过API覆盖。","https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fissues\u002F15",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},3773,"Neo4j 版本不匹配导致 `db.index.vector.queryRelationships` 过程缺失怎么办？","项目当前的 `docker-compose.yml` 文件将 Neo4j 版本固定为 `neo4j:5.15-community`，但后端代码尝试使用 `db.index.vector.queryRelationships` 这个过程。该过程在 Neo4j 5.15 中不可用，它是在 Neo4j ≥ 5.18 版本中引入的。这会导致运行时出现“过程未找到”的错误。解决方案是更新 Neo4j 的镜像版本。将 `docker-compose.yml` 中的 Neo4j 服务镜像修改为 `neo4j:5.18-community` 或更高版本即可解决。","https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fissues\u002F9",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},3774,"无法分析文件，出现“Request failed with status code 500”错误怎么办？","在尝试读取或分析文件时出现 500 错误。这通常与配置文件有关。请确保您已经正确设置了环境变量。具体步骤如下：\n1.  复制环境配置文件：`cp .\u002F.env.example .\u002F.env`\n2.  编辑 `.env` 文件，根据注释提示，将 URL 中的 `localhost` 实例更改为 `ollama` 或 `node4j`（因为这些服务在 Docker 容器中运行，需要使用容器服务名）。\n确保配置正确后，应该可以开始本体生成了。","https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fissues\u002F4",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},3775,"启动引擎后立即出现“Exception in handleNewProject: Request failed with status code 500”错误怎么办？（macOS）","在 macOS（例如 MacBook M3 Max）上启动后，在“Starting ontology generation: Uploading files...”步骤后立即出现 500 错误。这可能是由于使用的模型过大导致的问题。例如，使用 `qwen2.5:32b` 模型可能对系统资源要求过高。解决方案是尝试使用更小、更轻量的模型，例如切换到 `qwen2.5:7b` 模型后，问题可能得到解决。","https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fissues\u002F14",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},3776,"报告生成失败，提示“GraphToolsService not passed to ReportAgent”错误如何修复？","报告生成（第4步）总是立即失败，错误信息为：`graph_tools (GraphToolsService) is required. Create it via GraphToolsService(storage=...) and pass it in.`。根本原因是在 `backend\u002Fapp\u002Fapi\u002Freport.py` 中，有两处实例化 `ReportAgent` 时没有传入必需的 `graph_tools` 参数。修复方法是在调用 `ReportAgent(...)` 之前，从 Flask 应用的 `neo4j_storage` 扩展中创建 `GraphToolsService` 实例，并将其作为参数传递给 `ReportAgent`。具体代码修改可参考已合并的 PR #5。","https:\u002F\u002Fgithub.com\u002Fnikmcfly\u002FMiroFish-Offline\u002Fissues\u002F3",[]]