客服系统 · 开发/验收任务计划 Agent 执行用 · v3.0 · 2026-04-24 · Per-biz OpenClaw

Agent-Driven Per-biz Workspace Phase 1 首业务 5 周 OpenClaw 全工作流

文档定位:AI Agent 执行开发。v3.0 核心:每业务一个独立训练的 OpenClaw workspace,OpenClaw 承担完整工作流;Cloudflare 只做边缘接入 + 前端 + 精简管理台。每任务含范围/产出/验收/依赖,Agent 逐条自检,未通过登记 §17,不得自判通过
配套:customer-service-plan.html(方案) · prototype.html(原型) · 配置.md(凭据) · customer-service-tasks.md(同内容 MD)

1. v3.0 架构口径

每 biz 一套 OpenClaw workspace,独立训练,OpenClaw 承担完整工作流(AI 首轮 / RAG / 升级判断 / 业务 API / Approvals)。Cloudflare 只做边缘接入 + 前端 + 精简管理台持久化
能力组件
AI 引擎 + 业务工作流N × OpenClaw workspace/opt/openclaw/workspaces/{biz}/(每 biz 一套 SOUL.md / skills / workflows / integrations / memory / sessions / approvals / channels)
OpenClaw 入口Cloudflare Tunnel per-biz ingress:{biz}-cs.int.yitongcs.com
用户前端Pages cs-widgetdata-biz="{biz}" 决定走哪个 workspace
坐席/管理端Pages cs-console + Cloudflare Access SSO + TOTP
REST/WSWorkers cs-api(唯一 Worker)
WS 终结DO BridgeDO(薄转发,无业务状态)
坐席抢单DO AgentPresenceDO per biz
主库D1 ytk-cs-db(5 表:workspaces/knowledge/agents/training_samples/audit_log)
对象存储R2 cs-assets
指标/日志Analytics Engine + Logpush
邮件/防刷Email Routing + Turnstile
v2.0 → v3.0 去掉:Vectorize(→ OpenClaw Memory)· Queues(→ OpenClaw 内部事件)· KV 路由规则(→ SOUL.md 决策树)· v2.0 的 SessionDO(→ OpenClaw Sessions 管 + BridgeDO 纯转发)。

2. Agent 执行规范

要求
上下文plan + 配置.md
代码仓库CF 端 cs/workers/ + cs/durable-objects/ + cs/pages/ + cs/d1/;OpenClaw 侧每 workspace 独立 git openclaw-ws-{biz}
部署工具wrangler / cloudflared / openclaw / gh
Secrets绝不入库;wrangler secret put;本地 .dev.vars
测试Vitest + Miniflare;每 workspace 须有 tests/soul.test.yaml 对 Agent 行为做断言
遇阻立刻登记 §17,不绕过安全检查

3. P0 前置阻塞 P0

T-00-01修复 OpenClaw AI provider

现状:channels listrefresh_token_reused/401
操作:yitongkan 执行 openclaw configure / channels login;首选 Claude 4.6 主 + Codex 备
验收:openclaw run --prompt 'ping' 返回文本

T-00-02升级 OpenClaw

目标:2026.4.22+;快照 ~/.openclaw//opt/openclaw/backup/YYYYMMDD/
验收:openclaw --version 无告警

T-00-03账号 / 路径规范化

范围:决定 OpenClaw 侧由 yitongkanytk-cs;目录由 /opt/yitongkan-company/ 迁到 /opt/openclaw/workspaces/
产出:cs/docs/runbook-accounts.md
验收:ls /opt/openclaw/workspaces/ 至少有 _template/ytk/

T-00-04CF 账户能力核查

范围:Workers Paid / D1 / DO / R2 / Pages / Access / Turnstile / Email / AE / Logpush
产出:cs/docs/cf-resources.md
验收:wrangler whoami / d1 list / r2 bucket list 对得上

4. Workspace 基础 W0

T-10-01创建 workspace 模板 _template/

