当前位置: 首页 > article >正文

OpenClaw从入门到应用——Agent:流式传输与分块

通过OpenClaw实现副业收入《OpenClaw赚钱实录从“养龙虾“到可持续变现的实践指南》OpenClaw 有两个独立的流式传输层块流式传输频道在助手生成内容时发出已完成的块。这些是普通的频道消息不是令牌增量。预览流式传输Telegram/Discord/Slack在生成过程中更新一个临时的预览消息。目前没有真正的令牌增量流式传输到频道消息。预览流式传输是基于消息的发送 编辑/追加。块流式传输频道消息块流式传输在助手输出可用时以粗粒度的块发送。模型输出 └─ text_delta/events ├─ (blockStreamingBreaktext_end) │ └─ 分块器在缓冲区增长时发出块 └─ (blockStreamingBreakmessage_end) └─ 分块器在 message_end 时刷新 └─ 频道发送块回复图例text_delta/events模型流事件对于非流式模型可能很稀疏。分块器EmbeddedBlockChunker应用最小/最大边界 断点偏好。频道发送实际的出站消息块回复。控制选项agents.defaults.blockStreamingDefaulton/off默认关闭。频道覆盖*.blockStreaming以及每个账户的变体可为每个频道强制设置on/off。agents.defaults.blockStreamingBreaktext_end或message_end。agents.defaults.blockStreamingChunk{ minChars, maxChars, breakPreference? }。agents.defaults.blockStreamingCoalesce{ minChars?, maxChars?, idleMs? }在发送前合并流式块。频道硬性上限*.textChunkLimit例如channels.whatsapp.textChunkLimit。频道分块模式*.chunkMode默认为lengthnewline在长度分块前按空行段落边界分割。Discord 软性上限channels.discord.maxLinesPerMessage默认 17 行分割过长的回复以避免 UI 裁剪。边界语义text_end一旦分块器发出就流式传输块在每个text_end时刷新。message_end等待助手消息完成然后刷新缓冲的输出。即使使用message_end如果缓冲的文本超过maxChars仍然会使用分块器因此可以在末尾发出多个块。分块算法低/高边界块分块由EmbeddedBlockChunker实现低边界在缓冲区 minChars之前不要发出除非强制。高边界优先在maxChars之前分割如果强制则在maxChars处分割。断点偏好paragraph→newline→sentence→whitespace→ 硬性分割。代码围栏永远不会在围栏内部进行分割当在maxChars处强制分割时会关闭并重新打开围栏以保持 Markdown 有效性。maxChars会被限制在频道的textChunkLimit内因此你无法超过每个频道的上限。合并合并流式块启用块流式传输后OpenClaw 可以在发送之前合并连续的块。这减少了“单行垃圾信息”同时仍然提供渐进式输出。合并会在刷新前等待空闲间隔idleMs。缓冲区受maxChars限制如果超过该限制则会刷新。minChars防止在积累足够文本之前发送微小片段最终刷新总是会发送剩余文本。连接符源自blockStreamingChunk.breakPreferenceparagraph→\n\nnewline→\nsentence→ 空格。可通过*.blockStreamingCoalesce进行频道覆盖包括每个账户的配置。除非被覆盖否则 Signal/Slack/Discord 的默认合并minChars会提高到 1500。块之间的类人节奏启用块流式传输后你可以在块回复之间添加随机暂停在第一个块之后。这让多气泡回复感觉更自然。配置agents.defaults.humanDelay可通过agents.list[].humanDelay为每个代理覆盖。模式off默认natural800–2500mscustomminMs/maxMs。仅适用于块回复不适用于最终回复或工具摘要。“流式分块或一次性全部”这对应于流式分块blockStreamingDefault: onblockStreamingBreak: text_end边生成边发出。非 Telegram 频道还需要*.blockStreaming: true。在末尾一次性流式传输所有内容blockStreamingBreak: message_end一次性刷新如果内容很长可能会有多个块。无块流式传输blockStreamingDefault: off仅最终回复。频道说明除非显式将*.blockStreaming设置为true否则块流式传输默认关闭。频道可以在没有块回复的情况下流式传输实时预览channels..streaming。配置位置提醒blockStreaming*默认值位于agents.defaults下而不是根配置中。预览流式传输模式规范键channels..streaming模式off禁用预览流式传输。partial单个预览用最新文本替换。block预览以分块/追加步骤更新。progress在生成期间显示进度/状态预览完成后显示最终答案。频道映射频道offpartialblockprogressTelegram✅✅✅映射为partialDiscord✅✅✅映射为partialSlack✅✅✅✅仅限 Slack当streamingpartial时channels.slack.nativeStreaming切换 Slack 原生流式传输 API 调用默认true。旧键迁移TelegramstreamMode 布尔值streaming自动迁移到streaming枚举。DiscordstreamMode 布尔值streaming自动迁移到streaming枚举。SlackstreamMode自动迁移到streaming枚举布尔值streaming自动迁移到nativeStreaming。运行时行为Telegram在私聊和群组/主题中使用sendMessageeditMessageText进行预览更新。当显式启用 Telegram 块流式传输时会跳过预览流式传输以避免双重流式传输。/reasoning stream可以将推理写入预览。Discord使用发送 编辑预览消息。block模式使用草稿分块draftChunk。当显式启用 Discord 块流式传输时会跳过预览流式传输。Slackpartial在可用时可以使用 Slack 原生流式传输chat.startStream/append/stop。block使用追加式草稿预览。progress使用状态预览文本然后显示最终答案。链接标题# 流式传输 分块OpenClaw 有两个独立的流式传输层块流式传输频道在助手生成内容时发出已完成的块。这些是普通的频道消息不是令牌增量。预览流式传输Telegram/Discord/Slack在生成过程中更新一个临时的预览消息。目前没有真正的令牌增量流式传输到频道消息。预览流式传输是基于消息的发送 编辑/追加。块流式传输频道消息块流式传输在助手输出可用时以粗粒度的块发送。模型输出 └─ text_delta/events ├─ (blockStreamingBreaktext_end) │ └─ 分块器在缓冲区增长时发出块 └─ (blockStreamingBreakmessage_end) └─ 分块器在 message_end 时刷新 └─ 频道发送块回复图例text_delta/events模型流事件对于非流式模型可能很稀疏。分块器EmbeddedBlockChunker应用最小/最大边界 断点偏好。频道发送实际的出站消息块回复。控制选项agents.defaults.blockStreamingDefaulton/off默认关闭。频道覆盖*.blockStreaming以及每个账户的变体可为每个频道强制设置on/off。agents.defaults.blockStreamingBreaktext_end或message_end。agents.defaults.blockStreamingChunk{ minChars, maxChars, breakPreference? }。agents.defaults.blockStreamingCoalesce{ minChars?, maxChars?, idleMs? }在发送前合并流式块。频道硬性上限*.textChunkLimit例如channels.whatsapp.textChunkLimit。频道分块模式*.chunkMode默认为lengthnewline在长度分块前按空行段落边界分割。Discord 软性上限channels.discord.maxLinesPerMessage默认 17 行分割过长的回复以避免 UI 裁剪。边界语义text_end一旦分块器发出就流式传输块在每个text_end时刷新。message_end等待助手消息完成然后刷新缓冲的输出。即使使用message_end如果缓冲的文本超过maxChars仍然会使用分块器因此可以在末尾发出多个块。分块算法低/高边界块分块由EmbeddedBlockChunker实现低边界在缓冲区 minChars之前不要发出除非强制。高边界优先在maxChars之前分割如果强制则在maxChars处分割。断点偏好paragraph→newline→sentence→whitespace→ 硬性分割。代码围栏永远不会在围栏内部进行分割当在maxChars处强制分割时会关闭并重新打开围栏以保持 Markdown 有效性。maxChars会被限制在频道的textChunkLimit内因此你无法超过每个频道的上限。合并合并流式块启用块流式传输后OpenClaw 可以在发送之前合并连续的块。这减少了“单行垃圾信息”同时仍然提供渐进式输出。合并会在刷新前等待空闲间隔idleMs。缓冲区受maxChars限制如果超过该限制则会刷新。minChars防止在积累足够文本之前发送微小片段最终刷新总是会发送剩余文本。连接符源自blockStreamingChunk.breakPreferenceparagraph→\n\nnewline→\nsentence→ 空格。可通过*.blockStreamingCoalesce进行频道覆盖包括每个账户的配置。除非被覆盖否则 Signal/Slack/Discord 的默认合并minChars会提高到 1500。块之间的类人节奏启用块流式传输后你可以在块回复之间添加随机暂停在第一个块之后。这让多气泡回复感觉更自然。配置agents.defaults.humanDelay可通过agents.list[].humanDelay为每个代理覆盖。模式off默认natural800–2500mscustomminMs/maxMs。仅适用于块回复不适用于最终回复或工具摘要。“流式分块或一次性全部”这对应于流式分块blockStreamingDefault: onblockStreamingBreak: text_end边生成边发出。非 Telegram 频道还需要*.blockStreaming: true。在末尾一次性流式传输所有内容blockStreamingBreak: message_end一次性刷新如果内容很长可能会有多个块。无块流式传输blockStreamingDefault: off仅最终回复。频道说明除非显式将*.blockStreaming设置为true否则块流式传输默认关闭。频道可以在没有块回复的情况下流式传输实时预览channels..streaming。配置位置提醒blockStreaming*默认值位于agents.defaults下而不是根配置中。预览流式传输模式规范键channels..streaming模式off禁用预览流式传输。partial单个预览用最新文本替换。block预览以分块/追加步骤更新。progress在生成期间显示进度/状态预览完成后显示最终答案。频道映射频道offpartialblockprogressTelegram✅✅✅映射为partialDiscord✅✅✅映射为partialSlack✅✅✅✅仅限 Slack当streamingpartial时channels.slack.nativeStreaming切换 Slack 原生流式传输 API 调用默认true。旧键迁移TelegramstreamMode 布尔值streaming自动迁移到streaming枚举。DiscordstreamMode 布尔值streaming自动迁移到streaming枚举。SlackstreamMode自动迁移到streaming枚举布尔值streaming自动迁移到nativeStreaming。运行时行为Telegram在私聊和群组/主题中使用sendMessageeditMessageText进行预览更新。当显式启用 Telegram 块流式传输时会跳过预览流式传输以避免双重流式传输。/reasoning stream可以将推理写入预览。Discord使用发送 编辑预览消息。block模式使用草稿分块draftChunk。当显式启用 Discord 块流式传输时会跳过预览流式传输。Slackpartial在可用时可以使用 Slack 原生流式传输chat.startStream/append/stop。block使用追加式草稿预览。progress使用状态预览文本然后显示最终答案。

