Files
X-Agents/server/internal/model/agent.go
DESKTOP-72TV0V4\caoxiaozhu 25eb277a2a feat: Agent 服务日志功能和后端更新
- agent/main.py: 添加日志记录功能
- agent/llm: 更新 anthropic, openai, factory
- agent/core/agent.py: 更新
- server: agent_handler, agent_service, chat_service 更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 17:22:40 +08:00

119 lines
4.7 KiB
Go
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.
package model
import (
"time"
)
// SecurityLevel 安全等级
type SecurityLevel string
const (
SecurityLevelSafe SecurityLevel = "safe"
SecurityLevelReview SecurityLevel = "review"
SecurityLevelDanger SecurityLevel = "danger"
)
// Agent 智能体
type Agent struct {
ID string `json:"id" gorm:"primaryKey"`
Name string `json:"name" gorm:"size:100;not null"`
Description string `json:"description" gorm:"type:text"`
OwnerID string `json:"owner_id" gorm:"size:50;not null;index"`
// Agent能力配置
Capabilities []string `json:"capabilities" gorm:"type:text"` // JSON数组可用工具列表
MemoryLimit int64 `json:"memory_limit" gorm:"default:134217728"` // 128MB
Timeout int `json:"timeout" gorm:"default:60"` // 60秒
// 安全配置
SecurityLevel SecurityLevel `json:"security_level" gorm:"size:20;default:'safe'"`
AllowDangerousTools bool `json:"allow_dangerous_tools" gorm:"default:false"`
// 扩展字段:角色描述和模型配置
RoleDescription string `json:"role_description" gorm:"type:text"` // 角色描述 (System Prompt)
ModelProvider string `json:"model_provider" gorm:"size:50"` // 模型提供商: openai/anthropic
ModelName string `json:"model_name" gorm:"size:100"` // 模型名称
// 协作模式
IsSupervisor bool `json:"is_supervisor" gorm:"default:false"` // 是否为主智能体
// 状态
IsActive bool `json:"is_active" gorm:"default:true"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// AgentSkill 智能体-技能绑定
type AgentSkill struct {
ID string `json:"id" gorm:"primaryKey"`
AgentID string `json:"agent_id" gorm:"size:191;index"`
SkillID string `json:"skill_id" gorm:"size:191;index"`
SkillConfig string `json:"skill_config" gorm:"type:text"` // JSON 配置
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// AgentKnowledgeBase 智能体-知识库绑定
type AgentKnowledgeBase struct {
ID string `json:"id" gorm:"primaryKey"`
AgentID string `json:"agent_id" gorm:"size:191;index"`
KnowledgeBaseID string `json:"knowledge_base_id" gorm:"size:191;index"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// AgentMemory 长期记忆
type AgentMemory struct {
ID string `json:"id" gorm:"primaryKey"`
AgentID string `json:"agent_id" gorm:"size:191;index"`
UserID string `json:"user_id" gorm:"size:191;index"`
Content string `json:"content" gorm:"type:text"`
MemoryType string `json:"memory_type" gorm:"size:20"` // experience/preference/conversation
Importance int `json:"importance" gorm:"default:5"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// AgentTeam 多智能体协作配置
type AgentTeam struct {
ID string `json:"id" gorm:"primaryKey"`
SupervisorAgentID string `json:"supervisor_agent_id" gorm:"size:191;index"`
MemberAgentID string `json:"member_agent_id" gorm:"size:191;index"`
DispatchStrategy string `json:"dispatch_strategy" gorm:"size:20;default:'parallel'"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// AgentTask 任务记录
type AgentTask struct {
ID string `json:"id" gorm:"primaryKey"`
AgentID string `json:"agent_id" gorm:"size:191;index"`
UserID string `json:"user_id" gorm:"size:191;index"`
UserInput string `json:"user_input" gorm:"type:text"`
AgentResponse string `json:"agent_response" gorm:"type:text"`
Status string `json:"status" gorm:"size:20"` // pending/running/completed/failed
TokensUsed int `json:"tokens_used" gorm:"default:0"`
DurationMs int `json:"duration_ms"`
SessionID string `json:"session_id" gorm:"size:191;index"`
CreatedAt time.Time `json:"created_at"`
CompletedAt time.Time `json:"completed_at"`
}
// AgentRequest 聊天请求
type AgentRequest struct {
AgentID string `json:"agent_id" binding:"required"`
Message string `json:"message" binding:"required"`
SessionID string `json:"session_id"`
ModelID string `json:"model_id"`
Context map[string]interface{} `json:"context"`
}
// AgentResponse 聊天响应
type AgentResponse struct {
Reply string `json:"reply"`
SessionID string `json:"session_id"`
ToolsUsed []string `json:"tools_used"`
Metadata map[string]interface{} `json:"metadata"`
}