linshen
9e4d60fc9c
docs: sync documentation with v2.10.0 features
...
- Update site/src/main.js with image generation, Prompt Garden, Smart Favorites
- Update README.md and README.zh-CN.md with new features
- Update docs/project/ to v2.10.0 (project-status, prd, README)
- Update docs/README.md timestamp
2026-05-03 21:08:50 +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
0b9cd227d9
docs(prompt-model): consolidate standardization status
2026-05-03 13:15:14 +08:00
linshen
4accdf1417
feat(prompt-garden): add discovery import entry
...
- Add environment defaults and Vite proxy configuration for Prompt Garden discovery
- Expose discovery import controls from workspace utility surfaces
- Wire image text-to-image import affordances and localized copy
- Document configuration and cover environment/UI behavior with tests
2026-05-02 22:20:01 +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
2e119a6d83
fix(core): align seedream image model capabilities
2026-04-20 22:26:52 +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
8cf43a3e3d
test(e2e): streamline gated suites and replay stability
2026-04-06 14:13:29 +08:00
linshen
d0f1d45c17
fix(storage): harden startup safety and favorite asset handling
2026-04-06 14:13:28 +08:00
linshen
bd546ebe0f
build(release): add repo-driven bilingual release notes
2026-04-05 08:24:26 +08:00
linshen
fe62586b19
fix(ci): remove repo-level electron mirror defaults
2026-04-03 00:42:00 +08:00
linshen
46d7d0552d
feat(image): refine reference style migration flow
...
- Strengthen the style migration contract around natural subject integration and visual hierarchy
- Remove the image2image reference extraction entry from the migrated UI flow
- Normalize migration placeholders and document the updated migration design
2026-04-01 23:24:51 +08:00
linshen
c33f5973a3
refactor(image): rebuild reference prompt pipeline
...
- Introduce the new reference prompt composition and migration template pipeline
- Replace the legacy image prompt extraction path and align template loading contracts
- Update text2image workspace integration and add reference pipeline coverage
2026-03-30 22:08:41 +08:00
linshen
cd7fd6bc88
docs(developer): sync prompt garden integration contract
2026-03-29 21:17:23 +08:00
linshen
e69086f075
build(deps): refresh workspace dependency baselines
...
- refresh direct dependency baselines across workspace packages
- require Node 22 consistently in docs, Docker, and package engines
- update lint/build tooling configs to match the new workspace baseline
- keep package manifests and lockfile aligned after the dependency refresh
2026-03-27 20:41:18 +08:00
linshen
9909abf58f
docs: archive outdated workspace documents
2026-03-26 21:23:46 +08:00
linshen
1a307fa0c7
chore(repo): remove bmad and local ai tool artifacts
2026-03-26 20:47:18 +08:00
linshen
414ec28d7e
feat(evaluation): migrate compare rewrite protocol and add calibration artifacts
2026-03-22 14:28:53 +08:00
linshen
f0c7476792
docs(compare): refine compare design docs and template scope
2026-03-21 20:43:28 +08:00
linshen
2cdd095c2b
docs(workspace): consolidate compare evaluation specs and acceptance evidence
...
- fold earlier planning notes into a single current-spec and archived history structure
- keep manual acceptance steps and real API samples aligned with the refactored analysis/result/compare model
- retain supporting workspace notes needed to review version-selection and evaluation behavior changes
2026-03-18 09:35:44 +08:00
SuperDuckGOGOGO
98a6b4f398
feat(core): support custom model params from env ( #273 )
...
Allow Docker and other runtime environments to inject JSON request parameters for suffixed custom models so provider-specific defaults like NVIDIA NIM thinking flags persist outside the UI. Add parsing, sanitization, tests, and docs for the new VITE_CUSTOM_API_PARAMS_<suffix> flow.
2026-03-13 13:51:06 +08:00
linshen
c916d9eef3
fix(config): add missing provider env mappings
...
Enable Anthropic env-based default model creation and align provider lists/matching across desktop logs, MCP selection, and docs.
2026-02-10 18:04:29 +08:00
linshen
01ff1435f6
docs(user): add context mode guides
2026-02-02 20:12:51 +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
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
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
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
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
6d21babfdd
refactor(ui): 引入 Pinia 状态管理并重构服务访问
...
- 引入 Pinia 状态管理:创建 promptDraft store 和多个 session stores
- 重构服务访问:移除 $services 插件,统一服务访问方式
- 修复 session 存储竞态条件:使用 Pinia 的响应式系统
- 归档 Pinia 重构文档:记录完整的迁移过程
- 修正 MCP server bin 入口配置
2026-01-01 14:23:00 +08:00
linshen
edf6170177
refactor(ui): 统一代码规范和用户界面文案
...
- 事件监听:统一使用camelCase,与emit事件名保持一致
- 按钮文案:简化为动词形式(开始优化→优化、开始测试→测试)
2025-12-28 16:15:00 +08:00
linshen
8e1b00e2f7
feat(evaluation): 新增 prompt-only 和 prompt-iterate 评估类型
...
主要变更:
- 扩展 EvaluationType 联合类型,新增 prompt-only 和 prompt-iterate
- 新增 16 个评估模板(basic/pro × system/user × zh/en × prompt-only/prompt-iterate)
- 实现 Provider 路由模式,全局 EvaluationPanel 事件正确路由到各模式
- 新增 useEvaluationContext 和 useProContext 上下文注入
- Context Workspaces 通过 defineExpose 暴露 reEvaluateActive 和 openIterateDialog
- 模式/子模式切换时自动清理评估状态
- EvaluationPanel 标题支持新评估类型
- 新增评估服务单元测试
2025-12-23 21:43:00 +08:00
linshen
390545bb80
docs(arch): 归档多轮对话与上下文模式重构设计文档
...
- 新增多轮对话模式优化设计文档 (127)
- 新增上下文 UI 与变量系统重构文档 (128)
- 更新归档索引与 README 分类结构
2025-12-19 20:51:26 +08:00
linshen
b7cab01197
fix(evaluation): 修复代码审查报告中的多项问题
...
修复项:
- §4.1: 使用 jsonrepair 库优化 JSON 解析鲁棒性
- §4.2: 规范化 isOptimizedBetter 字段为 boolean 类型
- §4.4: 支持中文变量名回退扫描(正则改为 [^{}]+)
- §4.5: 为单例模式添加架构约束注释说明
- §4.6: 移除 useEvaluation 和 useFunctionModelManager 中的 as any
- §4.8: 复用 createApplyImprovementHandler 工厂方法
- §4.9: 确认 UI 包导出变更无外部依赖影响
延后处理:
- §4.7: Extension App.vue 拆分(大工程)
不修复:
- §4.3: 默认打开面板策略(计划移除详情面板)
2025-12-19 11:29:35 +08:00
linshen
fb29b61bde
**refactor(ui): 统一优化与测试架构,实现 ContextUser 和 ContextSystem 的完全解耦**
...
为提升架构对称性与模块独立性,全面重构会话管理与测试逻辑,彻底消除 `App.vue` 的中心化依赖:
- **架构解耦**:
- 实现 `ContextUserWorkspace` 完全独立,不再依赖 `App.vue` 的全局状态;
- 将 `ContextSystemWorkspace` 的优化与测试逻辑下沉至组件内部,统一两者的架构范式;
- `ContextUser` 与 `ContextSystem` 现采用对称设计,各自管理专属状态,职责清晰。
- **Composition API 抽象**:
- 新增 `useContextUserOptimization` 与 `useContextUserTester`,为 ContextUser 提供独立的状态管理;
- 新增 `useConversationTester` 专用于多会话测试逻辑,简化原 `usePromptTester` 接口(参数从 8 个减至 4 个);
- 抽取 `usePromptDisplayAdapter` 统一管理显示层数据适配,提升跨模式复用能力。
- **代码优化与清理**:
- 移除 `App.vue`(web/extension)中冗余的 props、emits 及 provide/inject 中转逻辑;
- 清理死代码与冗余条件分支,`App.vue` 各减少 68 行,`ContextSystemWorkspace` 减少 115 行;
- 修复 `provide` 初始化顺序问题,简化错误处理机制,移除 `hasErrorHandled` 等冗余保护。
- **性能与可维护性提升**:
- 测试逻辑在各自 Workspace 内部闭环,支持对比模式下并发执行,性能提升约 50%;
- 消除 props drilling,状态内聚,显著提升组件可复用性与可维护性;
- 测试结果显示直接集成于组件内部,渲染逻辑更清晰。
**变更文件**:
- 新增:`useContextUserOptimization.ts`(290行)、`useContextUserTester.ts`(235行)、`useConversationTester.ts`、`usePromptDisplayAdapter.ts`
- 重构:`ContextUserWorkspace.vue`、`ContextSystemWorkspace.vue`、`App.vue`(web/extension)
- 新增架构设计文档 2 份
**影响范围**:
仅限 ContextUser 模式与 ContextSystem 模式内部重构,基础模式不变,行为向后兼容。
**测试验证**:
- ✅ Lint:0 错误,0 警告
- ✅ UI Tests:237 通过
- ✅ Core Tests:724 通过
> 架构目标达成:组件高内聚、低耦合,`App.vue` 职责简化,系统整体可扩展性增强。
2025-11-16 18:30:25 +08:00
linshen
21368fa678
fix(conversation): 修复多轮对话历史记录恢复问题并全面优化版本管理
...
核心修复:
- 修复多轮对话模式下 V2 及以上迭代版本无法正确恢复的 bug
- 修复消息顺序优化后历史记录恢复时,部分消息错误回溯到原始 (V0) 状态的 bug
- 在 iterateMessage 中手动预计算版本号,确保快照中的 appliedVersion 与实际保存的版本号一致
- 重构 useConversationOptimization.ts 中 getMessageAppliedVersion 函数,统一版本语义,使用 record.version 属性而非数组索引进行匹配
- 修正优化快照 (conversationSnapshot) 构建逻辑,确保当前优化消息的 appliedVersion 和 content 始终准确无误
- 改进 conversation optimizer 中的版本匹配机制,使用修剪后的字符串比较防止错误版本不匹配
功能增强:
- 新增完整的 iterateMessage 方法,支持多轮对话的消息级迭代优化
- 传递完整上下文数据(messages、selectedMessageId)给底层服务
- 对比测试时分别维护 originalToolCalls 和 optimizedToolCalls,确保工具调用结果互不干扰
- 在 prompt optimizer 历史元数据中添加 conversationSnapshot 以支持准确的状态恢复
- 重构优化流程,optimizeMessage 现在强制重置状态,避免状态污染
UI 优化:
- 调整版本标签显示顺序为 v3 v2 v1 v0(最新版本在前,v0 固定在最后)
- 优化版本切换交互体验
国际化支持:
- 修复 prompt optimizer 中的硬编码中文字符串,替换为 i18n 键
- 为多轮对话优化添加缺失的 i18n 键
代码质量:
- 删除所有调试日志(console.log)
- 添加模板处理边界情况注释(Mustache 空数组 vs undefined)
- 更新 App.vue (Web 和 Extension) 的历史记录恢复逻辑,通过 record.version 精确查找版本,增强了对历史记录删除(导致版本数组稀疏)的健壮性
- 为对话优化功能暂存未跟踪的新文件
2025-11-16 15:42:18 +08:00
linshen
3832c1a6e9
feat(ui): 将 selectedOptimizationMode 改为 computed,动态计算优化模式
...
- 将 selectedOptimizationMode 从 ref 改为 computed,基于 functionMode 动态返回对应的 subMode 值
- 更新相关逻辑以确保在不同模式下自动同步优化模式
- 修改 useContextManagement 和 usePromptOptimizer 接口,建议传入 computed 值以提高灵活性
- 保持向后兼容性,确保现有功能正常运行
此更改提升了代码的可维护性和响应性,确保优化模式的动态计算与功能模式一致。
2025-11-15 14:45:32 +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
cf2a6b2b79
feat(ui): 重构变量系统并实现测试区独立变量管理
...
## 核心功能
### 变量系统重构
- 移除会话变量系统,实现独立的测试变量功能
- 将 useContextManagement 从 web 模块迁移到 ui 模块
- 升级 usePromptTester 支持测试变量注入和上下文
### 测试区临时变量管理
- 临时变量数据结构升级为 { value, timestamp }
- 按时间戳降序排序显示(最新在前)
- 支持手动增删改操作
- 添加变量对话框,支持变量名验证
- 删除按钮,支持单个变量删除
- 与优化后提示词解耦,不再自动绑定
### 变量提取功能
- 新增 variable-extraction 组件目录
- VariableAwareInput: 支持文本选择提取变量
- VariableExtractionDialog: 变量提取对话框
- useTextSelection: 文本选择管理
- useInputHistory: 输入历史管理
- 支持全局/临时变量类型选择
- 支持全部替换功能
## 技术改进
### 组件优化
- TestAreaPanel.vue: testVariables 从 Record<string, string> 升级为 Record<string, TestVariable>
- InputPanel.vue: 集成 VariableAwareInput 组件,支持变量提取
- ContextUserWorkspace.vue: 新增 temporaryVariables 状态管理
### 国际化完善
- 补充缺失的 test.invalidVariables 和 test.getVariablesFailed 键
- 新增变量提取相关的完整国际化文本
- 覆盖中文简体/繁体/英文三种语言
- 同步三语言国际化键值(en-US/zh-CN/zh-TW)
## 其他更新
- 修复 web/extension 中未使用变量和错误 API 调用
- 更新测试文件的组件导入路径
- 清理过度 debug 日志
- 更新相关文档(ui-refactor-plan.md, variable-system-redesign.md)
## 相关 Issue
- 解决测试区变量显示依赖优化结果的问题
- 实现变量独立管理需求
- 补充缺失的国际化文本
**测试:所有测试通过(core: 367, ui: 95)**
2025-10-25 14:54:38 +08:00
linshen
947ede8a1d
feat(ui): 实现三大功能模式的独立子模式持久化功能
...
- 新增三个子模式管理Composable (useBasicSubMode/useProSubMode/useImageSubMode)
- 实现基础/上下文/图像模式的完全独立状态存储
- 添加UI_SETTINGS_KEYS常量用于子模式存储键管理
- 更新App.vue初始化逻辑支持三模式独立恢复
- 修复图像模式刷新后文件上传按钮不显示的bug
- 完善历史记录和收藏恢复时的子模式持久化
- 新增国际化文本支持子模式切换提示
- 归档完整开发文档到126-submode-persistence
核心特性:
- 状态隔离: 三个功能模式维护完全独立的子模式状态
- 跨页面同步: 使用自定义事件实现组件间状态同步
- 双层状态一致性: 导航层和组件层状态保持同步
- 异步初始化: 非阻塞式状态恢复机制
2025-10-25 10:31:14 +08:00
linshen
a3dc3285d0
feat: 完成收藏管理重构
...
- 🏗️ 实现三层分类体系:functionMode、optimizationMode、category
- 🏷️ 构建独立标签库系统,支持标签全生命周期管理
- 📁 增强分类管理,支持排序、使用统计、删除保护
- 🎨 重构UI组件:SaveFavoriteDialog、TagManager、CategoryManager
- 🔄 实现向后兼容的数据迁移机制
- 🧪 添加全面测试覆盖:754+测试,100%通过
- 📝 完善文档:CHANGELOG + 用户指南
Breaking Changes:
- 移除 isPublic 字段
- FavoritePrompt 接口变更(functionMode必填,metadata重组)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-19 14:50:56 +08:00
linshen
609f454d6a
refactor(ui): 全面优化收藏管理、交互与组件库,统一消息提示
...
## 主要变更
### 收藏管理界面重构与优化
- **布局与组件规范化**:
- 统一组件命名风格(NCard, NButton等),100% 使用 Naive UI 原生组件替代自定义div+class,删除 22 个冗余自定义样式类。
- 工具栏重构为两行布局(视图切换、搜索、操作按钮 / 分类筛选、标签筛选、统计信息),解决单行拥挤问题。
- 网格布局改进,使用 CSS Grid 的 `auto-fill + minmax` 实现真正的响应式,删除 `NGrid/NGridItem` 依赖。
- 列表视图重构,使用 `NListItem` 插槽替代 `NThing`,删除 9 个自定义布局样式类。
- 卡片组件优化,使用 `NCard` 插槽,固定高度 280px,内边距优化为 12px,标题自动省略,内容预览增加到 3 行,标签区域单行显示。
- **功能增强与交互优化**:
- 新增手动创建收藏功能,支持完整的表单编辑。
- 允许收藏重复内容,支持为相同内容设置不同标题、分类、标签,移除 `FavoriteAlreadyExistsError` 校验。
- 收藏夹打开时自动刷新最新数据。
- 新增标签多选过滤功能。
- 分类筛选升级为树状选择器,支持层级分类。
- 简化收藏卡片操作,将菜单改为直观按钮组。
- 编辑/创建对话框布局优化,增加功能模式选择。
- 所有操作按钮添加 `NTooltip` 悬浮提示,删除操作增加 `NPopconfirm` 二次确认,操作按钮默认隐藏(移动端始终显示)。
- 修复收藏管理器 props 声明以支持 watch。
- 重构 FavoriteManager 为完整 Modal 组件,将 CategoryManager Modal 移至外层,避免事件拦截。
### 统一与优化按钮样式
- 为 `TestControlBar` 中的主要操作按钮和对比模式切换按钮添加 `round` 属性,统一为圆角。
- 去除所有按钮文字的箭头符号(→)。
### 编辑界面与核心显示逻辑统一
- 移除全屏界面 (`OutputDisplayFullscreen`) 和保存收藏对话框 (`SaveFavoriteDialog`) 的对比功能。
- 统一所有新建/编辑界面只保留复制和编辑功能。
- `OutputDisplayCore` 的 `editable` 模式默认显示源码视图,新增模式切换时的视图自动同步逻辑。
### 消息提示系统整合
- 删除 `useSafeMessage.ts`,统一所有组件(`Toast.vue`, `FavoriteManager.vue`, `OutputDisplayCore.vue`, `FavoriteButton.vue`)使用 `useToast()` 作为消息 API。
### 其他修复与优化
- 修复 `InputPanel` 栅格布局,提交按钮宽度从 `span=4` 增加到 `span=5`,解决文字溢出。
- 修复 `useImageWorkspace` 中事件监听器注册时机,解决 TDZ (Temporal Dead Zone) 错误。
- 实现完整的收藏分类管理系统 (CRUD),新增 `CategoryManager` 组件。
- 更新国际化文件 (zh-CN/en-US/zh-TW)。
- 间距从 8px 优化为 6px,标签从最多 2 个恢复到 3 个,添加明确字体大小和行高控制,卡片添加 `overflow: hidden`。
2025-10-18 11:25:30 +08:00
linshen
5de5614664
refactor(core): 重构LLM服务为Adapter模式架构
...
重大架构升级:
- 引入Adapter模式,实现Provider解耦
- 新增7个Provider适配器(OpenAI、Gemini、Anthropic等)
- 精简LLMService从2000+行到300+行
- 引入TextModelConfig新类型系统,支持向后兼容
- 完善类型定义和测试覆盖
架构改进:
- 抽象基类AbstractTextProviderAdapter提供模板方法
- TextAdapterRegistry统一管理所有适配器
- 支持动态模型获取(OpenAI兼容API)
- 提供配置转换器实现平滑升级
新增文件:
- packages/core/src/services/llm/adapters/ (8个文件)
- packages/core/src/services/model/converter.ts
- packages/core/src/services/model/text-model-defaults.ts
- docs/architecture/llm-refactor.md
- 9个新增测试文件
修改文件:
- packages/core/src/services/llm/service.ts
- packages/core/src/services/model/types.ts
- packages/core/src/index.ts
- 31个测试文件更新
- UI组件和composables适配新类型
BREAKING CHANGE: 模型配置结构从ModelConfig升级为TextModelConfig
(已提供converter.ts确保向后兼容和自动转换)
测试结果:
✅ TypeScript类型检查通过 (core + ui)
✅ 563个测试通过,90个跳过
✅ Core包构建成功
2025-10-04 01:01:08 +08:00
linshen
1ad32ca217
refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
...
修复 #179
## 变更内容
### 核心代码清理 (-2473行)
- 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点
- 删除 node-proxy/ 服务器实现
- 移除 environment.ts 中的代理检测逻辑
- 简化所有图像适配器和 LLM 服务,直接使用 baseURL
- 移除模型配置中的 useVercelProxy/useDockerProxy 字段
### 基础设施更新
- 更新 Dockerfile 移除 node-proxy 构建
- 更新 nginx.conf 移除代理路由
- 更新 supervisord.conf 移除 node-proxy 进程
### UI 优化
- 移除模型管理界面中的代理选项
- 清理国际化文件中的代理相关翻译
- 删除备份文件 ModelManager.bak.vue
### 文档同步
- 更新技术开发指南,说明功能移除原因
- 更新 Vercel 部署文档,移除代理相关说明
- 更新图像模式文档
## 安全说明
由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。
推荐用户使用:
1. 桌面版应用 (无跨域限制)
2. 自建反向代理 (完全控制)
3. LLM 提供商的 CORS 友好端点
## 向后兼容性
历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
2025-09-30 22:08:00 +08:00
linshen
b5eba3dfb7
fix(docker): MCP路由绕过Basic认证以支持MCP Inspector连接
...
修复问题:
- Docker部署启用ACCESS_PASSWORD后,/mcp路由继承了Basic认证配置
- 导致MCP Inspector连接时返回401错误
技术方案:
- 在nginx.conf的/mcp location中添加auth_basic off指令
- MCP协议本身不支持HTTP Basic认证,需要明确禁用
- Web应用路由的访问控制保持不变
文档更新:
- 在MCP服务器用户文档中添加故障排除说明
- 包含中英文文档和mkdocs文档
关联issue: #169
2025-09-29 23:56:47 +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
linshen
2ffb7556ee
feat: 实现图像模式与多模态功能架构
...
- 新增图像模式支持文生图(T2I)和图生图(I2I)功能
- 实现图像服务层,支持Gemini/Seedream/OpenAI等多适配器
- 升级功能模式架构:basic/pro/image三重模式系统
- 新增图像模型管理器与专用UI组件
- 优化存储键管理,统一图像模式相关配置
- 完善国际化支持,新增图像模式相关翻译
- 增强模型管理器,支持文本/图像双模型管理
2025-09-20 21:55:26 +08:00
linshen
6e4917852a
feat: 实现全局功能模式系统与上下文模板架构
...
* 新增全局功能模式切换(basic/pro)
- 实现 useFunctionMode 组合式函数
- 支持模式记忆与持久化存储
- 自动模板类型映射与切换
* 重构模板系统架构
- 新增6类模板类型:基础3类 + 上下文3类
- 实现上下文模板(contextSystemOptimize、contextUserOptimize、contextIterate)
- 统一存储键管理,解决跨包重复定义问题
* 增强上下文驱动优化
- 新增14个上下文版本模板(中英双语)
- 支持会话上下文、工具上下文传递
- 实现变量优先级管理系统
* 优化用户体验
- 模式切换自动通知与反馈
- 模板选择状态分离保存
- UI组件响应式更新
* 改进代码质量
- 遵循SOLID、DRY、KISS原则
- 完善TypeScript类型定义
- 清理冗余测试文件
测试结果:所有功能完美工作,优化效果显著提升
2025-09-14 00:07:01 +08:00