Commit Graph
194 Commits
Author SHA1 Message Date
coso 7851c34bed release: v0.68.0
## Features
- 版本升级至 0.68.0

## Fixes
- 修复 EmptyState 组件标题排版问题
- 修复"开始生成"按钮文字换行问题
- 修复加载历史对话失败问题
  - 修复 parse_message_content 保留 ContentPart 结构
  - 修复 convert_agent_message 添加 reasoning_content 处理
  - 修复 WorkspaceType::from_str 命名冲突,重命名为 parse

## Code Quality
- 修复所有 clippy 警告
  - 修复 manual_flatten 警告
  - 修复 ptr_arg 警告(使用 &Path 替代 &PathBuf)
  - 修复 manual_clamp 警告
  - 修复 match_single_binding 警告
- 所有测试通过 (174 passed)
2026-02-16 20:58:55 +08:00
coso ec9db9f0f6 fix(agent-chat): align clearMessages signature with unified hook callers 2026-02-16 10:16:00 +08:00
coso 2e35df927d release: v0.67.0 2026-02-16 02:54:58 +08:00
coso aefd290147 fix(memory): remove react-query dependency in feedback stats 2026-02-14 15:40:27 +08:00
coso 73e9199107 chore(release): bump version to 0.66.0 2026-02-14 15:20:30 +08:00
coso a737e63fb2 release: bump version to 0.65.0
主要更新:
- 优化 WorkbenchPage 导航显示,项目管理按钮显示主题上下文
- 修复双重背景问题,移除冗余的背景色和边框
- 移除 NovelCanvas 中的 HeaderTitle 和横线
- 修复 MCP 相关测试的编译错误(添加 meta 字段)
- 修复 scheduler 测试的导入问题
- 代码格式化和 lint 修复
2026-02-13 16:15:50 +08:00
coso 8da33ec9a0 release: bump version to 0.64.0 2026-02-12 20:30:57 +08:00
cosoandClaude Opus 4.6 e0e9aba188 chore: bump version to 0.63.0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-11 14:37:44 +08:00
coso cb9c8255e4 chore: bump version to 0.62.0 2026-02-10 03:10:54 +08:00
cosoandClaude Opus 4.6 aa49b23733 feat: 实现 Aster 生态 Phase 2 核心能力
完成 Aster 生态 Phase 2 的所有开发任务,包括浏览器工具、调度器系统、
WebSocket RPC、批量任务支持和电商差评回复解决方案。

## 第一阶段: 浏览器工具接入 ✅

- 添加 Playwright MCP Server 自动配置 (migration_v3.rs)
- 实现 BrowserTool 包装器,提供 navigate/snapshot/click/type/screenshot API
- 通过 MCP 桥接集成到 Agent 工具系统

## 第二阶段: Agent Daemon 集成 ✅

- 创建 scheduler crate,实现完整的调度器系统
- 实现 AgentScheduler (SchedulerTrait),支持任务 CRUD 和状态管理
- 实现 AgentExecutor (TaskExecutor),支持多种任务类型
- 实现 Heartbeat Loop,30 秒轮询自动执行到期任务
- SQLite 持久化,完整的单元测试覆盖

## 第三阶段: Agent Gateway RPC ✅

- 扩展 WebSocket 协议,实现 JSON-RPC 2.0 风格
- 支持 7 种 RPC 方法: agent.run, agent.wait, agent.stop, sessions.list,
  sessions.get, cron.list, cron.run
- 实现 RPC 处理器,集成 Agent 和 Scheduler
- 双协议支持 (WsMessage + RPC)

## 第四阶段: 批量任务支持 ✅

- 实现 BatchTask 数据结构和 TaskTemplate 模板系统
- 支持变量替换 ({{variable}})
- 实现并发控制 (Semaphore)、失败重试、超时保护
- 提供 8 个 HTTP API 端点 (任务 + 模板管理)

## 第五阶段: 电商差评回复 MVP ✅

- 实现电商差评回复 Skill,支持淘宝/京东/拼多多
- 完整的配置系统 (语气/长度/模板)
- 5 步配置向导前端页面
- 任务列表管理和结果展示
- Tauri Command 封装和 API 集成

## 技术亮点

- 模块化设计: 独立 crate,易于维护
- 类型安全: Rust + TypeScript 全栈类型安全
- 完整测试: 所有模块都有单元测试
- 命名规范: 使用通用命名 (AgentScheduler 而非 ProxyCastScheduler)
- 可扩展性: 易于添加新功能和解决方案

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-09 22:14:59 +08:00
cosoandClaude Opus 4.6 b14dbe8271 feat: 实现 Agent 调度器系统
实现完整的 Agent 任务调度系统,支持定时任务、批量处理和后台持续运行。

## 新增功能

