Spaces:
Runtime error
Runtime error
File size: 4,519 Bytes
9b7863a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
# 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` 文件了解完整的配置格式和选项。
|