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
|
9198b84278
|
feat(ui): 实现 AI 智能变量提取和生成功能
- 新增变量提取功能:支持从对话中智能提取变量
- 新增变量值生成:基于描述自动生成变量值
- 重构测试工具:使用系统配置加载器
- 修复安全性和健壮性问题:添加边界检查和错误处理
|
2026-01-01 10:08:00 +08:00 |
|
 linshenandClaude Sonnet 4.5
|
130b8fa880
|
feat(core): 新增 ModelScope(魔搭)API 集成支持
新增 ModelScope LLM 和图像生成服务的完整支持,包括:
LLM 适配器特性:
- 基于 OpenAI 兼容 API 实现,继承 OpenAIAdapter
- 支持动态获取模型列表(models.list() 返回 62 个模型)
- 内置 Qwen/Qwen3-Coder-480B-A35B-Instruct 静态模型
- 支持聊天和流式响应
- 每天免费 2000 次调用
图像生成适配器特性:
- 实现异步任务提交和轮询机制
- 支持文生图(text-to-image)功能
- 内置 Z-Image-Turbo 模型
- 增强的错误处理和状态管理
- 使用 resolveEndpointUrl() 确保 URL 规范化
技术改进:
- 正确处理自定义 baseURL 的 /v1 路径规范化
- 完善的轮询错误处理(SUCCEED/FAILED/ERROR/CANCELLED)
- 错误响应体解析,提供详细错误信息
- 处理未知终态,避免超时等待
测试覆盖:
- LLM 适配器单元测试(7 个测试用例)
- 图像适配器单元测试(7 个测试用例,包括真实 API 测试)
- 集成测试覆盖真实 API 调用和流式响应
配置集成:
- 环境变量支持:VITE_MODELSCOPE_API_KEY
- 自动注册到 LLM 和图像服务 registry
- 默认配置自动生成和启用
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 23:34:25 +08:00 |
|
 linshenandClaude Sonnet 4.5
|
1f179c9e04
|
refactor(ui): 统一输入区按钮样式并优化布局
改进了所有模式(基础/上下文/图像)输入区的按钮布局和样式:
**布局优化:**
- 减小列间距(x-gap: 12→8),增加按钮可用空间
- 调整图像模式列宽分配(12/8/4 → 11/7/6),给按钮更多空间
- 添加 flex items-end 实现按钮与下拉框底部对齐
**样式统一:**
- 移除图像模式按钮的 round 属性,与其他模式保持一致
- 统一按钮尺寸为 medium(分析按钮从 small 恢复为 medium)
**文本统一:**
- 统一优化按钮文本为 common.loading / promptOptimizer.optimize
- 保持分析按钮文本为 promptOptimizer.analyzing / analyze
**效果:**
- 按钮不易换行,即使在较窄窗口也能并排显示
- 视觉对齐更美观,按钮与下拉框底部对齐而不是标题
- 所有模式的输入区按钮样式完全一致
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 22:51:14 +08:00 |
|
 cdk8s-zeldaandmeek
