-[](https://github.com/666ghj/MiroFish/stargazers)
-[](https://github.com/666ghj/MiroFish/watchers)
-[](https://github.com/666ghj/MiroFish/network)
+[](https://github.com/666ghj/CrowdSight/stargazers)
+[](https://github.com/666ghj/CrowdSight/watchers)
+[](https://github.com/666ghj/CrowdSight/network)
[](https://hub.docker.com/)
-[](https://deepwiki.com/666ghj/MiroFish)
+[](https://deepwiki.com/666ghj/CrowdSight)
[](http://discord.gg/ePf5aPaHnA)
-[](https://x.com/mirofish_ai)
-[](https://www.instagram.com/mirofish_ai/)
+[](https://x.com/crowdsight_ai)
+[](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项目讲解
@@ -76,9 +76,9 @@ MiroFish 致力于打造映射现实的群体智能镜像,通过捕捉个体
### 2. 《红楼梦》失传结局推演预测
> **金融方向推演预测**、**时政要闻推演预测**等示例陆续更新中...
@@ -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 团队的开源贡献!
## 📈 项目统计
-
diff --git a/README.md b/README.md
index fe4929c..e82fe22 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,24 @@
-
+
-
+
简洁通用的群体智能引擎,预测万物
A Simple and Universal Swarm Intelligence Engine, Predicting Anything
-
+
-[](https://github.com/666ghj/MiroFish/stargazers)
-[](https://github.com/666ghj/MiroFish/watchers)
-[](https://github.com/666ghj/MiroFish/network)
+[](https://github.com/666ghj/CrowdSight/stargazers)
+[](https://github.com/666ghj/CrowdSight/watchers)
+[](https://github.com/666ghj/CrowdSight/network)
[](https://hub.docker.com/)
-[](https://deepwiki.com/666ghj/MiroFish)
+[](https://deepwiki.com/666ghj/CrowdSight)
[](http://discord.gg/ePf5aPaHnA)
-[](https://x.com/mirofish_ai)
-[](https://www.instagram.com/mirofish_ai/)
+[](https://x.com/crowdsight_ai)
+[](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
-
+
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
-
+
-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
-
+
-
-
-
+
+
+
\ 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 @@
- MIROFISH
+ CROWDSIGHT
@@ -44,7 +44,7 @@
-
+
diff --git a/frontend/src/views/InteractionView.vue b/frontend/src/views/InteractionView.vue
index 7e555b2..6f91cb2 100644
--- a/frontend/src/views/InteractionView.vue
+++ b/frontend/src/views/InteractionView.vue
@@ -3,7 +3,7 @@