Commit Graph
176 Commits
Author SHA1 Message Date
cosoandClaude Opus 4.5 91fe7ff481 feat: v0.53.0 - 统一对话系统与内容创作增强
Features

统一对话系统
- 新增 useUnifiedChat Hook 支持多种对话模式 (Agent/General/Creator)
- 新增统一对话 API 封装 (unified-chat.ts)
- 新增 Chat 类型定义系统 (chat.ts)
- 支持流式响应和工具调用

内容创作增强
- 新增 Content Creator 文档和系统提示词
- 新增 writeFile 解析器支持画布输出
- 优化 General Chat 组件支持内容创作模式
- 支持多种创作主题 (社交媒体/海报/音乐/知识/规划/文档/视频/小说)

会话管理优化
- 增强 Aster Agent 状态管理
- 新增统一会话命令 (unified_chat_cmd)
- 新增 Chat DAO 数据访问层
- 优化数据库迁移脚本

Bug Fixes
- 修复 ESLint 警告和未使用变量问题
- 修复 React Hooks 依赖警告

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:01:34 +08:00
coso be4c4641c2 release: v0.52.0
## Features

### Artifact 系统优化
- 修复代码块点击后右侧面板无法显示代码的问题
- 移除重复的「生成中...」状态指示器(保留右下角)
- 优化代码块折叠卡片的点击交互,自动匹配对应 Artifact

### 会话历史持久化
- 新增 Aster SessionStore 实现,将会话数据存储到 ProxyCast 数据库
- 修复切换话题时无法加载历史消息的问题
- 统一 Aster 框架与 ProxyCast 的会话存储

### AI 自动生成标题
- 新增 AI 自动生成会话标题功能
- 使用本地代理服务器调用 AI 生成简洁标题
- 失败时自动回退到简单截断方式

### 流式状态优化
- 代码渲染器工具栏在流式生成时显示旋转加载图标
- Artifact 占位符卡片支持流式状态显示
- 统一流式状态的传递和显示逻辑

## Bug Fixes
- 修复 db.lock() 调用缺少错误处理的编译错误
- 修复 ArtifactToolbar 中未使用的变量警告
2026-02-02 15:38:00 +08:00
coso 2f3194a56e feat: v0.51.0 - Artifact System 集成与 Content Creator 增强
主要更新:
- 集成 Artifact 系统到聊天界面,支持代码块折叠和画布预览
- 新增 Novel/Script Canvas 类型支持
- 新增 Projects 模块(项目管理、内容编辑、记忆系统)
- 新增 Memory 系统(角色、大纲、风格指南、世界观)
- 新增 Reasoning Handler 支持思维链处理
- 优化 Workspace 管理和 Agent 类型定义
2026-02-02 01:15:54 +08:00
coso ef43d3e74d feat: v0.50.0 - 图片生成支持 base64 格式、语音功能优化、Smart Input 重构 2026-02-01 00:05:41 +08:00
coso 562464f53f feat: 语音输入合并到截图输入框,版本更新至 0.49.0
- 将语音输入功能合并到截图输入框(pill-shaped 浮动栏)
- 添加麦克风按钮(32x32px)支持点击录音
- 支持录音、转写、润色三种状态显示
- 修复讯飞 ASR Broken pipe 错误
- 清理旧的语音输入 UI 文件
- 修复 DropdownMenu 组件支持受控模式
- 修复 StreamResponse 导出问题

注:部分编译错误待后续修复
2026-01-31 00:01:20 +08:00
coso 2a7ed06d21 chore: bump version to 0.48.4 2026-01-30 01:31:09 +08:00
coso c6f433f190 feat: complete plugin system refactoring and credential management improvements 2026-01-25 01:13:50 +08:00
cosoandClaude Opus 4.5 769709a467 feat(stage-1): 删除 OAuth 插件 UI 组件
删除内容:
- 删除 OAuthPluginTab.tsx - OAuth 插件标签页
- 删除 OAuthPluginContainer.tsx - 插件容器组件
- 从 ProviderPoolPage 移除 "OAuth 插件" 标签按钮
- 移除 CategoryType 中的 "plugins" 类型
- 更新 index.ts 导出,移除已删除组件的引用

保留内容:
- ClaudeOAuthForm.tsx - 被内置 OAuth 表单使用
- OAuthUrlDisplay.tsx - 被内置 OAuth 表单使用
- 所有内置 OAuth 凭证管理功能

