37
server/model/app/request/ai_config.go
Normal file
37
server/model/app/request/ai_config.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package request
|
||||
|
||||
// CreateAIConfigRequest 创建AI配置请求
|
||||
type CreateAIConfigRequest struct {
|
||||
Name string `json:"name" binding:"required,max=100"`
|
||||
Provider string `json:"provider" binding:"required,oneof=openai anthropic custom"`
|
||||
BaseURL string `json:"baseUrl" binding:"required,url"`
|
||||
APIKey string `json:"apiKey" binding:"required"`
|
||||
DefaultModel string `json:"defaultModel"`
|
||||
Settings map[string]interface{} `json:"settings"`
|
||||
}
|
||||
|
||||
// UpdateAIConfigRequest 更新AI配置请求
|
||||
type UpdateAIConfigRequest struct {
|
||||
Name string `json:"name" binding:"max=100"`
|
||||
BaseURL string `json:"baseUrl" binding:"omitempty,url"`
|
||||
APIKey string `json:"apiKey"`
|
||||
DefaultModel string `json:"defaultModel"`
|
||||
Settings map[string]interface{} `json:"settings"`
|
||||
IsActive *bool `json:"isActive"`
|
||||
IsDefault *bool `json:"isDefault"`
|
||||
}
|
||||
|
||||
// TestAIConfigRequest 测试AI配置请求
|
||||
type TestAIConfigRequest struct {
|
||||
Provider string `json:"provider" binding:"required,oneof=openai anthropic custom"`
|
||||
BaseURL string `json:"baseUrl" binding:"required,url"`
|
||||
APIKey string `json:"apiKey" binding:"required"`
|
||||
Model string `json:"model"`
|
||||
}
|
||||
|
||||
// GetModelsRequest 获取模型列表请求
|
||||
type GetModelsRequest struct {
|
||||
Provider string `json:"provider" binding:"required,oneof=openai anthropic custom"`
|
||||
BaseURL string `json:"baseUrl" binding:"required,url"`
|
||||
APIKey string `json:"apiKey" binding:"required"`
|
||||
}
|
||||
37
server/model/app/request/auth.go
Normal file
37
server/model/app/request/auth.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package request
|
||||
|
||||
// RegisterRequest 用户注册请求
|
||||
type RegisterRequest struct {
|
||||
Username string `json:"username" binding:"required,min=3,max=32"`
|
||||
Password string `json:"password" binding:"required,min=6,max=32"`
|
||||
NickName string `json:"nickName" binding:"max=50"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Phone string `json:"phone" binding:"omitempty"`
|
||||
}
|
||||
|
||||
// LoginRequest 用户登录请求
|
||||
type LoginRequest struct {
|
||||
Username string `json:"username" binding:"required"`
|
||||
Password string `json:"password" binding:"required"`
|
||||
}
|
||||
|
||||
// RefreshTokenRequest 刷新 Token 请求
|
||||
type RefreshTokenRequest struct {
|
||||
RefreshToken string `json:"refreshToken" binding:"required"`
|
||||
}
|
||||
|
||||
// ChangePasswordRequest 修改密码请求
|
||||
type ChangePasswordRequest struct {
|
||||
OldPassword string `json:"oldPassword" binding:"required"`
|
||||
NewPassword string `json:"newPassword" binding:"required,min=6,max=32"`
|
||||
}
|
||||
|
||||
// UpdateProfileRequest 更新用户信息请求
|
||||
type UpdateProfileRequest struct {
|
||||
NickName string `json:"nickName" binding:"max=50"`
|
||||
Email string `json:"email" binding:"omitempty,email"`
|
||||
Phone string `json:"phone"`
|
||||
Avatar string `json:"avatar"`
|
||||
Preferences string `json:"preferences"` // JSON 字符串
|
||||
AISettings string `json:"aiSettings"` // JSON 字符串
|
||||
}
|
||||
52
server/model/app/request/character.go
Normal file
52
server/model/app/request/character.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package request
|
||||
|
||||
// CreateCharacterRequest 创建角色卡请求
|
||||
type CreateCharacterRequest struct {
|
||||
Name string `json:"name" binding:"required,max=100"`
|
||||
Avatar string `json:"avatar"`
|
||||
Creator string `json:"creator" binding:"max=100"`
|
||||
Version string `json:"version" binding:"max=50"`
|
||||
Description string `json:"description"`
|
||||
Personality string `json:"personality"`
|
||||
Scenario string `json:"scenario"`
|
||||
FirstMes string `json:"firstMes"`
|
||||
MesExample string `json:"mesExample"`
|
||||
CreatorNotes string `json:"creatorNotes"`
|
||||
SystemPrompt string `json:"systemPrompt"`
|
||||
PostHistoryInstructions string `json:"postHistoryInstructions"`
|
||||
Tags []string `json:"tags"`
|
||||
AlternateGreetings []string `json:"alternateGreetings"`
|
||||
CharacterBook map[string]interface{} `json:"characterBook"`
|
||||
Extensions map[string]interface{} `json:"extensions"`
|
||||
IsPublic bool `json:"isPublic"`
|
||||
}
|
||||
|
||||
// UpdateCharacterRequest 更新角色卡请求
|
||||
type UpdateCharacterRequest struct {
|
||||
Name string `json:"name" binding:"max=100"`
|
||||
Avatar string `json:"avatar"`
|
||||
Creator string `json:"creator" binding:"max=100"`
|
||||
Version string `json:"version" binding:"max=50"`
|
||||
Description string `json:"description"`
|
||||
Personality string `json:"personality"`
|
||||
Scenario string `json:"scenario"`
|
||||
FirstMes string `json:"firstMes"`
|
||||
MesExample string `json:"mesExample"`
|
||||
CreatorNotes string `json:"creatorNotes"`
|
||||
SystemPrompt string `json:"systemPrompt"`
|
||||
PostHistoryInstructions string `json:"postHistoryInstructions"`
|
||||
Tags []string `json:"tags"`
|
||||
AlternateGreetings []string `json:"alternateGreetings"`
|
||||
CharacterBook map[string]interface{} `json:"characterBook"`
|
||||
Extensions map[string]interface{} `json:"extensions"`
|
||||
IsPublic bool `json:"isPublic"`
|
||||
}
|
||||
|
||||
// GetCharacterListRequest 获取角色卡列表请求
|
||||
type GetCharacterListRequest struct {
|
||||
Page int `form:"page" binding:"min=1"`
|
||||
PageSize int `form:"pageSize" binding:"min=1,max=100"`
|
||||
Keyword string `form:"keyword"`
|
||||
Tag string `form:"tag"`
|
||||
IsPublic *bool `form:"isPublic"`
|
||||
}
|
||||
32
server/model/app/request/conversation.go
Normal file
32
server/model/app/request/conversation.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package request
|
||||
|
||||
// CreateConversationRequest 创建对话请求
|
||||
type CreateConversationRequest struct {
|
||||
CharacterID uint `json:"characterId" binding:"required"`
|
||||
Title string `json:"title" binding:"max=200"`
|
||||
PresetID *uint `json:"presetId"`
|
||||
AIProvider string `json:"aiProvider" binding:"omitempty,oneof=openai anthropic"`
|
||||
Model string `json:"model"`
|
||||
}
|
||||
|
||||
// SendMessageRequest 发送消息请求
|
||||
type SendMessageRequest struct {
|
||||
Content string `json:"content" binding:"required"`
|
||||
}
|
||||
|
||||
// GetConversationListRequest 获取对话列表请求
|
||||
type GetConversationListRequest struct {
|
||||
Page int `form:"page" binding:"min=1"`
|
||||
PageSize int `form:"pageSize" binding:"min=1,max=100"`
|
||||
}
|
||||
|
||||
// GetMessageListRequest 获取消息列表请求
|
||||
type GetMessageListRequest struct {
|
||||
Page int `form:"page" binding:"min=1"`
|
||||
PageSize int `form:"pageSize" binding:"min=1,max=100"`
|
||||
}
|
||||
|
||||
// UpdateConversationSettingsRequest 更新对话设置请求
|
||||
type UpdateConversationSettingsRequest struct {
|
||||
Settings map[string]interface{} `json:"settings" binding:"required"`
|
||||
}
|
||||
47
server/model/app/request/preset.go
Normal file
47
server/model/app/request/preset.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package request
|
||||
|
||||
// CreatePresetRequest 创建预设请求
|
||||
type CreatePresetRequest struct {
|
||||
Name string `json:"name" binding:"required,min=1,max=100"`
|
||||
Description string `json:"description" binding:"max=500"`
|
||||
IsPublic bool `json:"isPublic"`
|
||||
Temperature float64 `json:"temperature" binding:"min=0,max=2"`
|
||||
TopP float64 `json:"topP" binding:"min=0,max=1"`
|
||||
TopK int `json:"topK" binding:"min=0"`
|
||||
FrequencyPenalty float64 `json:"frequencyPenalty" binding:"min=-2,max=2"`
|
||||
PresencePenalty float64 `json:"presencePenalty" binding:"min=-2,max=2"`
|
||||
MaxTokens int `json:"maxTokens" binding:"min=1,max=32000"`
|
||||
RepetitionPenalty float64 `json:"repetitionPenalty"`
|
||||
MinP float64 `json:"minP"`
|
||||
TopA float64 `json:"topA"`
|
||||
SystemPrompt string `json:"systemPrompt"`
|
||||
StopSequences []string `json:"stopSequences"`
|
||||
Extensions map[string]interface{} `json:"extensions"`
|
||||
}
|
||||
|
||||
// UpdatePresetRequest 更新预设请求
|
||||
type UpdatePresetRequest struct {
|
||||
Name string `json:"name" binding:"min=1,max=100"`
|
||||
Description string `json:"description" binding:"max=500"`
|
||||
IsPublic *bool `json:"isPublic"`
|
||||
Temperature *float64 `json:"temperature" binding:"omitempty,min=0,max=2"`
|
||||
TopP *float64 `json:"topP" binding:"omitempty,min=0,max=1"`
|
||||
TopK *int `json:"topK" binding:"omitempty,min=0"`
|
||||
FrequencyPenalty *float64 `json:"frequencyPenalty" binding:"omitempty,min=-2,max=2"`
|
||||
PresencePenalty *float64 `json:"presencePenalty" binding:"omitempty,min=-2,max=2"`
|
||||
MaxTokens *int `json:"maxTokens" binding:"omitempty,min=1,max=32000"`
|
||||
RepetitionPenalty *float64 `json:"repetitionPenalty"`
|
||||
MinP *float64 `json:"minP"`
|
||||
TopA *float64 `json:"topA"`
|
||||
SystemPrompt *string `json:"systemPrompt"`
|
||||
StopSequences []string `json:"stopSequences"`
|
||||
Extensions map[string]interface{} `json:"extensions"`
|
||||
}
|
||||
|
||||
// GetPresetListRequest 获取预设列表请求
|
||||
type GetPresetListRequest struct {
|
||||
Page int `form:"page" binding:"min=1"`
|
||||
PageSize int `form:"pageSize" binding:"min=1,max=100"`
|
||||
Keyword string `form:"keyword"`
|
||||
IsPublic *bool `form:"isPublic"`
|
||||
}
|
||||
Reference in New Issue
Block a user