用途:在本地对 Nexu → OpenClaw 网关栈做端到端验证,适用于核实网关修复、测试重启后技能是否加载,以及针对本地栈运行集成测试。
主要能力与限制:资料指出网关存在架构约束,多数 HTTP 与 CLI 入口都走 agentCommand() 的嵌入式代理路径,绕过会话存储;因此 HTTP POST /v1/chat/completions、/v1/responses、openclaw agent --session-id 只适合冒烟测试,不能验证会话存储相关缺陷。WebSocket chat.send 需要设备配对获得 operator.write 权限,仅有令牌时权限为零,属死路。真正的会话存储与自动回复管线仅在 Slack/Discord 等已连接渠道中经过 dispatchInboundMessage() → auto-reply → ensureSkillSnapshot()。
推荐用法:主方法是 Vitest 单元/集成测试,在 OpenClaw 工作树内编写 .test.ts 并运行: cd <OPENCLAW_WORKTREE> OPENCLAW_TEST_FAST=1 npx vitest run src/agents/skills/refresh.test.ts 可用 vi.mock("chokidar")、await import("./refresh.js")、每测试独立工作区路径;OPENCLAW_TEST_FAST=1 跳过会话更新的文件系统扫描。
冒烟测试可用 CLI: OPENCLAW_STATE_DIR=~/.openclaw OPENCLAW_CONFIG_PATH=<config-with-local-workspace> openclaw agent --session-id "<session>" --message "<msg>" --json --timeout 60 或 HTTP: curl -s http://localhost:18789/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <gw-token>" -d '{"model":"default","messages":[{"role":"user","content":"list your skills"}]}'
网关测试配置:生产配置的 /data/ 工作区本地不存在,需生成测试配置改用 /tmp/openclaw-test-workspace,然后用 OPENCLAW_CONFIG_PATH 指向它启动 gateway run,并轮询 18789 端口就绪。验证清单包括构建、全局链接、版本核对、写 vitest、重启后冒烟、检查 sessions.json 及日志。会话存储位于 ~/.openclaw/agents/<agent-id>/sessions/,关注 skillsSnapshot.version、skills[]、prompt 字段。WebSocket 协议为 {"type":"req","id","method","params"},协议版本 3,列举了合法 client ID 与模式,但写入权限仍受设备身份限制。其余细节资料未提供。