Files
qiming/qimingclaw/specs/agent-client/agent-client-task.md

32 KiB
Raw Permalink Blame History

Agent Client 任务分解文档

版本v1.1.0 创建日期2026-01-29 基于文档:

  • agent-client-spec.md(技术设计规格)
  • agent-client-plan.md(深度实现计划)

开发阶段

阶段一:核心通信与 UI当前优先级

目标:验证 agent-server-adminagent-client 之间的双向通信能力,确保 data-server 的 P2P/TCP/WebSocket 通信正常工作。

包含任务

  • Phase 1基础框架P0-1.x- 脚手架、UI、托盘、自启动、协议版本、安全存储
  • Phase 2核心功能P0-2.x- 连接管理、业务通道、设置界面、安全机制
  • Phase 3依赖管理P0-3.x- Node.js 检测安装、npm 工具
  • Phase 3.5管理端最小实现P0-3.5.x- agent-server-admin 用于验证通信
  • Phase 3.6跨平台打包P0-3.6.x- cargo-packager、CI/CD

验证指标

  • 客户端可在 macOS/Windows/Linux 打包安装
  • 客户端能连接 data-server获取 ID
  • 管理端能发现并连接客户端
  • 双向消息通信正常P2P/Relay
  • 端到端集成测试全部通过
  • 单元测试覆盖率 >= 75%

阶段二Agent 运行时集成(后续开发)

目标:集成 agent_runner实现 Agent 任务执行等功能。

包含任务

  • Phase 4Agent 运行时P1-4.x
  • Phase 5增强功能P1-5.x
  • Phase 6收尾完善P2-6.x

文档说明

本文档是 agent-client 项目的任务分解文档,专注于回答"AI 需要完成哪些步骤"的问题。

任务 ID 规则

P-M.T
| | |
| | └── 任务序号 (1, 2, 3...)
| └──── 模块序号 (1=基础框架, 2=核心功能, 3=依赖管理...)
└────── 阶段序号 (P0=必须, P1=应该, P2=可选)

优先级说明

优先级 说明 含义
P0 必须实现 MVP 必备功能,阻塞发布
P1 应该实现 重要功能,影响体验
P2 可选实现 锦上添花,不阻塞发布

任务清单总览

说明

  • 阶段一(当前优先级)Phase 1-3.6,目标是验证通信能力和基础 UI包含测试和打包
  • 阶段二(后续开发)Phase 4-6集成 agent_runner 和增强功能

Phase 1基础框架P0 阶段一

ID 任务名称 预估工时 优先级 状态
P0-1.1.1 创建 Workspace 配置 1h P0
P0-1.1.2 创建 agent-protocol 协议模块 2h P0
P0-1.1.3 配置 Feature Flags 0.5h P0
P0-1.1.4 配置 vendors 路径依赖 0.5h P0
P0-1.2.1 实现 main.rs 程序入口 2h P0
P0-1.2.2 实现 lib.rs 库入口 1h P0
P0-1.2.3 实现 App 应用状态管理 3h P0
P0-1.2.4 实现 Root 根组件 4h P0
P0-1.2.5 实现 StatusBar 状态栏 3h P0
P0-1.3.1 实现 TrayManager 托盘管理器 4h P0
P0-1.3.2 实现托盘菜单 2h P0
P0-1.4.1 实现 AutoLaunchManager 3h P0
P0-1.4.2 集成自启动到设置界面 2h P0
P0-1.5.1 实现协议版本协商机制 2h P0
P0-1.5.2 实现配置文件加密存储 3h P0
P0-1.6.1 Phase 1 单元测试 4h P0
P0-1.6.2 Phase 1 集成测试脚手架 2h P0

Phase 1 预估总工时39h

Phase 2核心功能P0 阶段一

