Add project startup scripts
This commit is contained in:
79
start.sh
Normal file
79
start.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user