验证:
- TypeScript 编译通过,无错误
- 前端代码结构完整

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 23:43:53 +08:00
coso 2e41683134 fix: 修复后台线程调用 UI 导致的 macOS 崩溃问题
修复了在 tokio 后台线程中调用 macOS UI 操作导致的崩溃:
- 使用 run_on_main_thread() 将更新窗口创建操作调度到主线程
- 解决 "Must only be used from the main thread" 断言失败
- 修复测试代码中过时的 iflow 字段引用
- 更新版本号到 0.48.0
2026-01-22 12:37:23 +08:00
coso 89541bf38d feat: 升级到 v0.48.0 并更新 Aster 框架依赖
- 版本号从 0.47.4 升级到 0.48.0
- 更新 Aster Agent Framework 依赖从 v0.4.2 到 v0.4.3
- 切换到远程 GitHub 仓库依赖,支持 CI/CD 环境
- 保留本地开发路径配置注释,便于开发时切换
- 修复图像分析工具组件的 React 导入问题
- 格式化代码以符合项目规范
2026-01-18 21:30:20 +08:00
coso 892cf892f0 fix: 移除 Flow Monitor 窗口尺寸选项
- 从 WindowSize 移除 flow_monitor()、ultra_wide()、four_k() 方法
- 从 WindowSizeOption::all_options() 移除 Flow Monitor 等选项,保留 4 个选项
- 移除 resize_for_flow_monitor 和 toggle_window_size 命令
- 更新 runner.rs 移除已删除命令的注册
- 更新 window.ts 移除相关 API 方法
- 更新 constants.ts 移除 flow_monitor 窗口尺寸偏好
- FlowMonitorPage 已在之前移除窗口尺寸菜单

Closes #126
2026-01-16 16:35:49 +08:00
coso 6dd714f110 feat: 从 Provider API 获取模型列表 & 修复 UTF-8 切片 panic
主要更新:
- 新增从 Provider /v1/models API 获取模型列表功能
- 当本地模型注册表为空时自动从 API 获取
- 修复 OpenAI 协议中 UTF-8 字符串切片导致的 panic
- 统一 Provider ID 与 JSON 文件名一致
- 添加数据库迁移逻辑处理旧版 Provider ID
- 清理未使用的模块 (injection, proxy, resilience, telemetry)
- 重构 workspace crates 结构