ID 任务名称 预估工时 优先级 状态
P0-2.1.1 集成 qiming-rustdesk ConnectionManager 6h P0
P0-2.1.2 实现连接状态管理 3h P0
P0-2.1.3 实现心跳保活机制 2h P0
P0-2.1.4 实现重连逻辑 3h P0
P0-2.2.1 实现 BusinessChannel 模块 4h P0
P0-2.2.2 修改 qiming-rustdesk 导出模块 2h P0
P0-2.3.1 实现 Settings 主组件 4h P0
P0-2.3.2 实现服务器配置子页面 3h P0
P0-2.3.3 实现安全设置子页面(密码修改) 3h P0
P0-2.3.4 实现常规/外观/日志子页面 3h P0
P0-2.4.1 实现 ClientInfo 组件ID/密码) 4h P0
P0-2.4.2 实现剪贴板复制功能 1h P0
P0-2.5.1 实现密码 bcrypt 加密存储 2h P0
P0-2.5.2 实现离线消息队列 3h P0
P0-2.5.3 实现大消息分片传输 4h P0
P0-2.6.1 Phase 2 单元测试 4h P0
P0-2.6.2 协议兼容性测试 2h P0

Phase 2 预估总工时53h

Phase 3依赖管理P0 阶段一

ID 任务名称 预估工时 优先级 状态
P0-3.1.1 实现跨平台目录管理dirs 2h P0
P0-3.1.2 实现 NodeDetector 系统检测 4h P0
P0-3.1.3 实现 NodeInstaller 下载安装 6h P0
P0-3.1.4 实现 npm 工具安装器 4h P0
P0-3.2.1 实现 DependencyManager 核心 3h P0
P0-3.2.2 实现依赖状态 UI 组件 4h P0
P0-3.2.3 实现手动安装指引界面 2h P0
P0-3.2.4 实现安装进度显示 2h P0
P0-3.3.1 Phase 3 单元测试 3h P0
P0-3.3.2 依赖安装集成测试 2h P0

Phase 3 预估总工时32h

Phase 3.5agent-server-admin 最小实现P0 阶段一

说明:阶段一验证通信需要管理端配合,此 Phase 实现最小可用的 agent-server-admin

ID 任务名称 预估工时 优先级 状态
P0-3.5.1 创建 agent-server-admin crate 脚手架 1h P0
P0-3.5.2 实现 HTTP API 基础框架 (axum) 3h P0
P0-3.5.3 实现客户端列表 API 2h P0
P0-3.5.4 实现连接客户端 API 3h P0
P0-3.5.5 实现双向消息发送 API 3h P0
P0-3.5.6 实现 SSE 消息推送 3h P0
P0-3.5.7 集成 qiming-rustdesk 通信 4h P0
P0-3.5.8 创建 data-server crate封装 rustdesk-server 3h P0
P0-3.5.9 data-server 本地部署配置 2h P0
P0-3.5.10 端到端通信集成测试 4h P0

Phase 3.5 预估总工时28h

Phase 3.6跨平台打包P0 阶段一

ID 任务名称 预估工时 优先级 状态
P0-3.6.1 配置 cargo-packager 2h P0
P0-3.6.2 macOS 打包配置 (.dmg/.app) 3h P0
P0-3.6.3 Windows 打包配置 (.msi/.exe) 3h P0
P0-3.6.4 Linux 打包配置 (.deb/.AppImage) 3h P0
P0-3.6.5 CI/CD 打包脚本 (GitHub Actions) 4h P0
P0-3.6.6 打包产物验证测试 2h P0

Phase 3.6 预估总工时17h

Phase 4Agent 运行时P1 阶段二(后续开发)

ID 任务名称 预估工时 优先级 状态
P1-4.1.1 集成 agent_runner 依赖 2h P1
P1-4.1.2 实现 AgentManager 核心 4h P1
P1-4.1.3 实现消息转换层 3h P1
P1-4.1.4 实现任务执行流程 4h P1
P1-4.1.5 实现进度回传机制 3h P1
P1-4.1.6 实现任务取消功能 2h P1
P1-4.2.1 实现状态栏 Agent 状态显示 2h P1
P1-4.3.1 Phase 4 单元测试 3h P1
P1-4.3.2 Agent 执行集成测试 3h P1

Phase 4 预估总工时26h

Phase 5增强功能P1 阶段二(后续开发)