相关文章:

OpenClaw从入门到应用——Agent:流式传输与分块

通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》 OpenClaw 有两个独立的流式传输层: 块流式传输(频道): 在助手生成内容时,发出已完成的块。这些是普通的…...

学习资源及鸣谢

笔记内容基于黑马程序员的Java课程整理,代码和思路来自课程,部分有个人理解和补充。感谢黑马程序员的优质教学。 主要学习资源:黑马程序员Java课程 工具:IDEA、JDK…… 参考网站:CSDN、Stack Overflow、GitHub……...

3个技术突破:如何用Qt5+Go构建跨平台音频下载解决方案

3个技术突破:如何用Qt5Go构建跨平台音频下载解决方案 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 在数字内容消费日…...

将ClaudeCode编程助手对接至Taotoken的配置步骤详解

将ClaudeCode编程助手对接至Taotoken的配置步骤详解 1. 准备工作 在开始配置前,请确保已完成以下准备工作:获取有效的Taotoken API Key,该Key可在Taotoken控制台的API Key管理页面创建。同时确认已安装ClaudeCode编程助手,支持版…...

如何永久保存微信聊天记录:WeChatMsg完整指南,高效备份你的数字记忆

如何永久保存微信聊天记录:WeChatMsg完整指南,高效备份你的数字记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/…...

