新增小红书、XMPP、元宝、Zalo 四个渠道扩展。 小红书渠道扩展主要模块:config, gateway, webhook, outbound, streaming, pairing, security, dedupe, media, status, window XMPP 渠道扩展主要模块:plugin, config, gateway, outbound, streaming, pairing, security, dedupe, accounts, commands, muc, rate_limiter, stanza_utils, status, monitor 元宝渠道扩展主要模块:plugin, client, config_schema, gateway, outbound(chunk/queue/transport), inbound(dispatcher), streaming, pairing, security, accounts, actions, commands, codec(biz/conn), session, shared, utils Zalo 渠道扩展主要模块:api, config, gateway, webhook, outbound, pairing, security, session, polling, monitor, status
33 lines
894 B
Python
33 lines
894 B
Python
class XiaohongshuStreaming:
|
|
streaming_mode = "block"
|
|
preview_stream_throttle_ms = 160
|
|
preview_min_initial_chars = 18
|
|
|
|
block_streaming_enabled = True
|
|
block_streaming_break = "text_end"
|
|
block_streaming_chunk_min_chars = 300
|
|
block_streaming_chunk_max_chars = 900
|
|
block_streaming_chunk_break_preference = "paragraph"
|
|
block_streaming_coalesce_defaults = {
|
|
"min_chars": 80,
|
|
"max_chars": 400,
|
|
"idle_ms": 500,
|
|
}
|
|
|
|
ENABLED = True
|
|
STRATEGY = "block"
|
|
MIN_CHARS = 300
|
|
MAX_INTERVAL_MS = 500
|
|
MAX_BLOCKS = 5
|
|
FINISH_MARK = "[⏳]"
|
|
|
|
@classmethod
|
|
def should_stream(cls, estimated_length: int) -> bool:
|
|
return estimated_length > cls.MIN_CHARS
|
|
|
|
@classmethod
|
|
def build_chunk(cls, text: str, is_final: bool) -> str:
|
|
if is_final:
|
|
return text
|
|
return f"{text}\n{cls.FINISH_MARK}"
|