ForcePilot/backend/package/yuxi/channel/message/__init__.py
Kris 0b19470c70 feat(channel/message): 新增消息处理核心模块及相关工具类
本次提交新增了渠道消息处理的完整核心模块,包含以下核心功能:
1.  新增会话围栏类,实现会话并发控制与过期清理
2.  新增媒体清理器,实现过期媒体文件自动清理
3.  新增熔断器组件,实现服务降级与故障隔离
4.  新增消息处理器,完成渠道消息的完整流转处理
5.  新增限流器组件,实现渠道级和账户级流量控制
6.  新增链路追踪模块,集成Langfuse实现调用链路监控
7.  新增指标统计模块,实现消息处理全链路指标采集
8.  新增统一消息模型,封装全渠道消息格式
9.  新增块回复流水线,实现流式回复的合并与去重
10. 新增本地媒体存储模块,实现媒体文件的本地管理
11. 新增回复分发器,实现回复内容的有序发送与延迟处理
12. 完善__init__.py导出所有核心模块与工具类
2026-05-21 10:27:16 +08:00

114 lines
2.8 KiB
Python

from yuxi.channel.message.block_reply_pipeline import create_block_reply_pipeline
from yuxi.channel.message.bridge import AgentBridge
from yuxi.channel.message.circuit_breaker import (
CircuitBreaker,
CircuitBreakerConfig,
CircuitBreakerOpenError,
CircuitState,
)
from yuxi.channel.message.dispatch import MessageDispatcher
from yuxi.channel.message.idempotency import (
ClaimStatus,
IdempotencyBackend,
InMemoryBackend,
RedisBackend,
build_idempotency_key,
check_and_set,
claim,
claim_with_status,
clear_inflight,
commit,
consume,
get_backend,
parse_idempotency_key,
release,
release_and_forget,
reset,
reset_sync,
)
from yuxi.channel.message.langfuse_trace import ChannelTrace, create_channel_trace
from yuxi.channel.message.media import shutdown_media
from yuxi.channel.message.metrics import (
MetricsTimer,
channel_agent_duration_ms,
channel_dispatch_duration_ms,
channel_messages_inflight,
channel_messages_total,
channel_rate_limit_rejects_total,
record_agent_duration_ms,
record_dispatch_duration_ms,
record_message,
record_rate_limit_reject,
registry,
set_inflight,
)
from yuxi.channel.message.models import (
ChunkType,
DispatchResult,
GroupContext,
MentionSource,
MessageReceipt,
MessageType,
PeerInfo,
ReplyPayload,
ReplyStage,
StreamingChunk,
UnifiedMessage,
)
from yuxi.channel.message.rate_limiter import ChannelRateLimiter as RateLimiter
from yuxi.channel.message.rate_limiter import rate_limit_manager
__all__ = [
"AgentBridge",
"ChannelTrace",
"ChunkType",
"CircuitBreaker",
"CircuitBreakerConfig",
"CircuitBreakerOpenError",
"CircuitState",
"ClaimStatus",
"DispatchResult",
"GroupContext",
"IdempotencyBackend",
"InMemoryBackend",
"MentionSource",
"MessageDispatcher",
"MessageReceipt",
"MessageType",
"MetricsTimer",
"PeerInfo",
"RateLimiter",
"rate_limit_manager",
"RedisBackend",
"ReplyPayload",
"ReplyStage",
"StreamingChunk",
"UnifiedMessage",
"build_idempotency_key",
"channel_agent_duration_ms",
"channel_dispatch_duration_ms",
"channel_messages_inflight",
"channel_messages_total",
"channel_rate_limit_rejects_total",
"check_and_set",
"claim",
"claim_with_status",
"clear_inflight",
"commit",
"consume",
"create_block_reply_pipeline",
"create_channel_trace",
"get_backend",
"parse_idempotency_key",
"record_agent_duration_ms",
"record_dispatch_duration_ms",
"record_message",
"record_rate_limit_reject",
"registry",
"release",
"release_and_forget",
"reset",
"reset_sync",
"set_inflight",
"shutdown_media",
]