springMVC-获取前端请求的数据与三个作用域一文彻底搞懂 OpenClaw 的架构设计与运行原理(万字图文)

在AI辅助开发的语境下,Skill就是一个包含了领域知识、最佳实践、代码模板的知识包。 以"DAO层CRUD生成"为例,一个Skill包含: /mnt/skills/dao-crud/ ├── SKILL.md # 使用说明 │ ├── 何时使用这个Skill │ …...

电力设备红外图像与可见光图像配准数据集205对共410张图无标注

电力设备红外与可见光图像配准数据集 数据集概述 本数据集包含205对电力设备红外与可见光图像,用于图像配准研究。所有图像均无标注,需要研究者自行进行特征匹配与变换矩阵估计。 数据集结构 c:\Users\Administrator\Downloads\data\ └── JPEGImages\…...

Claude学习笔记【第三章】- Claude Code的基本使用

←上一章 第一部分 章节任务 已经完成了Claude Code的配置,接下来我应该如何使用他? 他能够为我做什么事情? 如何使用slash( / )? 本章将针对上面的问题,教学Claude Code( 命令行下 )的基本使用方法。 第二部分 Claude Code对话 首先是最基本的部…...

告别风扇噪音与高温:FanControl让你的PC散热更智能

告别风扇噪音与高温:FanControl让你的PC散热更智能 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...

