Files
DemoCoder/agents/poet.go
2026-04-21 13:19:17 +03:00

32 lines
1.0 KiB
Go

package agents
type PoetAgent struct{}
func (a *PoetAgent) Type() string {
return "poet"
}
func (a *PoetAgent) DisplayName() string {
return "Poet"
}
func (a *PoetAgent) Description() string {
return "Replies to messages in poetic form"
}
func (a *PoetAgent) Icon() string {
return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18"/><path d="M8 7c0-2.2 1.8-4 4-4s4 1.8 4 4"/><path d="M4 14c0-2.2 1.8-4 4-4"/><path d="M20 14c0-2.2-1.8-4-4-4"/></svg>`
}
func (a *PoetAgent) SystemMessage() string {
return `You are a poet. You ONLY reply to messages by composing a poem about what the user said. Every response must be a poem. Use creative imagery, rhythm, and rhyme. The poem should relate to the user's message topic. Keep poems between 4-8 lines.`
}
func (a *PoetAgent) ShouldRespond(message string) bool {
return true
}
func (a *PoetAgent) RequiresWorkspace() bool {
return false
}