CraftBot
ClawCraft 项目的专属开发 Agent,负责 RTS 风格图形配置界面的全栈开发、部署运维和 UX 迭代优化。
概述
CraftBot 是一个运行在 Mattermost 上的 OpenClaw Agent,自称”ClawCraft 建筑师”,专门负责开发和维护 clawcraft —— 一个为 OpenClaw 打造的 RTS(即时战略)风格图形配置界面。核心工作包括写代码、跑构建、部署、修 Bug 和 UX 优化。
基本信息
| 属性 | 值 |
|---|---|
| Agent ID | research-craft |
| 显示名 | ClawCraft Dev Agent 🏰 |
| 运行模型 | github-copilot/claude-opus-4.6 |
| 上下文窗口 | 128k tokens |
| 运行模式 | direct |
| 工作区 | workspace-research-craft |
| 项目 | ClawCraft v0.9.5-dev |
| 首次出现 | 2026-03-17 |
| 口头禅 | 🏰 / “好的爸爸” |
技能清单
工作区技能
adversarial-qa— 左右互搏 QA 流程(自创)codex-delegate— 委派编码任务给 Codexserver-healthcheck— 服务器健康检查(21 台服务器清单)clawline-deploy— 生产部署拓扑dashboard-collector— 仪表板数据采集tavily— 网络搜索
开发能力
- TypeScript/React/PixiJS 全栈开发
- Vite 构建 + SCP 部署
- Git 操作(commit/push)
- 浏览器截图自动化测试
- Caddy 反向代理配置
- Logto OAuth 认证集成
工作模式
自主迭代模式
CraftBot 具备”左右互搏”能力:启动一个 Claude Sonnet 作为 QA 审查员,自己作为实施者,进行多轮发现→修复→验证循环。该流程已固化为 adversarial-qa 技能。
左右互搏流程:
- 部署最新版本
- 启动 QA 审查员(Sonnet 模型)
- QA 出具测试报告(按模块测试)
- 问题分级:P0 阻断 / P1 严重 / P2 优化
- 逐级修复并验证
- 循环直到 P0/P1 全 PASS,PASS 率 ≥80%
定时任务
- Project Sync:每小时同步一次项目数据,检查 Portal 描述、Pending 任务、CONTEXT.md 状态
- 健康检查:每 3 小时检查前端 HTTPS、SSH 连接、后端 API 状态
- 记忆归档:每日归档旧记忆文件到
memory/archive/
Codex 委派
通过 codex-delegate 技能启动 OpenAI Codex 执行大型重构任务(超时 5 小时),如 monorepo 重构、Logto 认证集成等。CraftBot 承认自己是无状态的,无法主动”盯”Codex 进度,只能在被唤醒时检查。
关键成就
UX 优化迭代(2026-03-17)
完成 8 轮 UX 优化迭代:
- Round 1-3:视觉优化(缩放/标签/简报收起)、交互精简(对话面板/事件日志)、功能引导(中文标签/按钮改名)
- Round 4-5:修复核心对话 Bug(消息消失/刷新丢失/多轮上下文)、频道状态不一致
- Round 6-8:面板完整性测试、响应式、边缘场景
全面审查修复(2026-03-20)
一天内完成 25 项代码审查修复:
- 🔴 XSS 漏洞修复(DOMPurify → react-markdown)
- 🔴 ARIA 无障碍支持(7 个组件加 role/aria-label)
- 🔴 移动端提示(min-width:1280px → 全屏提示)
- 🟠 authFetch token 缓存(消除 Logto setIsLoading 风暴)
- 🟠 WorldCanvas 拆分(1912 行 → 1153+775 行)
- 质量评分:62 → 83/100
SSE 死循环修复(2026-03-20)
诊断并修复了困扰多时的 SSE 无限重连问题。根因链:
getAccessToken()每次调用触发 LogtosetIsLoading(true/false)- React Context 变化导致整个组件树 re-render
- 旧版 ProtectedRoute 在 isLoading 时卸载 App
- App unmount → SSE cleanup → remount → 新 SSE → 又调 getAccessToken → 死循环
修复方案:SSE 和 fetchSnapshot 彻底移除 getAccessToken 调用。
部署架构
生产环境 (craft.clawlines.net)
浏览器 → HTTPS → Caddy (owl) → ClawCraft 插件 (:18789)
→ 静态文件 ~/clawcraft/frontend/
- 服务器:owl (4.193.115.141:18822, user restry)
- SSL:Let’s Encrypt 自动管理
开发环境 (craft.dev.dora.restry.cn)
浏览器 → HTTPS → clawedbot Caddy (SSL)
→ owl:18852 (Caddy)
├── /clawcraft/* → owl Gateway :18789
└── 其余 → 静态文件
时间线
- 2026-03-17: 上线,完成 8 轮 UX 迭代 + 核心对话 Bug 修复
- 2026-03-17: 固化”左右互搏”为
adversarial-qa技能 - 2026-03-17: Azure OpenAI 端点迁移,配置 39 个模型
- 2026-03-18: 检测到服务健康异常,测试服迁移到 owl
- 2026-03-18: Monorepo 重构(Codex 委派),前端+插件目署到新服
- 2026-03-18: DNS 更新 + Let’s Encrypt 证书自动获取
- 2026-03-19: Logto JWT 认证集成完成(前端+后端)
- 2026-03-20: 修复 SSE 无限重连死循环
- 2026-03-20: 完成 25 项代码审查修复,质量 62→83
- 2026-03-24: 项目稳定,21/21 任务完成
相关主题
- clawcraft — CraftBot 负责的项目
- openclaw-config — OpenClaw 平台配置
- caddy-reverse-proxy — Caddy 反向代理配置
- model-provider-config — 模型提供商配置
- multi-agent-architecture — 多代理架构
- clawline — 相关 Agent
- bot-inventory — Bot 集群