mirror of
https://github.com/linshenkx/prompt-optimizer.git
synced 2026-05-13 09:20:28 +08:00
2.6 KiB
2.6 KiB
任务计划:测试区版本/模型选择(basic-user 优先)
2026-03-16 状态补充: 当前代码已把旧
latest语义替换为workspace。 这份文档保留任务脉络,但阅读时请把所有latest理解为“当前工作区内容”。
目标
在 /basic/user 中,让右侧测试区不再读取编辑区 textarea,而是从当前 session 的版本链(v0..vn)选择输入,并支持:
- 每个结果面板独立选择提示词版本(
workspace / v0 / v1..vn) - 每个结果面板独立选择测试模型(左右可以不同)
默认对比:v0 vs workspace,对比测试需要并行执行。
当前阶段
Phase 5(验证与交付)
阶段与状态
Phase 1:需求与现状梳理(已完成)
- 与用户确认需求与约束(basic-user first、session-scoped、无草稿选项)
- 识别版本链/测试执行的现有数据流与关键文件
- 将关键约束记录到
findings.md
Phase 2:方案设计(已完成)
- 设计 session 持久化数据模型:
testPanels.{original,optimized}.{version,modelKey} - 设计版本解析规则:
workspace/v0/ 固定vN - 设计 UI 集成:结果卡片 header 注入选择器(slot)
- 编写设计文档:
docs/architecture/test-area-version-model-selection.md
Phase 3:实现(basic-user)(已完成)
- Session store:新增
testPanels并做旧数据迁移(继承selectedTestModelKey) - 组件扩展:
TestResultSection增加 header-extra slots;TestAreaPanel透传 BasicUserWorkspace:加入每面板 version+model 选择器;测试改用解析后的 prompt;compare 并行- Evaluation:使用所选 prompt/结果进行评估(original/optimized/compare)
Phase 4:UI/布局优化(已完成)
- 解决 header 溢出:允许 header/actions 换行;限制 version/model 选择器宽度
Phase 5:验证与交付(进行中)
pnpm -F @prompt-optimizer/ui lintpnpm -F @prompt-optimizer/ui typecheckpnpm -F @prompt-optimizer/ui test- (可选)补充 e2e:覆盖 basic-user 的新选择器与并行对比行为
- 与用户确认是否提交代码变更与文档(
docs/workspace+docs/architecture)
关键决策(摘要)
- 将
testPanels持久化在 session store 中,保证刷新/重启后选择稳定。 version使用'workspace' | 0 | number持久化,能精确表达工作区草稿、原始输入与历史版本。- 选择器放在每个结果卡 header,A/B 归属更直观;header 已做响应式换行避免溢出。