Documentation
¶
Index ¶
- Constants
- func GenerateInviteCode() string
- func InitSchema(db *sql.DB) error
- func Now() int64
- type AgentClient
- type ChatMessage
- type Client
- type CompressionConfig
- type Handler
- type Member
- type Message
- type Room
- type RoomAgent
- type Server
- type Storage
- func (s *Storage) AddMember(member *Member) error
- func (s *Storage) AgentExistsInRoom(roomID, profile string) (bool, error)
- func (s *Storage) CreateAgent(agent *RoomAgent) error
- func (s *Storage) CreateRoom(room *Room) error
- func (s *Storage) DeleteAgent(agentID string) error
- func (s *Storage) DeleteRoom(roomID string) error
- func (s *Storage) DeleteSessionProfile(sessionID string) error
- func (s *Storage) GetAgent(agentID string) (*RoomAgent, error)
- func (s *Storage) GetAgents(roomID string) ([]RoomAgent, error)
- func (s *Storage) GetAllRooms() ([]Room, error)
- func (s *Storage) GetMembers(roomID string) ([]Member, error)
- func (s *Storage) GetMessages(roomID string, limit int) ([]ChatMessage, error)
- func (s *Storage) GetRoom(roomID string) (*Room, error)
- func (s *Storage) GetRoomByInviteCode(code string) (*Room, error)
- func (s *Storage) GetSessionProfile(sessionID string) (roomID, agentID, profileName string, err error)
- func (s *Storage) RemoveMember(roomID, userID string) error
- func (s *Storage) SaveMessage(msg *ChatMessage) error
- func (s *Storage) SaveSessionProfile(sessionID, roomID, agentID, profileName string) error
- func (s *Storage) UpdateAgent(agent *RoomAgent) error
- func (s *Storage) UpdateMember(member *Member) error
- func (s *Storage) UpdateRoom(room *Room) error
- func (s *Storage) UpdateRoomConfig(roomID string, config CompressionConfig) error
- func (s *Storage) UpdateRoomTokens(roomID string, totalTokens int) error
Constants ¶
View Source
const SchemaSQL = `` /* 2563-byte string literal not displayed */
数据库 Schema 初始化
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AgentClient ¶
type AgentClient struct {
ID string `json:"id"`
RoomID string `json:"roomId"`
Profile string `json:"profile"`
Name string `json:"name"`
SessionID string `json:"sessionId"`
Connected bool `json:"connected"`
}
AgentClient Agent 客户端
type ChatMessage ¶
type ChatMessage struct {
ID string `json:"id"`
RoomID string `json:"roomId"`
SenderID string `json:"senderId"`
SenderName string `json:"senderName"`
Content string `json:"content"`
Timestamp int64 `json:"timestamp"`
}
ChatMessage 聊天消息
type Client ¶
type Client struct {
ID string `json:"id"`
UserID string `json:"userId"`
Name string `json:"name"`
Description string `json:"description"`
RoomID string `json:"roomId,omitempty"`
Conn *websocket.Conn
// contains filtered or unexported fields
}
Client WebSocket 客户端
type CompressionConfig ¶
type CompressionConfig struct {
TriggerTokens int `json:"triggerTokens"`
MaxHistoryTokens int `json:"maxHistoryTokens"`
TailMessageCount int `json:"tailMessageCount"`
}
CompressionConfig 压缩配置
func DefaultCompressionConfig ¶
func DefaultCompressionConfig() CompressionConfig
DefaultCompressionConfig 默认压缩配置
type Member ¶
type Member struct {
ID string `json:"id"`
RoomID string `json:"roomId"`
UserID string `json:"userId"`
Name string `json:"name"`
Description string `json:"description"`
JoinedAt int64 `json:"joinedAt"`
LastSeenAt int64 `json:"lastSeenAt"`
Online bool `json:"online,omitempty"`
SocketID string `json:"socketId,omitempty"`
}
Member 房间成员
type Message ¶
type Message struct {
Type string `json:"type"`
RoomID string `json:"roomId,omitempty"`
Data json.RawMessage `json:"data,omitempty"`
Timestamp int64 `json:"timestamp"`
}
Message 消息结构
type Room ¶
type Room struct {
ID string `json:"id"`
Name string `json:"name"`
InviteCode string `json:"inviteCode,omitempty"`
TriggerTokens int `json:"triggerTokens,omitempty"`
MaxHistoryTokens int `json:"maxHistoryTokens,omitempty"`
TailMessageCount int `json:"tailMessageCount,omitempty"`
TotalTokens int `json:"totalTokens,omitempty"`
CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"`
}
Room 房间
type RoomAgent ¶
type RoomAgent struct {
ID string `json:"id"`
RoomID string `json:"roomId"`
AgentID string `json:"agentId"`
Profile string `json:"profile"`
Name string `json:"name"`
Description string `json:"description"`
Invited int `json:"invited"`
SessionID string `json:"sessionId,omitempty"`
CreatedAt int64 `json:"createdAt"`
}
RoomAgent 房间代理
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server Group Chat WebSocket 服务器
func (*Server) HandleWebSocket ¶
func (s *Server) HandleWebSocket(w http.ResponseWriter, r *http.Request)
HandleWebSocket 处理 WebSocket 连接
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
Storage 数据存储
func (*Storage) AgentExistsInRoom ¶
AgentExistsInRoom 检查代理是否在房间
func (*Storage) CreateAgent ¶
CreateAgent 创建代理
func (*Storage) DeleteSessionProfile ¶
DeleteSessionProfile 删除会话配置
func (*Storage) GetMembers ¶
GetMembers 获取房间成员
func (*Storage) GetMessages ¶
func (s *Storage) GetMessages(roomID string, limit int) ([]ChatMessage, error)
GetMessages 获取消息
func (*Storage) GetRoomByInviteCode ¶
GetRoomByInviteCode 通过邀请码获取房间
func (*Storage) GetSessionProfile ¶
func (s *Storage) GetSessionProfile(sessionID string) (roomID, agentID, profileName string, err error)
GetSessionProfile 获取会话配置
func (*Storage) RemoveMember ¶
RemoveMember 移除成员
func (*Storage) SaveMessage ¶
func (s *Storage) SaveMessage(msg *ChatMessage) error
SaveMessage 保存消息
func (*Storage) SaveSessionProfile ¶
SaveSessionProfile 保存会话配置
func (*Storage) UpdateAgent ¶
UpdateAgent 更新代理
func (*Storage) UpdateMember ¶
UpdateMember 更新成员
func (*Storage) UpdateRoomConfig ¶
func (s *Storage) UpdateRoomConfig(roomID string, config CompressionConfig) error
UpdateRoomConfig 更新房间配置
Click to show internal directories.
Click to hide internal directories.