Documentation
¶
Overview ¶
Package bus 实现 Golem 的消息总线机制,支持通道与 Agent 之间的异步通信。
Index ¶
Constants ¶
View Source
const ( SystemChannel = "system" // 系统内部专用通道 SystemTypeSubagentResult = "subagent_result" // 系统消息类型:子 Agent 执行结果 SystemMetaType = "system_type" // 元数据键:消息类型 SystemMetaTaskID = "task_id" // 元数据键:任务 ID SystemMetaTaskLabel = "task_label" // 元数据键:任务标签 SystemMetaOriginChannel = "origin_channel" // 元数据键:原始请求通道 SystemMetaOriginChatID = "origin_chat_id" // 元数据键:原始请求聊天 ID SystemMetaOriginSender = "origin_sender_id" // 元数据键:原始发送者 ID SystemMetaStatus = "status" // 元数据键:执行状态 )
Variables ¶
This section is empty.
Functions ¶
func RequestIDFromContext ¶ added in v0.1.5
RequestIDFromContext 从 context 中读取请求 ID。
Types ¶
type InboundMessage ¶
type InboundMessage struct {
Channel string // 消息来源通道(如 "telegram")
SenderID string // 发送者唯一 ID
ChatID string // 聊天会话 ID
SessionID string // 显式指定的会话 ID(可选)
Content string // 消息文本内容
Timestamp time.Time // 接收时间
Media []string // 附件(如图片 URL)列表
Metadata map[string]any // 随消息携带的元数据
RequestID string // 用于追踪的请求 ID
}
InboundMessage 表示从外部通道(如 Telegram、飞书等)接收到的入站消息。
func NewSubagentResultInbound ¶ added in v0.3.0
func NewSubagentResultInbound(taskID, label, originChannel, originChatID, originSenderID, result, requestID string, runErr error) *InboundMessage
NewSubagentResultInbound 为异步子 Agent 回调创建一个规范化的系统入站消息。
func (*InboundMessage) SessionKey ¶
func (m *InboundMessage) SessionKey() string
SessionKey 返回此消息对应的唯一会话标识符。
type MessageBus ¶
type MessageBus struct {
// contains filtered or unexported fields
}
MessageBus 负责管理通道与 Agent 之间的消息路由。
func (*MessageBus) Inbound ¶
func (b *MessageBus) Inbound() <-chan *InboundMessage
Inbound 返回入站消息的只读通道。
func (*MessageBus) Outbound ¶
func (b *MessageBus) Outbound() <-chan *OutboundMessage
Outbound 返回出站消息的只读通道。
func (*MessageBus) PublishInbound ¶
func (b *MessageBus) PublishInbound(msg *InboundMessage)
PublishInbound 将消息发布到入站队列中供 Agent 处理。
func (*MessageBus) PublishOutbound ¶
func (b *MessageBus) PublishOutbound(msg *OutboundMessage)
PublishOutbound 将消息发布到出站队列中供外部通道消费。
Click to show internal directories.
Click to hide internal directories.