53 Commits
Author SHA1 Message Date
Iams4kura 470a2985f6 fix(ui): preserve standard prompt imports 2026-08-10 17:27:30 +08:00
linshen 0c3679511d fix(test): complete Basic/System image attachment support (#196) 2026-07-18 18:13:41 +08:00
linshen 0e4f58292a fix(desktop): route unsigned macOS updates to releases (#313)
Refs #313
2026-07-16 22:49:54 +08:00
linshen 5d3b7ada92 fix(model): tolerate malformed stored text configs 2026-05-18 21:38:27 +08:00
linshen 7f04dcc52c fix(ui): soften themed tooltip surfaces
- Lighten themed tooltip backgrounds and borders.
- Add reusable theme composable coverage for readable contrast.
- Keep short tooltip styling aligned with UI theme tokens.
2026-05-15 22:14:33 +08:00
linshen 5c111d0d86 fix(session): persist optimization sessions reliably
- Commit basic and context optimization session updates

- Persist image and pro conversation optimization results

- Restore sessions safely after history reload
2026-05-12 22:58:09 +08:00
linshen f25837b6cb feat(ui): polish workspace controls and source cues
- Link test source cues back to prompt panel areas

- Add source-linked cards, variant tags, and feedback composables

- Add image model quick switching and workspace control polish
2026-05-12 21:36:52 +08:00
linshen 69db225a1a feat(model): support headers and text quick switching
- Add custom request header parsing and provider metadata resolution

- Add quick switching controls for text model workspaces

- Keep model UI labels and custom header output tidy
2026-05-10 23:08:14 +08:00
linshen 3f6c460154 feat(garden): add inspiration and import polish
- Add prompt garden inspiration suggestions for image workspaces

- Use public API paths and locale-aware suggestion loading

- Preserve category paths when importing favorites from Prompt Garden
2026-05-10 21:23:37 +08:00
linshen b1ac36e962 fix(prompt-garden): improve import link handling 2026-05-03 13:46:39 +08:00
linshen 6d75528793 feat(prompt-garden): integrate import and favorite flow
Wire Prompt Garden imports into workspace and favorite flows, add the import dialog/panel affordances, persist Garden metadata/media into favorites, and document the external import contract.
2026-05-03 13:15:16 +08:00
linshen 70bfbeac72 refactor(ui): clarify favorite example save flow 2026-05-03 13:15:14 +08:00
linshen 743e622f6c feat(ui): use filled variables as generation context
- Pass existing filled variable values into smart value generation
- Update generation templates and service contracts for context-aware output
- Cover service runtime and UI composable behavior with targeted tests
2026-05-02 22:20:00 +08:00
linshen 23848a840d feat(favorites): refine prompt asset workspace flows
- Bind favorites to source assets and save targets throughout workspace actions
- Share the favorite editor/detail surfaces across dialogs and workspace panels
- Add provenance badges, utility-menu apply actions, and themed favorite panels
- Expand unit and integration coverage for favorite source and editor flows
2026-05-01 14:36:12 +08:00
linshen 93377e1b70 feat(favorites): standardize prompt asset sessions
- Add prompt-model services for content, examples, modes, sessions, and history
- Persist richer favorite prompt-asset metadata and session projections
- Wire favorite save/apply paths across supported workspaces
- Cover the new prompt-asset contract with core and UI regressions
2026-05-01 10:24:18 +08:00
linshen f034bde2d4 feat(ui): enhance favorites with example editing, media management, and workspace apply
- Add reproducibility example editing with media support in favorite editor
- Add example apply to workspace sessions (pro-variable, image modes)
- Harden favorites page routing, guards, and garden deduplication
- Consolidate FavoriteCard into editor form with full test coverage
2026-04-27 21:28:00 +08:00
linshen 219af33de0 feat(ui): add routed favorites page 2026-04-26 22:11:18 +08:00
linshen 6506c5436a fix(ui): preserve Garden favorite media fallback 2026-04-26 16:29:37 +08:00
linshen 08687bae2e fix(ui): clear content before Prompt Garden import 2026-04-24 22:25:24 +08:00
linshen 54fbd76685 fix(i18n): restore locale defaults and localized feedback
- restore locale bootstrap defaults across UI and MCP startup paths
- localize template, context editor, favorites, Prompt Garden, and history feedback toasts
- isolate UI consumer typechecks needed by the localization rollout
- add regression tests covering english-first runtime behavior and localized fallbacks
2026-04-09 22:17:34 +08:00
linshen c75afa89e9 feat(i18n): establish english-first locale baseline
- split UI locale packs into en-US, zh-CN, and zh-TW modules
- switch runtime defaults, docs, and repository guidance toward an English-first baseline
- update core, MCP, and UI runtime copy to remove hardcoded Chinese fallbacks
- add locale parity and no-hardcoded-runtime guardrails across the repo
2026-04-08 20:18:27 +08:00
linshen d0f1d45c17 fix(storage): harden startup safety and favorite asset handling 2026-04-06 14:13:28 +08:00
linshen 90b957c983 feat(image): deliver multi-image generation workflow
- add multi-image request types, routing, favorites integration, and desktop bridges
- support multimodal streaming prompt optimization with ordered image inputs
- enable Seedream multi-image generation and redesign the multi-image workspace
- add coverage for routing, persistence, workspace guards, and end-to-end flows
2026-04-06 14:13:28 +08:00
linshen 3b9435f164 feat(image): add text2image original prompt analysis 2026-04-03 22:18:34 +08:00
linshen b60bfb41f9 feat(image): complete text2image evaluation closure 2026-04-03 21:47:52 +08:00
linshen c06d998e54 feat(image): streamline text2image reference replication flow
- Tighten the replication-first prompt contract for reference-only generation
- Extract text2image reference image actions into a dedicated composable
- Simplify workspace controls while keeping prompt preview and variable behavior aligned
2026-04-01 21:54:43 +08:00
linshen b6fbc21c08 fix(image): stabilize cloudflare-backed reference flow
- Align Cloudflare model defaults, metadata, and connection labels across core and UI
- Add transient retry handling for Cloudflare image requests
- Harden reference prompt normalization and extend related regression coverage
2026-04-01 21:07:29 +08:00
linshen 24be9b5427 refactor(image): simplify reference prompt generation flow
- replace the direct extract-from-image path with a reference dialog preview and apply workflow
- centralize reference prompt preview state and temporary variable syncing inside the text2image workspace
- preserve text2image evaluation wiring and compare or result review actions while refactoring the reference flow
2026-03-31 21:58:52 +08:00
linshen 6024d003af feat(ui): redesign text2image reference dialog
- Extract the reference dialog state into a dedicated composable with regression tests
- Rebuild the modal layout for image preview, mode switching, prompt editing, and variable editing
- Polish dialog copy, prompt preview truncation, and theme-related guards
2026-03-30 21:16:23 +08:00
linshen 80005b4827 feat(ui): integrate text2image evaluation workflows 2026-03-29 14:47:11 +08:00
linshen ba318e8b4c feat(ui): simplify compare evaluation ux 2026-03-22 19:46:12 +08:00
linshen 414ec28d7e feat(evaluation): migrate compare rewrite protocol and add calibration artifacts 2026-03-22 14:28:53 +08:00
linshen 4b3e18394f feat(ui): add structured compare workflow to test panels 2026-03-21 17:12:41 +08:00
linshen 8e11ee784f test(evaluation): refresh unit, e2e, and VCR coverage
- expand core and ui regression coverage for analysis, result, and compare evaluation flows
- refresh text analysis and evaluation VCR fixtures after the workspace/result semantics change
- cover stale-state and analyze-created workspace behaviors in integration and e2e tests
2026-03-18 09:35:43 +08:00
linshen 5b00efb3da feat(ui): support renaming temporary variables 2026-03-01 22:53:20 +08:00
linshen 08d53a2806 feat(ui): add confirm-mode prompt garden favorite import 2026-02-27 20:59:47 +08:00
linshen f48b4e6778 feat(ui): map prompt garden imports to favorite media 2026-02-25 12:52:10 +08:00
linshen bf84317f48 feat(ui): support prompt garden import with favorite asset refs 2026-02-25 11:29:01 +08:00
linshen 4664cc2a21 feat(ui): add pluggable prompt garden favorite previews
Move Garden snapshot rendering and editing into optional preview plugins so favorites stay decoupled while preserving import-time snapshot persistence and asset updates.
2026-02-10 23:22:03 +08:00
linshen b034b56ff6 feat(integrations): import prompt-garden examples 2026-01-31 23:14:01 +08:00
linshen 23f54d7a13 fix(integrations): reset temp vars on prompt-garden import 2026-01-31 21:05:37 +08:00
linshen 117de3b2ea fix(ui): store pro-multi messages in session 2026-01-31 17:25:57 +08:00
linshen 89a6f0de9c feat(ui): require prompt-garden v1 import schema
Require v1-only response schema (no legacy content/title), support text/messages prompts, import variables into submode temporary variables, and document Mustache-only placeholders.
2026-01-29 21:30:00 +08:00
linshen f98f46e7bb feat(ui): support per-variable smart fill 2026-01-27 23:34:12 +08:00
linshen 837702e769 fix(core): switch OpenRouter image default to gemini-2.5-flash-image 2026-01-27 23:57:38 +08:00
linshen e014db2b5e fix(ui): unify variable name validation and sanitize variables 2026-01-27 23:45:00 +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 da789bbb0e refactor(ui): 重组 composables 目录结构并优化模式功能
**目录结构重构**:
- 将 41 个 composables 文件按功能分类到 10 个子目录
- model/ - 模型管理相关(5个文件)
- prompt/ - 提示词相关(6个文件)
- context/ - 上下文相关(2个文件)
- image/ - 图像相关(2个文件)
- ui/ - UI交互相关(11个文件)
- accessibility/ - 无障碍相关(3个文件)
- performance/ - 性能优化相关(4个文件)
- storage/ - 存储相关(3个文件)
- system/ - 系统相关(2个文件)
- mode/ - 功能模式相关(4个文件)

**技术实现**:
- 使用 git mv 保留文件历史
- 为每个子目录创建 barrel export (index.ts)
- 更新 120+ 处导入路径引用
- 修复测试文件中的导入路径

**功能优化**:
- 新增 useCurrentMode composable 提供只读模式访问
- 基础模式下隐藏变量相关UI组件
- 优化 TestAreaPanel 根据功能模式动态显示变量表单

**影响范围**:
- 移动文件:41个 composables
- 新增文件:10个 index.ts
- 更新导入:120+ 处导入路径
- 测试修复:3个测试文件路径更新
2025-10-26 11:46:26 +08:00
linshen b6b3765516 feat(ui): 实现 CodeMirror 6 变量高亮系统与完整测试套件
核心功能:
- 将 VariableAwareInput 从原生 textarea 升级到 CodeMirror 6
- 新增变量实时高亮功能 (全局/临时/预定义/缺失)
- 新增智能自动完成功能 (输入 {{ 触发)
- 新增缺失变量快捷添加功能
- 完善变量提取安全性机制
- 新增临时变量双向同步机制

测试覆盖:
- 新增集成测试覆盖完整用户工作流
- 新增 VariableAwareInput 组件单元测试
- 新增 useVariableDetection 组合式函数测试
- 新增选择安全机制和 CodeMirror 扩展测试
- 增强测试环境配置支持国际化和 Naive UI
- 总计 25 个测试文件 242 个测试用例全部通过

技术实现:
- 新增 useVariableDetection.ts 变量检测引擎
- 新增 codemirror-extensions.ts 扩展集合
- 重构 VariableAwareInput.vue 使用 CodeMirror 6
- 增强 ContextUserWorkspace.vue 临时变量管理
- 完善 TestAreaPanel.vue 变量同步事件
- 新增 variableDetection 国际化文案

架构亮点:
- 模块化架构设计,职责分离清晰
- 完善的变量边界保护机制
- 实时高亮与智能补全体验
- 类型安全的 TypeScript 实现
2025-10-25 18:58:33 +08:00
linshen ba63eff9ad feat: 重构图像模型管理架构并优化用户界面
## 核心改进

### 🏗️ 架构重构
- 实现ImageModelManager组件分离设计,关注点明确分离
- 重构ModelManager.vue为统一模型管理入口,支持文本/图像双模式
- 采用组件复用和扩展性设计,易于添加新模型类型

### 🎨 界面优化
- 摒弃5步导航式编辑,改为一体化界面设计
- 优化ImageModelEditModal为单页滚动布局,提升操作效率
- 统一文本和图像模型管理的交互体验和视觉风格

### 🔌 适配器扩展
- 新增OpenRouter和SiliconFlow图像适配器支持
- 完善AbstractImageProviderAdapter抽象基类设计
- 优化适配器注册表和动态模型发现机制

### 💻 类型系统
- 完善ImageModelConfig和相关类型定义
- 增强TypeScript类型安全和智能提示
- 优化服务层接口设计和依赖注入架构

### 🧪 测试覆盖
- 新增图像适配器单元测试和集成测试
- 添加E2E验收测试保证功能完整性
- 增强连接测试和参数验证测试覆盖

### 📚 文档完善
- 新增图像模型管理架构设计文档
- 添加一体化界面改进方案文档
- 更新项目结构和开发指南

## 技术特点

- **SOLID原则**:清晰的单一职责和开闭扩展设计
- **组合模式**:ImageModelManager + ModelManager.vue 组合架构
- **响应式设计**:基于Vue 3 Composition API的状态管理
- **依赖注入**:松耦合的服务架构和组件通信

这次重构显著提升了图像模型管理的用户体验和代码可维护性,
为后续音频、视频等多模态功能扩展奠定了坚实基础。
2025-09-21 20:17:03 +08:00