体验目标与验证边界
文档入口:用户指南 · 关联:各运行时契约分章
本文列出产品目标和测量方法。表中的百分比、延迟和样本规模都是待校准目标,不是当前版本已经达到的承诺。当前行为以源码、运行时契约分章和测试为准。
1. 阅读约定
本文使用三种状态:
- 已实现:代码中已有对应路径,并有源码或测试可核对。
- 部分实现:主要路径存在,但还有明确缺口。
- 目标:用于后续评测或设计,不能写进发布说明当作现有能力。
外部产品只用于说明设计来源。相关记录形成于 2026 年 7 月,没有在本轮逐项复测;需要公开比较时,应重新核对上游当前版本和一手资料。
2. 对话体验
侧边栏和全页对话共用一个 Thread、消息流和输入框。当前已有流式输出、插话、排队、分支、审批卡片和恢复卡。下表中的时间指标仍需专门的性能测试。
| ID | 目标 | 测量方法 |
|---|---|---|
| CH-1 | 按下发送后,用户消息和运行状态在 100 ms 内出现;命令被拒绝时回滚乐观消息 | 扩展 E2E 计时 |
| CH-2 | 首 token 之外的本地处理不增加可感知延迟;增量事件按 16 ms 合帧 | 性能埋点 |
| CH-3 | 按 Esc 后 200 ms 内停止本轮并更新 UI | 扩展 E2E 计时 |
| CH-4 | reasoning、工具调用、阶段性文本和最终回答按真实顺序显示 | UI 集成测试 |
| CH-5 | 插话在下一次模型调用前生效;不可插话的轮次明确降级为排队 | 引擎集成测试与 E2E |
| CH-6 | 1000 节点以内的本地分支切换在 100 ms 内完成 | 性能测试 |
| CH-7 | 重开侧边栏或全页对话后,1000 节点会话在 500 ms 内恢复 | 冷启动性能测试 |
| CH-8 | Markdown、代码、表格、KaTeX 和 Mermaid 在流式阶段不闪烁、不抛出未处理错误 | 视觉回归与组件测试 |
不做逐字打字机动画。模型和端点决定首 token 时间;Panelot 只测量自己增加的开销。
3. 浏览器操作
当前实现按 L0、L1、L2 分层。默认页面工具使用 content script;read_page_deep、trusted 输入和截图等能力按需使用 CDP。工具接收显式 tabId,省略时使用用户提交消息时捕获的默认网页标签页。
| ID | 目标 | 测量方法 |
|---|---|---|
| OP-1 | fixture 集中,L1 快照覆盖至少 95% 的可交互元素 | 与基准快照对比 |
| OP-2 | click、type、select 首次执行成功率至少 90% | 固定 fixture 集 |
| OP-3 | 包含 stale ref 恢复后的总成功率至少 98% | 固定 fixture 集 |
| OP-4 | 单动作端到端 p50 不超过 1.2 s,p95 不超过 6 s | 性能埋点 |
| OP-5 | 五字段表单通常在两次模型往返内完成 | Agent 回归集 |
| OP-6 | 普通页面快照 p95 不超过 300 ms,重型 SPA 不超过 1 s | 性能测试 |
| OP-7 | L2 只在需要时 attach;任务结束后的占用时间要可测量并继续缩短 | CDP 生命周期统计 |
| OP-8 | 直接复用当前浏览器登录态,不要求另建自动化 profile | 生产扩展 E2E |
| OP-9 | 用户在受控标签页手动输入后 300 ms 内暂停对应 Thread | 生产扩展 E2E |
| OP-10 | 同一路径连续失败时停止重复,返回结构化错误或切换读取方式 | 单测与 Agent 回归集 |
当前边界:
- L1 合成事件可能被页面忽略。
type在明确失败时可以请求一次type_trusted;click目前没有足够可靠的自动升级判据,但模型可以显式调用click_trusted。 read_page_deep已能从跨域 iframe、嵌套 OOPIF 和 closed shadow root 中生成 deep ref。生产扩展 E2E 覆盖了嵌套跨站 frame 的读取、输入和点击。- CDP 以 tab 为单位串行 attach,并在空闲 30 秒后 detach;当前不会在每个 turn 结束时立即 detach。
- 不提供网络层拦截或 mock、录制回放、无头批处理,也不构建 Firefox/WebKit 版本。
4. Provider 配置
Panelot 支持 OpenAI 兼容与 Anthropic 线协议。自定义 Header、多 Key、并发模型拉取、模型预设和独立 task model 选择器已经实现。具体端点仍需通过 Verify 和真实请求确认。
| ID | 目标 | 测量方法 |
|---|---|---|
| PV-1 | 新用户从打开设置到发出第一条消息不超过 60 秒 | 可用性测试 |
| PV-2 | 常见连接错误都显示归因、上游安全摘要和下一步操作,不显示裸异常 | Provider 测试矩阵 |
| PV-3 | 多连接并发拉取模型;单个连接失败不阻塞其余连接 | 单测与故障注入 |
| PV-4 | 维护至少 10 个常见端点的流式与工具调用兼容矩阵 | 发布前人工矩阵 |
| PV-5 | Key failover 不丢失已经完成的对话内容,也不重复浏览器写操作 | 故障注入测试 |
Panelot 不提供模型市场、共享 Key 或中转服务。Provider 模板只是配置起点,不是兼容性保证。
5. 审批与安全
三种权限模式是 always、untrusted 和 auto。always 会询问每次浏览器和 MCP 工具调用;untrusted 默认允许读取并询问写操作;auto 可自动执行,但保存的 ask/deny 规则、敏感站点和敏感内容检查仍然生效。
| ID | 目标 | 测量方法 |
|---|---|---|
| AP-1 | 用户不看文档也能从审批卡片判断目标、参数和执行结果 | 可用性测试 |
| AP-2 | 基准任务只在真正需要时打断用户,不为只读步骤重复询问 | 审批事件统计 |
| AP-3 | 审批卡片出现后可立即通过键盘完成选择 | 扩展 E2E |
| AP-4 | 系统通知能打开对应的待审批或恢复会话;超时后按拒绝结案 | 通知与恢复 E2E |
| AP-5 | 伪造 system 指令、审批文案和外域诱导不能绕过 Gatekeeper | 安全回归集 |
| AP-6 | 拒绝结果返回模型后,不原样重复同一操作 | Agent 回归集 |
权限设置不会移除 Gatekeeper。审批与交互 UI 只出现在扩展页面中,不注入普通网页。ask_user、用户接管与 MCP Elicitation 会持久暂停 Run;页面条件与定时等待由 Worker alarm/listener 恢复,不要求用户保持对话页打开。
6. Skills、Plugins 与 MCP
| ID | 目标 | 当前状态或测量方法 |
|---|---|---|
| EC-1 | 常见单文件 SKILL.md 可以直接导入;多文件依赖在导入前提示 | 文件、URL 和 YAML 单测已覆盖;仍需维护社区样本集 |
| EC-2 | 识别 Claude Code 与 Cursor 的远端 MCP 配置片段 | 配置解析单测 |
| EC-3 | OAuth MCP 从添加到可调用工具的步骤保持简短,授权站点清楚可见 | OAuth E2E 与人工验证 |
| EC-4 | Skill 索引只放名称和描述,正文按需加载 | prompt 组装测试 |
| EC-5 | Plugin manifest 声明所有资产;代码、路径穿越、symlink 和超限归档被拒绝 | Plugin 安全单测 |
Plugin 只分发数据资产,不执行远程代码。精选索引接口已经存在,但当前没有内置条目;自动更新、市场和评分不在当前范围内。Skill auto_suggest 的匹配逻辑已有单测,侧边栏建议胶囊仍未接入。
7. 可靠性与上手
| ID | 目标 | 测量方法 |
|---|---|---|
| RL-1 | Service Worker 中断后不丢失已提交的用户输入和已完成工具结果 | 引擎恢复集成测试 |
| RL-2 | 2000 节点会话保持可滚动,切换时不阻塞输入 | 性能测试 |
| RL-3 | tab 关闭后释放对应快照与 CDP 路由状态 | 单测与手动 profile |
| RL-4 | 配额超过 80% 时给出明确提示;清理不删除当前活跃会话 | 数据层单测与 UI 测试 |
| OB-1 | 安装到首次有效回答不超过两分钟 | 新 profile 可用性测试 |
| OB-2 | 首次操作前能理解三种权限模式的区别 | 可用性测试 |
| OB-3 | 空态建议与当前页面类型相关,点击后允许用户继续编辑 | UI 测试 |
| OB-4 | 未配置模型时可以直接打开连接设置 | 扩展 E2E |
8. 当前验证覆盖
Vitest 已覆盖协议校验、会话树、Provider 流、Gatekeeper、恢复状态机、Plugin 导入、MCP OAuth、快照/ref、actionability 和结构化动作错误。Playwright 使用 persistent Chromium context 加载生产 unpacked extension,并覆盖 manifest、设置页、页面执行、嵌套 OOPIF deep ref、trusted 输入、审批和中断恢复。
这些测试证明的是具体机制,不证明 OP/PV/AP/RL 表中的成功率和延迟已经达标,也不能代替真实 Provider、MCP 服务和网站的发布前兼容验证。
仍需补充:
- 通知到审批卡片的完整跳转和五分钟超时 E2E;
- 各项延迟、内存和成功率的稳定基准;
- 常见 Provider、MCP 与社区 Skill 的人工兼容矩阵;
- Skill
auto_suggest的侧边栏入口; - 非空精选 Plugin 内容及其发布流程。
9. 校准规则
第一次稳定测量后,再把目标改为基线。此后只在测试环境、样本集或产品范围变化时调整,并在文档中写明测量条件。模型相关指标要按模型和端点分组,不能用单次成功或单一模型代表整体表现。