linshen
0f526630a2
refactor(ui): extract temporary variables panel
...
Reuse a shared temp-variable editor in test panels and show it above image test variants for parity with Pro.
2026-01-27 21:39:56 +08:00
linshen
84b1751cc7
refactor(ui): centralize VariableAwareInput wiring
...
Introduce useVariableAwareInputBridge to reuse variable extraction/missing-variable handlers across workspaces.
2026-01-27 21:26:08 +08:00
linshen
91e81772c2
feat(ui): harden variable parsing and validation
...
Support {{ foo }} placeholders, block unescaped mustache tags, and treat empty values as missing.
2026-01-27 21:11:43 +08:00
linshen
11dff36575
feat(ui): support variables in image mode
...
Enable variable-aware editing and ensure image generation replaces placeholders, blocking runs when required variables are missing or empty.
2026-01-27 21:03:17 +08:00
linshen
67a16ed036
feat(ui): dedupe and gc image storage by session refs
2026-01-25 22:41:04 +08:00
linshen
7ebe66df70
feat(ui): add multi-column image workspace test variants
2026-01-25 22:14:55 +08:00
linshen
c6ba853f5d
feat(ui): add multi-column pro-multi test variants
...
Introduce a split-view pro-multi workspace with a multi-column variant tester and persist layout/variant settings across sessions.
2026-01-24 21:55:57 +08:00
linshen
4f5af3b2e2
feat(ui): add multi-column pro-variable test variants
2026-01-24 18:00:21 +08:00
linshen
a35d0b7eab
feat(ui): add multi-column basic-system test variants
...
Align basic-system testing with basic-user by enabling 2–4 side-by-side variant runs with persisted per-column settings/results and A/B evaluation entry points.
2026-01-24 15:34:39 +08:00
linshen
ce3af34d9b
feat(ui): add multi-column basic-user test variants
...
Enable 2-4 column comparisons with per-variant version/model selection, persisted layout/results, and evaluation actions aligned to output.
2026-01-24 12:44:33 +08:00
linshen
a539ef9023
chore(cursor): remove legacy workflows
2026-01-23 11:47:04 +08:00
linshen
ba3c4b7c88
fix(ui): persist manual prompt edits to history
...
Ensure Save Changes creates a new version across basic and image workspaces.
2026-01-22 21:47:20 +08:00
linshen
4575ee1712
fix(test): build core before ui gate tests
...
Ensure @prompt-optimizer/core dist exists so Vitest/Vite can resolve workspace imports in a fresh CI checkout.
2026-01-21 23:57:19 +08:00
linshen
02caa81584
fix(i18n): add missing retry label
...
Add common.retry to locale bundles to avoid runtime warnings during evaluation error states.
2026-01-21 23:52:04 +08:00
linshen
d3a44e44b5
ci: limit e2e to gate specs
...
Avoid running the full E2E suite on every PR/push. Keep fast unit gates and run only test:gate:e2e in VCR replay mode.
2026-01-21 23:46:12 +08:00
linshen
e39495bfb9
fix(ci): use existing e2e replay script
...
Replace the missing pnpm test:replay step with pnpm test:e2e:replay and ensure gate runs with E2E_VCR_MODE=replay.
2026-01-21 23:41:37 +08:00
linshen
50ba9ab011
chore: bump version to 2.5.0
...
Sync version across root package, desktop app, and browser extension manifest.
2026-01-21 23:29:08 +08:00
linshen
e326ad1747
chore: remove temporary root files
...
Drop an outdated screenshot and a stray review note from the repository root to keep the workspace clean.
2026-01-21 23:17:42 +08:00
linshen
0617868cfd
ci: gate docker and release on tests
...
Make docker builds and desktop releases depend on the shared test workflow to avoid duplicate runs and ensure only tested revisions ship.
2026-01-21 23:05:11 +08:00
linshen
e3f428013e
feat(ui): warn about CORS-restricted providers
...
Expose optional corsRestricted provider metadata and show tags/dialogs on connection tests in web. Also hide the warning tag in desktop where IPC bypasses CORS.
2026-01-21 22:47:56 +08:00
linshen
3115540cac
fix(desktop): preserve structured IPC errors for i18n
...
Keep error code/params across contextBridge so renderer can translate errors reliably; harden UI error formatting and update vue-i18n test mocks.
2026-01-21 21:23:17 +08:00
linshen
03a62630bd
fix(i18n): align core errors to structured codes
...
- Normalize IPC/plain-object errors via toErrorWithCode
- Align image adapter + storage config errors to i18n codes
- Add missing UI locale keys and update tests
2026-01-20 22:23:00 +08:00
linshen
96a32ad46d
feat(ui): persist evaluation results per workspace
...
Evaluation is now scoped to each workspace and stored in session snapshots to avoid cross-mode state leaks and restore after reload. Pro/multi clears evaluation results when the selected message changes.
2026-01-20 21:56:00 +08:00
linshen
dd1589186c
fix(ui): fail fast when image storage is unavailable for sessions
2026-01-20 21:17:00 +08:00
linshen
320957c385
feat(data): add desktop storage info to data manager
2026-01-20 20:43:00 +08:00
linshen
934601440a
fix(ui): improve model key conflict errors
2026-01-20 20:08:00 +08:00
linshen
6d85f18c6a
fix(ui): apply evaluation patch to image session
2026-01-19 22:24:24 +08:00
linshen
c8f5a2dec8
fix(core): format dashscope image2image input as data url
2026-01-19 22:04:06 +08:00
linshen
40e1005d81
test(e2e): stabilize route bootstrap and output polling
...
- Reduce output polling flakes\n- Stabilize route bootstrap and smoke flows\n- Improve i18n label compatibility (incl. zh-TW)
2026-01-18 22:56:00 +08:00
linshen
8205df2dc1
fix(ui): harden workspaces, history restore, and image mode
...
- Harden workspace/session restore and initialization\n- Improve image mode behavior and storage handling\n- Update UI i18n and integration tests
2026-01-18 20:28:00 +08:00
linshen
ca877ea794
build(ui): add vue-tsc typecheck
...
- Add vue-tsc typecheck to UI build pipeline
2026-01-18 16:43:00 +08:00
linshen
8c17e9c9e7
fix(desktop): align IPC for image errors and tools
...
- Align desktop IPC with structured image errors\n- Support LLM tools streaming over IPC
2026-01-18 13:17:00 +08:00
linshen
007a37e26a
feat(core): structured image errors and adapters
...
- Add structured image error codes and types\n- Update image adapters and service surface for explicit requests\n- Update core tests and vitest configuration
2026-01-18 10:08:00 +08:00
linshen
7599020638
fix(i18n): translate structured core errors in UI
...
Align core errors to emit code+params and have UI render messages via i18n keys with interpolation, plus add tests for locale-specific output.
2026-01-17 12:56:55 +08:00
Prashant Jain and Claude Opus 4.5
3a100d5314
feat(i18n): internationalize core error messages with error codes ( #238 )
...
- Add centralized error codes in packages/core/src/constants/error-codes.ts
- Refactor error classes to use error codes instead of hardcoded messages
- Add bilingual comments (English/Chinese) for cross-team collaboration
- Add error translations to en-US, zh-CN, and zh-TW locale files
- Export error codes from core package for UI layer consumption
This allows error messages to be displayed in the user's preferred
language while keeping the codebase accessible to both English and
Chinese speaking developers.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-17 12:51:09 +08:00
Prashant Jain and Claude Opus 4.5
b37950dc74
feat(ui): sort image models by enabled status and name ( #235 )
...
Sort image model configurations in Model Manager to display enabled
models first, then alphabetically by display name within each group.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-16 16:46:00 +08:00
linshen
90f23b6e0a
test(e2e): 补全文生图/图生图对比生成并稳定回放
...
- 增加 SiliconFlow 文生图与图生图用例并启用对比生成\n- 完善 VCR 回放(含非 SSE 响应)并修复输出选择器\n- 图生图跳过易抖动模板下拉、等待上传弹窗关闭;e2e 脚本改用 cross-env 兼容 Windows
2026-01-15 22:43:00 +08:00
linshen
840d4087a7
test(e2e): 补充 basic-system/basic-user 用例并增强回放
...
- 新增 system 对比用例并支持 VCR 多请求回放\n- 补齐 basic-user 用例并录制 fixtures
2026-01-15 21:08:00 +08:00
linshen
204c5d9816
feat(ui): 提升可访问性并稳定 Pro Multi 流程
...
- 提升 UI 组件可访问性与导航交互一致性\n- 稳定 Pro Multi 消息优化流程,降低 E2E flake
2026-01-13 21:17:00 +08:00
linshen
54077c80d4
Merge branch 'hapi-var-extract' into develop
...
# Conflicts:
# packages/ui/src/composables/model/useTextModelManager.ts
2026-01-12 23:08:00 +08:00
linshen
062c2eb9d5
feat(router): 优化路由初始化和工作区布局
...
- 重构工作区布局并改进端到端测试
- 重构根路径路由引导和模型选择逻辑
- 解决路由初始化时机问题避免误重定向
2026-01-12 22:36:00 +08:00
john
a06c54e6e6
Feature/api key quick link ( #229 )
...
* feat: 在模型管理中添加 API 密钥快速链接功能
- 在 BaseProvider 和 TextProvider 接口中添加 apiKeyUrl 字段
- 为 9 个文本模型适配器和 3 个图像模型适配器添加 API 密钥 URL
- 在 TextModelEditModal 和 ImageModelEditModal 中添加链接按钮
- 修复 TextModelForm 接口缺少 providerMeta 字段的问题
- 添加中英繁三语言翻译支持
- 创建完整的功能文档和测试计划
功能特性:
- 用户可以通过点击 API 密钥输入框旁的链接按钮直接跳转到服务商的密钥获取页面
- 支持 DeepSeek, OpenAI, Gemini, Anthropic, 智谱, 硅基流动, 通义千问, OpenRouter, ModelScope 等提供商
- 链接在新标签页中打开,带有适当的安全属性
- 自动根据选择的提供商更新链接 URL
* fix: 修复 TypeScript 类型错误
- 修复 useTextModelManager 中的服务注入类型问题
- 修复所有 catch 块中的 error 类型处理
- 修复 TextModelEditModal 中的模板绑定和类型断言
- 修复 ImageModelEditModal 中的变量名错误
- 修复 openai 图像适配器中的 Blob 构造类型问题
- 清理临时文档文件
* fix: 修复代码审查中发现的问题
1. 移除 DashScope URL 中不必要的查询参数 (?apiKey=1)
2. 修复 OpenAI 图像适配器中 Blob 构造的 SharedArrayBuffer 类型问题
3. 修复 services 注入类型 (Ref<AppServices>) 并恢复 .value 访问
4. 提取 ExternalLinkIcon 为可复用组件,避免代码重复
2026-01-12 21:16:04 +08:00
SMILE
75331b9bd0
feat: 添加搜索功能到历史抽屉并更新国际化消息。 ( #226 )
2026-01-11 20:00:10 +08:00
linshen
7163464097
fix(ui): 实现 UI 持久化和模板选择统一
...
- 实现 session selections 跨刷新持久化
- 统一 template default 选择逻辑
- 对齐 image template 和 model 布局
- 验证 template defaults 和 mode-switch persistence
2026-01-11 19:34:00 +08:00
linshen
afb0f92d19
refactor(e2e): 全面重构端到端测试基础设施
...
- 实现 VCR 在启用真实 LLM 时默认使用 off 模式
- 实现动态数据库隔离以支持并行测试
- 修复 Pro 模式 session 持久化测试
- 移除 VCR fixtures 中的时间戳字段
- 改进测试隔离以防止路由状态泄漏
- 修正 smart-e2e 只检查实际调用 LLM API 的测试 fixture
- 简化 smart-e2e 使用 auto 模式
- 重命名 analyze-prompt.spec.ts 为 route-initialization.spec.ts
- 添加 session 持久化测试,验证下拉框选择刷新后丢失问题
2026-01-10 15:47:00 +08:00
linshen
8467b96263
feat(test): 实现智能测试系统并改进测试策略
...
- 实现智能测试系统,统一测试入口
- 完成 Pro 路由重构和 Image 模式评估测试
- 为 Image 模式添加 data-testid 支持
- 完善 E2E 测试并修复选择器策略
- 优化 Seedream、OpenAI 和 SiliconFlow 适配器
- 移除调试日志,保留错误和警告日志
- 重命名 Pro 模式子模式(system/user → multi/variable)
- 清理测试代码并改进稳定性
2026-01-10 11:23:00 +08:00
linshen
63ab9e66cd
feat(test): 建立完整的测试基础设施和集成测试
...
- 建立 VCR 测试基础设施,支持 LLM API 回放
- 添加错误门禁和冒烟测试
- 添加 LLM 服务集成测试(P0)
- 记录测试进展并更新任务计划
2026-01-03 21:08:00 +08:00
linshen
69bffd4260
refactor(ui): 完善单一真源架构解决跨模式状态污染
...
- 修复跨模式状态污染问题,实现单一真源架构
- 完善单一真源架构并优化代码分割
- 归档 Session Store 单一真源重构文档
- 将未完成的迁移指南移回 workspace
2026-01-02 16:52:00 +08:00
linshen
f64534b4cf
fix(ui): 修复图像模式问题并新增 JSON 结构化模板
...
- 支持 ModelScope API 新增的 PROCESSING 状态
- 修复 session 状态持久化的 P0 问题
- 新增 JSON 结构化图像提示词模板
- 增强图像模式模型选择的防御性
2026-01-02 11:47:00 +08:00
linshen
a4ab335c2f
fix(ui): 修复 session store 的数据加载和状态同步问题
...
- 修复外部数据加载时 session restore 覆盖数据的问题
- 修复基础模式子模式测试结果共享问题
- 重构 ImageWorkspace 为 session store 单一真源并修复历史加载
2026-01-01 20:15:00 +08:00