coso and Claude 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
coso and Claude 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
bf0c1a05fb
chore: bump version to 0.61.0
2026-02-09 02:08:53 +08:00
coso
98c124b0bb
refactor: 迁移 agent/mcp/skills/voice 模块到独立 crate
...
- 创建 proxycast-agent crate(event_converter, mcp_bridge, prompt)
- 创建 proxycast-skills crate(ExecutionCallback/LlmProvider trait, skill_loader)
- 扩展 voice-core crate(device, threaded_recorder, types)
- 主 crate 各模块替换为 re-export 层 + Tauri 实现
- 更新 processor/mod.rs 为纯 re-export
- 更新 app/runner.rs MCP 初始化
- 添加 capabilities/default.json
- 清理已迁移的测试文件
2026-02-08 22:42:01 +08:00
coso
bb319d7bb0
refactor: 迁移 MCP 模块到 proxycast-mcp crate
...
- 创建 proxycast-mcp crate(client, manager, tool_converter, types)
- 主 crate mcp/mod.rs 替换为 re-export 层
- McpClientManager、ProxyCastMcpClient 等类型迁移
2026-02-08 22:41:07 +08:00
coso
f169e93e6e
refactor: 添加 EventEmit trait 到 proxycast-core
...
- 新增 event_emit 模块:EventEmit trait、DynEmitter、NoOpEmitter
- 解耦 Tauri 事件发射,供独立 crate 使用
- app/types.rs 添加 TauriEventEmitter 实现
2026-02-08 22:40:48 +08:00
coso
146db0d110
refactor: 迁移 server 模块到 proxycast-server crate
...
- 创建 proxycast-server crate,包含完整的 HTTP 服务器逻辑
- 迁移 server/handlers/ 下所有 8 个处理器模块
- 迁移 client_detector 模块
- 主 crate server/mod.rs 替换为 re-export 层
- 升级 proxycast-core logger:完整的日志轮转、压缩归档、正则脱敏
- 提取 network 模块到 proxycast-core(从 network_cmd 中分离纯逻辑)
- 修复 bootstrap.rs/state.rs 中 LogStore::with_config 调用
- 修复 provider_calls.rs doctest 代码块标记
2026-02-08 22:34:56 +08:00
coso
a32133490e
refactor: 迁移 server_utils 到独立 proxycast-server-utils crate
...
- 创建 crates/server-utils/ 独立 crate (1403 行, 0 Tauri 依赖)
- 包含响应解析、字符串处理、响应构建等工具函数
- 12 个测试全部通过 (3 单元测试 + 9 属性测试)
- src/server_utils.rs 改为 re-export 层
2026-02-08 21:09:37 +08:00
coso
3257580f36
refactor: 迁移 processor steps 到独立 proxycast-processor crate
...
- 创建 crates/processor/ 独立 crate(~2207 行)
- 迁移 7 个 step 模块: auth, injection, plugin, provider, routing, telemetry, traits
- 迁移 RequestProcessor 基础结构(processor.rs)
- 主 crate processor/steps/mod.rs 改为 re-export 层
- RequestProcessor 保留在主 crate(依赖 Tauri 相关类型)
- 30 个 crate 单元测试 + 8 个主 crate 测试全部通过
2026-02-08 19:36:02 +08:00
coso
a4ca895aa3
refactor: 迁移 credential 模块(balancer/quota/sync)到独立 proxycast-credential crate
...
- 创建 proxycast-credential crate,包含 balancer、quota、sync 三个模块
- 主 crate credential/mod.rs 改为 re-export 层
- 37 个 crate 单元测试 + 31 个主 crate 属性测试全部通过
2026-02-08 18:58:00 +08:00
coso
e3c9efdf9f
refactor: 迁移 config/observer 到 proxycast-config crate
...
- 创建 proxycast-config crate,包含配置观察者系统
- ConfigEventEmit trait 抽象 Tauri AppHandle 的 emit 功能
- TauriConfigEmitter 和 TauriObserver 保留在主 crate
- 11 个 crate 测试 + 58 个主 crate config 测试全部通过
- 主 crate config/observer 重写为重新导出层
2026-02-08 18:24:23 +08:00
coso
9978c4827e
refactor: 提取 proxycast-websocket 独立 crate
...
将 WebSocket 模块 (~2100 行) 从主 crate 迁移至 crates/websocket/:
- handler、lifecycle、processor、stream 四个子模块
- crate::logger::LogStore 改为 proxycast_core::LogStore
- crate::models 改为 proxycast_core::models
- 主 crate 保留重导出层
- 51 个测试全部通过(含属性测试)
2026-02-08 17:29:23 +08:00
coso
ccca4cd479
refactor: 提取 proxycast-terminal 独立 crate
...
将终端模块 (~13k 行) 从主 crate 迁移至 crates/terminal/:
- 设计 TerminalEventEmit/TerminalEventEmitter 两层 trait 抽象
- DynEmitter newtype 包装 Arc<dyn TerminalEventEmit>
- 主 crate 保留 TauriEmitter 桥接层和重导出
- 187 个单元测试全部通过
2026-02-08 16:41:23 +08:00
coso
46b2303acc
refactor: 创建 proxycast-services crate,迁移 ~37k 行业务服务
...
- 新建 proxycast-services crate(依赖 core + providers)
- 迁移 28 个 service 模块 + 2 个子模块(general_chat, content_creator)
- ClientType 从 server/client_detector 迁移到 core/models/client_type
- 主 crate services/mod.rs 改为 re-export 层
- 保留 file_browser_service、sysinfo_service、update_window 在主 crate(依赖 Tauri)
- 所有 crate::xxx 引用已替换为对应 crate 路径
- workspace 全量编译通过,测试编译通过
2026-02-08 15:15:39 +08:00
coso
49f0a49b41
refactor: migrate processor types (context/error) and websocket types to proxycast-core
2026-02-08 14:01:46 +08:00
coso
bbed059a49
refactor: migrate router and credential core (types/pool/health/risk) to proxycast-core
2026-02-08 13:31:33 +08:00
coso
b70a6e748d
refactor: migrate database/workspace/memory/content/agent-types/general_chat-types to proxycast-core
...
Phase 2 of workspace crate migration:
- database/ (12,420 lines, all DAO + schema + migration)
- workspace/ (860 lines)
- memory/ (1,002 lines)
- content/ (657 lines)
- agent::types (583 lines, pure data types)
- general_chat::types (pure data types)
- models::project_model (1,576 lines)
Main crate modules rewritten as thin re-exports.
2026-02-08 13:09:23 +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
37054b49f6
fix: regenerate Cargo.lock with git source for aster (without local patch)
2026-02-07 22:51:25 +08:00
coso
931ac90967
fix: switch aster dependency to git for CI build
2026-02-07 22:44:50 +08:00
coso
65f9d310e7
chore: bump version to 0.59.0
2026-02-07 22:26:51 +08:00
coso
9afbc3c7ba
fix: switch aster dep to git for CI/CD build
2026-02-07 09:17:38 +08:00
coso
e287fd3d39
release: v0.58.0
2026-02-07 02:01:04 +08:00
coso and Warp
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
coso and Claude 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
coso and Claude 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
coso and Claude Opus 4.5
2b65f6ac89
chore: 更新 aster 依赖到 v0.7.0
...
- 新增渐进式修剪 (Progressive Pruning) 功能
- 新增自动溢出重试 (Auto Overflow Retry) 功能
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-03 01:41:50 +08:00
coso and Claude 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
f135398963
fix: 修复测试代码编译错误 - 添加缺失的 asr 字段和 import
2026-01-31 11:48:18 +08:00
coso
2fa51b49fe
fix: 修复编译错误和 dead_code 警告
2026-01-31 09:54:17 +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
f34f120b83
chore: bump version to 0.48.3
2026-01-25 01:16:40 +08:00
coso
c6f433f190
feat: complete plugin system refactoring and credential management improvements
2026-01-25 01:13:50 +08:00
coso
66ddc6ce70
chore: bump version to 0.48.2
2026-01-25 01:10:04 +08:00
coso
a98fc91860
chore: bump version to 0.48.1
2026-01-25 01:06: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
2989ba2582
fix: 修复 Tauri 插件版本不匹配问题
...
- 将 tauri-plugin-dialog 从 v2.6.0 降级到 v2.5.0
- 确保与前端 @tauri-apps/plugin-dialog v2.5.0 版本匹配
- 修复 CI/CD 构建中的版本冲突错误
2026-01-18 21:54:05 +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
eae4d2994a
fix: 修复 tauri-action workspace 识别问题
...
将 [package] 中的 workspace 引用改为显式值,
解决 GitHub Actions 构建时找不到 workspace 的问题
2026-01-16 16:18:45 +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
f7cf0aff4c
feat: add Apple notarization for macOS builds (v0.47.2)
2026-01-16 00:08:19 +08:00
coso and Claude Opus 4.5
c9f1ba44a6
chore: bump version to 0.47.1
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-15 23:04:55 +08:00
coso and Claude Opus 4.5
cd2e4b19f8
fix: 移除已删除的 Qwen 和 IFlow provider 引用
...
- 移除测试文件中对 ProviderType::Qwen 和 ProviderType::IFlow 的引用
- 移除 providers/tests.rs 中的 IFlowProvider 相关测试
- 更新 failover 测试使用 OpenAI 替代 Qwen
- 添加 ChatMessage 缺失的 reasoning_content 字段
- 启用 macOS 签名证书配置
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-15 22:59:30 +08:00