pub trait AgentMessaging: MoFAAgent {
// Required methods
fn handle_message<'life0, 'async_trait>(
&'life0 mut self,
msg: AgentMessage,
) -> Pin<Box<dyn Future<Output = Result<AgentMessage, AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn handle_event<'life0, 'async_trait>(
&'life0 mut self,
event: AgentEvent,
) -> Pin<Box<dyn Future<Output = Result<(), AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
}Expand description
Agent 消息处理扩展
提供消息和事件处理能力,用于需要与其他 Agent 或系统交互的场景。 这个 trait 是可选的,只有需要消息处理的 Agent 才需要实现。
§提供的方法
handle_message()- 处理消息handle_event()- 处理事件
§示例
ⓘ
use mofa_kernel::agent::core::AgentMessaging;
#[async_trait]
impl AgentMessaging for MyAgent {
async fn handle_message(&mut self, msg: AgentMessage) -> AgentResult<AgentMessage> {
// 处理消息并返回响应
Ok(AgentMessage::new("response"))
}
async fn handle_event(&mut self, event: AgentEvent) -> AgentResult<()> {
// 处理事件
Ok(())
}
}