Files
socweb/Makefile
T
gongzhiyongandClaude Opus 4.6 251c6586f4
Deploy LangGraph Server to Azure Web App / build-and-deploy (push) Failing after 27s
Deploy LangGraph UI to Azure Static Web Apps / build-and-deploy (push) Failing after 1m20s
feat: Phase 1 — ReAct loop + Markdown rendering + Docker deployment
Backend:
- Enterprise Agent refactored from single-round to ReAct multi-turn loop
- New agent.ts (LLM decision node) + tool-executor.ts (tool execution + Gen-UI)
- tool-defs.ts extracted for shared tool schemas
- MAX_ITERATIONS=6 safeguard against infinite loops

Frontend:
- MessageBubble: Markdown + code highlighting + LaTeX + tables
- ThemeToggle: light/dark/system theme cycling
- chart-result Gen-UI card: recharts bar/line/pie/area charts

Infrastructure:
- Docker Compose (lightweight): only LangGraph + Frontend, Azure cloud for PG/Redis/Blob
- Dockerfiles for dev (hot reload) and prod
- Makefile with dev/prod/down/logs commands
- Updated CLAUDE.md and agent definitions for LangGraph.js architecture

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 01:29:56 +08:00

85 lines
3.2 KiB
Makefile

# SOC Chat Clone - Local Docker Commands (lightweight)
# 基础设施用 Azure 云服务,本地只运行 LangGraph Server + Frontend
# ====================================================================
# make dev - 开发模式(热重载)
# make prod - 生产模式
# make down - 停止
# make logs - 查看日志
.PHONY: dev prod down logs clean status setup check-env build-dev build-prod restart-backend restart-frontend
# ─── Environment ─────────────────────────────────────────────────
check-env:
@if [ ! -f langgraph/.env ]; then \
echo "ERROR: langgraph/.env not found."; \
echo " Run: make setup"; \
exit 1; \
fi
setup:
@if [ ! -f langgraph/.env ]; then \
cp langgraph/.env.docker.example langgraph/.env; \
echo "Created langgraph/.env — 请检查并填入 GOOGLE_API_KEY 等缺失值"; \
else \
echo "langgraph/.env already exists, skipping."; \
fi
# ─── Development ─────────────────────────────────────────────────
dev: check-env
docker compose --profile dev up --build
dev-d: check-env
docker compose --profile dev up --build -d
build-dev:
docker compose --profile dev build
# ─── Production ──────────────────────────────────────────────────
prod: check-env
docker compose --profile prod up --build
prod-d: check-env
docker compose --profile prod up --build -d
build-prod:
docker compose --profile prod build
# ─── Lifecycle ───────────────────────────────────────────────────
down:
docker compose --profile dev --profile prod down
clean:
docker compose --profile dev --profile prod down --rmi local
@echo "All containers stopped and images removed."
restart-backend:
docker compose restart langgraph-dev 2>/dev/null || docker compose restart langgraph-prod 2>/dev/null
restart-frontend:
docker compose restart frontend-dev 2>/dev/null || docker compose restart frontend-prod 2>/dev/null
# ─── Observability ───────────────────────────────────────────────
logs:
docker compose --profile dev --profile prod logs -f
logs-backend:
docker compose logs -f langgraph-dev langgraph-prod 2>/dev/null
logs-frontend:
docker compose logs -f frontend-dev frontend-prod 2>/dev/null
status:
@echo "=== Container Status ==="
@docker compose --profile dev --profile prod ps
@echo ""
@echo "=== Endpoints ==="
@echo " Frontend (dev): http://localhost:5173"
@echo " Frontend (prod): http://localhost:3000"
@echo " LangGraph API: http://localhost:2024"
@echo ""
@echo "=== Azure Cloud Services ==="
@echo " PostgreSQL: dataope.postgres.database.azure.com"
@echo " Redis: oper.redis.cache.windows.net:6380"
@echo " Blob: authdatablol.blob.core.windows.net"
@echo " Service Bus: databus.servicebus.windows.net"