🧪 Skills
stream-formatter
LLM streaming output formatter with auto buffer, format correction, sentence break optimization, markdown rendering, improve chat UX
v1.0.1
Description
name: stream-formatter slug: stream-formatter description: LLM streaming output formatter with auto buffer, format correction, sentence break optimization, markdown rendering, improve chat UX
✨ 流式输出格式化器
核心亮点
- 🚀 实时流式优化:边输出边修复,不需要等待大模型返回完成,延迟<10ms
- 📝 自动格式修复:自动修复Markdown格式错误、不完整的代码块、链接、列表等
- 💬 智能断句:按完整句子输出,避免输出半个单词或半句话,大幅提升阅读体验
- 🚫 去重处理:自动去除大模型重复输出的内容,避免混乱
🎯 适用场景
- 所有对话类Agent、聊天机器人
- 实时内容生成场景
- Markdown内容流式渲染
- 提升用户交互体验的所有场景
📝 参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 操作类型:init/process/reset |
| options | object | 否 | 初始化配置项 |
| chunk | string | 否 | process操作必填,大模型返回的流式块 |
| flush | boolean | 否 | process操作可选,是否强制输出所有缓冲区内容 |
💡 开箱即用示例
基础用法
// 初始化
await skills.streamFormatter({ action: "init" });
// 处理流式输出
for await (const chunk of llm.streamResponse) {
const result = await skills.streamFormatter({
action: "process",
chunk: chunk.text
});
if (result.output) {
sendToUser(result.output); // 只输出完整的句子
}
}
// 最后强制刷新缓冲区
const final = await skills.streamFormatter({
action: "process",
chunk: "",
flush: true
});
if (final.output) {
sendToUser(final.output);
}
自定义配置
await skills.streamFormatter({
action: "init",
options: {
buffer_size: 20,
format_markdown: true,
fix_incomplete_sentences: true
}
});
🔧 技术实现说明
- 轻量级缓冲区设计,内存占用<1KB
- 支持中英文双语标点识别,断句准确率95%+
- 内置常见Markdown格式错误修复规则
- 零外部依赖,不影响流式输出性能
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!