
人工智能大模型LLM 网关AI Agent即时通讯【免费下载链接】openclaw-zero-tokenOpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi项目地址https://gitcode.com/gh_mirrors/op/openclaw-zero-token点击查看免费下载本文围绕 OpenClaw 仓库中的 WebChat 文档docs/zh-CN/web/webchat.md展开WebChat 是 Gateway 网关的原生聊天 UImacOS/iOS SwiftUI 客户端与控制 UI 聊天标签页均不依赖内嵌浏览器或本地静态服务器而是直连 Gateway 的 WebSocket。读完本篇你将掌握 WebChat 的三个核心 RPC 方法chat.history、chat.send、chat.inject的调用语义与边界行为、远程模式下的隧道接入方式以及gateway.*、session.*等配置项的完整参考并结合 Gateway 服务端源码理解这些行为是如何被实现的。一、什么是 WebChatWebChat 的定位可以从 WebChat 文档 中概括为三点Gateway 网关的原生聊天 UI没有嵌入式浏览器也没有本地静态服务器。macOS/iOS 的 SwiftUI 应用见 apps/macos 与 apps/ios以及 Web 端控制 UI 的聊天标签页直接通过 WebSocket 与 Gateway 通信统一的会话与路由规则WebChat 与其他渠道Telegram、Slack、Discord 等共用同一套会话存储和路由规则在会话层webchat被当作一个合法的渠道 ID见 会话类型定义 中的SessionChannelId ChannelId | webchat确定性路由回复始终返回到 WebChat不会被重新路由到其他渠道这对调试和排查问题尤其友好。这种设计意味着 WebChat 没有独立的进程、端口或服务器组件——它的全部能力都由 Gateway 进程提供。二、快速开始按照文档给出的三步即可完成接入启动 Gateway 网关例如通过openclaw gateway或守护进程方式启动打开 WebChat UImacOS/iOS 应用或控制 UI 的聊天标签页Web 端实现位于 ui/src/ui/controllers/chat.ts确认已配置 Gateway 认证——默认情况下即使连接的是 loopback 回环地址认证也是必需的。认证相关的配置集中在gateway.auth.*下完整的 Gateway 认证体系可参考 Gateway 认证文档 与 Gateway 配置文档。三、工作原理Gateway WebSocket 上的三个核心方法文档明确了 WebChat 的运行行为UI 连接 Gateway 的 WebSocket围绕chat.history、chat.send、chat.inject三个方法工作。这三个方法的服务端实现都集中在 chat 方法处理器方法级权限scope则定义在 method-scopes 中。下面逐个结合源码说明其行为边界。3.1chat.history从 Gateway 拉取会话历史历史始终从 Gateway 获取客户端不做本地文件监听。服务端处理逻辑chat.ts 中 chat.history 实现可以确认几个关键行为参数为sessionKey必填和limit可选。源码中hardMax 1000、defaultLimit 200即未指定limit时最多返回最近 200 条任何情况下不超过 1000 条返回内容不仅包含消息数组还包含thinkingLevel、fastMode、verboseLevel等会话级 UI 状态方便客户端同步当前会话的思考级别与输出详细度为保证稳定性Gateway 会对超长文本做截断、省略重量级元数据超过字节预算的条目会被替换为[chat.history omitted: message too large]占位符源码中由replaceOversizedChatHistoryMessages与enforceChatHistoryFinalBudget完成占位数量会写入chat.history omitted oversized payloads调试日志。这一组“有界历史”策略是 英文版 WebChat 文档 中同样强调的行为也是长会话 UI 不卡顿的底层保障。3.2chat.send触发一次智能体运行chat.send是真正驱动智能体回复的入口。从 chat.send 参数定义 可以看到其完整参数面sessionKey、message目标会话与消息文本attachments附件类型、MIME、文件名、内容含附件时总大小上限为 5 MB源码中maxBytes: 5_000_000thinking、deliver、timeoutMs思考级别、投递开关与运行超时idempotencyKey幂等键客户端用它作为clientRunId防止重复提交造成重复运行originatingChannel/originatingTo/originatingAccountId/originatingThreadId显式指定来源路由。源码中校验了这些来源字段以及systemInputProvenance等系统溯源字段只有具备 admin scope 的客户端才能携带普通 WebChat 客户端无法伪造来源渠道。此外消息发送前会经过sanitizeChatSendMessageInput净化空消息且无附件会直接返回INVALID_REQUEST发送策略send policy为deny时也会被拒绝。这些校验共同保证“确定性路由”承诺下的输入可控性。3.3chat.inject不跑智能体直接追加助手注释chat.inject的语义与文档描述一致将一条助手注释直接追加到转录并广播到 UI不触发任何智能体运行。其服务端实现chat.inject展示了完整链路校验参数sessionKey、message、label通过loadSessionEntry找到会话的sessionId与storePath会话不存在时返回session not found调用appendAssistantTranscriptMessage把消息写入转录文件createIfMissing: true转录文件缺失时自动创建构造一个runId为inject-messageId、state: final的chat载荷先broadcast到所有已连接客户端再nodeSendToSession定向推送给该会话节点实现 UI 即时更新返回messageId供调用方确认。因为不经过模型调用chat.inject常被用于在转录中插入系统提示、人工备注等“只进历史、不触发回复”的内容。3.4 其他行为细节中止运行的部分输出被中止的运行可以在 UI 中保留已生成的部分助手文本Gateway 在有缓冲输出时会把这些中止的部分文本持久化到转录历史并打上中止元数据见 英文版 WebChat 文档 与chat.abort实现中的abortChatRunsForSessionKeyWithPartialschat.ts只读降级如果 Gateway 不可达WebChat 进入只读模式——可以查看历史但无法发送消息。这是文档明确说明的降级行为。四、远程使用文档对远程场景的结论非常明确远程模式通过 SSH/Tailscale 隧道传输 Gateway 的 WebSocket而不是部署一个独立的 WebChat 服务你不需要运行单独的 WebChat 服务器——由于 WebChat 的所有能力都由 Gateway 进程承载隧道打通 Gateway 的 WebSocket 端口即完成远程接入。配套的远程目标由gateway.remote.*配置项描述见下文相关网络拓扑可进一步参考 远程 Gateway 文档 与 Tailscale 文档。五、配置参考WebChat完整配置请查阅 Gateway 配置文档。需要特别注意的渠道选项结论是没有专用的webchat.*配置块。WebChat 完全复用 Gateway 的端点 认证设置这一点与源码中会话层把webchat视作渠道 IDconfig/sessions/types.ts一致——它走的是 Gateway 统一的认证与路由管线。相关的全局选项如下表配置项作用gateway.port、gateway.bindWebSocket 监听的主机/端口gateway.auth.mode、gateway.auth.token、gateway.auth.passwordWebSocket 认证模式与凭据token/passwordgateway.remote.url、gateway.remote.token、gateway.remote.password远程 Gateway 目标地址与凭据session.*会话存储与主键默认值此外若你的部署位于身份感知的反向代理Pomerium、Caddy OAuth、nginx OAuth 等之后gateway.auth.mode还支持trusted-proxy模式将认证完全委托给代理并配合gateway.trustedProxies锁定可信代理 IP详见 Trusted Proxy Auth 文档。该模式属于安全敏感特性启用前应确认代理会正确剥离/覆写转发表头且不存在绕过代理直连 Gateway 的路径。六、延伸阅读围绕 WebChat 的 Gateway 侧能力仓库中还有几处值得继续深入的位置chat 方法服务端实现chat.history、chat.send、chat.abort、chat.inject的完整参数校验与响应逻辑method-scopes各 chat 方法所需的权限范围控制 UI 聊天控制器 及其测试Web 端聊天标签页如何调用上述方法Gateway 协议文档 与 网络模型文档WebSocket 连接、绑定与认证的整体网络设计。综上WebChat 是 OpenClaw 中“零额外组件”的聊天入口它以渠道身份接入统一的会话与路由体系通过三个 WebSocket 方法完成历史读取、消息发送与转录注入并以有界历史、幂等键、scope 校验与只读降级等手段保证大规模会话下的稳定性与安全性。赞分享人工智能大模型LLM 网关AI Agent即时通讯【免费下载链接】openclaw-zero-tokenOpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi项目地址https://gitcode.com/gh_mirrors/op/openclaw-zero-token点击查看免费下载相关推荐OpenClaw 远程 Gateway 实战用 SSH 隧道连接 OpenClaw.app 的完整配置与原理OpenClaw 远程 Gateway 实战用 SSH 隧道连接 OpenClaw.app 的完整配置与原理 本文基于 OpenClaw 仓库中的 remot人工智能大模型LLM 网关AI Agent即时通讯OpenClaw TUI 终端 UI 完全指南从任意机器连接 Gateway 网关的实操手册OpenClaw TUI 终端 UI 完全指南从任意机器连接 Gateway 网关的实操手册 OpenClaw 的 TUI终端用户界面是一个基于 mar人工智能大模型LLM 网关AI Agent即时通讯OpenClaw TUI 终端界面使用与原理全解连接 Gateway 的远程友好型聊天终端OpenClaw TUI 终端界面使用与原理全解连接 Gateway 的远程友好型聊天终端 本指南围绕 OpenClawclawdbot提供的 clawd人工智能AI Agent即时通讯后端本地部署语音上一篇Apache Doris TPC-DS测试大数据集查询性能下一篇提升ILLA Builder性能的终极指南缓存策略全面对比测试创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考