Clawdbot 串流
了解 Clawdbot AI 助手的串流回應、分塊、輸入指示器和即時訊息傳遞。
Clawdbot 串流概覽
Clawdbot 支援串流回應,實現即時 AI 互動。串流能夠啟用輸入指示器、部分訊息更新和長回應的分塊傳遞。
串流模式
完整串流
完整串流在生成時即時傳遞 token:
{
"streaming": {
"mode": "full",
"chunkSize": 50
}
}分塊傳遞
分塊傳遞將長回應分割:
{
"streaming": {
"mode": "chunked",
"maxLength": 4000,
"delimiter": "\n\n"
}
}提供者支援
| 提供者 | 串流 | 輸入指示 | 分塊 |
|---|---|---|---|
| 部分 | 是 | 是 | |
| Telegram | 完整 | 是 | 是 |
| Discord | 完整 | 是 | 是 |
| 否 | 否 | 是 | |
| Feishu | 部分 | 是 | 是 |
輸入指示器
配置
{
"typing": {
"enabled": true,
"interval": 3000,
"stopOnComplete": true
}
}行為
- 每隔
interval毫秒發送指示器 - 回應完成時自動停止
- 因提供者而異的實現
訊息分塊
為什麼需要分塊?
- 平台訊息長度限制
- 更好的用戶體驗
- 降低超時風險
分塊設定
| 設定 | 預設 | 描述 |
|---|---|---|
maxLength | 4000 | 每塊最大字元數 |
delimiter | \n\n | 偏好的分割點 |
delay | 500 | 分塊之間的毫秒數 |
範例
長回應自動分割:
[Chunk 1] First part of response...
[Chunk 2] Continuation...
[Chunk 3] Final part...串流事件
事件類型
| 事件 | 描述 |
|---|---|
stream_start | 串流開始 |
stream_chunk | 新的內容塊 |
stream_end | 串流完成 |
stream_error | 發生錯誤 |
WebSocket 事件
ws.on('message', (data) => {
const event = JSON.parse(data);
switch(event.type) {
case 'stream_start':
// Show typing indicator
break;
case 'stream_chunk':
// Append content
break;
case 'stream_end':
// Hide typing indicator
break;
}
});緩衝區管理
配置
{
"buffer": {
"maxSize": 10000,
"flushInterval": 100,
"strategy": "adaptive"
}
}策略
| 策略 | 描述 |
|---|---|
immediate | 立即發送每個 token |
batched | 按間隔批次處理 token |
adaptive | 根據網路狀況自適應調整 |
錯誤處理
串流錯誤重試
{
"streaming": {
"retry": {
"enabled": true,
"maxAttempts": 3,
"backoff": "exponential"
}
}
}降級至非串流
如果串流失敗,Clawdbot 會自動降級至非串流傳遞。
效能提示
- 調整分塊大小 根據提供者限制
- 啟用輸入指示器 以獲得更好的用戶體驗
- 使用自適應緩衝 應對可變網路環境
- 監控串流延遲 進行優化
後續步驟
- Clawdbot 概念 - 核心概念
- Clawdbot 頻道 - 頻道設定
- Clawdbot 閘道 - 閘道配置