Files
prompt-optimizer/env.local.example
T
linshenandClaude Sonnet 4.5 130b8fa880 feat(core): 新增 ModelScope(魔搭)API 集成支持
新增 ModelScope LLM 和图像生成服务的完整支持,包括:

LLM 适配器特性:
- 基于 OpenAI 兼容 API 实现,继承 OpenAIAdapter
- 支持动态获取模型列表(models.list() 返回 62 个模型)
- 内置 Qwen/Qwen3-Coder-480B-A35B-Instruct 静态模型
- 支持聊天和流式响应
- 每天免费 2000 次调用

图像生成适配器特性:
- 实现异步任务提交和轮询机制
- 支持文生图(text-to-image)功能
- 内置 Z-Image-Turbo 模型
- 增强的错误处理和状态管理
- 使用 resolveEndpointUrl() 确保 URL 规范化

技术改进:
- 正确处理自定义 baseURL 的 /v1 路径规范化
- 完善的轮询错误处理(SUCCEED/FAILED/ERROR/CANCELLED)
- 错误响应体解析,提供详细错误信息
- 处理未知终态,避免超时等待

测试覆盖:
- LLM 适配器单元测试(7 个测试用例)
- 图像适配器单元测试(7 个测试用例,包括真实 API 测试)
- 集成测试覆盖真实 API 调用和流式响应

配置集成:
- 环境变量支持:VITE_MODELSCOPE_API_KEY
- 自动注册到 LLM 和图像服务 registry
- 默认配置自动生成和启用

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 23:34:25 +08:00