ID 任务名称 预估工时 优先级 状态
P1-5.1.1 实现 PermissionManager 核心 4h P1
P1-5.1.2 实现 macOS 权限检测 3h P1
P1-5.1.3 实现 Windows 权限检测 3h P1
P1-5.1.4 实现权限设置 UI 3h P1
P1-5.2.1 实现日志系统tracing 3h P1
P1-5.2.2 实现日志导出功能 2h P1
P1-5.3.1 实现文件传输核心 4h P1
P1-5.3.2 实现文件发送 UI 3h P1
P1-5.3.3 实现文件接收提示 2h P1
P1-5.4.1 实现 RemoteDesktop 组件 6h P1
P1-5.4.2 集成 enigo 输入模拟 3h P1
P1-5.5.1 Phase 5 单元测试 4h P1
P1-5.5.2 文件传输集成测试 3h P1
P1-5.5.3 远程桌面集成测试 3h P1

Phase 5 预估总工时46h

Phase 6收尾完善P2 阶段二(后续开发)

ID 任务名称 预估工时 优先级 状态
P2-6.1.1 实现 About 组件 2h P2
P2-6.1.2 实现版本信息显示 1h P2
P2-6.2.1 实现 Chat 聊天界面 6h P2
P2-6.2.2 实现聊天记录管理 3h P2
P2-6.3.1 实现客户端升级检查 4h P2
P2-6.3.2 实现升级下载安装 4h P2
P2-6.4.1 国际化支持(中/英) 4h P2
P2-6.4.2 主题切换功能 2h P2
P2-6.5.1 Phase 6 单元测试 3h P2
P2-6.5.2 全量回归测试 4h P2

Phase 6 预估总工时33h


详细任务说明

Phase 1基础框架P0

P0-1.1.1 创建 Workspace 配置

任务描述:创建项目根目录的 Cargo.toml配置 workspace 成员和共享依赖

实现文件

  • crates/agent-client/Cargo.toml

验收标准

  • workspace 包含 crates/agent-clientcrates/agent-protocol 等成员
  • 共享依赖版本在 workspace.dependencies 中统一定义
  • cargo check --workspace 通过

相关文档

  • spec: 7. 目录结构
  • plan: 1.2 Workspace Cargo.toml 完整配置

P0-1.1.2 创建 agent-protocol 协议模块

任务描述:创建协议定义 crate包含 protobuf 消息定义和编译脚本

实现文件

  • crates/agent-protocol/Cargo.toml
  • crates/agent-protocol/build.rs
  • crates/agent-protocol/src/lib.rs
  • crates/agent-protocol/src/proto/message.proto

验收标准

  • proto 文件包含 HandshakeRequest/Response, AgentTaskRequest/Response 等消息定义
  • build.rs 正确编译 proto 文件
  • 生成的 Rust 代码可被 agent-client 引用
  • 单元测试通过

相关文档

  • spec: 5. 通信协议设计
  • plan: 1.4 agent-protocol/Cargo.toml 完整配置

P0-1.2.1 实现 main.rs 程序入口

任务描述:实现应用入口,包含日志初始化、配置加载、信号处理、主循环

实现文件

  • crates/agent-client/src/main.rs

验收标准

  • 程序启动时初始化日志系统
  • 加载配置文件
  • 处理 Ctrl+C 和 terminate 信号
  • 正确创建 App 实例并运行
  • 优雅关闭(清理资源)

代码参考

  • plan: 1.6 项目脚手架

P0-1.2.4 实现 Root 根组件

任务描述实现主窗口根组件包含标题栏、Tab 面板、内容区、状态栏

实现文件

  • crates/agent-client/src/components/root.rs

验收标准

  • 顶部显示应用名称和图标
  • Tab 面板可切换不同功能页面
  • 根据 feature 过滤不可用的 Tabremote-desktop, chat-ui
  • 底部显示状态栏
  • 主题适配(深色/浅色)

代码参考

  • plan: 1.8 UI 组件实现

P0-1.3.1 实现 TrayManager 托盘管理器

任务描述:实现系统托盘图标显示和菜单功能

实现文件

  • crates/agent-client/src/tray/mod.rs
  • crates/agent-client/src/tray/menu.rs
  • crates/agent-client/src/tray/icon.rs

验收标准

  • 启动时在系统托盘显示图标
  • 左键点击显示主窗口
  • 右键点击显示菜单(显示窗口、设置、依赖管理、关于、退出)
  • 菜单项可点击响应
  • 支持跨平台macOS/Windows/Linux

