From d885dffb531bd5da61e62d47d700c8710e5a9798 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 22 Feb 2026 12:00:08 +0800 Subject: [PATCH] 1 --- backend/app/crypto_agent/crypto_agent.py | 2 +- backend/app/stock_agent/stock_agent.py | 36 +- frontend/status.html | 462 ++++++++++++++--------- 3 files changed, 329 insertions(+), 171 deletions(-) diff --git a/backend/app/crypto_agent/crypto_agent.py b/backend/app/crypto_agent/crypto_agent.py index 4844fc0..77c672c 100644 --- a/backend/app/crypto_agent/crypto_agent.py +++ b/backend/app/crypto_agent/crypto_agent.py @@ -70,7 +70,7 @@ class CryptoAgent: ) monitor.update_config("crypto_agent", { "symbols": self.symbols, - "paper_trading_enabled": self.paper_trading_enabled, + "auto_trading_enabled": self.paper_trading_enabled, # 改名为自动交易 "analysis_interval": "每5分钟整点" }) diff --git a/backend/app/stock_agent/stock_agent.py b/backend/app/stock_agent/stock_agent.py index e3ec701..9782e25 100644 --- a/backend/app/stock_agent/stock_agent.py +++ b/backend/app/stock_agent/stock_agent.py @@ -15,6 +15,7 @@ from app.services.telegram_service import get_telegram_service from app.services.signal_database_service import get_signal_db_service from app.services.fundamental_service import get_fundamental_service from app.crypto_agent.llm_signal_analyzer import LLMSignalAnalyzer +from app.utils.system_status import get_system_monitor, AgentStatus # 股票名称映射表 @@ -104,7 +105,28 @@ class StockAgent: self._event_loop = None self._task = None - logger.info(f"股票智能体初始化完成 - 美股: {len(us_symbols)}只, 港股: {len(hk_symbols)}只, 总计: {len(self.symbols)}只") + # 注册到系统监控 + monitor = get_system_monitor() + self._monitor_info = monitor.register_agent( + agent_id="stock_agent", + name="股票智能体", + agent_type="stock" + ) + + # 分类美股和港股数量 + us_count = len([s for s in self.symbols if not s.endswith('.HK')]) + hk_count = len([s for s in self.symbols if s.endswith('.HK')]) + + monitor.update_config("stock_agent", { + "us_symbols": us_symbols, + "hk_symbols": hk_symbols, + "total_symbols": len(self.symbols), + "us_count": us_count, + "hk_count": hk_count, + "analysis_interval": f"{self.settings.stock_analysis_interval}秒" + }) + + logger.info(f"股票智能体初始化完成 - 美股: {us_count}只, 港股: {hk_count}只, 总计: {len(self.symbols)}只") @staticmethod def get_stock_name(symbol: str) -> str: @@ -120,14 +142,26 @@ class StockAgent: self.running = True self._event_loop = asyncio.get_event_loop() + # 更新状态为启动中 + monitor = get_system_monitor() + monitor.update_status("stock_agent", AgentStatus.STARTING) + logger.info("美股智能体已启动") # 启动分析任务 self._task = asyncio.create_task(self._analysis_loop()) + # 更新状态为运行中 + monitor.update_status("stock_agent", AgentStatus.RUNNING) + async def stop(self): """停止智能体""" self.running = False + + # 更新状态为已停止 + monitor = get_system_monitor() + monitor.update_status("stock_agent", AgentStatus.STOPPED) + if self._task: self._task.cancel() try: diff --git a/frontend/status.html b/frontend/status.html index b61630c..c4ff2bc 100644 --- a/frontend/status.html +++ b/frontend/status.html @@ -2,181 +2,222 @@
- -实时监控所有 Agent 的运行状态
-