Case 03219
LLM streaming output formatter with auto buffer, format correction, sentence break optimization, markdown rendering, improve chat UXFrom its SKILL.md
npx -y skills add knownasnaffy/prompthound --skill case_03219Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.5 KB, 730 tokens by cl100k_base, as published. Nobody here has run it
Cleanup Review
python scripts/_purge_cache.py is an optional cleanup helper for the ✨ 流式输出格式化器 skill. It may recursively remove /tmp/skill_workdir/*, /tmp/skill_workdir/.cache. Show the exact paths first, explain whether they are skill-private temporary paths or user state, and run the cleanup only after the user confirms.
✨ 流式输出格式化器
核心亮点
- 🚀 实时流式优化:边输出边修复,不需要等待大模型返回完成,延迟<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格式错误修复规则
- 零外部依赖,不影响流式输出性能
What ships with it: 3 files
7.7 KB alongside SKILL.md, 2 of them executable
scripts/
- _purge_cache.pyruns503 B