代码参考

  • plan: 1.9 系统托盘

Phase 2核心功能P0

P0-2.1.1 集成 qiming-rustdesk ConnectionManager

任务描述:集成 qiming-rustdesk 的 RendezvousMediator实现与 data-server 的连接

实现文件

  • crates/agent-client/src/core/connection.rs

验收标准

  • 可配置 hbbs 和 hbbr 服务器地址
  • 连接到 hbbs 获取客户端 ID
  • 连接到 hbbr 准备中继
  • 根据网络情况自动选择 P2P 或 Relay 模式
  • 返回连接延迟latency

代码参考

  • plan: 2.1 qiming-rustdesk 集成

P0-2.1.2 实现连接状态管理

任务描述:实现连接状态的统一管理,包括状态定义、状态切换、状态持久化

实现文件

  • crates/agent-client/src/core/connection/state.rs

验收标准

  • 定义完整的连接状态枚举Disconnected/Connecting/Connected/Error
  • 状态切换时发出通知
  • 状态持久化到配置文件
  • 状态栏正确显示当前状态

代码参考

  • plan: 2.1 qiming-rustdesk 集成

P0-2.1.3 实现心跳保活机制

任务描述:实现客户端与服务器之间的心跳保活机制,检测连接是否存活

实现文件

  • crates/agent-client/src/core/connection/heartbeat.rs

验收标准

  • 定期发送心跳包(默认 30 秒)
  • 检测心跳超时(默认 90 秒)
  • 超时后触发重连
  • 心跳包最小化(仅包含必要字段)

代码参考

  • plan: 2.1 qiming-rustdesk 集成

P0-2.1.4 实现重连逻辑

任务描述:实现网络断开后的自动重连机制,包含指数退避和随机抖动

实现文件

  • crates/agent-client/src/core/connection/reconnect.rs

