169 lines
3.8 KiB
Batchfile
169 lines
3.8 KiB
Batchfile
@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
|