Files
proxycast/src-tauri/src
cosoandClaude Sonnet 4.6 2d00911c28 fix: 构建 workspace 目录 4 层健康防护体系,彻底解决路径缺失问题
## 根本原因
workspace_create 只写 DB 不建目录,导致任何主题(小说/文章/海报等)
切换到目录已被删除/外置磁盘未挂载的 workspace 后,发送消息必然报错,
且旧提示语引导用户去不存在的"工作区设置"页面。

## 4 层防护

**L1 创建时(workspace_create)**
- 建 workspace 前调 ensure_workspace_root_ready,目录不存在则自动创建

**L2 启动/切换时(useWorkspace + useProjects)**
- refresh/setDefault/projects_refresh 时调 workspace_ensure_ready
- 静默自动修复已知 workspace 的缺失目录

**L3 发消息前(aster_agent_cmd)**
- aster_session_create + aster_agent_chat_stream 各自调 ensure_workspace_root_ready
- 能自动创建则创建并继续,无法创建则返回语义化错误

**L4 主动检查 + 兜底 UI(AgentChatPage + CrashRecoveryPanel)**
- 打开任意项目时主动调 workspace_ensure_ready,失败时显示 amber banner
- 发送失败也显示 amber banner,"重新选择目录"按钮处理两种场景
- CrashRecoveryPanel 新增 workspace-path-missing 场景识别与蓝色修复按钮

## 新增功能
- WorkspaceUpdate.root_path:支持通过 API 修改 workspace 根目录
- workspace_ensure_ready / workspace_ensure_default_ready:Tauri 健康检查命令
- workspace_health_service.rs:独立服务模块,含详细诊断信息
- AppCrashBoundary / CrashRecoveryPanel:通用 React 错误边界与恢复面板
- workspaceHealthTelemetry.ts:localStorage 修复历史记录(最多 50 条)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 17:43:25 +08:00
..
…
2026-02-09 02:08:53 +08:00
2026-02-09 02:08:53 +08:00
2026-02-09 02:08:53 +08:00
2026-02-09 02:08:53 +08:00
2026-02-09 02:08:53 +08:00
2026-02-11 14:37:44 +08:00
2026-02-09 02:08:53 +08:00
…
…

src

架构说明

Tauri 后端核心代码,处理系统级功能和 API 服务。 使用 Rust 实现高性能的代理、认证和流量监控逻辑。

文件索引

  • commands/ - Tauri 命令处理(前端调用入口)
  • config/ - 配置管理(导入/导出/热重载)
  • connect/ - ProxyCast Connect 模块(中转商生态合作)
  • converter/ - 协议转换(OpenAI ↔ CW/Claude/Antigravity)
  • credential/ - 凭证池管理(负载均衡、健康检查)
  • database/ - 数据库层(SQLite + DAO)
  • errors/ - 错误类型定义(项目、人设、素材、模板、迁移错误)
  • flow_monitor/ - LLM 流量监控(拦截、存储、查询)
  • injection/ - 请求注入(系统提示词等)
  • middleware/ - HTTP 中间件
  • models/ - 数据模型定义
  • plugin/ - 插件系统(含声明式 UI 系统)
  • processor/ - 请求处理管道
  • providers/ - 各 Provider 的认证和 API 实现
  • proxy/ - HTTP 代理客户端
  • resilience/ - 弹性策略(重试、超时、故障转移)
  • router/ - 请求路由(模型映射、规则匹配)
  • server/ - HTTP 服务器(OpenAI/Claude 兼容 API)
  • services/ - 业务服务层
  • streaming/ - 流式响应处理
  • telemetry/ - 遥测和统计
  • terminal/ - 终端核心模块(PTY 管理、会话管理)
  • tray/ - 系统托盘
  • websocket/ - WebSocket 支持
  • workspace/ - Workspace 工作目录管理
  • lib.rs - 库入口
  • main.rs - 应用入口
  • logger.rs - 日志配置
  • server_utils.rs - 服务器工具函数

更新提醒

任何文件变更后,请更新此文档和相关的上级文档。