|
1bfd6ead2e
|
feat: 增加智谱 GLM-4.7 模型 (#223)
Co-authored-by: meek <417248438@qq.com>
|
2025-12-31 14:12:08 +08:00 |
|
linshen
|
3f7e097d7c
|
release: bump version to 2.4.0
- 更新 desktop 包版本号
- 更新 extension 包版本号
- 更新根包版本号
|
2025-12-29 21:23:00 +08:00 |
|
linshen
|
35f5887afe
|
fix(core): 修复迭代和评估功能的多个关键问题
- 迭代验证:移除对originalPrompt的强制检查(UI和Service层),允许直接在工作区编辑后迭代
- 评估逻辑:分析模式下只在original !== optimized时才传originalPrompt,避免误判
- 评估模板:修复强制3条改进建议的问题,改为0-3条可选,不强行凑数
- 架构优化:迭代模板验证从TemplateProcessor移至PromptService入口,统一处理
- 模板规范:修复14个评估模板JSON示例,移除内联注释,保留结构示例
|
2025-12-28 19:47:00 +08:00 |
|
linshen
|
edf6170177
|
refactor(ui): 统一代码规范和用户界面文案
- 事件监听:统一使用camelCase,与emit事件名保持一致
- 按钮文案:简化为动词形式(开始优化→优化、开始测试→测试)
|
2025-12-28 16:15:00 +08:00 |
|
linshen
|
4c40b3e268
|
feat(ui): 新增分析功能,支持直接评估原始提示词
- 在输入面板添加分析按钮,复制原始内容到工作区并触发评估
- 分析时清空版本链,创建V0版本(标记为「原始」),不写入历史
- 优化工作区命名:更中性的「优化工作区」既能承载原始副本也能承载优化结果
- 统一评估清理策略:分析前清理旧的prompt-only/prompt-iterate评估结果
- 规范化Vue事件命名为kebab-case,新增分析相关多语言支持
|
2025-12-27 17:23:00 +08:00 |
|
linshen
|
c275c6a9ae
|
fix(ui): 优化评估UI组件的布局和交互体验
- 悬浮窗优化:扩大尺寸(280→360px),调整诊断分析顺序,提升可读性
- 流式输出:侧边栏自动滚动到最新评估内容
- 内联对比:新增InlineDiff组件,高亮显示修复前后差异,支持主题色和中文优化
|
2025-12-27 14:52:00 +08:00 |
|
linshen
|
df52b32366
|
feat(evaluation): 重构评估响应结构,新增 patchPlan 精准修复功能
- 评估响应用 patchPlan 替代 issues,支持 insert/replace/delete 操作
- 新增 patch-plan 工具处理文本补丁应用
- 模板统一输出结构:score + improvements + patchPlan + summary
- UI 新增"立即替换"按钮,支持 diff 可视化展示
- usePromptOptimizer 新增 saveLocalEdit 保存本地编辑为新版本
- originalPrompt/testContent 改为可选,提升灵活性
|
2025-12-25 23:36:00 +08:00 |
|
linshen
|
675d8c3c6e
|
chore: 代码维护和规范改进
- 添加.gitignore规则:忽略session临时文件
- 统一异常消息:将core包中所有中文异常消息改为英文,覆盖12个核心文件
|
2025-12-25 21:08:00 +08:00 |
|
linshen
|
1959c206f2
|
fix(evaluation): 修复评估状态竞态和类型问题
- clearResult 中重置 isEvaluating,防止 UI 卡在 loading
- 流式回调添加守卫,防止清理后旧流继续写回
- handleReEvaluate 类型签名改为 Promise<void>
- prompt-iterate 空需求时降级为 prompt-only
- evaluatePromptOnly/Iterate 显式传 testContent
|
2025-12-24 22:28: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
|
52903a7a6f
|
fix(llm): 修复 OpenAI 适配器 SSE 响应解析兼容性问题
- 兼容 SSE 无空格变体(data: 和 data:[DONE])
- 添加兜底逻辑:SSE 解析失败时尝试直接解析 JSON
- 解析失败时抛出明确错误,附带响应片段便于排查
|
2025-12-22 21:17:00 +08:00 |
|
evi1cg
|
f5ea209dbf
|
兼容强制返回流式响应的 OpenAI 兼容 API (#222)
* 兼容强制返回流式响应的 OpenAI 兼容 API
* 修复 OpenAI 适配器流式响应检测逻辑
* debug vercel
* 支持解析原始 SSE 字符串格式的 API 响应
|
2025-12-22 10:48:34 +08:00 |
|
linshen
|
390545bb80
|
docs(arch): 归档多轮对话与上下文模式重构设计文档
- 新增多轮对话模式优化设计文档 (127)
- 新增上下文 UI 与变量系统重构文档 (128)
- 更新归档索引与 README 分类结构
|
2025-12-19 20:51:26 +08:00 |
|
linshen
|
db56bbb772
|
feat(ui): 为工作区输入面板添加可折叠功能
- InputPanel: 添加 header-extra 插槽支持自定义标题栏按钮
- BasicModeWorkspace: 添加输入面板折叠/展开功能
- ContextUserWorkspace: 添加输入面板折叠/展开功能
- ImageWorkspace: 添加原始提示词区域折叠/展开功能
折叠态显示标题和提示词摘要,展开态显示完整输入面板
|
2025-12-19 16:55:52 +08:00 |
|
linshen
|
e8da12bd09
|
chore: 更新项目版本号至2.3.1
- 将主包版本从2.3.0更新到2.3.1
- 更新desktop包版本从2.3.0到2.3.1
- 更新extension包版本从2.3.0到2.3.1
|
2025-12-19 11:30:14 +08:00 |
|
linshen
|
6880e22811
|
refactor(ui): 拆分 App.vue 到共享组件,消除 web/extension 代码重复
- 新增 PromptOptimizerApp 作为主应用组件,统一 web 和 extension 核心逻辑
- 新增 BasicModeWorkspace 组件封装基础模式工作区布局
- 新增 AppCoreNav 和 AppHeaderActions 组件拆分导航和操作按钮
- 新增 useAppHistoryRestore 和 useAppFavorite composables 封装业务逻辑
- 简化 web/extension App.vue 为轻量级入口组件 (~25 行)
- 扩展 ConversationMessage 类型支持历史恢复功能
- 添加相关 i18n 翻译键
重构效果:
- 消除 2428 行 100% 重复代码
- 单点维护,集中管理
- 构建和测试全部通过
|
2025-12-19 11:30:13 +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
|
f75cf68ed6
|
fix(desktop): 修复 llm-sendMessageStream IPC 处理器回调名称不匹配问题
- onContent → onToken (符合 StreamHandlers 接口)
- onThinking → onReasoningToken
- onFinish → onComplete
修复评估功能在 Desktop 版本中报错 "callbacks.onToken is not a function" 的问题
|
2025-12-19 11:29:33 +08:00 |
|
linshen
|
a56ae11c4a
|
refactor(ui): 重构测试控制栏布局并清理废弃代码
- TestControlBar: 使用 CSS Grid 重构布局,确保右侧控制按钮不被遮挡
- TestControlBar: 添加响应式断点,900px 隐藏标签,640px 改为单列布局
- SelectWithConfig: 添加默认 minWidth: 160px 防止下拉框被压缩
- useFunctionModelManager: 修复单例模式下 globalOptimizeModelKey 参数更新问题
- 移除废弃组件: BasicTestMode.vue, ModelSelect.vue
- 移除废弃 props: modelProvider, controlBarLayout, testModelProvider
- ImageWorkspace: 简化模型信息显示,移除提供商和能力标签
- 更新文档: SelectWithConfig 替代 ModelSelectUI
|
2025-12-19 11:29:32 +08:00 |
|
linshen
|
fbbf069097
|
feat(ui): 添加功能模型管理器支持独立配置评估模型
- 新增 FunctionModelManager 组件用于配置评估模型
- 新增 useFunctionModelManager composable 管理评估模型状态
- 修改 useEvaluation 优先使用配置的评估模型
- 添加 FUNCTION_MODEL_KEYS 存储键常量
- 添加功能模型相关的国际化翻译
|
2025-12-19 11:29:32 +08:00 |
|
linshen
|
1f819b4248
|
feat(extension): 集成评估功能并优化测试区域组件
- 在 TestAreaPanel 中添加模型提供者和模型名称属性
- 移除冗余的 testContent 属性绑定
- 引入 EvaluationPanel 和 EvaluationScoreBadge 组件
- 添加 useEvaluationHandler 组合式函数处理评估逻辑
- 实现评估结果展示与重新评估功能
- 支持将评估改进建议应用到提示迭代优化
- 清理历史评估结果以确保测试准确性
- 动态获取选中测试模型的详细信息用于显示
- 优化测试面板引用以支持迭代对话框操作
|
2025-12-19 11:29:30 +08:00 |
|
linshen
|
e5c3ba29e8
|
feat(template): 改进消息优化模板,添加角色保持和适度优化原则
- 添加「优化 ≠ 回复」核心原则,确保保持原消息角色
- 添加「适度优化原则」,避免过度复杂化
- 添加变量占位符保留要求
- 优化模板命名,明确适用场景
- 调整模板导入顺序,通用模板优先
- 新增集成测试覆盖关键场景
|
2025-12-19 11:29:29 +08:00 |
|
linshen
|
5730dca9fb
|
feat(ui): 在测试模型选择器旁添加提供商和模型名称标签
- TestControlBar: 添加 modelProvider/modelName props 和 NTag 显示
- 屏幕宽度 ≤900px 时自动隐藏标签避免布局问题
- 基础模式、高级模式(系统/用户)均支持显示模型信息标签
- 与图像模式保持一致的视觉效果
|
2025-12-19 11:29:28 +08:00 |
|
linshen
|
6a075bc7eb
|
fix(ui): 将对比模式切换按钮改为开关形式
- TestControlBar 中的对比模式按钮改为 NSwitch 开关
- 添加 test.compareMode 翻译 key
- 与图像模式的对比开关保持一致的交互形式
|
2025-12-19 11:29:27 +08:00 |
|
linshen
|
2e20b0cd2b
|
refactor(ui): 优化高级模式测试区域布局结构,统一图像模式和基础模式测试面板布局
- **统一布局结构**:图像模式、基础模式和高级模式测试面板布局保持一致,提升用户体验。
- 使用 `NCard` 包裹测试控制栏和输入区域,使左右两侧卡片结构对称。
- 使用 `NFlex gap` 替换 `marginBottom` 实现统一间距管理。
- 移除冗余的 `div` 包装层、`NFlex` 和 `NCard` 层级,节省垂直空间。
- **简化UI**:
- 移除冗余的"测试区域"标题卡片。
- 将"全局变量"按钮整合到临时变量卡片的 header 区域。
- **代码优化**:
- 移除测试运行时隐藏变量表单的逻辑,保持始终可见。
- 清理未使用的 `useBreakpoints` / `isMobile` 和 `showVariableForm`。
|
2025-12-19 11:29:26 +08:00 |
|
linshen
|
53126588d2
|
refactor(evaluation): 修复高级模式评估问题并抽取通用逻辑
修复问题:
- 修复变量模式评估上下文传递所有变量的问题,现在只传递实际使用的变量
- 修复点击评估改进建议"应用"按钮无反应的问题
- 修复迭代弹窗确认按钮无反应的问题(iterationNote -> iterateInput)
- 修复重新测试后评估结果未清空的问题
重构优化:
- useEvaluationHandler 新增 clearBeforeTest() 方法,统一测试前清空评估逻辑
- useEvaluationHandler 新增 createApplyImprovementHandler() 工厂方法,减少重复代码
- 移除组件中不再需要的 EvaluationType 导入
|
2025-12-19 11:29:24 +08:00 |
|
linshen
|
ae8931dd80
|
fix(ui): 修复上下文模式对比开关无法切换的问题
- 将事件监听从 @update:is-compare-mode 改为 @compare-toggle
- TestControlBar 组件只 emit compare-toggle 事件,之前监听错误导致开关失效
- 修改 handleCompareModeToggle 为 handleCompareToggle 并使用状态取反
|
2025-12-19 11:29:22 +08:00 |
|
linshen
|
378ec6e5c0
|
fix(variable): 简化变量名验证规则以支持中文
- 将变量名正则从 /^[a-zA-Z][a-zA-Z0-9_]*$/ 改为 /^[^\s{}]+$/
- 现在变量名只禁止空白字符和花括号,支持中文等 Unicode 字符
- 更新错误提示信息以反映新的验证规则
|
2025-12-19 11:29:21 +08:00 |
|
linshen
|
b9d34dc472
|
feat(evaluation): 实现 LLM 智能评估与多模式支持,集成 UI 并优化评分策略
- **核心功能**
- 新增 LLM 智能评估功能,支持非流式和流式评估 (EvaluationService)
- 新增三种评估类型:原始提示词评估、优化后评估、对比评估
- 新增评估模板 (evaluation 类型),支持中英双语
- 新增评估 UI 组件:EvaluationPanel、EvaluationScoreBadge、EvaluateButton
- 新增 useEvaluation 和 useEvaluationHandler composables
- 评估结果包含四维度评分:目标达成度、输出质量、格式规范性、相关性
- 支持流式输出实时显示评估过程
- 解析失败时抛出明确错误,避免误导性默认值
- 完整的 i18n 支持 (zh-CN, zh-TW, en-US)
- **多模式评估系统**
- 新增 EvaluationModeConfig 接口支持 functionMode 和 subMode 配置
- 重构评估模板目录结构,按 basic/system 和 basic/user 组织
- 动态生成模板 ID:evaluation-{functionMode}-{subMode}-{type}
- 新增 basic-user 模式的 6 个评估模板(中英文各 3 个)
- UI 层添加 currentSubMode 计算属性和模式参数传递
- **高级模式集成**
- 新增 Pro-System 和 Pro-User 评估模板 (12 个模板文件)
- 扩展评估类型定义,添加 ProSystemEvaluationContext 和 ProUserEvaluationContext
- 为 ConversationTestPanel 和 ContextUserTestPanel 添加评估 props 透传
- 在 ContextSystemWorkspace 集成评估功能 (useEvaluationHandler + EvaluationPanel)
- 在 ContextUserWorkspace 集成评估功能 (useEvaluationHandler + EvaluationPanel)
- 支持构建 Pro 模式专属评估上下文 (多消息上下文/变量上下文)
- **评估改进建议应用与优化**
- 新增评估改进建议的"应用"按钮,可一键填充到迭代优化输入框
- 优化评估模板,添加"防止过拟合"指导原则
- 明确评估对象是系统提示词而非测试输入
- 改进建议强制要求通用性,禁止针对具体测试内容
- 修复对比评估改进建议"使用"按钮无响应问题
- **字段命名与评分策略优化**
- 简化评估响应字段:analysis→issues, suggestions→improvements, improvementSummary→summary
- 新增 EvaluationHoverCard 悬浮卡片组件,支持直接触发评估
- 优化所有评估模板,采用更严格的评分原则
- 对比评估以 50 分为基准,>50 表示优化有效,<50 表示退步
- 明确区分 issues(针对输出问题)和 improvements(针对提示词改进)
|
2025-12-19 11:29:21 +08:00 |
|
linshen
|
f725a04c8d
|
docs(extension): 添加英文版隐私政策
|
2025-12-15 23:11:43 +08:00 |
|
linshen
|
f014ffc311
|
fix(ui): 移除高级-变量模式中冗余的测试内容输入框
修复 v2.3.0 引入的 regression bug (1970a2b):
- 高级-变量模式错误显示了测试内容输入框
- 该输入框在变量模式下是冗余的,用户应通过变量系统管理输入
变更内容:
- ContextUserTestPanel: 移除 TestInputSection 及相关 props/emits
- ContextUserWorkspace: 移除 testContent prop 和相关事件
- useContextUserTester: 移除 executeTest 的 testContent 参数
- App.vue: 移除 ContextUserWorkspace 的 test-content 绑定
基础模式的测试内容输入框保持不变
|
2025-12-15 23:06:49 +08:00 |
|
linshen
|
1f1348a4b8
|
fix(test): 修复单元测试中的 mock 问题
- core: 修复 openai-adapter.test.ts 中 OpenAI SDK mock 方式
- 使用工厂函数返回真正的类而非 vi.fn().mockImplementation()
- 修复 "is not a constructor" 错误
- ui: 修复 setup.ts 中 Observer mock 问题
- ResizeObserver、IntersectionObserver、MutationObserver 使用真正的类实现
- 解决 vueuc 和 CodeMirror 在模块顶层实例化 Observer 时的构造函数错误
- ui: 简化 codemirror-extensions.spec.ts 测试
- 移除需要完整 DOM 环境的过度测试(EditorView 实例化测试)
- 保留工厂函数的单元测试,避免测试第三方库行为
|
2025-12-07 20:49:42 +08:00 |
|
linshen
|
c3c46b6e83
|
fix(deps): 升级 vitest 和 tsup 修复 vite 漏洞
- vitest: 3.2.4 → 4.0.15 (vite-node 不再依赖旧版 vite)
- tsup: 8.5.0 → 8.5.1
修复 Dependabot 警报:
- #21 vite server.fs.deny bypass
- #18 vite public directory 文件泄露
- #17 vite HTML 文件未应用 server.fs 设置
|
2025-12-07 16:30:05 +08:00 |
|
linshen
|
1eb2c78400
|
chore(release): 发布版本 2.3.0
- 更新桌面应用程序版本号至 2.3.0
- 更新浏览器扩展版本号至 2.3.0
- 更新根项目版本号至 2.3.0
|
2025-12-07 16:07:12 +08:00 |
|
linshen
|
fe961eb4f5
|
fix(deps): 修复多个安全漏洞
升级直接依赖:
- @google/genai: 1.19.0 → 1.32.0 (修复 jws HMAC 签名验证漏洞)
- vite: 6.x → 7.2.7 (修复 3 个安全漏洞)
- electron: 37.1.0 → 39.2.6 (修复 ASAR 完整性绕过)
- electron-builder: 24.13.3 → 26.0.12
- electron-builder-squirrel-windows: 新增 26.0.12
- electron-updater: 6.3.9 → 6.6.2
- vue-i18n: 10.0.6 → 11.2.2 (修复 XSS 漏洞)
- @modelcontextprotocol/sdk: 1.16.0 → 1.24.3 (修复 DNS 重绑定)
- element-plus: 2.10.2 → 2.12.0 (修复 el-link href 验证)
- @typescript-eslint/*: 6.21.0 → 8.49.0 (支持 TypeScript 5.8.3)
自动修复的传递依赖:
- jws: 4.0.1, form-data: 4.0.5, tmp: 0.2.5
- body-parser: 2.2.1, @eslint/plugin-kit: 0.3.5
其他:
- 修复 lint 错误 (未使用的 catch 变量添加 _ 前缀)
|
2025-12-07 15:59:24 +08:00 |
|
linshen
|
2b0ef7cb74
|
docs: 添加 Release 贡献者致谢和 macOS 安全提示
- release.yml: 自动感谢除作者外的贡献者
- README.md/README_EN.md: FAQ 新增 macOS 应用安全问题说明
|
2025-12-07 14:26:13 +08:00 |
|
linshen
|
6abf9a5a63
|
fix(ui): 修复 VariableAwareInput 占位符显示问题
- 使用 CodeMirror 6 官方 placeholder 扩展替代 aria-placeholder 方案
- 修复 autosize: true 时高度计算返回对象格式
- 添加 flex 布局支持容器高度自适应
- 更新占位符 CSS 样式使用 .cm-placeholder 选择器
|
2025-12-07 14:09:34 +08:00 |
|
linshen
|
e29036bc24
|
fix(ui): 修复基础模式切换污染 contextMode 导致上下文模式显示错误
基础模式子模式切换不再修改 contextMode,该变量仅用于上下文模式的界面渲染控制
|
2025-12-07 11:15:09 +08:00 |
|
linshen
|
c8344fe96c
|
feat(ui): 移除系统模式环境变量限制,调整子模式按钮顺序
- useProSubMode: 移除 isDevelopment 依赖,系统模式(多对话)默认可用
- OptimizationModeSelector: 基础模式(系统|用户),上下文模式(变量|多对话)
- App.vue: 移除 hide-system-option 限制,多消息按钮在任何环境下可见
|
2025-12-07 10:33:03 +08:00 |
|
linshen
|
1f1f6bcc1d
|
feat(core): 新增 OpenRouter 文本模型适配器
- 创建 OpenRouterAdapter 继承 OpenAIAdapter
- 默认模型为 qwen/qwen3-235b-a22b:free
- 预置三个免费模型:Qwen3、Gemini 2.0 Flash、DeepSeek Chat V3
- 在 PROVIDER_ENV_KEYS 中添加 openrouter 配置
- 更新测试预期 Provider 数量
|
2025-12-06 17:04:56 +08:00 |
|
linshen
|
c954ffa7ba
|
feat(core): 内置模型环境变量自动同步
当内置模型之前因无 API Key 而禁用,后续环境变量配置了新 Key 时,
自动注入 apiKey 并启用模型。
- 新增 getBuiltinImageConfigIds() 函数用于判断内置图像模型
- ImageModelManager.init() 添加自动启用逻辑
- ModelManager.init() 添加自动启用逻辑
- 新增 shouldAutoEnableBuiltinModel() 方法
修复 #214
|
2025-12-06 15:54:15 +08:00 |
|
linshen
|
f337c579f6
|
refactor(core): 提取共享基类和类型,消除重复代码
- 新增 AbstractAdapterRegistry 抽象基类,统一 Text/Image Registry 实现
- 提取共享类型 ConnectionSchema、BaseProvider、BaseModel 到 shared/types.ts
- 重命名 history/errors.ts 中的 StorageError 为 HistoryStorageError 避免命名冲突
- 移除 model/errors.ts 中重复的 ModelConfigError 定义
- 删除 model/defaults.ts 中未使用的 clearModelsCache 函数
- TextAdapterRegistry: 273 → 95 行,ImageAdapterRegistry: 186 → 84 行
|
2025-12-06 14:31:34 +08:00 |
|
linshen
|
8c10d62aba
|
refactor(core): 统一 Provider-Adapter 架构,新增 DashScope 支持
- 新增 DashScope 文本和图像适配器
- 重构模型默认配置,从 Adapter 获取 Provider 元数据
- 删除冗余的 static-models.ts 和 text-model-defaults.ts
- 统一 PROVIDER_ENV_KEYS 映射管理
- 更新 UI 组件适配新架构
- 新增 DashScope 相关国际化文案
|
2025-12-06 13:23:53 +08:00 |
|
linshen
|
7892ec7c2f
|
refactor(ui): 抽取连接配置管理共享逻辑
- 新增 useConnectionConfig.ts,统一处理提供商切换时的连接配置逻辑
- 编辑模式初始化:保留已有配置,只补充缺失的 baseURL
- 手动切换提供商:重置 baseURL 并清空 apiKey
- 简化 useImageModelManager 和 useTextModelManager 的重复代码
|
2025-12-06 11:25:42 +08:00 |
|
linshen
|
31bcdaf5e6
|
refactor(ui): 统一图像与文本模型的测试连接逻辑至 composable 层
- 将图像模型的 canTestConnection、canRefreshModels、isConnectionConfigured 逻辑统一迁移至 useImageModelManager
- 文本模型新增模式支持测试连接功能,行为与图像模型保持一致
- 统一连接可用性判断逻辑,修改 canTestFormConnection 依赖 modelId 而非 name 进行校验
- 移除图像模型中冗余的 v-if="selectedProvider" 条件,由 manager 层统一控制状态
- 组件层职责收敛为纯 UI 展示,业务逻辑全部收拢至 manager 层管理
- 架构调整后,文本与图像模型的连接管理逻辑保持一致,提升代码可维护性
|
2025-11-29 22:32:11 +08:00 |
|
linshen
|
b8bd391a0b
|
fix(core): 自定义参数值自动类型推断
- 添加 parseCustomValue 函数智能解析自定义参数值
- 支持自动识别 boolean、null、number、JSON 对象/数组类型
- 修复自定义参数布尔值被当作字符串传递的问题
Closes #199
|
2025-11-29 22:03:52 +08:00 |
|