名称: 流式传输 描述: “响应流式传输配置与实时输出” 表情符号: “📡”
流式传输 - 完整API参考
配置响应流式传输、打字指示器和实时消息传递。
聊天命令
查看设置
/streaming 显示当前设置
/streaming status 流式传输状态
配置流式传输
/streaming enable 启用流式传输
/streaming disable 禁用流式传输
/streaming chunk-size 50 设置块大小(字符数)
/streaming delay 100 设置块之间的延迟(毫秒)
打字指示器
/streaming typing on 启用打字指示器
/streaming typing off 禁用打字指示器
/streaming typing duration 3000 打字持续时间(毫秒)
平台设置
/streaming platforms 显示平台限制
/streaming platform telegram chunk 100 设置特定平台
TypeScript API 参考
创建流式传输配置
import { createStreamingConfig } from 'clodds/streaming';
const streaming = createStreamingConfig({
// 启用流式传输
enabled: true,
// 块设置
minChunkSize: 20, // 每块最小字符数
maxChunkSize: 200, // 每块最大字符数
chunkDelayMs: 50, // 块之间的延迟
// 打字指示器
showTyping: true,
typingDurationMs: 3000,
// 平台特定限制
platformLimits: {
telegram: { maxMessageLength: 4096, maxChunkSize: 100 },
discord: { maxMessageLength: 2000, maxChunkSize: 150 },
slack: { maxMessageLength: 40000, maxChunkSize: 200 },
},
});
启用/禁用
// 启用流式传输
streaming.enable();
// 禁用流式传输
streaming.disable();
// 检查状态
const enabled = streaming.isEnabled();
配置块
// 设置块大小
streaming.setChunkSize(100);
// 设置延迟
streaming.setChunkDelay(75);
// 获取当前设置
const settings = streaming.getSettings();
console.log(`块大小: ${settings.chunkSize}`);
console.log(`延迟: ${settings.chunkDelayMs}ms`);
平台设置
// 设置平台特定限制
streaming.setPlatformLimit('telegram', {
maxMessageLength: 4096,
maxChunkSize: 80,
});
// 获取平台限制
const limits = streaming.getPlatformLimits();
打字指示器
// 启用打字
streaming.enableTyping();
// 禁用打字
streaming.disableTyping();
// 设置持续时间
streaming.setTypingDuration(5000);
平台限制
| 平台 | 最大消息长度 | 推荐块大小 |
|---|---|---|
| Telegram | 4,096 字符 | 80-100 |
| Discord | 2,000 字符 | 100-150 |
| Slack | 40,000 字符 | 150-200 |
| 65,536 字符 | 100-150 | |
| WebChat | 无限制 | 150-200 |
最佳实践
- 为移动设备使用较小的块 — 在慢速连接上提供更好的用户体验
- 调整延迟以提高可读性 — 50-100毫秒感觉自然
- 对简短响应禁用 — 不要流式传输“OK”
- 监控性能 — 流式传输会增加开销