refactor: 移除 LiteLLM proxy 架构,后端直连 Provider API

- 移除 backend/scripts/build_litellm_proxy_config.py
- 简化 LiteLLMService,移除 run_completion_with_cost 方法
- AgentScopeRunner 改为从 LlmFactory 获取 api_base 和 api_key
- 部署配置移除 litellm/litellm-config-job 服务
- Flutter 新增 AuthBootScreen 引导页
- Android 添加通知权限 (POST_NOTIFICATIONS, RECEIVE_BOOT_COMPLETED, SCHEDULE_EXACT_ALARM)
- 优化 LocalNotificationService 调度失败 fallback
- 更新 manifest.json (version 3)
This commit is contained in:
qzl
2026-03-17 18:05:49 +08:00
parent cf56b358ad
commit 19981964fb
26 changed files with 417 additions and 1018 deletions
+5 -7
View File
@@ -2,7 +2,7 @@
本目录是单机 `docker compose` 的生产交付包,架构为:
- 应用层:`litellm + web + worker-critical + worker-default + worker-bulk + init-job`
- 应用层:`web + worker-critical + worker-default + worker-bulk + init-job`
- 中间件:`redis`
- 数据与认证:云 Supabase(通过环境变量访问)
- 反向代理:由服务器侧 nginx 托管(不在本目录编排)
@@ -19,7 +19,7 @@
- `deploy/.env.prod.example` 仅作为模板,真实密钥请在服务器上填写到 `deploy/.env.prod`,不要提交仓库。
- Redis 密码必填;为空时容器会启动失败。
- 后端镜像默认使用非 root 用户运行。
- 容器间通信仅走 Docker 内网(`redis``litellm` 服务名)。
- 容器间通信仅走 Docker 内网(`redis` 服务名)。
## 目录结构
@@ -75,14 +75,13 @@ cp deploy/.env.prod.example deploy/.env.prod
说明:
- 容器内通信统一使用 Docker 内网:`SOCIAL_REDIS__HOST=redis``SOCIAL_LITELLM__HOST=litellm`
- `SOCIAL_WEB__HOST`/`SOCIAL_LITELLM__BIND_HOST` 是容器内监听地址,生产建议保持 `0.0.0.0`
- 容器内通信统一使用 Docker 内网:`SOCIAL_REDIS__HOST=redis`
- `SOCIAL_WEB__HOST` 是容器内监听地址,生产建议保持 `0.0.0.0`
### 2) 启动常驻服务
```bash
docker compose --env-file deploy/.env.prod -f deploy/docker-compose.prod.yml up -d redis litellm-config-job
docker compose --env-file deploy/.env.prod -f deploy/docker-compose.prod.yml up -d litellm web worker-critical worker-default worker-bulk
docker compose --env-file deploy/.env.prod -f deploy/docker-compose.prod.yml up -d redis web worker-critical worker-default worker-bulk
```
### 3) 执行一次性 bootstrap
@@ -125,5 +124,4 @@ docker compose --env-file deploy/.env.prod -f deploy/docker-compose.prod.yml up
## 已知约束
- LiteLLM 配置由 `litellm-config-job` 一次性生成到共享 volume`litellm_config`)。若更新了 LLM 目录或 Provider Key,需重新执行 `up -d litellm-config-job` 后重启 `litellm`
- `init-job` 为一次性任务,不长期驻留。