本次提交新增了渠道消息处理的完整核心模块,包含以下核心功能: 1. 新增会话围栏类,实现会话并发控制与过期清理 2. 新增媒体清理器,实现过期媒体文件自动清理 3. 新增熔断器组件,实现服务降级与故障隔离 4. 新增消息处理器,完成渠道消息的完整流转处理 5. 新增限流器组件,实现渠道级和账户级流量控制 6. 新增链路追踪模块,集成Langfuse实现调用链路监控 7. 新增指标统计模块,实现消息处理全链路指标采集 8. 新增统一消息模型,封装全渠道消息格式 9. 新增块回复流水线,实现流式回复的合并与去重 10. 新增本地媒体存储模块,实现媒体文件的本地管理 11. 新增回复分发器,实现回复内容的有序发送与延迟处理 12. 完善__init__.py导出所有核心模块与工具类
114 lines
2.8 KiB
Python
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",
|
|
] |