Files
2026-09-07 09:57:33 +08:00

38 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.started``skill.requested``skill.loaded``mock_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 也不是生产持久层。