验收标准

  • 断线后自动尝试重连
  • 使用指数退避策略(初始 1s最大 30s
  • 支持随机抖动避免同时重连
  • 离线消息队列缓存待发送消息
  • 可配置最大重试次数

代码参考

  • plan: 8.2 重连机制实现

P0-2.2.1 实现 BusinessChannel 模块

任务描述:在 qiming-rustdesk 基础上实现业务数据通道,用于传输 Agent 任务数据

实现文件

  • crates/agent-client/src/core/business_channel.rs
  • vendors/qiming-rustdesk/src/business_channel.rs

验收标准

  • 复用 qiming-rustdesk 的底层 Stream
  • 创建独立的业务通道channel_id = 0xBIZ
  • 支持发送/接收业务消息
  • 支持消息订阅机制
  • 消息格式正确message_type + payload

代码参考

  • plan: 2.2 业务数据通道

P0-2.4.1 实现 ClientInfo 组件

任务描述:实现客户端信息 Tab显示 ID 和密码

实现文件

  • crates/agent-client/src/components/client_info.rs

验收标准

  • 显示 8 位客户端 ID只读
  • 显示连接密码,可切换显示/隐藏
  • 点击复制按钮复制到剪贴板
  • 点击"修改密码"跳转到设置页的安全子页面
  • 显示密码强度提示

代码参考

  • spec: 2.2 客户端信息 Tab

Phase 3依赖管理P0

P0-3.1.2 实现 NodeDetector 系统检测

任务描述:检测系统中已安装的 Node.js优先使用系统全局安装

实现文件

  • crates/agent-client/src/core/dependency/node.rs

验收标准

  • 检测 PATH 中的 node 命令
  • 检测 macOS 特定路径(/usr/local/bin/node
  • 检测 Windows 特定路径Program Files
  • 获取版本号并验证是否 >= 18.0.0
  • 区分系统全局和客户端目录安装

代码参考

  • plan: 3.1 Node.js 自动安装

P0-3.1.3 实现 NodeInstaller 下载安装

任务描述:自动下载并安装 Node.js 到客户端隔离目录

实现文件

  • crates/agent-client/src/core/dependency/node_installer.rs

验收标准

  • 下载对应平台的 Node.js 预编译包
  • 显示下载进度
  • 解压到隔离目录(<APP_DATA>/tools/node/
  • 设置可执行权限
  • 验证安装成功
  • 支持断点续传(可选)

代码参考

  • plan: 3.1 Node.js 自动安装

P0-3.2.2 实现依赖状态 UI 组件

任务描述:实现依赖管理 Tab 的 UI显示依赖列表和状态

实现文件

  • crates/agent-client/src/components/dependency_manager.rs

验收标准

  • 显示依赖列表Node.js, npm, opencode, claude-code 等)
  • 每行显示:名称、版本、来源、状态、操作按钮
  • 状态使用颜色区分(绿色=正常,红色=缺失,黄色=可更新)
  • 支持一键安装所有缺失依赖
  • 支持手动刷新状态

代码参考

  • spec: 2.4 依赖管理 Tab

P0-3.3.1 Phase 3 单元测试

任务描述:为依赖管理模块编写单元测试

实现文件

  • crates/agent-client/src/core/dependency/tests.rs

验收标准

  • NodeDetector 检测逻辑测试
  • 版本比较逻辑测试
  • 路径解析逻辑测试
  • 测试覆盖率 >= 80%

Phase 3.5agent-server-admin 最小实现P0

P0-3.5.1 创建 agent-server-admin crate 脚手架

任务描述:创建管理端 crate 基础结构

实现文件

  • crates/agent-server-admin/Cargo.toml
  • crates/agent-server-admin/src/main.rs
  • crates/agent-server-admin/src/lib.rs

验收标准

  • crate 可编译
  • 基础目录结构完整
  • 依赖 agent-protocol

P0-3.5.2 实现 HTTP API 基础框架

任务描述:使用 axum 实现 HTTP API 服务

实现文件

  • crates/agent-server-admin/src/api/mod.rs
  • crates/agent-server-admin/src/api/router.rs

验收标准

  • 启动 HTTP 服务监听指定端口
  • 支持 CORS 配置
  • 健康检查接口 /health
  • 错误处理中间件

P0-3.5.5 实现双向消息发送 API

任务描述:实现向客户端发送消息并接收响应的 API

实现文件

  • crates/agent-server-admin/src/api/message.rs

验收标准

  • POST /api/clients/{id}/message 发送消息
  • 支持同步等待响应
  • 支持超时配置
  • 消息使用 Protobuf 序列化

P0-3.5.8 创建 data-server crate

任务描述:基于 rustdesk-server 封装 data-server crate提供信令和中继服务

实现文件

  • crates/data-server/Cargo.toml
  • crates/data-server/src/main.rs
  • crates/data-server/src/config.rs

验收标准

  • 封装 rustdesk-server 的 hbbs信令服务
  • 封装 rustdesk-server 的 hbbr中继服务
  • 支持配置文件加载
  • 支持端口配置
  • 可独立启动运行

代码参考

  • vendorsdoc: rustdesk-server.md

P0-3.5.9 data-server 本地部署配置

任务描述:配置 data-server 本地开发环境

实现文件

  • config/data-server.toml
  • scripts/start-data-server.sh
  • docker-compose.yml (可选)

验收标准

  • 本地可一键启动 data-server
  • 配置默认端口hbbs: 21116, hbbr: 21117
  • 日志输出正常
  • 文档说明启动步骤

P0-3.5.10 端到端通信集成测试

任务描述:验证 agent-client 与 agent-server-admin 的完整通信流程

实现文件

  • tests/e2e/communication_test.rs

验收标准

  • 客户端可连接 data-server 获取 ID
  • 管理端可发现在线客户端
  • 管理端可向客户端发送消息
  • 客户端可向管理端返回响应
  • P2P 模式测试通过
  • Relay 模式测试通过

Phase 3.6跨平台打包P0

P0-3.6.1 配置 cargo-packager

任务描述:配置 cargo-packager 打包工具

实现文件

  • crates/agent-client/packager.toml
  • crates/agent-client/Cargo.toml (metadata)

验收标准

  • 配置应用名称、版本、描述
  • 配置图标路径
  • 配置安装目录

P0-3.6.2 macOS 打包配置

任务描述:配置 macOS 平台打包

实现文件

  • crates/agent-client/packager.toml
  • crates/agent-client/assets/macos/Info.plist
  • crates/agent-client/assets/macos/entitlements.plist

验收标准

  • 生成 .app 应用包
  • 生成 .dmg 安装镜像
  • 配置代码签名(可选)
  • 配置公证(可选)

P0-3.6.5 CI/CD 打包脚本

任务描述:配置 GitHub Actions 自动打包

实现文件

  • .github/workflows/build.yml
  • .github/workflows/release.yml

验收标准

  • PR 触发构建检查
  • Tag 触发发布构建
  • 产出 macOS/Windows/Linux 安装包
  • 自动上传 Release Assets

Phase 4Agent 运行时P1

P1-4.1.2 实现 AgentManager 核心

任务描述:实现 Agent 任务管理器,直接调用 agent_runner 内部函数

实现文件

  • crates/agent-client/src/core/agent.rs

验收标准

  • 通过 path 依赖调用 agent_runner不使用 gRPC
  • 启动 Agent 任务start_agent
  • 取消正在执行的任务cancel_agent
  • 查询任务状态get_agent_status
  • 管理多个并发任务
  • 使用 DashMap 保证线程安全

代码参考

  • plan: 4.1 AgentManager 完整实现250 行)

Phase 5增强功能P1

P1-5.1.1 实现 PermissionManager 核心

任务描述:实现跨平台权限检测和管理

实现文件

  • crates/agent-client/src/core/platform/permissions.rs

验收标准

  • 检测辅助功能权限Accessibility
  • 检测屏幕录制权限ScreenRecording
  • 检测磁盘访问权限FullDiskAccess
  • 打开系统设置页面
  • macOS 使用 TCC 检查
  • Windows 使用注册表检查

代码参考

  • plan: 5.1 权限检测

Phase 6收尾完善P2

P2-6.1.1 实现 About 组件

任务描述:实现关于界面,显示版本信息和链接

实现文件

  • crates/agent-client/src/components/about.rs

验收标准

  • 显示应用图标
  • 显示版本号1.0.0)和构建信息
  • 显示 Git commit SHA
  • 提供文档、问题反馈、官网链接
  • 提供导出日志按钮

