Files
sw-ads-agent/docs/classroom-demo.md
T
2026-09-07 09:57:33 +08:00

2.4 KiB
Raw Blame History

1015 minute classroom demo

0:002:00 — boundaries

启动 pnpm dev,展示三栏:左侧只显示 Skill catalog,不显示正文;中间由 assistant-ui 渲染;右侧是 EventStore 的审计时间线。强调 Pi 是 Agent Loop 事实来源,assistant-ui 不直接访问模型。

2:004:00 — model connection

打开 Settings,比较 OpenAI、Anthropic、OpenAI-compatible preset。说明模型元数据会保存在 localStorage,但 key 不回填、不进 Web Storage;刷新后字段自动恢复,必须重输 Key,Composer 才会启用。课堂无需真实调用时可只演示表单和测试返回的“首次运行验证”。

4:008:00 — main path

点击 Demo Prompt(它只填入,不自动执行):

请使用 ads-analysis Skill,分析账户 demo-account 最近 7 天数据,找出异常 Campaign,并输出账户总结、关键指标和 3 条优化建议。最后使用 report-writer Skill 生成一份报告草稿。

有可用课堂模型时发送,观察:run.startedskill.requestedskill.loadedmock_ads_metrics Tool 卡片 → streaming delta。指出指标来自 fixture,不是真实广告平台。

8:0011:00 — approval

save_report_draft 出现时,展示上下文 Tool 卡片与 modal。先讲清 preflight 尚未写文件。

  • Approve 路径:点击“批准一次”,等待 SSE 权威状态,再查看当前 Session 的 report.md
  • Deny 路径:重开一个 Session,再拒绝;确认没有文件但 Agent 可在聊天给出正文。
  • Timeout 可将 APPROVAL_TIMEOUT_MS 临时缩短后演示;最终状态以服务器事件为准,不以浏览器倒计时为准。

11:0013:00 — image path

选择/拖拽/粘贴一张 JPEG、PNG 或 WebP,打开缩略图 Dialog,再附加:

请同时观察我上传的图片,将可见内容作为辅助信号;不要根据图片编造图片中不存在的数据,数值指标以 mock_ads_metrics 返回的数据为准。

说明 browser object URL、流式 upload、Sharp 重编码、attachmentId、服务端 ImageContent 的链路。切换到 text-only 配置,演示发送前阻止图片。

13:0015:00 — failure and production boundary

停止一个 Run,查看 run.cancelled。断开/刷新页面说明 SSE 重放与去重。最后强调:Pi Project Trust 不是 Sandbox;不可信任务需要容器/VM/micro-VM,课堂内存 Store 也不是生产持久层。