🎉 初始化项目

Signed-off-by: Echo <1711788888@qq.com>
This commit is contained in:
2026-02-27 21:52:00 +08:00
commit f4e166c5ee
482 changed files with 55079 additions and 0 deletions

View 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"`
}

View 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 字符串
}

View 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"`
}

View 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"`
}

View 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"`
}