AIstudioProxyAPI / docker /SCRIPT_INJECTION_DOCKER.md
lengfeng1360's picture
Upload 87 files
927965d verified
# Docker 环境脚本注入配置指南
## 概述
本指南专门针对 Docker 环境中的油猴脚本注入功能配置。
## 快速开始
### 1. 基础配置
```bash
# 进入 docker 目录
cd docker
# 复制配置模板
cp .env.docker .env
# 编辑配置文件
nano .env
```
`.env` 文件中确保以下配置:
```env
# 启用脚本注入
ENABLE_SCRIPT_INJECTION=true
# 使用默认脚本(模型数据直接从脚本解析)
USERSCRIPT_PATH=browser_utils/more_modles.js
```
### 2. 启动容器
```bash
# 构建并启动
docker compose up -d
# 查看日志确认脚本注入状态
docker compose logs -f | grep "脚本注入"
```
## 自定义配置
### 方法 1: 直接替换脚本文件
```bash
# 1. 创建自定义油猴脚本
cp ../browser_utils/more_modles.js ../browser_utils/my_custom_script.js
# 2. 编辑脚本文件中的 MODELS_TO_INJECT 数组
nano ../browser_utils/my_custom_script.js
# 3. 重启容器
docker compose restart
```
### 方法 2: 挂载自定义脚本
```bash
# 1. 创建自定义脚本文件
cp ../browser_utils/more_modles.js ../browser_utils/my_script.js
# 2. 编辑 docker-compose.yml,取消注释并修改:
# volumes:
# - ../browser_utils/my_script.js:/app/browser_utils/more_modles.js:ro
# 3. 重启服务
docker compose down
docker compose up -d
```
### 方法 3: 环境变量配置
```bash
# 1. 在 .env 文件中修改路径
echo "USERSCRIPT_PATH=browser_utils/my_custom_script.js" >> .env
# 2. 创建对应的脚本文件
cp ../browser_utils/more_modles.js ../browser_utils/my_custom_script.js
# 3. 重启容器
docker compose restart
```
## 验证脚本注入
### 检查日志
```bash
# 查看脚本注入相关日志
docker compose logs | grep -E "(脚本注入|script.*inject|模型增强)"
# 实时监控日志
docker compose logs -f | grep -E "(脚本注入|script.*inject|模型增强)"
```
### 预期日志输出
成功的脚本注入应该显示类似以下日志:
```
设置网络拦截和脚本注入...
成功设置模型列表网络拦截
成功解析 6 个模型从油猴脚本
添加了 6 个注入的模型到API模型列表
✅ 脚本注入成功,模型显示效果与油猴脚本100%一致
解析的模型: 👑 Kingfall, ✨ Gemini 2.5 Pro, 🦁 Goldmane...
```
### 进入容器检查
```bash
# 进入容器
docker compose exec ai-studio-proxy /bin/bash
# 检查脚本文件
cat /app/browser_utils/more_modles.js
# 检查脚本文件列表
ls -la /app/browser_utils/*.js
# 退出容器
exit
```
## 故障排除
### 脚本注入失败
1. **检查配置文件路径**
```bash
docker compose exec ai-studio-proxy ls -la /app/browser_utils/
```
2. **检查文件权限**
```bash
docker compose exec ai-studio-proxy cat /app/browser_utils/more_modles.js
```
3. **查看详细错误日志**
```bash
docker compose logs | grep -A 5 -B 5 "脚本注入"
```
### 脚本文件无效
1. **验证 JavaScript 格式**
```bash
# 在主机上验证 JavaScript 语法
node -c browser_utils/more_modles.js
```
2. **检查必需字段**
确保每个模型都有 `name``displayName` 字段。
### 禁用脚本注入
如果遇到问题,可以临时禁用:
```bash
# 在 .env 文件中设置
echo "ENABLE_SCRIPT_INJECTION=false" >> .env
# 重启容器
docker compose restart
```
## 高级配置
### 使用自定义脚本
```bash
# 1. 将自定义脚本放在 browser_utils/ 目录
cp your_custom_script.js ../browser_utils/custom_injector.js
# 2. 在 .env 中修改脚本路径
echo "USERSCRIPT_PATH=browser_utils/custom_injector.js" >> .env
# 3. 重启容器
docker compose restart
```
### 多环境配置
```bash
# 开发环境
cp .env.docker .env.dev
# 编辑 .env.dev
# 生产环境
cp .env.docker .env.prod
# 编辑 .env.prod
# 使用特定环境启动
cp .env.prod .env
docker compose up -d
```
## 注意事项
1. **文件挂载**: 确保主机上的文件路径正确
2. **权限问题**: Docker 容器内的文件权限可能需要调整
3. **重启生效**: 配置更改后需要重启容器
4. **日志监控**: 通过日志确认脚本注入状态
5. **备份配置**: 建议备份工作的配置文件
## 示例配置文件
参考 `model_configs_docker_example.json` 文件了解完整的配置格式和选项。