Lyra Agent hinzugefügt, Multi-Agent Routing, BaseAgent refactoring

This commit is contained in:
Sithies
2026-03-16 23:30:42 +01:00
parent 6fc1648939
commit 750fe1f5f6
22 changed files with 454 additions and 111 deletions
+27 -3
View File
@@ -16,6 +16,7 @@ use tracing::info;
use api::llm::lmstudio::LmStudioProvider;
use sebas_tian::Sebas;
use lyra::Lyra;
use skills::personality::PersonalitySkill;
use chat::synology::{handle_incoming, AppState};
#[tokio::main]
@@ -27,27 +28,50 @@ async fn main() -> anyhow::Result<()> {
info!("Nazarick erwacht...");
// Arbeitsverzeichnis auf Workspace-Root setzen
// Damit relative Pfade wie "config/shared_core.md" immer funktionieren
let exe_path = std::env::current_exe()?;
let workspace_root = exe_path
.parent() // debug/
.and_then(|p| p.parent()) // target/
.and_then(|p| p.parent()) // workspace root
.ok_or_else(|| anyhow::anyhow!("Workspace-Root nicht gefunden"))?;
std::env::set_current_dir(workspace_root)?;
info!("Arbeitsverzeichnis: {}", workspace_root.display());
// Config laden
let cfg = config::load()?;
let cfg = config::load().map_err(|e| {
eprintln!("Config Fehler: {}", e);
e
})?;
let port = cfg.chat.listen_port;
// Sebas Tian — Butler Agent
let sebas = Sebas::new(
"config/shared_core.md",
"crates/sebas-tian/config/soul_core.md",
"crates/sebas-tian/config/soul_personality.md",
Box::new(LmStudioProvider::new(
"http://localhost:1234",
"dolphin3.0-llama3.1-8b-abliterated",
)),
Arc::new(PersonalitySkill::new(
"crates/sebas-tian/config/soul_personality.md",
)),
);
// Lyra — Companion Agent (eigenes Modell)
// Lyra — Companion Agent
let lyra = Lyra::new(
"config/shared_core.md",
"crates/lyra/config/soul_core.md",
"crates/lyra/config/soul_personality.md",
Box::new(LmStudioProvider::new(
"http://localhost:1234",
"dolphin3.0-llama3.1-8b-abliterated", // ← später durch Lyras Modell ersetzen
"dolphin3.0-llama3.1-8b-abliterated",
)),
Arc::new(PersonalitySkill::new(
"crates/lyra/config/soul_personality.md",
)),
);