diff --git a/.env.example b/.env.example index b850615..c62780a 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ # ================================================================ -# MiroFish 环境变量配置 +# CrowdSight 环境变量配置 # ================================================================ # 复制此文件为 .env 并填入你的 API 密钥: # cp .env.example .env diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index becbdec..5553a80 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -33,7 +33,7 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ghcr.io/${{ github.repository_owner }}/mirofish + images: ghcr.io/${{ github.repository_owner }}/crowdsight tags: | type=ref,event=tag type=sha diff --git a/README-ZH.md b/README-ZH.md index c774259..79b9e3a 100644 --- a/README-ZH.md +++ b/README-ZH.md @@ -1,24 +1,24 @@
-MiroFish Logo +CrowdSight Logo -666ghj%2FMiroFish | Trendshift +666ghj%2FCrowdSight | Trendshift 简洁通用的群体智能引擎,预测万物
A Simple and Universal Swarm Intelligence Engine, Predicting Anything -666ghj%2FMiroFish | Shanda +666ghj%2FCrowdSight | Shanda -[![GitHub Stars](https://img.shields.io/github/stars/666ghj/MiroFish?style=flat-square&color=DAA520)](https://github.com/666ghj/MiroFish/stargazers) -[![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/MiroFish?style=flat-square)](https://github.com/666ghj/MiroFish/watchers) -[![GitHub Forks](https://img.shields.io/github/forks/666ghj/MiroFish?style=flat-square)](https://github.com/666ghj/MiroFish/network) +[![GitHub Stars](https://img.shields.io/github/stars/666ghj/CrowdSight?style=flat-square&color=DAA520)](https://github.com/666ghj/CrowdSight/stargazers) +[![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/CrowdSight?style=flat-square)](https://github.com/666ghj/CrowdSight/watchers) +[![GitHub Forks](https://img.shields.io/github/forks/666ghj/CrowdSight?style=flat-square)](https://github.com/666ghj/CrowdSight/network) [![Docker](https://img.shields.io/badge/Docker-Build-2496ED?style=flat-square&logo=docker&logoColor=white)](https://hub.docker.com/) -[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/666ghj/MiroFish) +[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/666ghj/CrowdSight) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white)](http://discord.gg/ePf5aPaHnA) -[![X](https://img.shields.io/badge/X-Follow-000000?style=flat-square&logo=x&logoColor=white)](https://x.com/mirofish_ai) -[![Instagram](https://img.shields.io/badge/Instagram-Follow-E4405F?style=flat-square&logo=instagram&logoColor=white)](https://www.instagram.com/mirofish_ai/) +[![X](https://img.shields.io/badge/X-Follow-000000?style=flat-square&logo=x&logoColor=white)](https://x.com/crowdsight_ai) +[![Instagram](https://img.shields.io/badge/Instagram-Follow-E4405F?style=flat-square&logo=instagram&logoColor=white)](https://www.instagram.com/crowdsight_ai/) [English](./README.md) | [中文文档](./README-ZH.md) @@ -26,14 +26,14 @@ ## ⚡ 项目概述 -**MiroFish** 是一款基于多智能体技术的新一代 AI 预测引擎。通过提取现实世界的种子信息(如突发新闻、政策草案、金融信号),自动构建出高保真的平行数字世界。在此空间内,成千上万个具备独立人格、长期记忆与行为逻辑的智能体进行自由交互与社会演化。你可透过「上帝视角」动态注入变量,精准推演未来走向——**让未来在数字沙盘中预演,助决策在百战模拟后胜出**。 +**CrowdSight** 是一款基于多智能体技术的新一代 AI 预测引擎。通过提取现实世界的种子信息(如突发新闻、政策草案、金融信号),自动构建出高保真的平行数字世界。在此空间内,成千上万个具备独立人格、长期记忆与行为逻辑的智能体进行自由交互与社会演化。你可透过「上帝视角」动态注入变量,精准推演未来走向——**让未来在数字沙盘中预演,助决策在百战模拟后胜出**。 > 你只需:上传种子材料(数据分析报告或者有趣的小说故事),并用自然语言描述预测需求
-> MiroFish 将返回:一份详尽的预测报告,以及一个可深度交互的高保真数字世界 +> CrowdSight 将返回:一份详尽的预测报告,以及一个可深度交互的高保真数字世界 ### 我们的愿景 -MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体互动引发的群体涌现,突破传统预测的局限: +CrowdSight 致力于打造映射现实的群体智能镜像,通过捕捉个体互动引发的群体涌现,突破传统预测的局限: - **于宏观**:我们是决策者的预演实验室,让政策与公关在零风险中试错 - **于微观**:我们是个人用户的创意沙盘,无论是推演小说结局还是探索脑洞,皆可有趣、好玩、触手可及 @@ -42,7 +42,7 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体 ## 🌐 在线体验 -欢迎访问在线 Demo 演示环境,体验我们为你准备的一次关于热点舆情事件的推演预测:[mirofish-live-demo](https://666ghj.github.io/mirofish-demo/) +欢迎访问在线 Demo 演示环境,体验我们为你准备的一次关于热点舆情事件的推演预测:[crowdsight-live-demo](https://666ghj.github.io/crowdsight-demo/) ## 📸 系统截图 @@ -65,10 +65,10 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体 ## 🎬 演示视频 -### 1. 武汉大学舆情推演预测 + MiroFish项目讲解 +### 1. 武汉大学舆情推演预测 + CrowdSight项目讲解
-MiroFish Demo Video +CrowdSight Demo Video 点击图片查看使用微舆BettaFish生成的《武大舆情报告》进行预测的完整演示视频
@@ -76,9 +76,9 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体 ### 2. 《红楼梦》失传结局推演预测
-MiroFish Demo Video +CrowdSight Demo Video -点击图片查看基于《红楼梦》前80回数十万字,MiroFish深度预测失传结局 +点击图片查看基于《红楼梦》前80回数十万字,CrowdSight深度预测失传结局
> **金融方向推演预测**、**时政要闻推演预测**等示例陆续更新中... @@ -215,20 +215,20 @@ docker compose up -d   -MiroFish团队长期招募全职/实习,如果你对多Agent应用感兴趣,欢迎投递简历至:**mirofish@shanda.com** +CrowdSight团队长期招募全职/实习,如果你对多Agent应用感兴趣,欢迎投递简历至:**crowdsight@shanda.com** ## 📄 致谢 -**MiroFish 得到了盛大集团的战略支持和孵化!** +**CrowdSight 得到了盛大集团的战略支持和孵化!** -MiroFish 的仿真引擎由 **[OASIS](https://github.com/camel-ai/oasis)** 驱动,我们衷心感谢 CAMEL-AI 团队的开源贡献! +CrowdSight 的仿真引擎由 **[OASIS](https://github.com/camel-ai/oasis)** 驱动,我们衷心感谢 CAMEL-AI 团队的开源贡献! ## 📈 项目统计 - + - - - Star History Chart + + + Star History Chart diff --git a/README.md b/README.md index fe4929c..e82fe22 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@
-MiroFish Logo +CrowdSight Logo -666ghj%2FMiroFish | Trendshift +666ghj%2FCrowdSight | Trendshift 简洁通用的群体智能引擎,预测万物
A Simple and Universal Swarm Intelligence Engine, Predicting Anything -666ghj%2FMiroFish | Shanda +666ghj%2FCrowdSight | Shanda -[![GitHub Stars](https://img.shields.io/github/stars/666ghj/MiroFish?style=flat-square&color=DAA520)](https://github.com/666ghj/MiroFish/stargazers) -[![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/MiroFish?style=flat-square)](https://github.com/666ghj/MiroFish/watchers) -[![GitHub Forks](https://img.shields.io/github/forks/666ghj/MiroFish?style=flat-square)](https://github.com/666ghj/MiroFish/network) +[![GitHub Stars](https://img.shields.io/github/stars/666ghj/CrowdSight?style=flat-square&color=DAA520)](https://github.com/666ghj/CrowdSight/stargazers) +[![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/CrowdSight?style=flat-square)](https://github.com/666ghj/CrowdSight/watchers) +[![GitHub Forks](https://img.shields.io/github/forks/666ghj/CrowdSight?style=flat-square)](https://github.com/666ghj/CrowdSight/network) [![Docker](https://img.shields.io/badge/Docker-Build-2496ED?style=flat-square&logo=docker&logoColor=white)](https://hub.docker.com/) -[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/666ghj/MiroFish) +[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/666ghj/CrowdSight) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white)](http://discord.gg/ePf5aPaHnA) -[![X](https://img.shields.io/badge/X-Follow-000000?style=flat-square&logo=x&logoColor=white)](https://x.com/mirofish_ai) -[![Instagram](https://img.shields.io/badge/Instagram-Follow-E4405F?style=flat-square&logo=instagram&logoColor=white)](https://www.instagram.com/mirofish_ai/) +[![X](https://img.shields.io/badge/X-Follow-000000?style=flat-square&logo=x&logoColor=white)](https://x.com/crowdsight_ai) +[![Instagram](https://img.shields.io/badge/Instagram-Follow-E4405F?style=flat-square&logo=instagram&logoColor=white)](https://www.instagram.com/crowdsight_ai/) [English](./README.md) | [中文文档](./README-ZH.md) @@ -26,14 +26,14 @@ ## ⚡ Overview -**MiroFish** is a next-generation AI prediction engine powered by multi-agent technology. By extracting seed information from the real world (such as breaking news, policy drafts, or financial signals), it automatically constructs a high-fidelity parallel digital world. Within this space, thousands of intelligent agents with independent personalities, long-term memory, and behavioral logic freely interact and undergo social evolution. You can inject variables dynamically from a "God's-eye view" to precisely deduce future trajectories — **rehearse the future in a digital sandbox, and win decisions after countless simulations**. +**CrowdSight** is a next-generation AI prediction engine powered by multi-agent technology. By extracting seed information from the real world (such as breaking news, policy drafts, or financial signals), it automatically constructs a high-fidelity parallel digital world. Within this space, thousands of intelligent agents with independent personalities, long-term memory, and behavioral logic freely interact and undergo social evolution. You can inject variables dynamically from a "God's-eye view" to precisely deduce future trajectories — **rehearse the future in a digital sandbox, and win decisions after countless simulations**. > You only need to: Upload seed materials (data analysis reports or interesting novel stories) and describe your prediction requirements in natural language
-> MiroFish will return: A detailed prediction report and a deeply interactive high-fidelity digital world +> CrowdSight will return: A detailed prediction report and a deeply interactive high-fidelity digital world ### Our Vision -MiroFish is dedicated to creating a swarm intelligence mirror that maps reality. By capturing the collective emergence triggered by individual interactions, we break through the limitations of traditional prediction: +CrowdSight is dedicated to creating a swarm intelligence mirror that maps reality. By capturing the collective emergence triggered by individual interactions, we break through the limitations of traditional prediction: - **At the Macro Level**: We are a rehearsal laboratory for decision-makers, allowing policies and public relations to be tested at zero risk - **At the Micro Level**: We are a creative sandbox for individual users — whether deducing novel endings or exploring imaginative scenarios, everything can be fun, playful, and accessible @@ -42,7 +42,7 @@ From serious predictions to playful simulations, we let every "what if" see its ## 🌐 Live Demo -Welcome to visit our online demo environment and experience a prediction simulation on trending public opinion events we've prepared for you: [mirofish-live-demo](https://666ghj.github.io/mirofish-demo/) +Welcome to visit our online demo environment and experience a prediction simulation on trending public opinion events we've prepared for you: [crowdsight-live-demo](https://666ghj.github.io/crowdsight-demo/) ## 📸 Screenshots @@ -65,10 +65,10 @@ Welcome to visit our online demo environment and experience a prediction simulat ## 🎬 Demo Videos -### 1. Wuhan University Public Opinion Simulation + MiroFish Project Introduction +### 1. Wuhan University Public Opinion Simulation + CrowdSight Project Introduction
-MiroFish Demo Video +CrowdSight Demo Video Click the image to watch the complete demo video for prediction using BettaFish-generated "Wuhan University Public Opinion Report"
@@ -76,9 +76,9 @@ Click the image to watch the complete demo video for prediction using BettaFish- ### 2. Dream of the Red Chamber Lost Ending Simulation
-MiroFish Demo Video +CrowdSight Demo Video -Click the image to watch MiroFish's deep prediction of the lost ending based on hundreds of thousands of words from the first 80 chapters of "Dream of the Red Chamber" +Click the image to watch CrowdSight's deep prediction of the lost ending based on hundreds of thousands of words from the first 80 chapters of "Dream of the Red Chamber"
> **Financial Prediction**, **Political News Prediction** and more examples coming soon... @@ -215,20 +215,20 @@ Reads `.env` from root directory by default, maps ports `3000 (frontend) / 5001   -The MiroFish team is recruiting full-time/internship positions. If you're interested in multi-agent simulation and LLM applications, feel free to send your resume to: **mirofish@shanda.com** +The CrowdSight team is recruiting full-time/internship positions. If you're interested in multi-agent simulation and LLM applications, feel free to send your resume to: **crowdsight@shanda.com** ## 📄 Acknowledgments -**MiroFish has received strategic support and incubation from Shanda Group!** +**CrowdSight has received strategic support and incubation from Shanda Group!** -MiroFish's simulation engine is powered by **[OASIS (Open Agent Social Interaction Simulations)](https://github.com/camel-ai/oasis)**, We sincerely thank the CAMEL-AI team for their open-source contributions! +CrowdSight's simulation engine is powered by **[OASIS (Open Agent Social Interaction Simulations)](https://github.com/camel-ai/oasis)**, We sincerely thank the CAMEL-AI team for their open-source contributions! ## 📈 Project Statistics - + - - - Star History Chart + + + Star History Chart \ No newline at end of file diff --git a/backend/app/__init__.py b/backend/app/__init__.py index aba624b..8086fd8 100644 --- a/backend/app/__init__.py +++ b/backend/app/__init__.py @@ -1,5 +1,5 @@ """ -MiroFish Backend - Flask应用工厂 +CrowdSight Backend - Flask应用工厂 """ import os @@ -27,7 +27,7 @@ def create_app(config_class=Config): app.json.ensure_ascii = False # 设置日志 - logger = setup_logger('mirofish') + logger = setup_logger('crowdsight') # 只在 reloader 子进程中打印启动信息(避免 debug 模式下打印两次) is_reloader_process = os.environ.get('WERKZEUG_RUN_MAIN') == 'true' @@ -36,7 +36,7 @@ def create_app(config_class=Config): if should_log_startup: logger.info("=" * 50) - logger.info("MiroFish Backend 启动中...") + logger.info("CrowdSight Backend 启动中...") logger.info("=" * 50) # 启用CORS @@ -51,14 +51,14 @@ def create_app(config_class=Config): # 请求日志中间件 @app.before_request def log_request(): - logger = get_logger('mirofish.request') + logger = get_logger('crowdsight.request') logger.debug(f"请求: {request.method} {request.path}") if request.content_type and 'json' in request.content_type: logger.debug(f"请求体: {request.get_json(silent=True)}") @app.after_request def log_response(response): - logger = get_logger('mirofish.request') + logger = get_logger('crowdsight.request') logger.debug(f"响应: {response.status_code}") return response @@ -71,10 +71,10 @@ def create_app(config_class=Config): # 健康检查 @app.route('/health') def health(): - return {'status': 'ok', 'service': 'MiroFish Backend'} + return {'status': 'ok', 'service': 'CrowdSight Backend'} if should_log_startup: - logger.info("MiroFish Backend 启动完成") + logger.info("CrowdSight Backend 启动完成") return app diff --git a/backend/app/api/graph.py b/backend/app/api/graph.py index 759ff48..86e3ebc 100644 --- a/backend/app/api/graph.py +++ b/backend/app/api/graph.py @@ -20,7 +20,7 @@ from ..models.task import TaskManager, TaskStatus from ..models.project import ProjectManager, ProjectStatus # 获取日志器 -logger = get_logger('mirofish.api') +logger = get_logger('crowdsight.api') def allowed_file(filename: str) -> bool: @@ -337,7 +337,7 @@ def build_graph(): project.error = None # 获取配置 - graph_name = data.get('graph_name', project.name or 'MiroFish Graph') + graph_name = data.get('graph_name', project.name or 'CrowdSight Graph') chunk_size = data.get('chunk_size', project.chunk_size or Config.DEFAULT_CHUNK_SIZE) chunk_overlap = data.get('chunk_overlap', project.chunk_overlap or Config.DEFAULT_CHUNK_OVERLAP) @@ -377,7 +377,7 @@ def build_graph(): # 启动后台任务 def build_task(): set_locale(current_locale) - build_logger = get_logger('mirofish.build') + build_logger = get_logger('crowdsight.build') try: build_logger.info(f"[{task_id}] 开始构建图谱...") task_manager.update_task( diff --git a/backend/app/api/report.py b/backend/app/api/report.py index d7f2a4d..fbdf460 100644 --- a/backend/app/api/report.py +++ b/backend/app/api/report.py @@ -17,7 +17,7 @@ from ..models.task import TaskManager, TaskStatus from ..utils.logger import get_logger from ..utils.locale import t, get_locale, set_locale -logger = get_logger('mirofish.api.report') +logger = get_logger('crowdsight.api.report') # ============== 报告生成接口 ============== @@ -939,7 +939,7 @@ def search_graph_tool(): 请求(JSON): { - "graph_id": "mirofish_xxxx", + "graph_id": "crowdsight_xxxx", "query": "搜索查询", "limit": 10 } @@ -987,7 +987,7 @@ def get_graph_statistics_tool(): 请求(JSON): { - "graph_id": "mirofish_xxxx" + "graph_id": "crowdsight_xxxx" } """ try: diff --git a/backend/app/api/simulation.py b/backend/app/api/simulation.py index 3a8e1e3..a3aa712 100644 --- a/backend/app/api/simulation.py +++ b/backend/app/api/simulation.py @@ -17,7 +17,7 @@ from ..utils.logger import get_logger from ..utils.locale import t, get_locale, set_locale from ..models.project import ProjectManager -logger = get_logger('mirofish.api.simulation') +logger = get_logger('crowdsight.api.simulation') # Interview prompt 优化前缀 @@ -172,7 +172,7 @@ def create_simulation(): 请求(JSON): { "project_id": "proj_xxxx", // 必填 - "graph_id": "mirofish_xxxx", // 可选,如不提供则从project获取 + "graph_id": "crowdsight_xxxx", // 可选,如不提供则从project获取 "enable_twitter": true, // 可选,默认true "enable_reddit": true // 可选,默认true } @@ -183,7 +183,7 @@ def create_simulation(): "data": { "simulation_id": "sim_xxxx", "project_id": "proj_xxxx", - "graph_id": "mirofish_xxxx", + "graph_id": "crowdsight_xxxx", "status": "created", "enable_twitter": true, "enable_reddit": true, @@ -1381,7 +1381,7 @@ def generate_profiles(): 请求(JSON): { - "graph_id": "mirofish_xxxx", // 必填 + "graph_id": "crowdsight_xxxx", // 必填 "entity_types": ["Student"], // 可选 "use_llm": true, // 可选 "platform": "reddit" // 可选 diff --git a/backend/app/config.py b/backend/app/config.py index bb3cdee..f3608c8 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -7,7 +7,7 @@ import os from dotenv import load_dotenv # 加载项目根目录的 .env 文件 -# 路径: MiroFish/.env (相对于 backend/app/config.py) +# 路径: CrowdSight/.env (相对于 backend/app/config.py) project_root_env = os.path.join(os.path.dirname(__file__), '../../.env') if os.path.exists(project_root_env): @@ -62,7 +62,7 @@ class Config: """Flask配置类""" # Flask配置 - SECRET_KEY = os.environ.get('SECRET_KEY', 'mirofish-secret-key') + SECRET_KEY = os.environ.get('SECRET_KEY', 'crowdsight-secret-key') DEBUG = os.environ.get('FLASK_DEBUG', 'True').lower() == 'true' # JSON配置 - 禁用ASCII转义,让中文直接显示(而不是 \uXXXX 格式) diff --git a/backend/app/services/graph_builder.py b/backend/app/services/graph_builder.py index 37c9969..e40978a 100644 --- a/backend/app/services/graph_builder.py +++ b/backend/app/services/graph_builder.py @@ -55,7 +55,7 @@ class GraphBuilderService: self, text: str, ontology: Dict[str, Any], - graph_name: str = "MiroFish Graph", + graph_name: str = "CrowdSight Graph", chunk_size: int = 500, chunk_overlap: int = 50, batch_size: int = 3 @@ -192,12 +192,12 @@ class GraphBuilderService: def create_graph(self, name: str) -> str: """创建Zep图谱(公开方法)""" - graph_id = f"mirofish_{uuid.uuid4().hex[:16]}" + graph_id = f"crowdsight_{uuid.uuid4().hex[:16]}" self.client.graph.create( graph_id=graph_id, name=name, - description="MiroFish Social Simulation Graph" + description="CrowdSight Social Simulation Graph" ) return graph_id diff --git a/backend/app/services/oasis_profile_generator.py b/backend/app/services/oasis_profile_generator.py index e4d9e9a..e4914a3 100644 --- a/backend/app/services/oasis_profile_generator.py +++ b/backend/app/services/oasis_profile_generator.py @@ -23,7 +23,7 @@ from ..utils.logger import get_logger from ..utils.locale import get_language_instruction, get_locale, set_locale, t from .zep_entity_reader import EntityNode, ZepEntityReader -logger = get_logger('mirofish.oasis_profile') +logger = get_logger('crowdsight.oasis_profile') @dataclass diff --git a/backend/app/services/ontology_generator.py b/backend/app/services/ontology_generator.py index a3ee0d5..ac9f795 100644 --- a/backend/app/services/ontology_generator.py +++ b/backend/app/services/ontology_generator.py @@ -410,7 +410,7 @@ class OntologyGenerator: code_lines = [ '"""', '自定义实体类型定义', - '由MiroFish自动生成,用于社会舆论模拟', + 'Auto-generated by CrowdSight,用于社会舆论模拟', '"""', '', 'from pydantic import Field', diff --git a/backend/app/services/report_agent.py b/backend/app/services/report_agent.py index 9819f5c..3ab964e 100644 --- a/backend/app/services/report_agent.py +++ b/backend/app/services/report_agent.py @@ -30,7 +30,7 @@ from .zep_tools import ( InterviewResult ) -logger = get_logger('mirofish.report_agent') +logger = get_logger('crowdsight.report_agent') class ReportLogger: @@ -353,8 +353,8 @@ class ReportConsoleLogger: # 添加到 report_agent 相关的 logger loggers_to_attach = [ - 'mirofish.report_agent', - 'mirofish.zep_tools', + 'crowdsight.report_agent', + 'crowdsight.zep_tools', ] for logger_name in loggers_to_attach: @@ -369,8 +369,8 @@ class ReportConsoleLogger: if self._file_handler: loggers_to_detach = [ - 'mirofish.report_agent', - 'mirofish.zep_tools', + 'crowdsight.report_agent', + 'crowdsight.zep_tools', ] for logger_name in loggers_to_detach: diff --git a/backend/app/services/simulation_config_generator.py b/backend/app/services/simulation_config_generator.py index 7ad919b..270bd31 100644 --- a/backend/app/services/simulation_config_generator.py +++ b/backend/app/services/simulation_config_generator.py @@ -23,7 +23,7 @@ from ..utils.logger import get_logger from ..utils.locale import get_language_instruction, t from .zep_entity_reader import EntityNode, ZepEntityReader -logger = get_logger('mirofish.simulation_config') +logger = get_logger('crowdsight.simulation_config') # 中国作息时间配置(北京时间) CHINA_TIMEZONE_CONFIG = { diff --git a/backend/app/services/simulation_ipc.py b/backend/app/services/simulation_ipc.py index 9d70d0b..de4b181 100644 --- a/backend/app/services/simulation_ipc.py +++ b/backend/app/services/simulation_ipc.py @@ -19,7 +19,7 @@ from enum import Enum from ..utils.logger import get_logger -logger = get_logger('mirofish.simulation_ipc') +logger = get_logger('crowdsight.simulation_ipc') class CommandType(str, Enum): diff --git a/backend/app/services/simulation_manager.py b/backend/app/services/simulation_manager.py index 0d161a9..1531f5b 100644 --- a/backend/app/services/simulation_manager.py +++ b/backend/app/services/simulation_manager.py @@ -19,7 +19,7 @@ from .oasis_profile_generator import OasisProfileGenerator, OasisAgentProfile from .simulation_config_generator import SimulationConfigGenerator, SimulationParameters from ..utils.locale import t -logger = get_logger('mirofish.simulation') +logger = get_logger('crowdsight.simulation') class SimulationStatus(str, Enum): @@ -520,7 +520,7 @@ class SimulationManager: "parallel": f"python {scripts_dir}/run_parallel_simulation.py --config {config_path}", }, "instructions": ( - f"1. 激活conda环境: conda activate MiroFish\n" + f"1. 激活conda环境: conda activate CrowdSight\n" f"2. 运行模拟 (脚本位于 {scripts_dir}):\n" f" - 单独运行Twitter: python {scripts_dir}/run_twitter_simulation.py --config {config_path}\n" f" - 单独运行Reddit: python {scripts_dir}/run_reddit_simulation.py --config {config_path}\n" diff --git a/backend/app/services/simulation_runner.py b/backend/app/services/simulation_runner.py index e86021f..620fe0f 100644 --- a/backend/app/services/simulation_runner.py +++ b/backend/app/services/simulation_runner.py @@ -24,7 +24,7 @@ from ..utils.locale import get_locale, set_locale from .zep_graph_memory_updater import ZepGraphMemoryManager from .simulation_ipc import SimulationIPCClient, CommandType, IPCResponse -logger = get_logger('mirofish.simulation_runner') +logger = get_logger('crowdsight.simulation_runner') # 标记是否已注册清理函数 _cleanup_registered = False diff --git a/backend/app/services/zep_entity_reader.py b/backend/app/services/zep_entity_reader.py index 71661be..b12ff3f 100644 --- a/backend/app/services/zep_entity_reader.py +++ b/backend/app/services/zep_entity_reader.py @@ -13,7 +13,7 @@ from ..config import Config from ..utils.logger import get_logger from ..utils.zep_paging import fetch_all_nodes, fetch_all_edges -logger = get_logger('mirofish.zep_entity_reader') +logger = get_logger('crowdsight.zep_entity_reader') # 用于泛型返回类型 T = TypeVar('T') diff --git a/backend/app/services/zep_graph_memory_updater.py b/backend/app/services/zep_graph_memory_updater.py index e034fee..97c5488 100644 --- a/backend/app/services/zep_graph_memory_updater.py +++ b/backend/app/services/zep_graph_memory_updater.py @@ -18,7 +18,7 @@ from ..config import Config from ..utils.logger import get_logger from ..utils.locale import get_locale, set_locale -logger = get_logger('mirofish.zep_graph_memory_updater') +logger = get_logger('crowdsight.zep_graph_memory_updater') @dataclass diff --git a/backend/app/services/zep_tools.py b/backend/app/services/zep_tools.py index dfc73eb..41e70c0 100644 --- a/backend/app/services/zep_tools.py +++ b/backend/app/services/zep_tools.py @@ -21,7 +21,7 @@ from ..utils.llm_client import LLMClient from ..utils.locale import get_locale, t from ..utils.zep_paging import fetch_all_nodes, fetch_all_edges -logger = get_logger('mirofish.zep_tools') +logger = get_logger('crowdsight.zep_tools') @dataclass diff --git a/backend/app/utils/logger.py b/backend/app/utils/logger.py index 93422af..6537885 100644 --- a/backend/app/utils/logger.py +++ b/backend/app/utils/logger.py @@ -27,7 +27,7 @@ def _ensure_utf8_stdout(): LOG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'logs') -def setup_logger(name: str = 'mirofish', level: int = logging.DEBUG) -> logging.Logger: +def setup_logger(name: str = 'crowdsight', level: int = logging.DEBUG) -> logging.Logger: """ 设置日志器 @@ -88,7 +88,7 @@ def setup_logger(name: str = 'mirofish', level: int = logging.DEBUG) -> logging. return logger -def get_logger(name: str = 'mirofish') -> logging.Logger: +def get_logger(name: str = 'crowdsight') -> logging.Logger: """ 获取日志器(如果不存在则创建) diff --git a/backend/app/utils/retry.py b/backend/app/utils/retry.py index 819b1cf..1c0ce99 100644 --- a/backend/app/utils/retry.py +++ b/backend/app/utils/retry.py @@ -9,7 +9,7 @@ import functools from typing import Callable, Any, Optional, Type, Tuple from ..utils.logger import get_logger -logger = get_logger('mirofish.retry') +logger = get_logger('crowdsight.retry') def retry_with_backoff( diff --git a/backend/app/utils/zep_paging.py b/backend/app/utils/zep_paging.py index 943cd1a..8066202 100644 --- a/backend/app/utils/zep_paging.py +++ b/backend/app/utils/zep_paging.py @@ -15,7 +15,7 @@ from zep_cloud.client import Zep from .logger import get_logger -logger = get_logger('mirofish.zep_paging') +logger = get_logger('crowdsight.zep_paging') _DEFAULT_PAGE_SIZE = 100 _MAX_NODES = 2000 diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 8c65b72..16e337e 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,11 +1,11 @@ [project] -name = "mirofish-backend" +name = "crowdsight-backend" version = "0.1.0" -description = "MiroFish - 简洁通用的群体智能引擎,预测万物" +description = "CrowdSight - 简洁通用的群体智能引擎,预测万物" requires-python = ">=3.11,<3.13" license = { text = "AGPL-3.0" } authors = [ - { name = "MiroFish Team" } + { name = "CrowdSight Team" } ] dependencies = [ diff --git a/backend/requirements.txt b/backend/requirements.txt index 4f14629..2e7f2e8 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,5 +1,5 @@ # =========================================== -# MiroFish Backend Dependencies +# CrowdSight Backend Dependencies # =========================================== # Python 3.11+ required # Install: pip install -r requirements.txt diff --git a/backend/run.py b/backend/run.py index 4e3b04f..6c26951 100644 --- a/backend/run.py +++ b/backend/run.py @@ -1,5 +1,5 @@ """ -MiroFish Backend 启动入口 +CrowdSight Backend 启动入口 """ import os diff --git a/docker-compose.yml b/docker-compose.yml index 637f1df..70a720f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ services: - mirofish: - image: ghcr.io/666ghj/mirofish:latest + crowdsight: + image: ghcr.io/666ghj/crowdsight:latest # 加速镜像(如拉取缓慢可替换上方地址) - # image: ghcr.nju.edu.cn/666ghj/mirofish:latest - container_name: mirofish + # image: ghcr.nju.edu.cn/666ghj/crowdsight:latest + container_name: crowdsight env_file: - .env ports: diff --git a/frontend/index.html b/frontend/index.html index 0b80095..1e3e818 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -8,8 +8,8 @@ - - MiroFish - 预测万物 + + CrowdSight - 预测万物
diff --git a/frontend/src/views/Home.vue b/frontend/src/views/Home.vue index ca7ef6f..b43a649 100644 --- a/frontend/src/views/Home.vue +++ b/frontend/src/views/Home.vue @@ -2,10 +2,10 @@