prompt-optimizer

GitHub

An AI prompt optimizer for writing better prompts and getting better AI results.

RAW Rules
9 Discovered Rules ~24,022 Estimated Tokens
Loading skill content...

Image Skill

packages/core/tests/unit/image/openrouter-parameter-fix-summary.md anthropic-skill ~633 tokens
Raw
# OpenRouter 适配器参数修正总结

## 问题识别

通过仔细分析 OpenRouter 文档,发现之前的参数配置不正确:

### ❌ 错误的参数
- `max_tokens: 1000` - 用于文本生成,不适用于图像生成
- `temperature: 0.7` - 用于文本生成,不适用于图像生成
- `outputMimeType: 'image/png'` - OpenRouter不支持此参数

### ✅ 正确的参数
根据文档,OpenRouter图像生成只需要:
- `modalities: ["image", "text"]` - 必需参数,指定输出模式

## 修正内容

### 1. 适配器参数定义
```typescript
parameterDefinitions: [
  {
    name: 'modalities',
    labelKey: 'params.modalities.label',
    descriptionKey: 'params.modalities.description',
    type: 'string',
    defaultValue: '["image", "text"]',
    allowedValues: ['["image", "text"]', '["text", "image"]']
  }
]
```

### 2. 默认参数值
```typescript
defaultParameterValues: {
  modalities: ['image', 'text']
}
```

### 3. API请求格式
```typescript
const payload = {
  model: config.modelId,
  messages: [...],
  // modalities 是唯一必需的图像生成参数
  modalities: ['image', 'text']
}
```

### 4. 默认配置更新
```typescript
'image-openrouter-gemini': buildConfig(
  'image-openrouter-gemini',
  'OpenRouter Gemini 2.5 Flash Image',
  'openrouter',  // ✅ 修正Provider
  'google/gemini-2.5-flash-image-preview',
  !!OPENROUTER_API_KEY,
  {
    apiKey: OPENROUTER_API_KEY,
    baseURL: 'https://openrouter.ai/api/v1'
  },
  {} // ✅ 不需要额外参数
)
```

## 测试验证

- ✅ **15个单元测试**全部通过
- ✅ **5个默认配置测试**全部通过
- ✅ **类型检查**无错误
- ✅ **API测试结构**支持条件执行

## 关键改进

1. **参数简化**: 移除了不相关的文本生成参数
2. **文档准确**: 严格按照OpenRouter官方文档实现
3. **配置修正**: 修复了Provider ID错误
4. **测试更新**: 更新测试以匹配新的参数结构

现在OpenRouter适配器完全符合官方API规范!