Skip to content

Latest commit

 

History

History
128 lines (94 loc) · 10.8 KB

File metadata and controls

128 lines (94 loc) · 10.8 KB

体验目标与验证边界

文档入口:用户指南 · 关联:各运行时契约分章

本文列出产品目标和测量方法。表中的百分比、延迟和样本规模都是待校准目标,不是当前版本已经达到的承诺。当前行为以源码、运行时契约分章和测试为准。

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_trustedclick 目前没有足够可靠的自动升级判据,但模型可以显式调用 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. 审批与安全

三种权限模式是 alwaysuntrustedautoalways 会询问每次浏览器和 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. 校准规则

第一次稳定测量后,再把目标改为基线。此后只在测试环境、样本集或产品范围变化时调整,并在文档中写明测量条件。模型相关指标要按模型和端点分组,不能用单次成功或单一模型代表整体表现。