144 lines
5.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 环境变量配置示例文件
# 将此文件复制为 .env.local 并填入你的实际配置
# ===== LLM API 密钥配置 =====
# 配置您要使用的 LLM 服务的 API 密钥
# 不同模块会根据需要使用这些配置
# OpenAI API 配置
# VITE_OPENAI_API_KEY=sk-your-openai-api-key-here
# Google Gemini API 配置
# VITE_GEMINI_API_KEY=your-gemini-api-key-here
# ===== 图像生成 API 密钥配置 =====
# Gemini 图像生成复用 VITE_GEMINI_API_KEY(无需单独配置)
# Seedream (Doubao) / 火山方舟 ARK API Key(任选其一变量,优先级从上到下)
# VITE_SEEDREAM_API_KEY=your-seedream-api-key-here
# VITE_ARK_API_KEY=your-ark-api-key-here
# (也兼容进程环境变量 ARK_API_KEY,但推荐统一使用 VITE_ 前缀)
# DeepSeek API 配置
# VITE_DEEPSEEK_API_KEY=sk-your-deepseek-api-key-here
# 智谱 AI API 配置
# VITE_ZHIPU_API_KEY=your-zhipu-api-key-here
# SiliconFlow API 配置
# VITE_SILICONFLOW_API_KEY=sk-your-siliconflow-api-key-here
# ModelScope (魔搭) API 配置 - 每天免费 2000 次调用
# 支持文本模型(LLM)和图像生成模型
# VITE_MODELSCOPE_API_KEY=your-modelscope-sdk-token-here
# 自定义 API 配置(如 Ollama 本地服务)
# VITE_CUSTOM_API_KEY=your-custom-api-key
# VITE_CUSTOM_API_BASE_URL=http://localhost:11434/v1
# VITE_CUSTOM_API_MODEL=qwen2.5:0.5b
# ===== 多自定义模型配置(新功能)=====
# 支持配置无限数量的自定义模型,使用后缀区分不同模型
# 格式:VITE_CUSTOM_API_*_<suffix>
# 后缀规则:只能包含字母(a-z A-Z)、数字(0-9)、下划线(_)、连字符(-)
# 不支持:点号(.)、空格、特殊符号等
# Ollama Qwen 模型示例
# VITE_CUSTOM_API_KEY_qwen3=ollama-qwen3-key
# VITE_CUSTOM_API_BASE_URL_qwen3=http://localhost:11434/v1
# VITE_CUSTOM_API_MODEL_qwen3=qwen3:8b
# Ollama Qwen2.5 模型示例(注意:版本号用下划线分隔)
# VITE_CUSTOM_API_KEY_qwen2_5=ollama-qwen25-key
# VITE_CUSTOM_API_BASE_URL_qwen2_5=http://localhost:11434/v1
# VITE_CUSTOM_API_MODEL_qwen2_5=qwen2.5:14b
# 本地 Claude 兼容服务示例
# VITE_CUSTOM_API_KEY_claude_local=claude-local-key
# VITE_CUSTOM_API_BASE_URL_claude_local=http://localhost:8080/v1
# VITE_CUSTOM_API_MODEL_claude_local=claude-3-sonnet
# 其他自建 API 服务示例
# VITE_CUSTOM_API_KEY_my_llm=my-llm-api-key
# VITE_CUSTOM_API_BASE_URL_my_llm=https://my-api.example.com/v1
# VITE_CUSTOM_API_MODEL_my_llm=my-custom-model
# 注意:
# - 以下三项均为必填:API_KEY、BASE_URL、MODEL(与核心实现严格一致)
# - 生成的模型在UI中显示为格式化的名称(如 qwen3 → Qwen3)
# ===== MCP 服务器配置 =====
# 以下配置仅在使用 MCP 服务器时需要
# 首选模型提供商(当配置了多个 API 密钥时)
# 可选值:openai, gemini, deepseek, siliconflow, zhipu, custom, custom_<suffix>
# 注意:必须与上面配置的 API 密钥对应
# 示例:如果配置了 VITE_CUSTOM_API_KEY_qwen3,可以使用 custom_qwen3
# MCP_DEFAULT_MODEL_PROVIDER=openai
# HTTP 服务器端口(默认 3000)
# MCP_HTTP_PORT=3000
# 日志级别(默认 debug)
# 可选值:debug, info, warn, error
# MCP_LOG_LEVEL=debug
# 默认语言(默认 zh)
# 可选值:zh, en
# MCP_DEFAULT_LANGUAGE=zh
# ===== Docker 部署访问控制配置 =====
# 以下配置仅在 Docker 部署时需要,用于设置 Web 界面的访问控制
# 访问用户名(可选,默认为 admin)
# ACCESS_USERNAME=admin
# 访问密码(可选,不设置则无密码保护)
# ACCESS_PASSWORD=your_password
# ===== 开发环境更新测试配置 =====
# 取消注释以下配置来启用开发环境的更新测试功能
# 方式1:使用 GITHUB_REPOSITORY 环境变量(推荐)
# GITHUB_REPOSITORY=your-username/your-repo-name
# 方式2:分别设置仓库所有者和名称
# DEV_REPO_OWNER=your-username
# DEV_REPO_NAME=your-repo-name
# ===== 使用说明 =====
#
# LLM API 密钥:
# 1. 使用 VITE_ 前缀的环境变量,支持所有模块(Web、Desktop、MCP 服务器等)
# 2. 根据使用的功能配置相应的 API 密钥
# 3. 自定义 API 支持本地服务(如 Ollama)和其他兼容 OpenAI 格式的服务
# 4. 多自定义模型:使用 VITE_CUSTOM_API_*_<suffix> 格式配置多个自定义模型
# - 支持无限数量的自定义模型
# - 每个模型在UI中显示为独立选项
# - 后缀名会自动格式化为友好的显示名称
#
# MCP 服务器(仅在使用 MCP 功能时需要):
# 1. 需要至少配置一个 API 密钥才能启动
# 2. 在项目根目录执行 pnpm mcp:dev 启动开发服务器
# 3. 如果配置多个 API 密钥,可通过 MCP_DEFAULT_MODEL_PROVIDER 指定首选
# 4. MCP_DEFAULT_MODEL_PROVIDER 支持的值:
# - openai: 使用 OpenAI GPT 模型
# - gemini: 使用 Google Gemini 模型
# - deepseek: 使用 DeepSeek 模型
# - siliconflow: 使用 SiliconFlow 模型
# - zhipu: 使用智谱 AI 模型
# - custom: 使用自定义 API(如 Ollama 等)
# - custom_<suffix>: 使用特定的多自定义模型(如 custom_qwen3)
# 5. HTTP 模式默认端口 3000,可通过 MCP_HTTP_PORT 修改
# 6. 默认启用 debug 日志,可通过 MCP_LOG_LEVEL 调整
#
# Docker 部署访问控制:
# 1. ACCESS_USERNAME 和 ACCESS_PASSWORD 仅在 Docker 部署时使用
# 2. 不设置密码则无访问限制
# 3. 设置密码后访问 Web 界面需要输入用户名和密码
#
# 更新测试(仅在开发环境需要):
# 1. 只支持公开仓库,不支持私有仓库
# 2. 如果不设置仓库配置,将使用默认的公开仓库 (linshenkx/prompt-optimizer)
# 3. 开发环境现在默认支持更新测试,无需额外配置文件
# 4. 更新日志将保存在用户数据目录的 logs/auto-updater.log 文件中