Skip to main content

Module secretary

Module secretary 

Source
Expand description

秘书Agent抽象层

秘书Agent是一种特殊的Agent模式,提供持续在线的交互式助手能力。 本模块定义了秘书Agent的核心抽象,具体实现在 mofa-foundation 中。

§设计理念

  • 核心抽象层:框架只提供最核心的抽象与协议
  • 行为可插拔:通过 SecretaryBehavior trait 定义秘书行为
  • 连接可扩展:通过 UserConnection trait 支持多种通信方式

§核心组件

§使用方式

use mofa_kernel::agent::secretary::{SecretaryBehavior, SecretaryContext};
use mofa_foundation::secretary::SecretaryCore;

struct MySecretary { /* ... */ }

#[async_trait]
impl SecretaryBehavior for MySecretary {
    type Input = MyInput;
    type Output = MyOutput;
    type State = MyState;

    async fn handle_input(
        &self,
        input: Self::Input,
        ctx: &mut SecretaryContext<Self::State>,
    ) -> anyhow::Result<Vec<Self::Output>> {
        // 自定义处理逻辑
    }

    fn initial_state(&self) -> Self::State {
        MyState::new()
    }
}

// 创建并启动秘书 (Foundation 层提供具体引擎)
let core = SecretaryCore::new(MySecretary::new());
let (handle, join) = core.start(connection).await;

Modules§

prelude
Prelude 模块

Structs§

SecretaryContext
秘书上下文
SecretaryContextBuilder
上下文构建器

Enums§

PhaseResult
阶段处理结果
SecretaryEvent
秘书内部事件
WorkflowResult
工作流执行结果

Traits§

ConnectionFactory
连接工厂Trait
EventListener
事件监听器Trait
InputHandler
输入处理器Trait
Middleware
中间件Trait
PhaseHandler
阶段处理器Trait
SecretaryBehavior
秘书行为Trait - 核心抽象
SecretaryInput
秘书输入消息Trait
SecretaryOutput
秘书输出消息Trait
UserConnection
用户连接Trait
WorkflowOrchestrator
工作流编排器Trait

Type Aliases§

SharedSecretaryContext
共享秘书上下文