pub struct CollaborationMessage {
pub id: String,
pub sender: String,
pub receiver: Option<String>,
pub topic: Option<String>,
pub content: CollaborationContent,
pub mode: CollaborationMode,
pub timestamp: u64,
pub metadata: HashMap<String, String>,
}Expand description
协作消息
Agent 之间协作时传递的消息格式,内容应该是 LLM 可理解的
Fields§
§id: String消息唯一标识
sender: String发送者 Agent ID
receiver: Option<String>接收者 Agent ID (None 表示广播)
topic: Option<String>主题 (用于发布-订阅模式)
content: CollaborationContent消息内容 (LLM 可理解的自然语言或结构化数据)
mode: CollaborationMode协作模式
timestamp: u64时间戳
metadata: HashMap<String, String>元数据
Implementations§
Source§impl CollaborationMessage
impl CollaborationMessage
Sourcepub fn new(
sender: String,
content: impl Into<CollaborationContent>,
mode: CollaborationMode,
) -> CollaborationMessage
pub fn new( sender: String, content: impl Into<CollaborationContent>, mode: CollaborationMode, ) -> CollaborationMessage
创建新的协作消息
Sourcepub fn with_receiver(self, receiver: String) -> CollaborationMessage
pub fn with_receiver(self, receiver: String) -> CollaborationMessage
设置接收者
Sourcepub fn with_topic(self, topic: String) -> CollaborationMessage
pub fn with_topic(self, topic: String) -> CollaborationMessage
设置主题
Sourcepub fn with_metadata(self, key: String, value: String) -> CollaborationMessage
pub fn with_metadata(self, key: String, value: String) -> CollaborationMessage
添加元数据
Trait Implementations§
Source§impl Clone for CollaborationMessage
impl Clone for CollaborationMessage
Source§fn clone(&self) -> CollaborationMessage
fn clone(&self) -> CollaborationMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CollaborationMessage
impl Debug for CollaborationMessage
Source§impl<'de> Deserialize<'de> for CollaborationMessage
impl<'de> Deserialize<'de> for CollaborationMessage
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CollaborationMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CollaborationMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for CollaborationMessage
impl Serialize for CollaborationMessage
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for CollaborationMessage
impl RefUnwindSafe for CollaborationMessage
impl Send for CollaborationMessage
impl Sync for CollaborationMessage
impl Unpin for CollaborationMessage
impl UnsafeUnpin for CollaborationMessage
impl UnwindSafe for CollaborationMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage