logo
0
0
WeChat Login
wwyz<wwyz@wwyzdeMac-Studio.local>
feat: stream worker progress events

claw-connect skills

这个仓库只保留两个通用角色包:

  • 管家/claw-connecter/:部署在高管家机器,负责 worker 注册、消息 inbox、事件、结果、取消。
  • worker/claw-worker/:部署在任何 worker 机器,负责自维护身份、注册、轮询自己的 inbox、执行并回写。

不同机器只是身份不同:CLAW_WORKER_IDCLAW_WORKER_NAMECLAW_WORKER_WORKSPACE 不同,代码相同。同一台机器也可以同时跑多个通道:用 CLAW_CHANNEL_ID 区分不同高管家/connecter,用 CLAW_WORKER_ID 区分同一通道下的不同 worker。

身份边界

  • 高管家:部署 claw-connecter。只做需求接收、项目记录、worker 注册查看、任务派发、进度查询、结果验收和跨 worker 项目管理。高管家不直接承担代码开发或文件杂活。
  • 高架构:部署 claw-worker,例如 CLAW_WORKER_ID=gaojiagou。负责代码开发类任务的技术拆解、目录定位、派发给 Codex、跟踪 Codex 状态、审阅结果和回传简报。代码新增、修改、修 bug、重构、测试修复、构建脚本和迁移脚本都必须由 Codex 执行。
  • 高助理:也部署同一个 claw-worker,例如 CLAW_WORKER_ID=gaozhuli,可以和高架构在同一台 Mac Studio 上运行。负责非代码杂活:PPT、文档、表格、文件整理、资料归档、格式转换、摘要整理、批量重命名、台账维护等。

高架构和高助理不是两套代码,只是两个 worker 身份。高管家按 --agent <worker_id> 把任务发给对应身份。多个通道并存时,每个通道有自己的 connecter URL、token 和 CLAW_CHANNEL_ID

管家侧安装

mkdir -p ~/.openclaw/workspace/skills cp -R 管家/claw-connecter ~/.openclaw/workspace/skills/

启动 connecter:

mkdir -p ~/.openclaw/claw-connecter openssl rand -hex 32 > ~/.openclaw/claw-connecter/token ~/.openclaw/workspace/skills/claw-connecter/scripts/start-claw-connecter.sh

发送消息给任意 worker:

~/.openclaw/workspace/skills/claw-connecter/scripts/clawctl.py create \ --agent gaojiagou \ --message-id msg-example \ --title '示例消息' \ '请回复 claw-connecter 已接通。'

查询:

~/.openclaw/workspace/skills/claw-connecter/scripts/clawctl.py show msg-example ~/.openclaw/workspace/skills/claw-connecter/scripts/clawctl.py events msg-example ~/.openclaw/workspace/skills/claw-connecter/scripts/clawctl.py watch msg-example

watch 会持续输出 worker 回传的事件,直到任务进入 succeededfailedblockedcancelled。高管家派发长任务后应记录 message_id,用 watchevents 把高架构/高助理的进展写回项目记录。

Worker 侧安装

mkdir -p ~/.openclaw/skills cp -R worker/claw-worker ~/.openclaw/skills/

配置:

export CLAW_CONNECTER_URL='http://<管家服务器>:18090' export CLAW_CHANNEL_ID='gaoguanjia-prod' export CLAW_CONNECTER_TOKEN_FILE="$HOME/.openclaw/claw-worker/gaoguanjia-prod/token" export CLAW_WORKER_ID='gaojiagou' export CLAW_WORKER_NAME='龙虾-高架构' export CLAW_WORKER_WORKSPACE="$HOME/.openclaw/workspaces/gaojiagou"

同一台 Mac Studio 可以再启动一个高助理 worker:

export CLAW_CONNECTER_URL='http://<管家服务器>:18090' export CLAW_CHANNEL_ID='gaoguanjia-prod' export CLAW_CONNECTER_TOKEN_FILE="$HOME/.openclaw/claw-worker/gaoguanjia-prod/token" export CLAW_WORKER_ID='gaozhuli' export CLAW_WORKER_NAME='龙虾-高助理' export CLAW_WORKER_WORKSPACE="$HOME/.openclaw/workspaces/gaozhuli"

运行一次:

python3 ~/.openclaw/skills/claw-worker/scripts/claw_worker_agent.py --once --wait 5

macOS 常驻:

~/.openclaw/skills/claw-worker/scripts/install-launchagent.sh

接入新机器

新增 worker 不需要改管家侧代码。只需要:

  1. 给新机器分配稳定 CLAW_WORKER_ID
  2. 在该机器 workspace 维护 IDENTITY.mdAGENTS.mdTOOLS.md
  3. 给它配置 CLAW_CHANNEL_ID、connecter URL 和 token。
  4. 启动 claw_worker_agent.py
  5. 管家用 clawctl.py create --agent <worker_id> ... 发消息。

消息通道只传控制信息。文件分发建议传 attachments manifest,实际文件走 COS、签名 URL 或其它对象存储。