Install
openclaw skills install @thcjp/chat-agent-tool-freeopenclaw skills install @thcjp/chat-agent-tool-free多Agent协作时面临一个痛点:Agent之间没有"低成本的即时通信通道"。要么依赖共享文件系统轮询,要么引入重量级消息队列,要么干脆把消息塞进prompt——前者延迟高、后者成本高、最后者污染上下文。
聊天Agent工具用"临时聊天室"的形态解决这个问题。一行命令启动服务,Agent通过CLI加入、发送、订阅消息,人类通过浏览器Web UI随时介入。所有数据仅存内存,服务停止即销毁——用完即弃、无痕、零维护。
本免费版支持单房间、密码保护、SSE流式推送与本地端口访问。如需多房间并发、消息持久化、企业级鉴权等高级能力,可升级至专业版。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 聊天Agent工具免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 启动密码保护的聊天室,默认端口8765
chat-agent serve --password MySecret
# ...
# 启动并通过cloudflared隧道暴露至公网
chat-agent serve --password MySecret --tunnel cloudflared
启动后控制台会打印Web UI地址和房间URL,复制即可分享。
输入: 用户提供能力1:一行命令启动聊天室所需的指令和必要参数。 处理: 解析能力1:一行命令启动聊天室的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力1:一行命令启动聊天室的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作Agent通过四条命令完成全部交互:
| 命令 | 用途 | 示例 |
|---|---|---|
join | 加入房间并持续监听 | chat-agent join --url <url> --password <pwd> --agent-name bot1 |
send | 发送单条消息 | chat-agent send --url <url> --password <pwd> --agent-name bot1 --message "hello" |
listen | 仅订阅消息不发送 | chat-agent listen --url <url> --password <pwd> |
serve | 启动聊天室服务 | chat-agent serve --password <pwd> |
输入: 用户提供能力2:Agent CLI接入所需的指令和必要参数。 处理: 解析能力2:Agent CLI接入的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力2:Agent CLI接入的响应数据,包含状态码、结果和日志。
采用Server-Sent Events(SSE)实现毫秒级消息推送,相比轮询模式:
输入: 用户提供能力3:SSE流式消息推送所需的指令和必要参数。 处理: 解析能力3:SSE流式消息推送的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力3:SSE流式消息推送的响应数据,包含状态码、结果和日志。
人类用户无需安装客户端,打开Web UI链接即可参与对话。移动端自适应,适合手机端参与协作。
输入: 用户提供能力4:浏览器Web UI所需的指令和必要参数。 处理: 解析能力4:浏览器Web UI的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力4:浏览器Web UI的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作内置cloudflared/ngrok隧道集成,无需配置端口转发即可将本地服务暴露至公网:
| 隧道方案 | 优势 | 限制 |
|---|---|---|
| cloudflared | 免费无需注册 | 域名每次重启变化 |
| ngrok | 域名稳定 | 免费版有限流 |
输入: 用户提供能力5:隧道穿透支持所需的指令和必要参数。 处理: 解析能力5:隧道穿透支持的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力5:隧道穿透支持的响应数据,包含状态码、结果和日志。
所有消息仅存内存,服务停止即销毁。这种"零持久化"设计带来三个好处:
输入: 用户提供能力6:内存级数据隔离所需的指令和必要参数。 处理: 解析能力6:内存级数据隔离的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回能力6:内存级数据隔离的响应数据,包含状态码、结果和日志。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:临时密码保护的实、时聊天室、流式推送、工具是一套面向多、协作与、人协作的临时实时、聊天室方案、提供密码保护、与命令行客户端、开箱即用、无需持久化部署、核心能力、一行命令启动密码、保护的临时聊天室、加入并发送、接收消息、供人类随时参与、房间数据仅存内存、用完即弃、的协作场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
三个Agent(资料检索Agent、分析Agent、写作Agent)需要实时交换中间结果。使用聊天室作为消息总线,每个Agent通过CLI订阅相关频道。
用户与两个AI助手在浏览器Web UI中对话,三方同步思考、互相补充。Web UI让人类像在普通聊天软件中一样参与。
长时间运行的任务中,前序Agent把进度写入聊天室,后序Agent接管时读取历史消息恢复上下文,比写入文件更直观。
开发者在Web UI中观察Agent之间的对话流,实时发现"哪个Agent卡了""哪个Agent回错了消息",比看日志直观10倍。
多个部署在不同机器的Agent通过公网隧道加入同一房间,建立临时协作通道,任务结束后解散。
以下场景聊天Agent工具免费版不适合处理:
需要文件处理、文档转换、格式互转、内容提取时使用。不适用于非本工具能力范围的需求。
# 1. 终端A:启动聊天室
chat-agent serve --password dev123
# ...
# 控制台输出:
# Web UI: http://localhost:8765
# Agent URL: http://localhost:8765
# ...
# 2. 终端B:Agent加入并监听
chat-agent listen --url http://localhost:8765 --password dev123
# ...
# 3. 终端C:另一个Agent发送消息
chat-agent send --url http://localhost:8765 --password dev123 \
--agent-name researcher --message "找到5篇相关论文"
# ...
# 4. 浏览器打开 http://localhost:8765 参与对话
# 使用cloudflared隧道(推荐)
chat-agent serve --password prod456 --tunnel cloudflared
# ...
# 控制台输出公网URL,分享给远程协作者
# Public URL: https://random-name.trycloudflare.com
# 本地开发,简单密码
chat-agent serve --password dev123 --port 8765
# 公网协作,强密码 + 隧道
chat-agent serve --password 'C0mplex-Pass-2026!' --tunnel cloudflared
import subprocess
# ...
# Agent监听消息(持续运行)
def listen_for_messages(room_url, password, agent_name):
proc = subprocess.Popen([
'chat-agent', 'listen',
'--url', room_url,
'--password', password,
# '--agent-name', agent_name # listen模式无需指定name
], stdout=subprocess.PIPE)
# ...
for line in proc.stdout:
msg = line.decode().strip()
if msg:
handle_message(msg)
# ...
# Agent发送消息
def send_message(room_url, password, agent_name, text):
subprocess.run([
'chat-agent', 'send',
'--url', room_url,
'--password', password,
'--agent-name', agent_name,
'--message', text
], check=True)
临时聊天室虽无持久数据,但运行期间任何人拿到密码即可加入。建议使用12位以上混合密码,避免被字典攻击爆破。
Agent之间发送消息时,建议使用JSON结构而非纯文本,便于接收方解析:
{"type":"status","agent":"researcher","progress":0.6,"eta":"5min"}
不要在一个房间内讨论多个不相关任务。每个任务开新房间,避免消息混乱。
任务结束后立即停止服务,释放端口与内存。临时聊天室本就不该长期运行。
cloudflared隧道每次启动URL都会变化。启动后第一时间把URL同步给所有协作者,避免有人连不上。
A:本免费版单房间支持最多10个并发连接(含Agent与人类),适合小型团队临时协作。
A:仅存内存,服务重启即清空。如需持久化请升级至专业版。
A:可以。使用 --tunnel cloudflared 即可暴露至公网,无需端口转发配置。
A:支持。Web UI采用响应式设计,手机浏览器自适应。
A:可以。每条消息都带有 agent_name 字段,Web UI中会以不同颜色显示。
| 错误场景(现象) | 可能原因 | 排查步骤 | 处理方式 |
|---|---|---|---|
| Agent连接失败 | 密码错误 | 检查 --password 是否与服务端一致 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| Web UI打不开 | 端口被占用 | 检查 --port,更换端口 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 隧道URL无法访问 | cloudflared未安装 | 运行 chat-agent install cloudflared | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 消息丢失 | 服务重启 | 内存数据已清空,无法恢复 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 连接频繁断开 | 网络不稳定 | 启用 /messages/poll 长轮询兜底 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| SSE流无推送 | 防火墙拦截 | 检查代理是否缓冲SSE响应 | 对照依赖说明章节逐项验证配置项,确认环境变量已正确设置后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Python | 运行时 | 必需 | 官方下载 |
| uv | 包管理 | 必需 | pip install uv |
| cloudflared | 隧道工具 | 可选 | 官方下载或自动安装 |
| ngrok | 隧道工具 | 可选 | 官方注册下载 |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
NGROK_AUTHTOKEN本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:chat-agent-tool-pro