add logging config to audio server

add audio client
change delimiter for mcp tools from "::" to ":" to save tokens
This commit is contained in:
milan
2026-04-09 16:21:58 +02:00
parent 5def79b4ca
commit 5bf98a1efc
17 changed files with 776 additions and 35 deletions
+14 -4
View File
@@ -1,6 +1,7 @@
mod config;
mod model;
use own_mcp::audio::{AudioClientTrait};
use own_mcp::mcp::chat::{PermissionAnswer, ToolPermission};
use crate::config::Config;
use crate::model::create_model_from_config;
@@ -18,6 +19,12 @@ async fn main() {
std::process::exit(1);
}).unwrap();
let audio_client = config.audio_client();
log::debug!("Audio server status {:?}", audio_client.status().await.inspect_err(|e|{
log::error!("audio server error {}", e);
std::process::exit(1);
}).unwrap());
let ollama = config.ollama_instance();
let mcp_clients = config.mcp_clients().await;
@@ -29,7 +36,8 @@ async fn main() {
std::process::exit(1);
}).unwrap();
let system_prompt = "Du bist ein Assistent, der per Sprache bedient wird. Du erhälst die Transkription. \
let system_prompt = "Du bist ein Assistent, der per Sprache bedient wird. Du erhälst die Transkription \
und dein Output wird per Sprache ausgegeben und sollte dementsprechend auch kurz sein. \
Wichtiger als deine Antworten sind deine Aktionen.\
Nutze bitte die tools, falls du sie brauchst um Informationen zu bekommen (z.B: über das aktuelle Datum oder den aktuellen Wochentag). \
Du bist in einem Agent Loop und kannst mehrere Tools hintereinander nutzen. \
@@ -44,10 +52,12 @@ async fn main() {
log::info!("all tools: {:#?}", agent_chat.get_all_tools().collect::<Vec<_>>());
agent_chat.set_permission("mcp-playground-echo-server::echo".to_string(), ToolPermission::Allowed).unwrap();
agent_chat.set_permission("datetime:get_weekday".to_string(), ToolPermission::Allowed).unwrap();
agent_chat.set_permission("datetime:get_utc_datetime".to_string(), ToolPermission::Allowed).unwrap();
agent_chat.set_permission("datetime:get_local_datetime".to_string(), ToolPermission::Allowed).unwrap();
agent_chat.set_permission("datetime:get_week".to_string(), ToolPermission::Allowed).unwrap();
let answer = agent_chat.message("Welche Tools kannst du benutzten?".to_string(), permission_callback).await;
let answer = agent_chat.message("Teste beide Server aus. Nutze bei fetch https://example.com/. Melde mir die Ergebnisse zurück.".to_string(), permission_callback).await;
let answer = agent_chat.message("In welcher Kalenderwoche befinden wir uns gerade?".to_string(), permission_callback).await;
dbg!(answer);
}