Expand description
ZoeyAI Core Runtime
This crate provides the core runtime, types, and interfaces for building AI agents optimized for local model deployment. It includes:
- Agent runtime with resource-efficient execution
- Plugin system with dependency resolution
- Memory management optimized for edge devices
- Local model integration (Ollama, llama.cpp, LocalAI)
- Event system for pub/sub messaging
- Planning and cost management system
- Privacy-first, offline-capable architecture
§Example: Local Model Agent
use zoey_core::*;
#[tokio::main]
async fn main() -> Result<()> {
// Initialize runtime for local Ollama model
let runtime = AgentRuntime::new(RuntimeOpts::default()).await?;
// Agent runs 100% locally, no cloud dependencies
Ok(())
}Re-exports§
pub use actions::compose_action_examples;pub use actions::format_action_names;pub use actions::format_actions;pub use character_loader::load_character_from_xml;pub use character_loader::parse_character_xml;pub use config::get_env_bool;pub use config::get_env_float;pub use config::get_env_int;pub use config::get_env_or;pub use config::get_required_env;pub use config::load_env;pub use config::load_env_from_path;pub use config::validate_env;pub use distributed::ClusterConfig;pub use distributed::DistributedMessage;pub use distributed::DistributedRuntime;pub use distributed::NodeInfo;pub use distributed::NodeStatus;pub use dynamic_prompts::compose_random_user;pub use dynamic_prompts::upgrade_double_to_triple;pub use dynamic_prompts::DynamicPromptExecutor;pub use dynamic_prompts::DynamicPromptOptions;pub use dynamic_prompts::MetricsSummary;pub use dynamic_prompts::ModelMetrics;pub use dynamic_prompts::ResponseFormat;pub use dynamic_prompts::SchemaMetrics;pub use dynamic_prompts::SchemaRow;pub use dynamic_prompts::SchemaType;pub use dynamic_prompts::ValidationLevel;pub use zoeyos::ZoeyOS;pub use zoeyos::ZoeyOSMetrics;pub use zoeyos::HealthStatus as ZoeyOSHealthStatus;pub use zoeyos::SendMessageOptions;pub use zoeyos::SendMessageResult;pub use entities::create_unique_uuid_for_entity;pub use entities::find_entity_by_name;pub use entities::find_entity_by_name_with_config;pub use entities::format_entities;pub use entities::get_entity_details;pub use entities::get_recent_interactions;pub use entities::EntityResolutionConfig;pub use error::ZoeyError;pub use error::Result;pub use function_calling::create_function_definition;pub use function_calling::FunctionCall;pub use function_calling::FunctionDefinition;pub use function_calling::FunctionHandler;pub use function_calling::FunctionRegistry;pub use function_calling::FunctionResult;pub use integration::AdaptiveCapable;pub use integration::AlternativeOption;pub use integration::AlwaysOnPlugins;pub use integration::AuditContext;pub use integration::Capability;pub use integration::CapabilityRegistry;pub use integration::CpuInfo;pub use integration::DynamicPluginManager;pub use integration::ExplainabilityCapable;pub use integration::Explanation;pub use integration::FinetuneResult;pub use integration::GpuInfo;pub use integration::HardwareCapable;pub use integration::HardwareInfo;pub use integration::IntegrationBridge;pub use integration::IntegrationSummary;pub use integration::IntentCategory;pub use integration::IntentDetector;pub use integration::MLCapable;pub use integration::MemoryInfo;pub use integration::ModelStatus;pub use integration::OptimizationRecommendation;pub use integration::PluginLifecycle;pub use integration::PluginManagerStatus;pub use integration::PluginPolicy;pub use integration::PluginState;pub use integration::ProcessedIntent;pub use integration::TaskConfig;pub use integration::TrainingExample;pub use integration::WorkflowCapable;pub use integration::WorkflowConfig;pub use integration::WorkflowResult;pub use integration::WorkflowStatus;pub use ipo::create_government_pipeline;pub use ipo::IPOPipeline;pub use ipo::Input;pub use ipo::Output;pub use ipo::Process;pub use ipo::ProcessDecision;pub use message::MessageProcessor;pub use ml_bridge::MLBridge;pub use ml_bridge::MLFramework;pub use ml_bridge::ModelInterface;pub use ml_bridge::PythonEnvironment;pub use ml_bridge::SecurityConfig;pub use ml_bridge::TrainedModel;pub use multi_agent::AgentCapability;pub use multi_agent::AgentStatus as MultiAgentStatus;pub use multi_agent::CoordinationMessage;pub use multi_agent::CoordinationMessageType;pub use multi_agent::MultiAgentCoordinator;pub use multi_agent::MultiAgentService;pub use observability::CostSummary;pub use observability::CostTracker;pub use observability::CostTrackingConfig;pub use observability::LLMCallContext;pub use observability::LLMCostRecord;pub use observability::Observability;pub use observability::ObservabilityConfig;pub use observability::PromptStorageConfig;pub use observability::ProviderPricing;pub use observability::RestApiConfig;pub use planner::AgentBudget;pub use planner::BudgetAction;pub use planner::BudgetCheckResult;pub use planner::BudgetManager;pub use planner::ComplexityAnalyzer;pub use planner::ComplexityAssessment;pub use planner::ComplexityLevel;pub use planner::CostCalculator;pub use planner::CostEstimate;pub use planner::EmojiPlanner;pub use planner::EmojiStrategy;pub use planner::EmojiTone;pub use planner::EmojiType;pub use planner::ExecutionPlan;pub use planner::ExecutionRecord;pub use planner::KnowledgeAnalyzer;pub use planner::KnowledgeGap;pub use planner::KnowledgeState;pub use planner::MetricsTracker;pub use planner::ModelPricing;pub use planner::Optimization;pub use planner::PlanOptimizer;pub use planner::Planner;pub use planner::PlannerConfig;pub use planner::PlannerMetrics;pub use planner::Priority;pub use planner::ResponseStrategy;pub use planner::ResponseTone;pub use planner::ResponseType;pub use planner::TokenBudget;pub use planner::TokenCounter;pub use planner::TokenEstimate;pub use planner::TokenTracker;pub use plugin::get_plugin_actions;pub use plugin::get_plugin_evaluators;pub use plugin::get_plugin_providers;pub use plugin::get_plugin_services;pub use plugin::initialize_plugins;pub use plugin::load_plugins;pub use plugin::resolve_plugin_dependencies;pub use plugin::validate_plugin;pub use resilience::retry_with_backoff;pub use resilience::CircuitBreaker;pub use resilience::CircuitState;pub use resilience::HealthCheck;pub use resilience::HealthChecker;pub use resilience::HealthStatus;pub use resilience::RetryConfig;pub use roles::find_worlds_for_owner;pub use roles::get_user_world_role;pub use roles::is_admin_or_owner;pub use roles::is_moderator_or_higher;pub use roles::Role;pub use runtime::AgentRuntime;pub use runtime::RuntimeOpts;pub use runtime_ref::downcast_runtime_ref;pub use runtime_ref::RuntimeRef;pub use secrets::get_secret;pub use secrets::has_character_secrets;pub use secrets::load_secret_from_env;pub use secrets::remove_secret;pub use secrets::set_default_secrets_from_env;pub use secrets::set_secret;pub use security::decrypt_secret;pub use security::encrypt_secret;pub use security::hash_password;pub use security::sanitize_input;pub use security::validate_input;pub use security::verify_password;pub use security::RateLimiter;pub use streaming::collect_stream;pub use streaming::create_text_stream;pub use streaming::StreamHandler;pub use streaming::TextChunk;pub use streaming::TextStream;pub use streaming::TextStreamSender;pub use templates::compose_prompt_from_state;pub use templates::TemplateEngine;pub use templates::MESSAGE_HANDLER_TEMPLATE;pub use templates::POST_CREATION_TEMPLATE;pub use testing::create_mock_runtime;pub use testing::create_test_memory;pub use testing::create_test_room;pub use testing::run_test_suite;pub use training::create_training_collector;pub use training::DatasetBuilder;pub use training::DatasetStatistics;pub use training::RLHFManager;pub use training::TrainingCollector;pub use training::TrainingConfig;pub use training::TrainingFormat;pub use training::TrainingSample;pub use utils::create_unique_uuid;pub use utils::string_to_uuid;pub use utils::Logger;pub use utils::BM25;pub use extensions::LearningProvider;pub use extensions::LearningFeedback;pub use extensions::FeedbackSource;pub use extensions::TrainingResult;pub use extensions::BasicLearningProvider;pub use extensions::ComplianceProvider;pub use extensions::PiiFinding;pub use extensions::PiiType;pub use extensions::Severity;pub use extensions::ComplianceFramework;pub use extensions::ComplianceCheckResult;pub use extensions::ComplianceFinding;pub use extensions::AuditEntry;pub use extensions::AuditOutcome;pub use extensions::ComplianceAuditReport;pub use extensions::BasicComplianceProvider;pub use extensions::DistributedExecutor;pub use extensions::NodeInfo as ExtNodeInfo;pub use extensions::NodeStatus as ExtNodeStatus;pub use extensions::NodeResources as ExtNodeResources;pub use extensions::DistributedTask;pub use extensions::DistributedTaskResult;pub use extensions::ClusterStatus;pub use extensions::PolicyProvider;pub use extensions::PolicyRule;pub use extensions::PolicyRuleType;pub use extensions::PolicyDecision;pub use extensions::IdentityProvider;pub use extensions::Identity;pub use extensions::ConsentScope;pub use extensions::DataExportRequest;pub use extensions::DataDeletionRequest;pub use extensions::DataRequestStatus;pub use extensions::ExtensionRegistry;pub use types::*;
Modules§
- actions
- Action formatting utilities
- agent_
api - Agent API module
- character_
loader - Character configuration loader from XML files
- config
- Configuration management and environment variable loading
- detectors
- distributed
- Distributed Runtime Support
- dynamic_
prompts - Dynamic prompt execution system with schema validation
- entities
- Entity resolution and management utilities
- error
- Error types for ZoeyOS core
- extensions
- Extension Points for Enterprise Features
- function_
calling - Function calling support for LLMs
- infrastructure
- Infrastructure module for production-ready features
- integration
- Cross-Plugin Integration Module
- ipo
- IPO Pattern - Input, Process, Output
- message
- Message processing pipeline
- ml_
bridge - ML Bridge - Python/Rust Interop for Machine Learning
- multi_
agent - Multi-Agent Coordination
- nlp
- observability
- pipeline
- planner
- Planning phase for agent operations
- plugin
- Plugin loading and management utilities
- plugin_
system - preprocessor
- resilience
- Resilience patterns: Circuit breakers, health checks, retry logic
- roles
- Role management utilities for worlds/servers
- runtime
- runtime_
ref - Thread-safe runtime reference wrapper for components
- secrets
- Secrets management utilities
- security
- Security features: encryption, validation, rate limiting
- streaming
- Streaming response support
- templates
- Template engine for prompt generation
- testing
- Testing utilities and framework
- training
- Training and reinforcement learning utilities
- types
- Core type definitions for ZoeyOS
- utils
- Utility functions and helpers
- workers
- zoeyos
- ZoeyOS - Multi-agent orchestration framework
Structs§
- Uuid
- A Universally Unique Identifier (UUID).