Files
AIclinicalresearch/backend/rebuild-and-push.ps1
HaHafeng 96290d2f76 feat(aia): Implement Protocol Agent MVP with reusable Agent framework
Sprint 1-3 Completed (Backend + Frontend):

Backend (Sprint 1-2):
- Implement 5-layer Agent framework (Query->Planner->Executor->Tools->Reflection)
- Create agent_schema with 6 tables (agent_definitions, stages, prompts, sessions, traces, reflexion_rules)
- Create protocol_schema with 2 tables (protocol_contexts, protocol_generations)
- Implement Protocol Agent core services (Orchestrator, ContextService, PromptBuilder)
- Integrate LLM service adapter (DeepSeek/Qwen/GPT-5/Claude)
- 6 API endpoints with full authentication
- 10/10 API tests passed

Frontend (Sprint 3):
- Add Protocol Agent entry in AgentHub (indigo theme card)
- Implement ProtocolAgentPage with 3-column layout
- Collapsible sidebar (Gemini style, 48px <-> 280px)
- StatePanel with 5 stage cards (scientific_question, pico, study_design, sample_size, endpoints)
- ChatArea with sync button and action cards integration
- 100% prototype design restoration (608 lines CSS)
- Detailed endpoints structure: baseline, exposure, outcomes, confounders

Features:
- 5-stage dialogue flow for research protocol design
- Conversation-driven interaction with sync-to-protocol button
- Real-time context state management
- One-click protocol generation button (UI ready, backend pending)

Database:
- agent_schema: 6 tables for reusable Agent framework
- protocol_schema: 2 tables for Protocol Agent
- Seed data: 1 agent + 5 stages + 9 prompts + 4 reflexion rules

Code Stats:
- Backend: 13 files, 4338 lines
- Frontend: 14 files, 2071 lines
- Total: 27 files, 6409 lines

Status: MVP core functionality completed, pending frontend-backend integration testing

Next: Sprint 4 - One-click protocol generation + Word export
2026-01-24 17:29:24 +08:00

143 lines
3.7 KiB
PowerShell
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Node.js后端 - 重新构建并推送镜像到ACR
# 创建时间: 2025-12-24
# 原因: 修复缺少config目录的问题
Write-Host "============================================" -ForegroundColor Cyan
Write-Host "🚀 Node.js后端 - 重新构建镜像" -ForegroundColor Cyan
Write-Host "============================================" -ForegroundColor Cyan
Write-Host ""
# 1. 确认当前目录
$currentDir = Get-Location
Write-Host "📁 当前目录: $currentDir" -ForegroundColor Yellow
if ($currentDir.Path -notlike "*\backend") {
Write-Host "❌ 错误: 请在 backend 目录下运行此脚本!" -ForegroundColor Red
exit 1
}
# 2. 检查必需文件
Write-Host ""
Write-Host "🔍 检查必需文件..." -ForegroundColor Yellow
$requiredFiles = @("Dockerfile", "dist", "config", "package.json", "prisma")
foreach ($file in $requiredFiles) {
if (Test-Path $file) {
Write-Host "$file" -ForegroundColor Green
} else {
Write-Host "$file 不存在!" -ForegroundColor Red
exit 1
}
}
# 3. 登录ACR
Write-Host ""
Write-Host "🔐 登录阿里云容器镜像服务 (ACR)..." -ForegroundColor Yellow
docker login `
--username=gofeng117@163.com `
--password=fengzhibo117 `
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
if ($LASTEXITCODE -ne 0) {
Write-Host "❌ ACR登录失败" -ForegroundColor Red
exit 1
}
Write-Host "✅ ACR登录成功" -ForegroundColor Green
# 4. 构建镜像
Write-Host ""
Write-Host "🏗️ 开始构建Docker镜像..." -ForegroundColor Yellow
Write-Host " 镜像名称: backend-service:v1.1" -ForegroundColor Cyan
Write-Host " 修复内容: 添加config目录agents.yaml等配置文件" -ForegroundColor Cyan
Write-Host ""
$imageName = "crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service"
$imageTag = "v1.1"
docker build -t "${imageName}:${imageTag}" .
if ($LASTEXITCODE -ne 0) {
Write-Host "❌ 镜像构建失败!" -ForegroundColor Red
exit 1
}
Write-Host "✅ 镜像构建成功: ${imageName}:${imageTag}" -ForegroundColor Green
# 5. 推送镜像到ACR
Write-Host ""
Write-Host "📤 推送镜像到ACR..." -ForegroundColor Yellow
docker push "${imageName}:${imageTag}"
if ($LASTEXITCODE -ne 0) {
Write-Host "❌ 镜像推送失败!" -ForegroundColor Red
exit 1
}
Write-Host "✅ 镜像推送成功" -ForegroundColor Green
# 6. 同时打上latest标签可选
Write-Host ""
Write-Host "🏷️ 打上latest标签..." -ForegroundColor Yellow
docker tag "${imageName}:${imageTag}" "${imageName}:latest"
docker push "${imageName}:latest"
Write-Host "✅ latest标签已推送" -ForegroundColor Green
# 7. 完成
Write-Host ""
Write-Host "============================================" -ForegroundColor Cyan
Write-Host "🎉 镜像构建和推送完成!" -ForegroundColor Green
Write-Host "============================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "📋 镜像信息:" -ForegroundColor Yellow
Write-Host " 公网地址: ${imageName}:${imageTag}" -ForegroundColor Cyan
Write-Host " VPC地址: crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:${imageTag}" -ForegroundColor Cyan
Write-Host ""
Write-Host "📝 下一步操作:" -ForegroundColor Yellow
Write-Host " 1. 登录SAE控制台: https://sae.console.aliyun.com/" -ForegroundColor White
Write-Host " 2. 找到应用: nodejs-backend-test" -ForegroundColor White
Write-Host " 3. 配置管理 → 部署配置 → 镜像设置" -ForegroundColor White
Write-Host " 4. 修改镜像版本为: v1.1" -ForegroundColor White
Write-Host " 5. 保存并重新部署" -ForegroundColor White
Write-Host ""