🧪 Skills

stream-formatter

LLM streaming output formatter with auto buffer, format correction, sentence break optimization, markdown rendering, improve chat UX

v1.0.1
❤️ 0
⬇️ 72
👁 1
Share

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

✨ 流式输出格式化器

核心亮点

  1. 🚀 实时流式优化:边输出边修复,不需要等待大模型返回完成,延迟<10ms
  2. 📝 自动格式修复:自动修复Markdown格式错误、不完整的代码块、链接、列表等
  3. 💬 智能断句:按完整句子输出,避免输出半个单词或半句话,大幅提升阅读体验
  4. 🚫 去重处理:自动去除大模型重复输出的内容,避免混乱

🎯 适用场景

  • 所有对话类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)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs