Files
zclaw_openfang/plans/bright-cuddling-wand.md
iven d0c6319fc1
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
feat: 添加ESLint和Prettier配置并优化代码结构
style: 格式化代码文件并修复样式问题

docs: 新增部署文档和系统要求文档

test: 更新测试截图和覆盖率报告

refactor: 重构SchedulerPanel加载状态逻辑

ci: 添加lint和format脚本到package.json

build: 更新依赖项并添加开发工具

chore: 添加验证报告和上线审查计划
2026-03-26 08:02:23 +08:00

6.9 KiB
Raw Blame History

ZCLAW 项目上线前全面审查计划

背景

ZCLAW 系统开发已进入收尾阶段,需要执行全面的最终审查以确保上线发布质量。本计划基于对代码库的深度探索,识别出关键问题和改进方向。

当前状态摘要

审查维度 当前状态 目标状态 风险等级
功能完整性 核心功能完成5个功能开发中 全部完成 🟡
测试覆盖率 ~60% 80% 🔴
代码规范 无 ESLint/Prettier 配置并执行 🔴
类型安全 106处 any 类型 最小化使用 🟡
部署文档 缺失 完整 🟡
CI/CD 完全缺失 Gitea Actions 配置 🔴

审查任务清单

阶段 1功能完整性审查

1.1 核心功能验证

  • 运行 E2E 测试套件:cd desktop && pnpm test:e2e
  • 验证 11 个 Hand 配置文件完整性
  • 验证 68 个技能定义文件
  • 检查 19 个 Store 初始化状态

1.2 边缘情况测试

  • 聊天系统:空消息、超长消息、特殊字符、网络断开
  • Hands 系统:无效 ID、缺少参数、依赖未满足、超时处理
  • 配置系统:无效 TOML、环境变量缺失、路径不存在

1.3 开发中功能 (必须完成)

以下 5 个开发中功能必须在上线前完成

  • 批量调度功能 (AutomationPanel.tsx:365)
  • 工作流创建向导 (AutomationPanel.tsx:416)
  • Cron 调度管理 (AutomationPanel.tsx:444)
  • 课堂导出功能 (ClassroomPreviewer.tsx:353)
  • 课堂预览功能 (PipelineResultPreview.tsx:223)

阶段 2代码质量审查

2.1 配置 ESLint + Prettier

关键文件:

  • g:/ZClaw_openfang/desktop/eslint.config.js (新建)
  • g:/ZClaw_openfang/desktop/prettier.config.js (新建)

执行步骤:

cd desktop
pnpm add -D eslint typescript-eslint eslint-plugin-react eslint-plugin-react-hooks prettier prettier-plugin-tailwindcss
# 创建配置文件后执行
pnpm eslint src/ --fix
pnpm prettier --write "src/**/*.{ts,tsx,css}"

2.2 清理 any 类型

高优先级文件:

文件 any 次数 路径
gateway-client.ts 31 desktop/src/lib/gateway-client.ts
gateway-api.ts 26 desktop/src/lib/gateway-api.ts
gatewayStore.ts 10 desktop/src/store/gatewayStore.ts
PropertyPanel.tsx 13 desktop/src/components/WorkflowBuilder/PropertyPanel.tsx

修复方案: 使用 unknown + 类型守卫替代 any

2.3 静态分析

# TypeScript 检查
cd desktop && pnpm tsc --noEmit

# Rust 检查
cd desktop/src-tauri && cargo clippy -- -D warnings

阶段 3测试验证

3.1 提升测试覆盖率 (60% → 80%)

需补充测试的文件:

文件 路径
gateway-client.test.ts desktop/tests/lib/
kernel-client.test.ts desktop/tests/lib/
chatStore.test.ts desktop/tests/store/

执行步骤:

cd desktop
pnpm vitest run --coverage
# 查看 coverage/lcov-report/index.html 识别低覆盖文件

3.2 性能测试

指标 目标值
应用启动时间 < 3s
首屏渲染 < 1s
消息发送延迟 < 100ms
流式首字节 < 500ms
内存占用 < 500MB

3.3 安全测试

  • 搜索敏感数据泄露:grep -rn "console.log.*token\|console.log.*key"
  • 检查硬编码密钥
  • 验证 API Key 存储使用 OS keyring
  • 检查 WebSocket 认证逻辑

阶段 4部署准备

4.1 创建部署文档

需创建的文档:

  • docs/deployment/README.md - 部署概述
  • docs/deployment/windows.md - Windows 安装指南
  • docs/deployment/requirements.md - 系统要求

4.2 配置 Gitea CI/CD

关键文件:

  • g:/ZClaw_openfang/.gitea/workflows/ci.yml (新建)
  • g:/ZClaw_openfang/.gitea/workflows/release.yml (新建)

Gitea Actions CI 流程:

# .gitea/workflows/ci.yml
name: CI
on: [push, pull_request]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: cd desktop && pnpm install
      - run: cd desktop && pnpm tsc --noEmit
      - run: cd desktop && pnpm eslint src/

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: cd desktop && pnpm install
      - run: cd desktop && pnpm test:coverage

  build:
    runs-on: windows-latest
    needs: [lint, test]
    steps:
      - uses: actions/checkout@v4
      - run: cd desktop && pnpm install
      - run: cd desktop && pnpm tauri:build

配置步骤:

  1. 在 Gitea 仓库设置中启用 Actions
  2. 配置 RunnerWindows 用于构建)
  3. 创建 workflow 文件

4.3 代码签名配置

决策:不需要代码签名(应用不分发到公共渠道)


阶段 5文档与合规

5.1 文档完整性

文档 状态 操作
用户手册 存在 更新版本号
开发文档 存在 无需更新
故障排查 完整 无需更新
部署文档 缺失 需创建
变更日志 缺失 需创建

5.2 合规性检查

  • 创建隐私政策
  • 创建用户协议
  • 第三方依赖声明
  • 确认开源许可证合规

阶段 6上线准备

6.1 应急预案

  • 服务启动失败 → 检查端口占用,重启服务
  • WebSocket 断开 → 自动重连(已实现)
  • LLM API 限流 → 降级到备用模型
  • 数据库损坏 → 从备份恢复

6.2 监控配置

  • 应用启动时间监控
  • API 响应时间监控
  • 错误率监控

6.3 备份策略

  • 用户配置:每次修改时备份
  • 会话数据:每小时备份
  • 记忆向量:每小时备份

执行优先级

优先级 任务 预估时间
P0 完成 5 个开发中功能 3 天
P0 E2E 测试验证 0.5 天
P0 ESLint/Prettier 配置 0.5 天
P0 高优先级 any 类型清理 1 天
P1 测试覆盖率提升 2 天
P1 部署文档编写 1 天
P1 Gitea CI/CD 配置 1 天
P2 安全测试 1 天
P2 性能测试 0.5 天

总预估10-11 天


验证方法

  1. 功能验证:运行 pnpm test:e2e,确保 74 个 E2E 测试全部通过
  2. 代码质量:运行 pnpm tsc --noEmitpnpm eslint src/,无错误
  3. 测试覆盖:运行 pnpm test:coverage,覆盖率 ≥ 80%
  4. 构建验证:运行 pnpm tauri:build,生成可安装的 NSIS 包

关键文件路径

类别 文件路径
核心客户端 desktop/src/lib/gateway-client.ts
API 定义 desktop/src/lib/gateway-api.ts
Tauri 后端 desktop/src-tauri/src/lib.rs
测试配置 desktop/vitest.config.ts
E2E 测试 desktop/tests/e2e/specs/
故障排查文档 docs/knowledge-base/troubleshooting.md