Expand description
§ImitatorT - Spring Boot Style Multi-Agent Framework
A modern, ready-to-use multi-Agent system framework with Spring Boot design philosophy, providing auto-configuration and convention-over-configuration features, allowing developers to quickly build AI Agent collaboration systems.
§快速开始
ⓘ
use imitatort::{quick_start, VirtualCompany, CompanyBuilder, CompanyConfig};
// Method 1: Quick start using auto-configuration
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Auto-configure and start multi-Agent system and web service
imitatort::quick_start().await?;
Ok(())
}ⓘ
// Method 2: Manual configuration startup
use imitatort::{VirtualCompany, CompanyBuilder, CompanyConfig};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Create company instance from configuration
let config = CompanyConfig::test_config(); // or load from YAML file
let company = CompanyBuilder::from_config(config)?
.build_and_save()
.await?;
// 启动多 Agent 系统
company.run().await?;
Ok(())
}Re-exports§
pub use application::framework::CompanyBuilder;pub use application::framework::VirtualCompany;pub use core::config::CompanyConfig;pub use bootstrap::quick_start;pub use bootstrap::start_with_config;pub use bootstrap::FrameworkLauncher;pub use infrastructure::web::start_web_server;pub use domain::Agent;pub use domain::AgentId;pub use domain::Department;pub use domain::Group;pub use domain::GroupVisibility;pub use domain::LLMConfig;pub use domain::Message;pub use domain::MessageTarget;pub use domain::Organization;pub use domain::Role;pub use domain::TriggerCondition;pub use domain::user::User;pub use core::tool::ToolRegistry;pub use core::tool_provider::CompositeToolProvider;pub use core::tool_provider::FrameworkToolProvider;pub use core::tool_provider::RegistryToolProvider;pub use domain::tool::CategoryNodeInfo;pub use domain::tool::CategoryPath;pub use domain::tool::JsonSchema;pub use domain::tool::MatchType;pub use domain::tool::ReturnType;pub use domain::tool::Tool;pub use domain::tool::ToolCallContext;pub use domain::tool::ToolProvider;pub use infrastructure::tool::FrameworkToolExecutor;pub use infrastructure::tool::ToolEnvironment;pub use infrastructure::tool::ToolExecutor;pub use infrastructure::tool::ToolExecutorRegistry;pub use infrastructure::tool::ToolResult;pub use core::capability::CapabilityRegistry;pub use core::capability_provider::CompositeCapabilityProvider;pub use core::capability_provider::FrameworkCapabilityProvider;pub use core::capability_provider::RegistryCapabilityProvider;pub use domain::capability::Capability;pub use domain::capability::CapabilityAccessType;pub use domain::capability::CapabilityCallContext;pub use domain::capability::CapabilityPath;pub use domain::capability::CapabilityProvider;pub use domain::capability::SkillCapabilityBinding;pub use infrastructure::capability::CapabilityExecutor;pub use infrastructure::capability::CapabilityExecutorRegistry;pub use infrastructure::capability::CapabilityResult;pub use infrastructure::capability::McpClient;pub use infrastructure::capability::McpProtocolHandler;pub use infrastructure::capability::McpServer;pub use core::skill::SkillManager;pub use domain::skill::BindingType;pub use domain::skill::Skill;pub use domain::skill::SkillToolBinding;pub use domain::skill::ToolAccessType;pub use domain::skill::BindingType as DomainBindingType;pub use domain::skill::Skill as DomainSkill;pub use domain::skill::SkillToolBinding as DomainSkillToolBinding;pub use domain::skill::ToolAccessType as DomainToolAccessType;pub use core::store::MessageFilter;pub use core::store::Store;pub use infrastructure::store::SqliteStore;pub use config::AppConfig;pub use core::watchdog_agent::ToolExecutionEvent;pub use core::watchdog_agent::WatchdogAgent;pub use core::watchdog_agent::WatchdogClient;pub use core::watchdog_agent::WatchdogRule;pub use core::watchdog::scheduler::ScheduleManager;pub use core::watchdog::scheduler::ScheduleRule;pub use core::watchdog::scheduler::ScheduleTick;pub use core::watchdog::scheduler::ScheduleType;pub use core::watchdog::poller::PollingManager;pub use core::watchdog::poller::PollingRule;pub use core::watchdog::poller::PollingTick;pub use errors::ImitatorError;pub use errors::Result as ImitatorResult;
Modules§
- application
- 应用层 - 业务逻辑编排
- bootstrap
- 框架引导模块 - 提供 Spring Boot 风格的自动配置启动功能
- config
- 应用程序配置管理 - 管理运行时设置如数据库路径、网络绑定等 Application Configuration
- core
- 核心层 - 提供运行时能力和基础服务
- domain
- 领域层 - 定义核心业务实体 Domain Layer
- errors
- 跨层错误类型定义 - 提供统一的错误处理机制 标准化错误处理
- infrastructure
- 基础设施层 - 外部集成和服务