php把运行时重构成常驻内存 + 多进程 + 事件驱动(Reactor) 模式完整流程=workerman

纯手写版,不靠 Workerman/Swoole。只用 PHP 自带能力:pcntl_fork stream_socket_server stream_select,实现你要的:常驻内存 多进程 Reactor 事件驱动 …...

从CREO到URDF:机器人开发的终极自动化转换指南

从CREO到URDF:机器人开发的终极自动化转换指南 【免费下载链接】creo2urdf Generate URDF models from CREO mechanisms 项目地址: https://gitcode.com/gh_mirrors/cr/creo2urdf 在机器人设计与仿真领域,从CAD模型到仿真环境的转换一直是制约开发…...

Appium Inspector进阶玩法:除了看元素,这些隐藏功能让你的测试效率翻倍

Appium Inspector进阶玩法:除了看元素,这些隐藏功能让你的测试效率翻倍 如果你已经熟悉Appium Inspector的基础功能——查看元素、获取属性、验证定位策略,那么是时候解锁它的隐藏技能了。这款工具远不止是一个简单的元素查看器,…...

WinAppDriver环境搭建避坑大全:解决.NET依赖、版本冲突和‘找不到元素’的常见问题

WinAppDriver实战避坑指南:从环境搭建到元素定位的深度解决方案 Windows桌面应用自动化测试领域,WinAppDriver作为微软官方推出的测试框架,正逐渐成为企业级自动化测试的首选方案。但在实际项目落地过程中,开发者们常会遇到各种&…...

LLM自我进化:基于自我博弈与DPO的AI能力提升框架

1. 项目概述:当AI开始“思考”自己的进化最近在开源社区里,一个名为czhou578/llm-god的项目引起了我的注意。这个名字本身就充满了哲学意味——“LLM之神”。它不是一个简单的模型微调工具,也不是一个应用框架,而是一个试图让大型…...

点云补全技术:原理、方法与应用场景解析

1. 点云补全技术概述点云补全技术是计算机视觉和三维重建领域的重要研究方向,它致力于解决现实场景中由于遮挡、传感器限制或物体材质导致的点云数据缺失问题。想象一下用激光雷达扫描一辆汽车时,车身某些部位会因为角度问题无法被完整捕捉,这…...

零样本3D点云补全技术LaS-Comp原理与实践

1. 项目背景与核心价值去年在CVPR上看到一篇关于3D形状补全的论文时,我正为一个工业检测项目头疼——产线上扫描的零件点云总是存在缺失。传统方法要么需要大量配对数据训练,要么补全结果扭曲变形。直到发现LaS-Comp这个框架,才意识到零样本学…...

配置中心选型生死局:对比Nacos/Consul/Etcd/Apollo在Python生态中的启动延迟、内存开销、TLS握手耗时与Leader选举收敛时间(实测数据表已附)

更多请点击: https://intelliparadigm.com 第一章:Python分布式配置的核心挑战与选型逻辑 在微服务与云原生架构普及的今天,Python应用常以多实例、跨环境(开发/测试/生产)、多集群方式部署。此时,硬编码配…...

5分钟掌握Windows安卓应用无缝运行方案

5分钟掌握Windows安卓应用无缝运行方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接运行安卓应用,却厌倦了臃肿模拟器的漫长等待&…...

【工业级Python 3D管线优化白皮书】:基于NVIDIA Nsight+py-spy双工具链的CPU-GPU异步流水线调优实录(仅限首批200位开发者获取)