代码参考

  • plan: 6.1 About 组件完整实现120 行)

任务依赖关系

Phase 1 (基础框架)
├── P0-1.1.1 (Workspace) ───┐
├── P0-1.1.2 (Protocol) ────┤
├── P0-1.1.3 (Features) ────┤
├── P0-1.1.4 (Dependencies) ─┤
├── P0-1.5.x (协议/安全) ←──┤
└── P0-1.2.x (UI) ──────────┤
    └── P0-1.3.x (Tray) ────┤
        └── P0-1.4.x (AutoLaunch)
            └── P0-1.6.x (Tests) ← 全部 Phase 1 任务
                            │
Phase 2 (核心功能) ──────────┤
├── P0-2.1.x (Connection) ←─┘
├── P0-2.2.x (BusinessChannel) ← P0-1.1.2
├── P0-2.5.x (安全/消息队列) ← P0-2.1.x
└── P0-2.3.x (Settings) ←─────┤
    └── P0-2.4.x (ClientInfo) ← P0-2.1.x (Connection)
        └── P0-2.6.x (Tests) ← 全部 Phase 2 任务
                                │
Phase 3 (依赖管理) ←────────────┤
├── P0-3.1.x (Node.js) ←───────┤
├── P0-3.2.x (UI) ←────────────┤
└── P0-3.3.x (Tests) ←─────────┘
                                │
Phase 3.5 (管理端最小实现) ←────┤
├── P0-3.5.1 (脚手架) ←────────┤
├── P0-3.5.2-7 (API/通信) ←────┤
└── P0-3.5.8 (E2E Tests) ← Phase 1-3.5 全部
                                │
Phase 3.6 (跨平台打包) ←────────┤
├── P0-3.6.1-4 (打包配置) ←────┤
├── P0-3.6.5 (CI/CD) ←─────────┤
└── P0-3.6.6 (验证) ←──────────┘

═══════════════════════════════════════
        阶段一完成线 (验证里程碑)
═══════════════════════════════════════

Phase 4 (Agent) ←──────────────┤
├── P1-4.1.x (AgentManager) ← P0-1.1.2 (Protocol)
├── P1-4.2.x (UI) ←────────────┤
└── P1-4.3.x (Tests) ←─────────┘

