File size: 4,125 Bytes
a5784e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Docker 环境脚本注入配置指南

## 概述

本指南专门针对 Docker 环境中的油猴脚本注入功能配置。

## 快速开始

### 1. 基础配置

```bash
# 进入 docker 目录
cd docker

# 复制配置模板
cp .env.docker .env

# 编辑配置文件
nano .env
````.env` 文件中确保以下配置:

```env
# 启用脚本注入
ENABLE_SCRIPT_INJECTION=true

# 使用默认脚本(模型数据直接从脚本解析)
USERSCRIPT_PATH=browser_utils/more_models.js
```

### 2. 启动容器

```bash
# 构建并启动
docker compose up -d

# 查看日志确认脚本注入状态
docker compose logs -f | grep "脚本注入"
```

## 自定义配置

### 方法 1: 直接修改默认脚本 (需重建)

```bash
# 1. 编辑默认脚本文件
nano ../browser_utils/more_models.js

# 2. 重建并重启容器
docker compose up -d --build
```

### 方法 2: 挂载自定义脚本

```bash
# 1. 创建自定义脚本文件
cp ../browser_utils/more_models.js ../browser_utils/my_script.js

# 2. 编辑 docker-compose.yml,取消注释并修改:
# volumes:
#   - ../browser_utils/my_script.js:/app/browser_utils/more_models.js:ro

# 3. 重启服务
docker compose up -d
```

### 方法 3: 环境变量配置

```bash
# 1. 在 .env 文件中修改路径
echo "USERSCRIPT_PATH=browser_utils/my_custom_script.js" >> .env

# 2. 创建对应的脚本文件
cp ../browser_utils/more_models.js ../browser_utils/my_custom_script.js

# 3. 重启容器以应用配置更改
docker compose up -d
```

## 验证脚本注入

### 检查日志

```bash
# 查看脚本注入相关日志
docker compose logs | grep -E "(脚本注入|script.*inject|模型增强)"

# 实时监控日志
docker compose logs -f | grep -E "(脚本注入|script.*inject|模型增强)"
```

### 预期日志输出

成功的脚本注入应该显示类似以下日志:

```
设置网络拦截和脚本注入...
成功设置模型列表网络拦截
成功解析 6 个模型从油猴脚本
添加了 6 个注入的模型到API模型列表
✅ 脚本注入成功,模型显示效果与油猴脚本100%一致
   解析的模型: 👑 Kingfall, ✨ Gemini Pro, 🦁 Goldmane...
```

### 进入容器检查

```bash
# 进入容器
docker compose exec ai-studio-proxy /bin/bash

# 检查脚本文件
cat /app/browser_utils/more_models.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_models.js
   ```

3. **查看详细错误日志**```bash
   docker compose logs | grep -A 5 -B 5 "脚本注入"
   ```

### 脚本文件无效

1. **验证 JavaScript 格式**```bash
   # 在主机上验证 JavaScript 语法
   node -c browser_utils/more_models.js
   ```

2. **检查必需字段**:
   确保每个模型都有 `name``displayName` 字段。

### 禁用脚本注入

如果遇到问题,可以临时禁用:

```bash
# 在 .env 文件中设置
echo "ENABLE_SCRIPT_INJECTION=false" >> .env

# 重启容器以应用配置更改
docker compose up -d
```

## 高级配置

### 使用自定义脚本

```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 up -d
```

### 多环境配置

```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. **备份配置**: 建议备份工作的配置文件