版本: 0.47.4
2026-01-16 12:46:47 +08:00
coso 99453292a9 chore: prepare workspace migration and bump version to 0.47.3 2026-01-16 00:52:36 +08:00
coso 2e1d9c7cb9 chore: 移除 Qwen 和 iFlow 凭证管理,升级到 v0.47.0 2026-01-15 18:26:23 +08:00
coso 1f489126d8 chore: bump version to 0.46.0
- 修复 reasoning_content 字段缺失的编译错误
- 精简 README 为 AI Agent 创作工具平台
- 修复 lint 和格式错误
2026-01-15 02:13:58 +08:00
Chiron 630109ab7e fix(ui): 修复自定义模型无法在模型选择器中显示的问题 (#118)
- 修改 ApiServerPage.tsx 中的 loadModels 函数,使用 provider.id 作为 registryId
- 优先显示自定义模型,然后显示模型注册表中的模型
- 如果 registryId 没有模型,回退到使用 type 映射的 fallbackRegistryId
- 删除不再使用的 getModelProviderIds 函数
- 修复 DeepSeek 等自定义 Provider 显示不相关模型的问题

Closes #118
2026-01-13 22:49:24 +08:00
Chiron c2bbe89c30 fix(server): 修复监听地址配置不生效的问题 (#110)
## 问题描述
用户在 UI 中选择 127.0.0.1 或 0.0.0.0 作为监听地址,但服务器实际绑定到局域网 IP

## 修复内容
1. 移除 server/mod.rs 中的自动地址替换逻辑
2. 移除监听 0.0.0.0 时必须使用非默认 API Key 的限制
3. 修复 VPN 地址被错误显示在路由端点的问题
4. 前端选择监听地址后自动保存配置
5. 移除前端的安全提示信息
2026-01-13 20:02:00 +08:00
coso 20df0d2cd8 feat: v0.45.2 - 优化机器码历史记录和插件加载
- 机器码历史记录改为倒序显示(最新在前)
- 修复插件加载器全局变量名推断,自动添加 Plugin 后缀
- 添加更多插件的全局变量名映射
2026-01-13 13:47:17 +08:00
coso 0cf5cd5c5d chore: bump version to 0.45.0 2026-01-13 02:29:07 +08:00
coso 326695f860 Merge pull request #111 from tjengbudi/main
feat(i18n): add additional disctionary for english language
2026-01-13 02:13:13 +08:00
budi df017c0c7f feat(i18n): add comprehensive multi-language support
- Add dynamic translation system with template placeholders
- Add 60+ template keys for dynamic text with variables
- Update ReplayDialog to use dynamic translations
- Create comprehensive i18n documentation (README.md)
- Export missing types from I18nPatchProvider
- Coverage: ~99.5% of all UI text (static + dynamic)

Files modified:
- src/i18n/dynamic-translation.ts (new)
- src/i18n/index.ts (new)
- src/i18n/README.md (new)
- src/i18n/I18nPatchProvider.tsx (export types)
- src/i18n/patches/en.json (+72 translations)
- src/i18n/patches/zh.json (+72 translations)
- src/components/flow-monitor/ReplayDialog.tsx (use dynamic t())

Tests: 27/27 passed
2026-01-12 20:44:52 +07:00
cosoandClaude Opus 4.5 86e2a0db33 feat: add anthropic-compatible provider type
Add a new provider type "anthropic-compatible" to support Anthropic API
variants that use array format for the system field instead of string.

Changes:
- Add AnthropicCompatible to ApiProviderType enum (backend)
- Add AnthropicCompatible to Agent ProviderType enum
- Modify AnthropicProtocol to support array system format
- Add provider type selector in ProviderConfigForm for custom providers
- Update icon mappings to show Claude icon for anthropic-compatible
- Update model registry mappings to show Anthropic models

This allows users to connect to Anthropic-compatible proxies (like One API)
that expect the system field in array format:
  {"system": [{"type": "text", "text": "..."}]}

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 20:06:08 +08:00
cosoandClaude Opus 4.5 816394fade fix: stabilize Select dropdown position with popper mode
- Add position="popper" to Select.Content for stable positioning
- Add side="bottom" and align="start" for consistent dropdown direction
- Use CSS variable for min-width to match trigger width
- Remove relative positioning that caused layout issues

This fixes the dropdown jumping between top and bottom positions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:54:49 +08:00
cosoandClaude Opus 4.5 9789e7d8a8 feat: add provider environment variable sync and UI improvements
- Add updateProviderEnvVars function to sync Claude Code env vars
- Improve API Server page with provider selection and env var updates
- Update codex provider with better error handling
- Fix provider pool service credential lookup
- Format UI components with Prettier
- Fix test files for custom_models field

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 16:19:22 +08:00
Chiron f55bdd5b80 fix: 修复凭证代理设置无法清空的问题 (#107)
问题:将代理设置留空后点击保存,代理设置仍然存在

原因:EditCredentialModal.tsx 中 proxyUrl.trim() || undefined
在空字符串时返回 undefined,但后端期望空字符串来表示清除代理

修复:将 proxyUrl.trim() || undefined 改为 proxyUrl.trim()
这样空字符串会被正确传递给后端,后端会将其解释为清除代理设置
2026-01-12 13:42:24 +08:00
Chiron 8564c9007e feat: 修复智谱 API 路径问题并支持自定义模型列表
修复:
1. 修复 OpenAI Custom Provider 的 URL 路径拼接问题
   - 支持检测 /v1, /v2, /v3, /v4 等版本号路径
   - 避免重复拼接导致 /v4/v1/chat/completions 错误

新功能:
1. API Key Provider 支持自定义模型列表
   - 数据库添加 custom_models 字段
   - 前端 Provider 配置表单添加自定义模型输入
   - 用于不支持 /models 接口的 Provider(如智谱)

2. API Server 测试页面使用自定义模型
   - 自动使用当前 Provider 的自定义模型进行测试
   - 为多个自定义模型生成独立测试端点
2026-01-12 13:36:27 +08:00
Chiron bd9748fe18 feat: 动态检测 IP 地址变化并自动更新
主要改进:
1. 服务器启动时检查配置的 IP 是否有效,无效时自动切换到当前局域网 IP
2. 前端定期刷新网络信息,实时检测 IP 变化
3. 路由端点和 API 测试地址动态更新
4. 优先选择 192.168.x.x 或 10.x.x.x 的局域网 IP

修复 Antigravity API:
1. 修正 API 端点为 cloudcode-pa.googleapis.com
2. 透传上游错误状态码

新增功能:
1. 添加 model_service 和 model_cmd 模块
2026-01-12 11:40:29 +08:00
cosoandClaude Opus 4.5 4b2a9e0873 chore: update CI to use pnpm and minor fixes
- Update GitHub Actions release workflow to use pnpm instead of npm
- Add pnpm/action-setup@v4 for pnpm installation
- Use pnpm install --frozen-lockfile for CI builds

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 08:20:14 +08:00
coso 862ce44172 fix: resolve eslint warnings in agent chat 2026-01-12 02:13:00 +08:00
coso ae30af743f chore: bump version to 0.44.0 2026-01-12 01:33:45 +08:00
coso bb858c812f Merge pull request #105 from lwmacct/dev/260111-2255
feat: 添加开发模式 HTTP 桥接,支持浏览器 dev server 与 Tauri 后端通信
2026-01-12 00:06:43 +08:00
coso 7144cf771a chore: bump version to 0.43.0 2026-01-12 00:00:11 +08:00
lwmacct 329c699ae8 feat: 实现 HTTP 桥接层,支持浏览器 dev server 与 Tauri 后端通信
## 变更概述

实现了开发模式下的 HTTP 桥接层,使浏览器中的前端可以通过 HTTP
与运行中的 Tauri 后端通信,替代原有的纯 mock 方案。

## 后端变更

- 新增 `src-tauri/src/dev_bridge.rs` - HTTP 桥接主模块
- 新增 `src-tauri/src/dev_bridge/dispatcher.rs` - 命令分发器
- 集成 dev_bridge 路由到 Axum 服务器
- 添加 CORS 支持(仅允许 localhost:1420)

## 前端变更

- 新增 `src/lib/dev-bridge/` 模块 - HTTP 客户端
- 更新 `safeInvoke` 支持三层降级策略:
  1. Tauri IPC(生产环境)
  2. HTTP Bridge(开发环境)
  3. Mock(离线开发)

## 特性

- 仅在 debug 模式编译(`#[cfg(debug_assertions)]`)
- 支持命令:get_config, save_config, get_server_status,
  get_logs, get_provider_pool_overview 等
- 自动回退到 mock 当后端不可用
2026-01-11 23:17:55 +08:00
lwmacct 9c59f9b2b1 feat: 添加 Vite web 开发模式 mock 系统
通过 Vite alias 拦截 @tauri-apps/* 导入,使用 mock 模块替代真实的 Tauri API,
使得 pnpm run dev 可以在浏览器中独立运行,无需启动 Tauri 后端。

主要变更:
- 新增 src/lib/tauri-mock/ 模块化 mock 系统
- 修复 vite.config.ts 的 ES 模块 __dirname 兼容性
- 移除旧的 src/lib/tauri-mock.ts 文件
- 更新 useTauri.ts 使用静态导入
- 添加 200+ Tauri 命令的 mock 实现
2026-01-11 22:40:20 +08:00
coso 6e2033615c feat: 添加音效功能 (v0.42.0)
- 添加工具调用音效 (tool-call.mp3)
- 添加打字机音效 (typing.mp3)
- 在设置页面添加音效开关
- 创建 useSound hook 和 SoundProvider
2026-01-11 14:11:29 +08:00
coso 7d7f156234 chore: bump version to v0.41.0 2026-01-11 05:01:59 +08:00
cosoandClaude Opus 4.5 392f0e2d2c feat: add content creator workflow and chat components
- Add content creator backend services (Rust)
- Add TaskFiles components for agent chat
- Add new chat page components with streaming support
- Add A2UI parser and components
- Add document canvas with multi-platform support
- Add form components and layout transition utilities
- Add content creator hooks and workflow management

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 01:30:44 +08:00
cosoandClaude Opus 4.5 83c36747db chore: bump version to 0.40.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 01:24:47 +08:00
Chiron 1fc88995da fix: 优化 API 测试页面 URL 选择和状态管理
- 根据监听地址智能选择测试 URL(127.0.0.1/0.0.0.0/局域网IP)
- 实时更新测试 URL,切换监听地址时立即反映
- 优化测试状态管理,切换 Tab 时才重置测试结果
- 允许用户对比不同 Provider 的测试结果
2026-01-10 23:18:32 +08:00
Chiron 2208b6c124 Merge pull request #97 from Chiron-Brahm/main
fix: 修复 Flow Monitor 响应内容显示和提供商显示问题 (#75)
2026-01-10 22:33:37 +08:00
Chiron 3ca4bfe7f6 fix: 修复 Flow Monitor 响应内容显示和提供商显示问题 (#75)
- 修复凭证池模式下非流式响应的 content 和 body 字段未保存问题
- 从响应 JSON 中提取 content、tool_calls 和 usage 信息
- 添加 provider_id 字段用于显示实际的提供商名称
- 优化清理完成弹窗样式,使用自定义 Modal 组件
- 美化排序下拉框,使用 Radix UI Select 组件
- 添加详细的调试日志用于追踪 Flow 显示问题
- 修复所有测试代码中缺少 provider_id 字段的问题
2026-01-10 22:27:06 +08:00
Chiron 85bfc56037 debug: 添加 Flow Monitor 响应内容调试日志
- 在 ResponseTab 组件中添加 console.log
- 输出 response 对象、content 内容和长度
- 输出 expandedSections 状态
- 创建 issue-75 调查文档

相关 Issue: #75
2026-01-10 21:09:31 +08:00
Chiron 1a35d983c6 ui: 禁用 OAuth 插件标签页
- 将 OAuth 插件按钮设置为禁用状态
- 添加灰色样式和不可点击效果
- 显示开发中标签提示用户
- 注释掉 OAuthPluginTab 导入和内容区域
- 功能开发完成前暂时隐藏

相关 Issue: 功能开发中
2026-01-10 16:22:06 +08:00
cosoandClaude Opus 4.5 b2289e4f16 chore: bump version to 0.39.0
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 13:13:10 +08:00
coso 8f8bcd0a09 Merge pull request #93 from Chiron-Brahm/feat/api-server-network-binding
feat: 添加 API Server 网络监听地址配置功能
2026-01-10 13:07:31 +08:00
coso 24a0ff4e77 Merge pull request #92 from Chiron-Brahm/fix/input-lag-and-terminal-ai-models
fix: 修复全局输入卡顿和终端 AI 模型列表问题
2026-01-10 13:07:11 +08:00
Chiron d82b07c1fb fix: 修复全局输入卡顿和终端 AI 模型列表问题
- 优化 i18n MutationObserver 性能
  - 添加输入框变化过滤(INPUT、TEXTAREA)
  - 添加 300ms 防抖避免频繁触发
  - 跳过已打补丁的节点
  - 跳过可编辑元素

- 优化 DOM 文本替换性能
  - 跳过输入框和文本域
  - 跳过 contentEditable 元素

- 优化终端 AI 输入组件
  - 添加防抖函数(16ms ~60fps)
  - 使用 useMemo 缓存防抖函数

- 修复终端 AI 模型列表问题
  - 添加 extractSupportedModels 函数
  - 优先使用凭证池中的模型列表
  - 特殊处理 DeepSeek(显示 deepseek-chat/reasoner)
  - 修复 iFlow provider ID 映射(openai -> iflowcn)
  - 降级到 model registry(如果凭证模型为空)

修复后:
- 所有输入框流畅无卡顿
- 终端 AI 显示正确的提供商模型列表
2026-01-10 11:19:11 +08:00
Chiron b222912981 fix: 终端和页面切换时保持状态
问题:
1. 终端内标签页切换时状态会重置
2. 切换到其他功能页面再切回终端时状态丢失

解决方案:
1. 终端内标签页: 多容器架构,每个标签页独立容器和 TermWrap 实例
2. 应用页面切换: 所有页面保持挂载,使用 CSS display 控制显示

改动:
- TerminalPage.tsx: 多容器架构,保持 TermWrap 实例
- terminal.css: 添加多容器样式支持
- App.tsx: 所有页面保持挂载,CSS 控制显示
2026-01-10 11:19:02 +08:00
Chiron d5e7772c0e feat: 添加 API Server 网络监听地址配置功能
- 后端改进:
  - 改进网络 IP 获取逻辑,使用 if-addrs 获取所有网络接口
  - 智能过滤 VPN 和虚拟网卡地址(如 198.18.0.0/15)
  - 允许绑定到私有网络地址(10.x.x.x, 172.16-31.x.x, 192.168.x.x)
  - 更新地址验证逻辑,支持局域网 IP 绑定

- 前端改进:
  - 使用 Radix UI Select 组件美化监听地址选择器
  - 支持选择 127.0.0.1(仅本机)、0.0.0.0(所有接口)或具体局域网 IP
  - 动态显示真实的局域网 IP 地址
  - 添加安全提示:局域网访问需要非默认 API Key
  - 优化界面布局,状态信息移至标题旁边

- 依赖更新:
  - 添加 if-addrs = "0.13" 用于获取网络接口信息
2026-01-10 11:19:01 +08:00
coso d67ca77a5f v0.38.0: 修复自定义 Provider 添加 API Key 问题,OAuth 插件标记为实验功能 2026-01-09 18:43:52 +08:00