package request // ClaudeMessageRequest Claude API 兼容的消息请求 type ClaudeMessageRequest struct { Model string `json:"model"` Messages []ClaudeMessage `json:"messages"` MaxTokens int `json:"max_tokens"` Temperature *float64 `json:"temperature,omitempty"` TopP *float64 `json:"top_p,omitempty"` TopK *int `json:"top_k,omitempty"` Stream bool `json:"stream,omitempty"` StopSequences []string `json:"stop_sequences,omitempty"` System string `json:"system,omitempty"` // 扩展字段 - 用于指定预设和提供商 PresetName string `json:"preset_name,omitempty"` // 预设名称 ProviderName string `json:"provider_name,omitempty"` // 提供商名称 BindingName string `json:"binding_name,omitempty"` // 绑定名称(优先级最高) } type ClaudeMessage struct { Role string `json:"role"` // user, assistant Content interface{} `json:"content"` // string 或 []ClaudeContentBlock } type ClaudeContentBlock struct { Type string `json:"type"` // text, image Text string `json:"text,omitempty"` Source *ClaudeImageSource `json:"source,omitempty"` } type ClaudeImageSource struct { Type string `json:"type"` // base64 MediaType string `json:"media_type"` // image/jpeg, image/png, image/gif, image/webp Data string `json:"data"` // base64 编码的图片数据 }