Phase 5 (增强) ←───────────────┤
├── P1-5.1.x (Permissions) ←───┤
├── P1-5.2.x (Logging) ←───────┤
├── P1-5.3.x (FileTransfer) ←──┤
├── P1-5.4.x (RemoteDesktop) ←─┤
└── P1-5.5.x (Tests) ←─────────┘

Phase 6 (收尾) ←────────────────┤
├── P2-6.1.x (About) ←─────────┤
├── P2-6.2.x (Chat) ←─────────┤
├── P2-6.3.x (Update) ←───────┤
├── P2-6.4.x (i18n) ←─────────┤
└── P2-6.5.x (Tests) ←─────────┘

P2-6.4.1 国际化支持(中/英)

任务描述:实现应用国际化,支持中文和英文两种语言

实现文件

  • crates/agent-client/src/i18n/mod.rs
  • crates/agent-client/assets/locales/zh-CN/messages.toml
  • crates/agent-client/assets/locales/en-US/messages.toml

验收标准

  • 实现 I18nManager 管理语言切换
  • 创建中英文资源文件
  • 支持设置界面切换语言
  • 界面文本实时更新
  • 日期/时间/文件大小按区域格式化

代码参考

  • plan: 9.1 国际化基础设施

P2-6.4.2 主题切换功能

任务描述:实现浅色/深色/跟随系统三种主题模式

实现文件

  • crates/agent-client/src/core/theme.rs
  • crates/agent-client/src/components/theme_toggle.rs

验收标准

  • 支持浅色主题
  • 支持深色主题
  • 支持跟随系统设置
  • 主题切换实时生效
  • 主题设置持久化

代码参考

  • spec: 2.3.5 外观设置子页面

开发顺序建议

阶段一:核心通信与 UI当前优先级

目标:验证 agent-server-adminagent-client 之间的双向通信能力。

第一批MVP 最小可运行版本)

  1. P0-1.1.1 ~ P0-1.1.4:项目脚手架、协议模块、依赖配置
  2. P0-1.5.1 ~ P0-1.5.2:协议版本协商、配置加密
  3. P0-1.2.1 ~ P0-1.2.5:基础 UI 框架、状态栏
  4. P0-1.3.1 ~ P0-1.3.2:托盘功能
  5. P0-1.4.1 ~ P0-1.4.2:开机自启动
  6. P0-1.6.1 ~ P0-1.6.2Phase 1 测试

预计工时:~39h

第二批(核心通信)

  1. P0-2.1.1 ~ P0-2.1.4:连接管理、心跳保活、重连
  2. P0-2.2.1 ~ P0-2.2.2:业务通道
  3. P0-2.5.1 ~ P0-2.5.3:密码加密、离线队列、消息分片
  4. P0-2.3.1 ~ P0-2.3.4:设置界面
  5. P0-2.4.1 ~ P0-2.4.2:客户端信息显示
  6. P0-2.6.1 ~ P0-2.6.2Phase 2 测试

预计工时:~53h

第三批(依赖管理)

  1. P0-3.1.1 ~ P0-3.1.4Node.js 检测和安装
  2. P0-3.2.1 ~ P0-3.2.4:依赖管理 UI
  3. P0-3.3.1 ~ P0-3.3.2Phase 3 测试

预计工时:~32h

第四批(管理端最小实现)

  1. P0-3.5.1 ~ P0-3.5.7agent-server-admin API 和通信
  2. P0-3.5.8 ~ P0-3.5.9data-server crate 和部署配置
  3. P0-3.5.10:端到端通信集成测试

预计工时:~28h

第五批(跨平台打包)

  1. P0-3.6.1 ~ P0-3.6.4:各平台打包配置
  2. P0-3.6.5CI/CD 配置
  3. P0-3.6.6:打包验证

预计工时:~17h

阶段一验证里程碑

  • 客户端可在 macOS/Windows/Linux 打包安装
  • 客户端能连接 data-server获取 ID
  • 管理端能发现并连接客户端
  • 双向消息通信正常P2P/Relay
  • 端到端集成测试全部通过
  • 所有平台安装包可用

