30 lines
987 B
Go
30 lines
987 B
Go
// agent.go – Gemeinsames Interface für alle Agenten
|
||
package agents
|
||
|
||
// HistoryMessage repräsentiert eine vorherige Konversationsnachricht.
|
||
type HistoryMessage struct {
|
||
Role string // "user" oder "assistant"
|
||
Content string
|
||
}
|
||
|
||
// Request enthält die Eingabe für einen Agenten.
|
||
type Request struct {
|
||
Action string // z.B. "store", "list", "done", "summary"
|
||
Args []string // Argumente für die Aktion
|
||
Author string // Discord-Username (für Kontext)
|
||
Source string // Herkunft (z.B. "discord/#channelID")
|
||
History []HistoryMessage // Konversationsverlauf (für Chat-Gedächtnis)
|
||
}
|
||
|
||
// Response enthält die Ausgabe eines Agenten.
|
||
type Response struct {
|
||
Text string // Formattierte Antwort
|
||
Error error // Fehler, falls aufgetreten
|
||
RawAnswer string // Unformatierte LLM-Antwort (für Konversationsverlauf)
|
||
}
|
||
|
||
// Agent ist das gemeinsame Interface für alle Agenten.
|
||
type Agent interface {
|
||
Handle(req Request) Response
|
||
}
|