更多请点击: https://intelliparadigm.com 第一章:Python 3D管线优化的工业级挑战与范式演进 在工业级三维可视化与仿真系统中,Python 并非传统首选语言,但其生态(如 PyVista、trimesh、Open3D 和 Blender Python AP…...

TiViBench:视频生成模型的视觉推理评估系统

1. 项目概述TiViBench是一个专门用于评估视频生成模型视觉推理能力的层次化基准测试系统。随着视频生成技术的快速发展,模型已经从单纯追求视觉合理性逐步转向需要具备物理合理性和逻辑一致性的高级任务。然而,现有评估方法主要关注视觉保真度和时间连贯…...

Octogen:让AI代理原生操作数据库,实现自然语言数据查询与分析

1. 项目概述:当数据库遇上AI代理 如果你最近在关注AI应用开发,特别是那些能自主处理复杂任务的智能代理(Agent),那你大概率听说过LangChain、AutoGPT或者CrewAI这些框架。它们让AI不再只是简单地回答一个问题&#xff…...

通过 curl 命令快速测试 Taotoken 大模型 API 的连通性与响应

通过 curl 命令快速测试 Taotoken 大模型 API 的连通性与响应 1. 准备工作 在开始测试之前,请确保已获取有效的 Taotoken API Key。登录 Taotoken 控制台,在「API 密钥」页面创建或复制现有密钥。同时确认已安装 curl 工具,大多数 Linux/ma…...

Olmo 3开源大模型:技术架构与实战应用解析

1. 项目背景与核心价值 Olmo 3作为新一代开放语言模型家族,正在重新定义AI领域的协作边界。这个由艾伦人工智能研究所(AI2)主导的项目,从训练代码、数据集到模型权重全面开源,堪称目前开放程度最高的大语言模型解决方案…...

Transformer特征注入性问题与SIPIT算法解析

1. Transformer架构中的注入性问题剖析在自然语言处理领域,Transformer模型因其卓越的并行计算能力和长距离依赖捕捉特性,已成为各类NLP任务的基础架构。但在实际应用中,研究者们发现模型存在一个关键缺陷——不同层级的特征表示会相互干扰&a…...

使用 curl 命令直接测试 Taotoken 大模型 API 的连通性与响应

使用 curl 命令直接测试 Taotoken 大模型 API 的连通性与响应 1. 准备工作 在开始测试之前,请确保您已具备以下条件: 有效的 Taotoken API Key,可在 Taotoken 控制台的「API 密钥」页面创建目标模型 ID,可在 Taotoken 模型广场…...

NextChat开源AI助手聚合平台:多模型统一接入与私有化部署实战

1. 项目概述与核心价值 如果你和我一样,每天需要和多个AI模型打交道——可能是用GPT-4o处理代码,用Claude分析长文档,再用DeepSeek查询一些本地知识——那么你一定也厌倦了在浏览器里开无数个标签页,或者在多个独立应用之间来回切…...

Switch大气层整合包:5分钟打造专属游戏世界的终极指南

Switch大气层整合包:5分钟打造专属游戏世界的终极指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想彻底释放你的Switch游戏机潜能吗?大气层整合包是目前最稳定…...

faster_whisper,视频转文字,并生成字幕文件

faster_whisper,视频转文字,并生成字幕文件(附带exe) 使用说明: –model:选 tiny/base/small/medium/large(越大越准、越耗资源)。 模型路径(medium):C:\Users\XXX.cache…...

使用 OpenClaw 配置 Taotoken 实现自动化工作流

使用 OpenClaw 配置 Taotoken 实现自动化工作流 1. 自动化工作流中的多模型集成需求 在构建智能体工作流时,开发者常需要灵活调用不同的大模型能力。传统方式需要为每个模型单独维护 API 密钥和接入点,这增加了系统复杂度和维护成本。Taotoken 提供的统…...

你的效率革命:为什么这款跨平台桌面待办工具值得一试?

你的效率革命:为什么这款跨平台桌面待办工具值得一试? 【免费下载链接】My-TODOs A cross-platform desktop To-Do list. 跨平台桌面待办小工具 项目地址: https://gitcode.com/gh_mirrors/my/My-TODOs 你是否经常被各种任务搞得焦头烂额&#xf…...