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
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
linshen
63ab9e66cd
feat(test): 建立完整的测试基础设施和集成测试
...
- 建立 VCR 测试基础设施,支持 LLM API 回放
- 添加错误门禁和冒烟测试
- 添加 LLM 服务集成测试(P0)
- 记录测试进展并更新任务计划
2026-01-03 21:08: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
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
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
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
4f38852971
feat: 完整实现工具调用功能并修复测试环境问题
...
## 🎯 核心功能
- **LLM服务工具调用**: 支持OpenAI和Gemini的完整工具调用流程
- **UI工具管理**: ContextEditor工具管理面板,内置天气工具模板
- **工具同步机制**: 优化和测试阶段的工具信息双向同步
- **工具上下文注入**: 优化模板支持工具信息注入,提升优化质量
## 🔧 技术实现
- **统一工具调用接口**: ToolCall、ToolDefinition类型定义
- **Gemini工具调用适配**: 格式转换和流式处理支持
- **工具统计显示**: ConversationManager显示工具数量和名称
- **模板处理增强**: formatToolsAsText方法支持工具上下文
## 🧪 测试和修复
- **单元测试**: 工具调用核心功能测试覆盖
- **集成测试**: Gemini和OpenAI真实API工具调用验证
- **测试环境修复**: 修复Clipboard API mock,解决UI测试错误
- **全局测试设置**: 统一浏览器API mock管理
## 📊 代码统计
- 新增文件: 19个(包括测试和文档)
- 修改文件: 13个
- 新增代码: 876行,删除: 62行
2025-08-23 21:27:59 +08:00