Files
JARVIS/start.sh

80 lines
1.9 KiB
Bash
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.
#!/bin/bash
set -e
echo "=========================================="
echo " Jarvis 个人 AI 助理 - 一键启动"
echo "=========================================="
echo ""
# 检查 uv
if ! command -v uv &> /dev/null; then
echo "[错误] 未找到 uv请先安装: https://github.com/astral-sh/uv"
echo "安装命令: pip install uv"
exit 1
fi
# 检查 npm
if ! command -v npm &> /dev/null; then
echo "[错误] 未找到 npm请先安装 Node.js: https://nodejs.org"
exit 1
fi
# 检查 .env
if [ ! -f backend/.env ]; then
echo "[提示] 首次运行,请编辑 backend/.env 文件"
echo " 填入: ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxx"
echo ""
fi
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# 安装后端依赖
echo "[1/4] 安装后端依赖..."
cd "$SCRIPT_DIR/backend"
uv sync --quiet
echo "[OK] 后端依赖安装完成"
# 安装前端依赖
echo ""
echo "[2/4] 安装前端依赖..."
cd "$SCRIPT_DIR/frontend"
npm install --silent
echo "[OK] 前端依赖安装完成"
# 启动后端
echo ""
echo "[3/4] 启动后端服务 (端口 8000)..."
cd "$SCRIPT_DIR/backend"
uv run uvicorn app.main:app --reload --port 8000 &
BACKEND_PID=$!
# 等待后端
echo " 等待后端启动..."
sleep 5
# 启动前端
echo ""
echo "[4/4] 启动前端服务 (端口 5173)..."
cd "$SCRIPT_DIR/frontend"
npm run dev &
FRONTEND_PID=$!
echo ""
echo "=========================================="
echo " 启动完成!"
echo ""
echo " 后端: http://localhost:8000"
echo " 前端: http://localhost:5173"
echo " API文档: http://localhost:8000/docs"
echo "=========================================="
echo ""
echo "提示:"
echo " - 首次使用请先注册账号"
echo " - 对话前请在 backend/.env 填入 API Key"
echo " - 关闭时请按 Ctrl+C"
echo ""
# 等待信号
trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" SIGINT SIGTERM
wait