### 1. proxycast-scheduler Crate
- 创建独立的调度器 crate
- 实现 SchedulerTrait 接口
- 支持任务 CRUD 操作
- 任务持久化到 SQLite

### 2. 数据模型
- ScheduledTask: 调度任务结构
- TaskStatus: 任务状态枚举 (Pending, Running, Completed, Failed, Cancelled)
- TaskFilter: 任务查询过滤器

### 3. AgentScheduler
- 实现调度器核心逻辑
- 支持任务创建、查询、更新、删除
- 支持到期任务查询
- 自动状态管理

### 4. AgentExecutor
- 实现任务执行器
- 通过 CredentialBridge 自动选择凭证
- 支持多种任务类型:
  - agent_chat: Agent 对话任务
  - batch_process: 批量处理任务
  - scheduled_report: 定时报告任务
- 自动标记凭证健康状态

### 5. SchedulerService (Heartbeat Loop)
- 实现心跳循环服务
- 每 30 秒轮询到期任务
- 自动执行到期任务
- 支持优雅启动和关闭 (CancellationToken)
- 集成到 Tauri setup

### 6. 数据库集成
- 创建 scheduled_tasks 表
- 添加索引 (status, scheduled_at, provider_type)
- 自动初始化表结构

## 技术实现

- 使用 tokio::spawn 启动后台任务
- 使用 tokio::time::interval 实现定时轮询
- 使用 tokio::select! 监听取消信号
- 完整的错误处理和日志记录
- 所有模块包含单元测试

## 文件清单

新增:
- src-tauri/crates/scheduler/Cargo.toml
- src-tauri/crates/scheduler/src/lib.rs
- src-tauri/crates/scheduler/src/types.rs
- src-tauri/crates/scheduler/src/dao.rs
- src-tauri/crates/scheduler/src/scheduler.rs
- src-tauri/crates/scheduler/src/executor.rs
- src-tauri/src/app/scheduler_service.rs

修改:
- src-tauri/Cargo.toml (添加 scheduler 依赖)
- src-tauri/src/app/mod.rs (导出 scheduler_service)
- src-tauri/src/app/setup.rs (集成调度器服务)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-09 21:47:52 +08:00
coso 19e14c0f4c refactor: 拆分 crate 架构 - models/providers/config/middleware/plugin 迁移到子 crate
- proxycast-core: models, data, logger, errors, backends, connect, session_files,
  orchestrator, session(rate_limit/sticky), config, middleware, plugin
- proxycast-providers: providers, converter, streaming, translator, stream,
  session(SessionManager/signature_store)
- 主 crate 保留 Tauri 业务逻辑,通过 re-export 保持 API 兼容
- 版本号升级到 0.60.0
- 移除已删除的 useFlowEvents hook 导出
- 移除已废弃的 flow_monitor 端到端测试
2026-02-08 03:19:44 +08:00
coso 65f9d310e7 chore: bump version to 0.59.0 2026-02-07 22:26:51 +08:00
coso e287fd3d39 release: v0.58.0 2026-02-07 02:01:04 +08:00
cosoandWarp 174ae555db perf: 优化 CI 构建时间 v0.57.0
- whisper-rs 改为可选依赖 (local-whisper feature)
- 禁用 LTO (CARGO_PROFILE_RELEASE_LTO=off)
- 增加 codegen-units 到 32
- 移除构建后清理步骤
- 统一内容创作系统增强

Co-Authored-By: Warp <agent@warp.dev>
2026-02-04 20:34:49 +08:00
coso 322b2e07f8 feat: 统一内容创作系统 v0.56.0
- 项目选择器支持按主题类型筛选
- 修复 Select 组件点击外部不关闭的问题
- projectId 贯穿整个聊天生命周期
- 修复 lint 错误和 clippy 警告
- 新增人设、素材、模板管理功能
2026-02-04 00:00:01 +08:00
cosoandClaude Opus 4.5 08ad7a332e release: v0.55.0 - 代码重构与 ESLint 修复
- 更新版本号到 0.55.0
- 修复 ESLint 警告:将 CREATION_MODE_CONFIG 移至单独的 constants.tsx
- 修复 ESLint 警告:将 CreationMode 类型移至 types.ts
- 修复 ProviderPoolPage 未使用变量警告
- 修复 Rust 测试中缺少的 Config 字段

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:42:19 +08:00
cosoandClaude Opus 4.5 2ba5eaa4c8 release: v0.54.0 - 代码质量改进与 Clippy 修复
- 更新版本号到 0.54.0
- 修复所有 ESLint 警告
- 通过 cargo clippy --fix 自动修复大量代码风格问题
- 修复 format! 字符串内联变量
- 修复 &PathBuf 改为 &Path
- 使用 #[derive(Default)] 替代手动实现
- 修复 aster 依赖版本 (v0.7.1 -> v0.7.0)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 03:27:40 +08:00
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