Add project startup scripts

This commit is contained in:
2026-03-21 10:13:43 +08:00
parent 5af586610c
commit e76f0828b9
3 changed files with 339 additions and 0 deletions

168
setup.bat Normal file
View File

@@ -0,0 +1,168 @@
@echo off
chcp 65001 >nul
title Jarvis 配置向导
echo ==========================================
echo Jarvis 个人 AI 助理 - 配置向导
echo ==========================================
echo.
REM --- 选择 LLM 提供商 ---
echo 请选择 LLM 提供商:
echo [1] OpenAI (GPT-4o) - 默认推荐
echo [2] DeepSeek (deepseek-chat) - 性价比高
echo [3] Claude (Anthropic) - 强大稳定
echo [4] Ollama (本地模型) - 完全免费
echo.
set /p PROVIDER_CHOICE=请选择 (1-4), 默认1:
if "%PROVIDER_CHOICE%"=="" set PROVIDER_CHOICE=1
if "%PROVIDER_CHOICE%"=="1" goto :openai
if "%PROVIDER_CHOICE%"=="2" goto :deepseek
if "%PROVIDER_CHOICE%"=="3" goto :claude
if "%PROVIDER_CHOICE%"=="4" goto :ollama
goto :openai
:openai
echo.
echo [选择] OpenAI (GPT-4o)
echo.
set /p OPENAI_API_KEY=请输入 OpenAI API Key (sk-...):
if "%OPENAI_API_KEY%"=="" (
echo [错误] API Key 不能为空
pause
exit /b 1
)
goto :write_env
:deepseek
echo.
echo [选择] DeepSeek
echo.
set /p OPENAI_API_KEY=请输入 DeepSeek API Key:
if "%OPENAI_API_KEY%"=="" (
echo [错误] API Key 不能为空
pause
exit /b 1
)
goto :write_env
:claude
echo.
echo [选择] Claude (Anthropic)
echo.
set /p ANTHROPIC_API_KEY=请输入 Anthropic API Key (sk-ant-...):
if "%ANTHROPIC_API_KEY%"=="" (
echo [错误] API Key 不能为空
pause
exit /b 1
)
goto :write_env
:ollama
echo.
echo [选择] Ollama (本地模型)
echo 请确保 Ollama 已启动 (ollama serve)
echo.
set /p OLLAMA_MODEL_IN=请输入模型名 (留空默认 llama3):
if "%OLLAMA_MODEL_IN%"=="" set OLLAMA_MODEL=llama3
goto :write_env
:write_env
echo.
echo [配置] 写入 backend\.env...
(
echo # =============================================
echo # Jarvis 后端配置
echo # =============================================
echo.
echo APP_NAME=Jarvis
echo APP_VERSION=0.1.0
echo DEBUG=true
echo SECRET_KEY=jarvis-secret-key-change-in-production
echo.
echo CORS_ORIGINS=http://localhost:5173,http://localhost:3000
echo.
echo # LLM 配置
) > backend\.env
if "%PROVIDER_CHOICE%"=="1" (
(
echo LLM_PROVIDER=openai
echo OPENAI_API_KEY=%OPENAI_API_KEY%
echo OPENAI_MODEL=gpt-4o
echo OPENAI_BASE_URL=https://api.openai.com/v1
) >> backend\.env
) else if "%PROVIDER_CHOICE%"=="2" (
(
echo LLM_PROVIDER=deepseek
echo OPENAI_API_KEY=%OPENAI_API_KEY%
echo OPENAI_BASE_URL=https://api.deepseek.com/v1
) >> backend\.env
) else if "%PROVIDER_CHOICE%"=="3" (
(
echo LLM_PROVIDER=claude
echo ANTHROPIC_API_KEY=%ANTHROPIC_API_KEY%
echo CLAUDE_MODEL=claude-sonnet-4-20250514
) >> backend\.env
) else (
(
echo LLM_PROVIDER=ollama
echo OLLAMA_BASE_URL=http://localhost:11434
echo OLLAMA_MODEL=%OLLAMA_MODEL%
) >> backend\.env
)
(
echo.
echo # 数据库
echo DATABASE_URL=sqlite+aiosqlite:///./data/jarvis.db
echo.
echo # ChromaDB
echo CHROMA_PERSIST_DIR=./data/chroma
echo.
echo # JWT
echo ACCESS_TOKEN_EXPIRE_MINUTES=1440
echo.
echo # 上传
echo UPLOAD_DIR=./data/uploads
echo MAX_UPLOAD_SIZE=52428800
echo.
echo # 定时任务
echo SCHEDULER_ENABLED=true
echo DAILY_PLAN_TIME=00:00
echo FORUM_SCAN_INTERVAL_MINUTES=30
echo.
echo DATA_DIR=./data
) >> backend\.env
echo [OK] 配置完成
REM --- 检查 uv ---
echo.
echo [检查] 验证环境...
where uv >nul 2>&1
if %errorlevel% neq 0 (
echo [警告] 未找到 uv请运行: pip install uv
echo 或访问: https://github.com/astral-sh/uv
) else (
echo [OK] uv 已安装
)
where npm >nul 2>&1
if %errorlevel% neq 0 (
echo [警告] 未找到 npm请安装 Node.js: https://nodejs.org
) else (
echo [OK] npm 已安装
)
echo.
echo ==========================================
echo 配置完成!
echo.
echo LLM: %PROVIDER_CHOICE%
echo.
echo 下一步: 双击 start.bat 启动服务
echo ==========================================
pause