conditionally load memory system in goose server (#508)

This commit is contained in:
Michael Neale
2024-12-21 16:13:35 +11:00
committed by GitHub
parent 4db5ff78ac
commit cb1b2b060f
2 changed files with 15 additions and 1 deletions
+5
View File
@@ -25,3 +25,8 @@ run-ui:
run-server:
@echo "Running server..."
cargo run -p goose-server
# make GUI with latest binary
make-ui:
@just release
cd ui/desktop && npm run bundle:default
+10 -1
View File
@@ -3,10 +3,11 @@ use goose::providers::configs::GroqProviderConfig;
use goose::{
agent::Agent,
developer::DeveloperSystem,
memory::MemorySystem,
providers::{configs::ProviderConfig, factory},
systems::goose_hints::GooseHintsSystem,
};
use std::sync::Arc;
use std::{env, sync::Arc};
use tokio::sync::Mutex;
/// Shared application state
@@ -21,6 +22,14 @@ impl AppState {
let provider = factory::get_provider(provider_config.clone())?;
let mut agent = Agent::new(provider);
agent.add_system(Box::new(DeveloperSystem::new()));
// Add memory system only if GOOSE_SERVER__MEMORY is set to "true"
if let Ok(memory_enabled) = env::var("GOOSE_SERVER__MEMORY") {
if memory_enabled.to_lowercase() == "true" {
agent.add_system(Box::new(MemorySystem::new()));
}
}
let goosehints_system = Box::new(GooseHintsSystem::new());
agent.add_system(goosehints_system);