Documentation
¶
Index ¶
- type Config
- type Manager
- func (m *Manager) AdaptResponse(id, response string) string
- func (m *Manager) CreatePersonality(p *Personality) error
- func (m *Manager) DeletePersonality(id string) error
- func (m *Manager) GenerateSystemPrompt(id string, context map[string]string) (string, error)
- func (m *Manager) GetCompatibleTools(id string) []string
- func (m *Manager) GetCurrentPersonality() *Personality
- func (m *Manager) GetPersonality(id string) *Personality
- func (m *Manager) ListPersonality() []*Personality
- func (m *Manager) LoadPersonality(id string) error
- func (m *Manager) SavePersonality(id string) error
- func (m *Manager) SetCurrentPersonality(id string) error
- func (m *Manager) UpdatePersonality(id string, updates map[string]interface{}) error
- type Personality
- type SOUL
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Enabled bool `yaml:"enabled"`
DefaultPersonality string `yaml:"default_personality"`
}
Config holds personality configuration
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles personalities
func NewManager ¶
NewManager creates a new personality manager
func (*Manager) AdaptResponse ¶
AdaptResponse adapts a response based on personality
func (*Manager) CreatePersonality ¶
func (m *Manager) CreatePersonality(p *Personality) error
CreatePersonality creates a new custom personality
func (*Manager) DeletePersonality ¶
DeletePersonality deletes a custom personality
func (*Manager) GenerateSystemPrompt ¶
GenerateSystemPrompt generates a dynamic system prompt based on context
func (*Manager) GetCompatibleTools ¶
GetCompatibleTools returns tools suitable for a personality
func (*Manager) GetCurrentPersonality ¶
func (m *Manager) GetCurrentPersonality() *Personality
GetCurrentPersonality returns the current personality
func (*Manager) GetPersonality ¶
func (m *Manager) GetPersonality(id string) *Personality
GetPersonality returns a personality by ID
func (*Manager) ListPersonality ¶
func (m *Manager) ListPersonality() []*Personality
ListPersonality returns all available personalities
func (*Manager) LoadPersonality ¶
LoadPersonality loads a personality from disk
func (*Manager) SavePersonality ¶
SavePersonality saves a personality to disk
func (*Manager) SetCurrentPersonality ¶
SetCurrentPersonality sets the current active personality
type Personality ¶
type Personality struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
SystemPrompt string `json:"system_prompt"`
Tone string `json:"tone"` // formal, casual, technical
Traits []string `json:"traits"` // personality traits
Examples []string `json:"examples"` // example responses
Knowledge []string `json:"knowledge_areas"` // areas of expertise
Greeting string `json:"greeting"`
Farewell string `json:"farewell"`
Flags map[string]bool `json:"flags"` // special behavior flags
CreatedAt int64 `json:"created_at"`
Version int `json:"version"`
}
Personality represents an agent personality
type SOUL ¶
type SOUL struct {
CoreIdentity string `json:"core_identity"`
Values []string `json:"values"`
Communication string `json:"communication_style"`
Boundaries []string `json:"boundaries"`
KnowledgeBase []string `json:"knowledge_base"`
LearningGoals []string `json:"learning_goals"`
}
SOUL represents a persona file (SOUL.md)
func (*SOUL) ToPersonality ¶
func (s *SOUL) ToPersonality(id string) *Personality
ToPersonality converts SOUL to a Personality