产出:IDENTITY.md + SOUL.md(最小可用)+ AGENTS.md(白名单)+ skills/faq/ skills/escalate/ + channels.yaml(默认 web-bridge)+ tests/soul.test.yaml(plan#19.2)+ .gitignore(排除 memory/sessions/approvals)
验收:openclaw run --workspace _template --prompt "测试" 启动成功

T-10-02fork ytk/ workspace

操作:openclaw ws clone _template ytk;填 IDENTITY + 基础 SOUL(plan#5.2 示例);git init + push 到 github.com/yitongkan/openclaw-ws-ytk
验收:openclaw run --workspace ytk --prompt "我要投诉" 输出含「转接人工」

T-10-03Cloudflare Tunnel per-biz ingress

操作:cloudflared tunnel create openclaw-tunnelconfig.yml 按 plan#6.2;每 biz 加一行 ingress + 一个 Zero Trust App + Service Token
Worker secrets:OPENCLAW_CF_ACCESS_ID_YTK / OPENCLAW_CF_ACCESS_SECRET_YTK(含 biz 后缀便于轮换)
验收:
  • cloudflared tunnel info openclaw-tunnel active
  • 带 Service Token 调 https://ytk-cs.int.yitongcs.com/health 返 200;不带返 401

T-10-04Telegram 内测链路

操作:ytk workspace 开启 Telegram channel + approvals
验收:5 人内测 → openclaw approvals list --workspace ytk 有待审;审核后消息 Telegram 落地

T-10-05Integration · ytk-api(主站 API)

产出:integrations/ytk-api.yaml(plan#5A.5)base_url + bearer token + 端点(orders.get / accounts.lookup / vip.status / room.status)+ pii_scrub
密钥:openclaw vault set --workspace ytk YTK_API_TOKEN=...不入 git
验收:openclaw run --workspace ytk --prompt "调 accounts.lookup 测 contact=18812345678" 返脱敏账户信息

T-10-06Integration · ticket-system

产出:integrations/ticket-system.yamlPOST /v1/tickets;auth=hmac 或 bearer;响应含 ticket.id / tracking_url
验收:staging 创建 ticket 返回 id

T-10-07Integration · dns-admin(备用域名,可选)

产出:integrations/dns-admin.yaml:mTLS;端点 domains.backup.list + domains.backup.activate(后者 confirm_required: true
验收:list 返回当前 biz 的备用域名列表

T-10-08Workflow · refund(退款流程)

产出:workflows/refund.yaml(plan#5A.2)6 步:collect_identity → verify → collect_order → query_order → ask_reason → confirm → create_ticket → done;含 on_cancel / on_escalate
SOUL 触发:SOUL.md §3A「意图命中 trigger.intents 立刻启动 workflow」
测试:tests/flows/refund.test.yaml mock API 响应 + 固定用户序列;断言 tickets/create 被调 + 返 id;覆盖取消 / 不可退 / 已退款边界
验收:
  • Telegram 内测走完 6 步成功落工单
  • openclaw test --workspace ytk --flow refund 全绿
  • D1 cs_workflow_runs 有完整记录(status=completed / ticket_id / api_calls)

T-10-09Workflow · account-query(简单流程)

产出:1~2 步:调 account/lookup → 返脱敏摘要
验收:触发正确输出;非本人查询返 403 式话术

T-10-10Workflow runtime(OpenClaw 侧)

范围:若 OpenClaw 原生无 workflow runner,需实现 plugins/workflow-runner/(~300 行 TS,读 yaml → state 机 → dispatch);否则出一份调研说明用原生能力即可
验收:T-10-08 / T-10-09 能实际运行

5. Cloudflare 基础设施 W1

T-20-01D1 schema(5 表)

产出:cs/d1/migrations/0001_init.sql(plan#8 五表 + 索引)
验收:apply 成功;sqlite_master 返 5 表

T-20-02初始化 cs_workspaces

范围:ytk 一行:stage=bootstrapped,tunnel_host=ytk-cs.int.yitongcs.com,path=/opt/openclaw/workspaces/ytk,channels=["web","telegram"]
验收:管理台能读

T-20-03KV / R2

产出:KV cs-runtime;R2 cs-assets(logs/ 30d,backups/ 30d lifecycle)
验收:list 命令可见

T-20-04仓库骨架

结构:cs/workers/cs-api · cs/durable-objects/{bridge-do,agent-presence-do} · cs/pages/{cs-widget,cs-console} · cs/d1/migrations · cs/shared
验收:pnpm i 通过;wrangler deploy --dry-run 每子项目通过

6. cs-api Worker + BridgeDO W2

T-30-01cs-api Worker

栈:TS + Hono;绑定 D1/KV/R2/BridgeDO/AgentPresenceDO/AE/Email/per-biz OpenClaw secrets
路由:plan#9 全部(/cs/{biz}/* · /agent/* · /admin/*
biz 路由:URL path {biz} + header X-CS-Biz 双重校验;查 D1 cs_workspaces 拿 tunnel_host
验收:curl + Postman 全覆盖;Miniflare 通过

T-30-02BridgeDO(薄转发)

职责:
  • 接 Worker 转来的 WS upgrade → Hibernation
  • 同时跟 OpenClaw {biz}-cs.int.yitongcs.com/ws?workspace={biz}&session={uuid} 建 WS,带 Service Token
  • 双向转发;不存业务状态,不写 D1
验收:并发 50 稳定;断连重连可续接 OpenClaw session

T-30-03shared/openclaw-client.ts

API:run / approvals.{list,approve,modify,reject} / sessions.{get,messages} / memory.{search,reindex} / workspaces.soul.{read,write}(write 自动 git commit)
容错:2 次重试 / 10s 超时 / 10s 内 3 次错熔断半开
验收:单测覆盖成功 / 401 / 超时 / 熔断

T-30-04用户鉴权 + Turnstile

范围:主站 JWT / 游客 cookie → BridgeDO upgrade token(KV 15min);首建会话必验 Turnstile
验收:无 token 401;Turnstile fail 拒

7. Widget W2

T-40-01Web Component 浮窗

栈:TS + Web Component + Shadow DOM;Pages cs.yitongcs.com
嵌入:<script src="https://cs.yitongcs.com/widget.js" data-biz="ytk" async></script>
验收:dist/widget.js.gz ≤ 50KB;dev 端到端对话;宿主 CSS 不污染

T-40-02多 biz 验证

测试:同页挂 data-biz="ytk" + data-biz="bizdemo" 两个 widget
验收:两对话的 matched_faq 来自不同 workspace

8. AgentPresenceDO + 坐席台 W3

T-50-01AgentPresenceDO

范围:per biz 一实例;30s 心跳;Alarm 90s 超时;原子 claim;10s 写 KV 快照
验收:100 并发 claim 1 人成功;90s 无心跳剔除

T-50-02Access SSO + group policies

Apps:cs-console(agents + TOTP)· cs-admin(admins + TOTP + Step-Up)
Worker:校验 Cf-Access-Jwt-Assertioncs_agents.access_email
验收:未登录跳 Access;/agent/me 返 profile

T-50-03坐席后端 API(透传 Approvals)

范围:plan#9.2 全部;队列 = approvals.list(biz) 透传
操作语义:approve(good_ai)/ modify(待复核)/ reject(bad_ai)三姿态 → OpenClaw approvals API + D1 cs_training_samples
验收:三姿态完整走通;D1 + OpenClaw 数据一致

T-50-04坐席台前端(Angular)

布局:三栏(队列/消息/用户信息),队列按 biz 分 tab(跨业务坐席)
AI 草稿卡:workspace + 置信度 + 引用 skills/faq/entries/*.md 路径可预览
Ctrl+K:搜 workspace memory + 快捷操作
验收:三姿态 D1 + OpenClaw 一致;跨 biz tab 无上下文错乱

9. 管理台 · Workspace W3–W4

T-60-01Workspace 列表

范围:每 biz 卡片:stage / 版本(SOUL.md hash 前 8 位)/ 渠道 / 在线坐席 / 24h 解决率 / 改写率 / LLM 成本
新增 biz:表单 → Worker 调 workspace 创建 skill(或记录待运维手工执行)
验收:新增 bizdemo 后列表出现

T-60-02SOUL.md 在线编辑器

功能:读写 SOUL.md(via workspaces.soul.*);git 历史 + diff;保存 = commit + 审计;可选立即同步;一键回滚 checkout 指定 commit
安全:写入要求 Access Step-Up;必须先跑 tests/soul.test.yaml 全绿才允许生效
验收:改规则 → 保存 → 测试 → 生效;回滚一键恢复

T-60-03Skills / Channels / Memory 视图

Skills:只读列出 skills/ 下条目(文件名 + description)
Channels:展示 channels.yaml;支持开关 Web/Telegram/WhatsApp/Discord
Memory:memory.search 查询,top-5 命中
验收:三 tab 真实数据

T-60-04阶段切换(双签)

流程:POST /admin/workspaces/{biz}/stage body {target, approver_email};要求另一 admin 5 分钟内确认
验收:双签通过才改 stage;审计记两人签名

T-60-05Workflows 可视化管理

列表:workflows/*.yaml,展示 name / version / 步骤数 / trigger.intents / 24h 运行数
详情:yaml 编辑器(走 PR)+ 可视化 DAG(只读)+ 漏斗分析(按 step 转化)+ 最近 50 次运行(cs_workflow_runs
测试回放:一键触发 tests/flows/{flow}.test.yaml
验收:refund DAG 可见;24h 有 20+ 记录;漏斗合理;一键测试有结果

T-60-06Integrations 管理 + 健康检查

列表:integrations/*.yaml,展示 base_url / auth type / 端点数 / 健康 / 24h QPS / 错误率
健康检查:Cron 每 1 分钟探活 → KV 缓存;密钥仅显示 metadata(过期时间 / 最后使用),永不展示明文
审计:改 yaml 走 PR;改密钥 Access Step-Up + 双签 + cs_audit_log
验收:三个集成可见;token 设为无效 → 1 分钟内变红 + 邮件告警

T-60-07Workflow 观测埋点

范围:每步进出 / skill call / integration HTTP 写 AE(blob1=biz/blob2=flow_id/blob3=step_id)
入库:workflow 结束写 cs_workflow_runs 摘要
验收:AE 能画漏斗;D1 至少 100 行 refund 样本

10. 管理台 · 知识库 W4

T-60-10FAQ CRUD(per biz)

范围:增删改;发布 = status=published
验收:D1 数据正确

T-60-11同步到 workspace

流程:POST /admin/workspaces/{biz}/sync → 读 D1 published → 写 skills/faq/entries/{id}.mdmemory.reindex → 更新 synced_at
失败:单条错标 sync_error,不阻塞其他
验收:同步后相关提问在 workspace 能命中回答

T-60-12批量导入 CSV/JSON

范围:POST /admin/knowledge/import?biz=
验收:100 条 TOP 工单问答入 D1 draft

11. 管理台 · 训练语料 W4

T-60-20Training samples 复核

范围:per-biz 筛选;待复核/good_ai/bad_ai/need_sop;AI vs 人工并排;一键「新建 FAQ」把人工最终作为新 FAQ
验收:复核 10 条 label 正确;新建 FAQ 流程走通

T-60-21月度 JSONL 导出(Cron)

范围:每月 1 日 04:00 → per-biz JSONL → R2 training/{biz}/{yyyy-mm}.jsonl
验收:R2 有文件;格式 {biz,q,a,label} 无错行

T-60-22D1 每日备份(Cron)

范围:03:30 → wrangler d1 export → R2 backups/d1/;保留 30 天
验收:3 天 3 文件;抽 1 可恢复

T-60-23Workspace 每日快照(Cron)

方案:03:45 → OpenClaw 侧 skill 打包 openclaw ws export --workspace={biz} → R2 backups/workspaces/{biz}/
验收:3 天 3 份;可恢复

12. 附件 / 评价 / 移动端 W4

T-70-01R2 附件(presigned)

流程:Widget → /cs/{biz}/upload → R2 S3 presigned PUT 15min;MIME 白名单;10MB 上限
路径:cs/{biz}/{yyyy-mm}/{uuid}.{ext}
验收:上传 → 下载 → 超时 403

T-70-02满意度评价

范围:会话关闭弹 👍/👎 + 文字 → AE + D1(ref OpenClaw session)
验收:差评入 cs_bad_rating_rate_1h(per biz)

T-70-03Android WebView

范围:打开 cs.yitongcs.com/?biz=ytk&channel=android&token=...;附件 JS bridge
验收:Android 机一次含附件会话

13. 监控 / 熔断 / 安全 W5

T-90-01Analytics Engine 埋点(含 biz tag)

指标:plan#16.1 全部;所有 blobs 含 biz 字段
验收:AE SQL 按 biz 分组返回数据

T-90-02告警(per biz)

渠道:Email Routing → alerts@yitongcs.com
规则:error_rate / queue / bad_rating / tunnel,每 biz 独立触发
验收:注入 ytk 故障 → 邮件;bizdemo 不受影响

T-90-03Logpush

验收:wrangler tail 实时;R2 logs/ 有文件

T-B0-01熔断(per biz)

条件:1h 差评 > 10% 或 OpenClaw error > 20% → 该 biz stage 临时置 paused + Email 告警
验收:模拟差评 → 该 biz 降级;其他 biz 正常

T-B0-02Turnstile + rate limit

范围:Widget 首建 Turnstile;/cs/{biz}/session 每 IP 10/min
验收:429 与 fail 均拒绝

T-B0-03Tunnel Token 轮换 SOP

周期:90 天;wrangler secret put OPENCLAW_CF_ACCESS_SECRET_{BIZ}
产出:cs/docs/runbook-tunnel.md
验收:演练一次无感知

T-B0-04出站二次扫描

范围:敏感词常量写在 Worker 代码(非 KV,防篡改);出站二次扫描兜底
验收:10 条样本全拦截转人工

T-B0-05TLS / 保留期 / 审计

要求:TLS 1.3;OpenClaw sessions 保留 180 天(workspace 配置);删会话/导训练集 → Step-Up + audit
验收:curl -vI TLSv1.3;删操作 Step-Up + 审计记录

14. BizN Onboarding E2E 验证 W5

T-A0-01bizdemo 端到端

范围:从零按 plan#14 SOP 走完 7 步到灰度 10%
产出:cs/docs/onboarding-bizdemo.md 记录每步耗时 + 问题
验收:
  • 3~5 人日内完成
  • 两 biz 同时运行互不串:FAQ 隔离 / 坐席 biz_scope / LLM 报表分开
  • Access + Tunnel + 审计三重校验;故意跨 biz 调 API 返 403

15. 文档 / 培训 W5

T-C0-01运维文档

产出:
  • runbook.md(部署 / 回滚 / wrangler + openclaw 常用命令)
  • troubleshooting.md(401 / Tunnel / D1 配额 / git 冲突 / SOUL 测试失败)
  • workspace-template-guide.md(新业务如何 fork 模板)

T-C0-02Trainer 培训

产出:trainer-handbook.md(如何读 samples → 修 SOUL → 提 PR → 灰度)+ 30 分钟录屏 R2

T-C0-03坐席培训

产出:agent-handbook.md(三姿态 / 跨 biz / Ctrl+K)

16. Phase 1 灰度(per biz)

阶段范围前置
G-1Telegram Demo(内部 10)§4 完成
G-2dev 100%§5–§7 完成
G-3生产 10%§8–§12 完成 + 监控 + 脱敏
G-4生产 50%G-3 稳定 3 天无 P1
G-5生产 100%§13 完成

BizN 可并行独立灰度节奏。


17. Phase 2 门禁(per biz)P2

指标阈值观测
AI 自助解决率≥ 75%连续 4 周
差评率≤ 3%连续 4 周
敏感话题兜底率100%30 天 0 漏判
训练语料覆盖TOP 100 / 问 ≥ 20 样本一次性
熔断演练≥ 1 次历史
SOUL.md 自动化测试100% 通过每次改动

18. 阻塞项登记

任务无法推进追加一行;不得跳过任务自判通过
任务 ID阻塞原因需谁解决登记时间
    
    
    

19. W5 交付清单