Android/Termux一键部署脚本
### 改动内容 **源码更新方式** - 原:每次删除整个目录重新克隆(venv/.env/data 全部丢失) - 改:已有项目时 `git pull` 增量更新,保留 venv、.env、data 等本地文件 **网络加速** - GitHub 克隆:使用 `ghfast.top` 镜像加速 - Python 依赖:使用阿里云 PyPI 镜像 (`mirrors.aliyun.com`) **安装体验优化** - 所有耗时操作改为后台运行 + 转圈动画(⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏) - 成功显示 ✅,失败显示 ❌ + 最后 20 行错误日志 - npm/pip/vite 输出到日志文件,界面保持整洁 **依赖跳过逻辑** - 前端依赖:`node_modules` 已存在则跳过 `npm install` - Python 依赖:`venv` 已存在则跳过创建,pip 自动跳过已安装的包 - 数据库:迁移自动跳过已执行的版本 **兼容性补丁** - `memory_service.py`:import 改为 try/except,缺失 chromadb 时优雅降级 - API 文件(chapters/memories/outlines/projects/foreshadow):memory_service 导入改为 try/except - 自动修复 `.env` 中 `DEFAULT_MAX_TOKENS=***` 导致的数据库迁移失败 **移除不兼容依赖** - 移除 `psutil`(Android 不支持编译) - 移除 `chromadb` + `sentence-transformers`(依赖 PyTorch,无 Android 版本) - 向量记忆功能在 Termux 上不可用,其余功能正常 ### 运行效果 ``` [1/9] 检查环境 [✓] Termux 环境检测通过 [2/9] 安装系统依赖 ✅ 安装中 完成 [3/9] 拉取/更新项目源码 ✅ 拉取中 完成 [4/9] 应用 Termux 补丁 ✅ 修补中 完成 [5/9] 安装 Python 依赖 ✅ 安装中 完成 [6/9] 数据库迁移 ✅ 迁移中 完成 [7/9] 安装前端依赖 ✅ 安装中 完成 [8/9] 构建前端 ✅ 构建中 完成 [9/9] 创建启动脚本 [✓] 启动脚本已创建: ~/mumuainovel-start.sh ``` ### 使用方式 ```bash # 首次安装 curl -fsSL <url> | bash # 启动 bash ~/mumuainovel-start.sh # 前台 bash ~/mumuainovel-start.sh --bg # 后台 ```
This commit is contained in:
+6
-7
@@ -200,12 +200,13 @@ OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
DEFAULT_AI_PROVIDER=openai
|
||||
DEFAULT_MODEL=gpt-4o-mini
|
||||
DEFAULT_TEMPERATURE=0.7
|
||||
DEFAULT_MAX_TOKENS=***
|
||||
DEFAULT_MAX_TOKENS=4096
|
||||
|
||||
# 本地登录账号
|
||||
LOCAL_AUTH_USERNAME=***
|
||||
LOCAL_AUTH_PASSWORD=***
|
||||
LOCAL_AUTH_DISPLAY_NAME=***
|
||||
LOCAL_AUTH_ENABLED=True
|
||||
LOCAL_AUTH_USERNAME=admin
|
||||
LOCAL_AUTH_PASSWORD=admin123
|
||||
LOCAL_AUTH_DISPLAY_NAME=Admin
|
||||
ENVEOF
|
||||
# 替换占位符路径为实际 $HOME 路径
|
||||
sed -i "s|/data/data/com.termux/files/home|$HOME|g" "$BACKEND/.env"
|
||||
@@ -214,12 +215,10 @@ echo " ✅ .env 已创建"
|
||||
else
|
||||
echo " ✅ .env 已存在,跳过"
|
||||
fi
|
||||
|
||||
# 修复 DEFAULT_MAX_TOKENS 占位符 (*** 不是有效整数,会导致数据库迁移失败)
|
||||
sed -i "s|DEFAULT_MAX_TOKENS=\*\*\*|DEFAULT_MAX_TOKENS=4096|" "$BACKEND/.env"
|
||||
) > "$LOG" 2>&1 &
|
||||
SPIN $! "修补中" "$LOG"
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# 步骤 5: 安装 Python 依赖
|
||||
# 说明: venv 不存在则创建;pip 自动跳过已安装的包,只安装新增的
|
||||
|
||||
Reference in New Issue
Block a user