#!/bin/bash # 部署三个美股 Agent:构建镜像、添加模板、测试创建 # 使用方法: ./deploy_stock_agents.sh set -e AGENT_MANAGER_URL="http://20.212.121.126" echo "==========================================" echo "部署美股 Agent 到 Agent Manager" echo "==========================================" # ==================== 步骤 1: 构建并推送镜像 ==================== echo "" echo "=== 步骤 1: 登录 ACR ===" az acr login --name agnettaiji cd /home/taiji/tools/agent-manager echo "" echo "=== 步骤 2: 构建 stock-quote-agent (ARM64) ===" docker buildx build --platform linux/arm64 \ -t agnettaiji.azurecr.io/ai-agents/stock-quote-agent:latest \ -f agent_templates/agents/stock_quote_agent/stock_quote_agent.Dockerfile \ agent_templates/ --push echo "✅ stock-quote-agent 推送完成" echo "" echo "=== 步骤 3: 构建 stock-news-agent (ARM64) ===" docker buildx build --platform linux/arm64 \ -t agnettaiji.azurecr.io/ai-agents/stock-news-agent:latest \ -f agent_templates/agents/stock_news_agent/stock_news_agent.Dockerfile \ agent_templates/ --push echo "✅ stock-news-agent 推送完成" echo "" echo "=== 步骤 4: 构建 stock-analysis-agent (ARM64) ===" docker buildx build --platform linux/arm64 \ -t agnettaiji.azurecr.io/ai-agents/stock-analysis-agent:latest \ -f agent_templates/agents/stock_analysis_agent/stock_analysis_agent.Dockerfile \ agent_templates/ --push echo "✅ stock-analysis-agent 推送完成" # ==================== 步骤 2: 通过 API 添加模板 ==================== echo "" echo "=== 步骤 5: 通过 API 添加模板 ===" # 添加 stock_quote_agent 模板 echo "添加 stock_quote_agent 模板..." curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \ -H "Content-Type: application/json" \ -d '{ "name": "stock_quote_agent", "display_name": "Stock Quote Agent", "description": "美股实时行情查询 Agent - 获取股票价格、涨跌幅、成交量等数据", "image": "agnettaiji.azurecr.io/ai-agents/stock-quote-agent:latest", "port": 8080, "agent_framework": "api", "env_requirements": {} }' | jq . echo "" # 添加 stock_news_agent 模板 echo "添加 stock_news_agent 模板..." curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \ -H "Content-Type: application/json" \ -d '{ "name": "stock_news_agent", "display_name": "Stock News Agent", "description": "美股新闻资讯 Agent - 获取股票相关新闻和市场情绪分析", "image": "agnettaiji.azurecr.io/ai-agents/stock-news-agent:latest", "port": 8080, "agent_framework": "api", "env_requirements": {} }' | jq . echo "" # 添加 stock_analysis_agent 模板 echo "添加 stock_analysis_agent 模板..." curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \ -H "Content-Type: application/json" \ -d '{ "name": "stock_analysis_agent", "display_name": "Stock Analysis Agent", "description": "美股技术分析 Agent - 提供技术指标、趋势分析和投资建议", "image": "agnettaiji.azurecr.io/ai-agents/stock-analysis-agent:latest", "port": 8080, "agent_framework": "api", "env_requirements": {} }' | jq . echo "" echo "=== 步骤 6: 验证模板添加成功 ===" echo "查询所有模板..." curl -s "${AGENT_MANAGER_URL}/templates" | jq '.[] | select(.name | startswith("stock_"))' # ==================== 步骤 3: 测试创建 Agent ==================== echo "" echo "=== 步骤 7: 测试创建 stock_quote_agent ===" RESULT=$(curl -s -X POST "${AGENT_MANAGER_URL}/agents" \ -H "Content-Type: application/json" \ -d '{ "name": "test-stock-quote", "template": "stock_quote_agent", "config": { "user_id": "test-user", "cpu_request": "100m", "cpu_limit": "500m", "memory_request": "128Mi", "memory_limit": "512Mi", "replicas": 1 } }') echo "$RESULT" | jq . # 提取域名 DOMAIN=$(echo "$RESULT" | jq -r '.access_info.domain // empty') if [ -n "$DOMAIN" ]; then echo "" echo "✅ Agent 创建成功!" echo "域名: $DOMAIN" echo "" echo "等待 30 秒后测试 API..." sleep 30 echo "" echo "=== 步骤 8: 测试 Agent API ===" echo "测试获取 AAPL 行情..." curl -s "http://${DOMAIN}/quote?symbol=AAPL" | jq . else echo "" echo "⚠️ Agent 创建中,请稍后检查状态" fi echo "" echo "==========================================" echo "✅ 部署完成!" echo "==========================================" echo "" echo "新增模板:" echo " - stock_quote_agent: 美股实时行情查询" echo " - stock_news_agent: 美股新闻资讯" echo " - stock_analysis_agent: 美股技术分析" echo "" echo "测试命令:" echo " curl \"http://\${DOMAIN}/quote?symbol=AAPL\"" echo " curl \"http://\${DOMAIN}/quote?symbol=TSLA\""