流式传输与分块
Clawdbot 支持实时流式响应和自动消息分块,确保在各种平台上提供流畅的用户体验。
流式传输
什么是流式传输?
流式传输允许 AI 响应在生成过程中实时显示,而不是等待完整响应后一次性发送。
流式模式
{
channels: {
telegram: {
// 关闭流式传输
streamMode: "off",
// 部分流式传输 (定期更新)
streamMode: "partial",
// 块流式传输 (完整块后更新)
streamMode: "block"
}
}
}模式说明
| 模式 | 描述 | 适用场景 |
|---|---|---|
off | 完成后一次发送 | 低延迟需求 |
partial | 定期更新消息 | 实时反馈 |
block | 完整段落后更新 | 平衡体验 |
消息分块
自动分块
长消息会自动分割成多个较小的消息:
{
channels: {
whatsapp: {
// 每块最大字符数
textChunkLimit: 4000
},
telegram: {
textChunkLimit: 4000
},
discord: {
textChunkLimit: 2000
}
}
}分块规则
- 在句子边界分割 (优先)
- 在段落边界分割
- 强制分割 (达到限制)
平台限制
| 平台 | 消息限制 | 推荐分块大小 |
|---|---|---|
| ~64KB | 4000 | |
| Telegram | 4096 | 4000 |
| Discord | 2000 | 2000 |
| Slack | 40000 | 4000 |
| Signal | ~64KB | 4000 |
媒体处理
媒体大小限制
{
media: {
// 图片最大 6MB
imageMaxMb: 6,
// 视频最大 16MB
videoMaxMb: 16,
// 文档最大 100MB
documentMaxMb: 100,
// 音频最大 16MB
audioMaxMb: 16
}
}媒体优化
Clawdbot 自动优化媒体文件:
- 图片压缩和调整大小
- 视频转码
- 音频格式转换
响应配置
确认反应
收到消息时自动发送 emoji 反应:
{
channels: {
whatsapp: {
// 收到消息时的反应
ackReaction: "👀",
// 处理中的反应
processingReaction: "🤔",
// 完成时的反应
doneReaction: "✅"
}
}
}打字指示器
显示"正在输入..."状态:
{
channels: {
telegram: {
// 启用打字指示器
typingIndicator: true
}
}
}高级设置
草稿流式传输
在私聊中启用草稿流式传输:
{
channels: {
telegram: {
// 仅私聊支持
draftStreaming: true
}
}
}回复模式
控制消息回复方式:
{
channels: {
telegram: {
// 回复模式
replyToMode: "first", // 只回复第一条
// 或
replyToMode: "all", // 回复所有
// 或
replyToMode: "off" // 不使用回复
}
}
}内联按钮
在消息中添加交互按钮:
{
channels: {
telegram: {
// 启用内联按钮
inlineButtons: true
}
}
}性能优化
网络优化
{
network: {
// 重试次数
retryAttempts: 3,
// 重试延迟 (毫秒)
retryDelay: 1000,
// 超时 (毫秒)
timeout: 30000
}
}缓存设置
{
cache: {
// 媒体缓存大小 (MB)
mediaCacheSize: 100,
// 缓存过期时间 (秒)
expiry: 3600
}
}