AIstudioProxyAPI / SCRIPT_INJECTION_DOCKER.md
lengfeng1360's picture
Upload 7 files
9b7863a verified

Docker 环境脚本注入配置指南

概述

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

快速开始

1. 基础配置

# 进入 docker 目录
cd docker

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

# 编辑配置文件
nano .env

.env 文件中确保以下配置:

# 启用脚本注入
ENABLE_SCRIPT_INJECTION=true

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

2. 启动容器

# 构建并启动
docker compose up -d

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

自定义配置

方法 1: 直接替换脚本文件

# 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: 挂载自定义脚本

# 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: 环境变量配置

# 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

验证脚本注入

检查日志

# 查看脚本注入相关日志
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...

进入容器检查

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

# 检查脚本文件
cat /app/browser_utils/more_modles.js

# 检查脚本文件列表
ls -la /app/browser_utils/*.js

# 退出容器
exit

故障排除

脚本注入失败

  1. 检查配置文件路径

    docker compose exec ai-studio-proxy ls -la /app/browser_utils/
    
  2. 检查文件权限

    docker compose exec ai-studio-proxy cat /app/browser_utils/more_modles.js
    
  3. 查看详细错误日志

    docker compose logs | grep -A 5 -B 5 "脚本注入"
    

脚本文件无效

  1. 验证 JavaScript 格式

    # 在主机上验证 JavaScript 语法
    node -c browser_utils/more_modles.js
    
  2. 检查必需字段: 确保每个模型都有 namedisplayName 字段。

禁用脚本注入

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

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

# 重启容器
docker compose restart

高级配置

使用自定义脚本

# 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

多环境配置

# 开发环境
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 文件了解完整的配置格式和选项。