阶段一总预计工时:~169h


阶段二Agent 运行时集成(后续开发)

目标:集成 agent_runner实现 Agent 任务执行等功能。

第六批Agent 功能)

  1. P1-4.1.1 ~ P1-4.1.6Agent 管理器
  2. P1-4.2.1:状态栏显示
  3. P1-4.3.1 ~ P1-4.3.2Phase 4 测试

预计工时:~26h

第七批(增强功能)

  1. P1-5.1.x权限管理
  2. P1-5.2.x日志系统
  3. P1-5.3.x文件传输
  4. P1-5.4.x远程桌面
  5. P1-5.5.xPhase 5 测试

预计工时:~46h

第八批(收尾完善)

  1. P2-6.1.x关于界面
  2. P2-6.2.x聊天界面
  3. P2-6.3.x自动升级
  4. P2-6.4.x国际化、主题
  5. P2-6.5.xPhase 6 测试

预计工时:~33h

阶段二总预计工时:~105h


里程碑

说明Milestone 1-5 属于阶段一当前开发Milestone 6-8 属于阶段二(后续开发)

Milestone 1骨架完成

  • 完成 Phase 1 所有任务(含测试)
  • 应用可启动,显示 UI
  • 系统托盘图标正常
  • 开机自启动可配置
  • Phase 1 单元测试通过

达成条件编译运行成功UI 可交互,测试覆盖率 >= 80%

Milestone 2核心通信

  • 完成 Phase 2 所有任务(含测试)
  • 可连接到 data-server
  • 显示连接状态和延迟
  • 客户端 ID 和密码功能正常
  • 双向通信正常P2P/Relay
  • 密码加密存储
  • 离线消息队列可用
  • 协议兼容性测试通过

达成条件:可与服务器建立双向通信,安全机制完备

Milestone 3依赖就绪

  • 完成 Phase 3 所有任务(含测试)
  • 自动检测系统 Node.js
  • 可自动安装 Node.js
  • 依赖管理 UI 完整

达成条件Agent 运行环境准备就绪

Milestone 4管理端就绪

  • 完成 Phase 3.5 所有任务
  • agent-server-admin 可启动
  • 可发现在线客户端
  • 可向客户端发送消息
  • 端到端集成测试全部通过

达成条件:客户端与管理端完整通信流程验证通过

Milestone 5打包发布阶段一完成

  • 完成 Phase 3.6 所有任务
  • macOS .dmg 可安装运行
  • Windows .msi 可安装运行
  • Linux .deb/.AppImage 可运行
  • CI/CD 自动打包流程正常
  • 打包产物验证测试通过

达成条件:阶段一完成,可发布 Alpha 版本


Milestone 6Agent 可用

  • 完成 Phase 4 所有任务(含测试)
  • 可执行 Agent 任务
  • 进度实时回传
  • 可取消任务

达成条件Agent 任务完整流程可用

Milestone 7功能完整

  • 完成 Phase 5 所有任务(含测试)
  • 文件传输正常
  • 远程桌面可用
  • 权限检测完善
  • 日志系统完整

达成条件:所有 P1 功能可用

Milestone 8发布就绪

  • 完成 Phase 6 所有任务(含测试)
  • 所有 P2 功能完成
  • 国际化支持
  • 全量回归测试通过
  • 文档完善

达成条件:可发布正式版本


风险与注意事项

技术风险

风险 可能性 影响 缓解措施
qiming-rustdesk API 变化 封装隔离层,减少直接依赖
gpui API 变化 锁定 git commit使用 wrapper
跨平台兼容性问题 条件编译CI 测试覆盖

阻塞风险

阻塞项 依赖任务 缓解措施
qiming-rustdesk 未完成 business_channel P0-2.2.1 先使用模拟实现,后续替换
agent_runner 函数接口未导出 P1-4.1.1 确认接口,或直接调用内部函数
gpui-component 组件不完整 多个 UI 任务 使用基础 gpui 替代,编写 wrapper

变更记录

版本 日期 变更内容 作者
v1.1.0 2026-01-29 补充测试任务、agent-server-admin 最小实现、跨平台打包、安全存储等遗漏任务 -
v1.0.0 2026-01-29 初始版本 -