Localize agent labels and harden frontend connection status

This commit is contained in:
2026-03-15 22:42:01 +08:00
parent d233a3f55d
commit 964d3b6e13
4 changed files with 41 additions and 16 deletions

12
.gitignore vendored
View File

@@ -44,9 +44,19 @@ ENV/
# Frontend
node_modules
/package.json
/package-lock.json
# Outputs
outputs/
/production/
/smoke_test/
/smoke_live_mock/
# Local tooling state
/.omc/
/.pydeps/
/referance/
# Data files
backend/data/ret_data/
@@ -60,4 +70,4 @@ backend/data/ret_data/
*.sqlite3
*.ipynb
*.log
*.log

View File

@@ -5,38 +5,38 @@
# Agent configuration for dashboard display
AGENT_CONFIG = {
"portfolio_manager": {
"name": "Portfolio Manager",
"role": "Portfolio Manager",
"name": "投资经理",
"role": "投资经理",
"avatar": "pm",
"is_team_role": True,
},
"risk_manager": {
"name": "Risk Manager",
"role": "Risk Manager",
"name": "风控经理",
"role": "风控经理",
"avatar": "risk",
"is_team_role": True,
},
"sentiment_analyst": {
"name": "Sentiment Analyst",
"role": "Sentiment Analyst",
"name": "情绪分析师",
"role": "情绪分析师",
"avatar": "sentiment",
"is_team_role": False,
},
"technical_analyst": {
"name": "Technical Analyst",
"role": "Technical Analyst",
"name": "技术分析师",
"role": "技术分析师",
"avatar": "technical",
"is_team_role": False,
},
"fundamentals_analyst": {
"name": "Fundamentals Analyst",
"role": "Fundamentals Analyst",
"name": "基本面分析师",
"role": "基本面分析师",
"avatar": "fundamentals",
"is_team_role": False,
},
"valuation_analyst": {
"name": "Valuation Analyst",
"role": "Valuation Analyst",
"name": "估值分析师",
"role": "估值分析师",
"avatar": "valuation",
"is_team_role": False,
},

View File

@@ -10,7 +10,7 @@ TICKERS=AAPL,MSFT,GOOGL,NVDA,TSLA,META,AMZN
# financial datasets: https://www.financialdatasets.ai/
FIN_DATA_SOURCE = # Preferred source: finnhub / financial_datasets / yfinance / local_csv | 首选数据源
ENABLED_DATA_SOURCES = # Optional allowlist, comma-separated, e.g. yfinance,finnhub,financial_datasets,local_csv | 可启用数据源列表
ENABLED_DATA_SOURCES = # Optional allowlist, comma-separated, e.g. financial_datasets,finnhub,yfinance,local_csv | 可启用数据源列表
FINANCIAL_DATASETS_API_KEY= #required | 必填
FINNHUB_API_KEY= #optional | 可选

View File

@@ -217,6 +217,11 @@ export default function LiveTradingApp() {
};
const handleEventInternal = (evt) => {
if (evt?.type && evt.type !== 'pong') {
setConnectionStatus('connected');
setIsConnected(true);
}
// Helper: Update tickers from realtime prices
const updateTickersFromPrices = (realtimePrices) => {
try {
@@ -263,10 +268,16 @@ export default function LiveTradingApp() {
// Connection events
system: (e) => {
console.log('[System]', e.content);
if (e.content.includes('Connected')) {
if (
e.content.includes('Connected')
|| e.content.includes('已连接')
) {
setConnectionStatus('connected');
setIsConnected(true);
} else if (e.content.includes('Disconnected')) {
} else if (
e.content.includes('Disconnected')
|| e.content.includes('断开')
) {
setConnectionStatus('disconnected');
setIsConnected(false);
}
@@ -284,6 +295,8 @@ export default function LiveTradingApp() {
const state = e.state;
if (!state) return;
setConnectionStatus('connected');
setIsConnected(true);
setSystemStatus(state.status || 'initializing');
setCurrentDate(state.current_date);
@@ -385,6 +398,8 @@ export default function LiveTradingApp() {
return;
}
setConnectionStatus('connected');
setIsConnected(true);
console.log(`[Price Update] ${symbol}: $${price} (ret: ${ret !== undefined ? ret.toFixed(2) : 'N/A'}%)`);
// Update ticker price with animation