- 新增 refresh_news_incremental/refresh_news_for_symbols 函数支持增量新闻获取 - 在 live cycle 中集成新闻刷新逻辑 - AgentFeed 支持 agentProfilesByAgent 显示模型信息 - StatisticsView 修复 stats 计算逻辑,使用 portfolioData 作为 fallback - StockExplainView 修复 useEffect 依赖项问题 - AppShell/RoomView 传递 agentProfilesByAgent 属性 - start-dev.sh 调整日志级别为 warning 减少噪音 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
92 lines
2.6 KiB
Bash
Executable File
92 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# EvoTraders Development Startup Script
|
|
# Split-service mode only
|
|
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo "EvoTraders Development Environment"
|
|
echo "=========================================="
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Check virtual environment
|
|
if [ -z "$VIRTUAL_ENV" ]; then
|
|
echo -e "${YELLOW}Warning: Virtual environment not activated${NC}"
|
|
echo "Activating .venv..."
|
|
source .venv/bin/activate
|
|
fi
|
|
|
|
# Load environment variables
|
|
if [ -f .env ]; then
|
|
echo -e "${GREEN}Loading environment from .env${NC}"
|
|
export $(grep -v '^#' .env | xargs)
|
|
else
|
|
echo -e "${YELLOW}Warning: .env file not found${NC}"
|
|
fi
|
|
|
|
cd /Users/cillin/workspeace/evotraders
|
|
PIDS=()
|
|
|
|
start_service() {
|
|
local name="$1"
|
|
local app_path="$2"
|
|
local port="$3"
|
|
|
|
echo -e "${GREEN}Starting ${name}${NC} on port ${port}..."
|
|
SERVICE_NAME="${name}" python -m uvicorn "${app_path}" \
|
|
--host 0.0.0.0 \
|
|
--port "${port}" \
|
|
--reload \
|
|
--reload-dir backend \
|
|
--log-level warning \
|
|
--no-access-log &
|
|
PIDS+=($!)
|
|
}
|
|
|
|
cleanup() {
|
|
if [ "${#PIDS[@]}" -gt 0 ]; then
|
|
echo ""
|
|
echo -e "${YELLOW}Stopping development services...${NC}"
|
|
kill "${PIDS[@]}" 2>/dev/null || true
|
|
wait "${PIDS[@]}" 2>/dev/null || true
|
|
fi
|
|
}
|
|
|
|
trap cleanup EXIT INT TERM
|
|
|
|
if [ $# -gt 0 ]; then
|
|
echo -e "${YELLOW}Ignoring legacy mode argument(s): $*${NC}"
|
|
echo "Split-service mode is now the only supported development mode."
|
|
fi
|
|
|
|
export TRADING_SERVICE_URL="${TRADING_SERVICE_URL:-http://localhost:8001}"
|
|
export NEWS_SERVICE_URL="${NEWS_SERVICE_URL:-http://localhost:8002}"
|
|
export RUNTIME_SERVICE_URL="${RUNTIME_SERVICE_URL:-http://localhost:8003}"
|
|
|
|
echo ""
|
|
echo -e "${GREEN}Starting EvoTraders split services (default mode)...${NC}"
|
|
echo " agent_service: http://localhost:8000"
|
|
echo " runtime_service: http://localhost:8003"
|
|
echo " trading_service: http://localhost:8001"
|
|
echo " news_service: http://localhost:8002"
|
|
echo ""
|
|
echo "Exported backend preference URLs:"
|
|
echo " TRADING_SERVICE_URL=${TRADING_SERVICE_URL}"
|
|
echo " NEWS_SERVICE_URL=${NEWS_SERVICE_URL}"
|
|
echo " RUNTIME_SERVICE_URL=${RUNTIME_SERVICE_URL}"
|
|
echo ""
|
|
|
|
start_service "agent_service" "backend.apps.agent_service:app" 8000
|
|
start_service "runtime_service" "backend.apps.runtime_service:app" 8003
|
|
start_service "trading_service" "backend.apps.trading_service:app" 8001
|
|
start_service "news_service" "backend.apps.news_service:app" 8002
|
|
|
|
echo -e "${GREEN}Split services are running.${NC}"
|
|
echo "Use Ctrl+C to stop all services."
|
|
wait
|