feat: OpenClaw WebSocket integration with workspace file preview
- Migrate OpenClaw from HTTP (port 8004) to WebSocket (port 18789) - Add workspace file list and content preview handlers - Add OpenClawStatus component with agent/skills view - Add OpenClawView panel in trader interface - Add Zustand store for OpenClaw state management - Fix gateway logging noise (yfinance, websockets) - Fix RunWorkspaceManager.get_agent_asset_dir attribute error - Handle missing workspace files gracefully in preview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
27
start-dev.sh
27
start-dev.sh
@@ -57,6 +57,16 @@ cleanup() {
|
||||
fi
|
||||
}
|
||||
|
||||
kill_port() {
|
||||
local port="$1"
|
||||
local pids=$(lsof -ti :${port} 2>/dev/null || true)
|
||||
if [ -n "$pids" ]; then
|
||||
echo -e "${YELLOW}Port ${port} is in use, killing PID(s): ${pids}${NC}"
|
||||
echo "$pids" | xargs kill -9 2>/dev/null || true
|
||||
sleep 0.5
|
||||
fi
|
||||
}
|
||||
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
@@ -67,11 +77,13 @@ 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}"
|
||||
export OPENCLAW_SERVICE_URL="${OPENCLAW_SERVICE_URL:-http://localhost:18789}"
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}Starting EvoTraders split services (default mode)...${NC}"
|
||||
echo " agent_service: http://localhost:8000"
|
||||
echo " runtime_service: http://localhost:8003"
|
||||
echo " openclaw_gateway: ws://localhost:18789"
|
||||
echo " trading_service: http://localhost:8001"
|
||||
echo " news_service: http://localhost:8002"
|
||||
echo ""
|
||||
@@ -79,13 +91,28 @@ 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 " OPENCLAW_SERVICE_URL=${OPENCLAW_SERVICE_URL}"
|
||||
echo ""
|
||||
|
||||
echo -e "${GREEN}Checking ports...${NC}"
|
||||
kill_port 8000
|
||||
kill_port 8001
|
||||
kill_port 8002
|
||||
kill_port 8003
|
||||
kill_port 8765
|
||||
|
||||
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}Starting Gateway (WebSocket, port 8765)...${NC}"
|
||||
SERVICE_NAME="gateway" python -m backend.main \
|
||||
--mode live \
|
||||
--host 0.0.0.0 \
|
||||
--port 8765 &
|
||||
PIDS+=($!)
|
||||
|
||||
echo -e "${GREEN}Split services are running.${NC}"
|
||||
echo "Use Ctrl+C to stop all services."
|
||||
wait
|
||||
|
||||
Reference in New Issue
Block a user