coso
bd6d487d17
feat: add model theme policy and chat model selector enhancements
2026-02-18 18:11:09 +08:00
coso
c35652756a
fix: clippy warnings, fmt fixes, integrate modules into request flow
2026-02-18 18:10:49 +08:00
coso
0c357c8bf1
feat: add security middleware, rate limiting, auth, encryption, conversation management
...
Borrowed patterns from ZeroClaw:
- server/middleware/security: request body size limit + timeout layer
- server/middleware/rate_limit: sliding window rate limiter per client IP
- server/middleware/idempotency: idempotency key store for duplicate prevention
- server/auth/pairing: pairing code auth with brute force protection
- core/sanitizer: credential sanitizer with 9 builtin patterns
- core/router/hint_router: message prefix hint routing ([reasoning], [fast])
- processor/conversation_manager: conversation history trimming
- processor/conversation_summarizer: LLM-based conversation summarization
- credential/encryption: ChaCha20-Poly1305 AEAD encryption for API keys
2026-02-18 14:58:51 +08:00
coso
904ae548b3
fix(ci): 修复 CI 构建失败 - 使用 git 依赖替代本地路径
...
- 将 aster-models 依赖从本地路径改为 git 依赖
- 使用 tag v0.12.0 从 GitHub 仓库获取
- 注释掉 .cargo/config.toml 中的本地 patch 配置
- 确保 CI 环境可以正确构建项目
修复错误: failed to read aster-rust/crates/aster-models/Cargo.toml
2026-02-17 12:47:27 +08:00
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
afbadd49b4
ci(release): retry notarization and fallback on macOS
2026-02-14 18:00:12 +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
82477c97b1
fix: use git dependency for aster instead of local path for CI/CD compatibility
...
主要更新:
- 修复 CI/CD 构建失败问题
- 将 aster 依赖从本地路径改为 GitHub 仓库
- CI/CD 现在使用 git 依赖:https://github.com/astercloud/aster-rust tag v0.11.0
2026-02-13 20:36:44 +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
coso and Claude Opus 4.6
6c53cd6ef5
fix: add missing @tiptap/core dependency for CI build
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-02-11 14:46:09 +08:00
coso and Claude 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
133163d3d9
fix: add winapi/winreg dependencies to services crate for Windows
...
machine_id_service.rs uses winreg and winapi for Windows registry
access but these were only declared in the main package, not in
the proxycast-services crate where the code now lives.
2026-02-10 10:46:28 +08:00
coso
9f423db63e
fix: limit deep-link permission to macOS only
...
tauri-plugin-deep-link does not register permissions on Windows
or Linux (both use CLI args for deep links). Only macOS uses
the event-based deep link system that requires permissions.
2026-02-10 10:28:17 +08:00
coso
cb992dd9a7
fix: move deep-link permission to platform-specific capability
...
tauri-plugin-deep-link does not register permissions on Linux
(URLs are passed as CLI args instead). Split deep-link:default
into a separate capability file limited to macOS and Windows.
2026-02-10 09:55:12 +08:00
coso
cb9c8255e4
chore: bump version to 0.62.0
2026-02-10 03:10:54 +08:00
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
881d45f089
fix: 升级 tauri npm 包版本对齐 Rust crate
...
- @tauri-apps/api: 2.9.1 → 2.10.1 (匹配 tauri 2.10.2)
- @tauri-apps/plugin-dialog: 2.5.0 → 2.6.0 (匹配 tauri-plugin-dialog 2.6.0)
2026-02-08 03:42:56 +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