feat: 添加ESLint和Prettier配置并优化代码结构
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

style: 格式化代码文件并修复样式问题

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

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

refactor: 重构SchedulerPanel加载状态逻辑

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

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

chore: 添加验证报告和上线审查计划
This commit is contained in:
iven
2026-03-26 08:02:23 +08:00
parent bf6d81f9c6
commit d0c6319fc1
286 changed files with 239803 additions and 1118 deletions

188
docs/deployment/README.md Normal file
View File

@@ -0,0 +1,188 @@
# ZCLAW 部署指南
本指南涵盖 ZCLAW 桌面应用的部署流程。
## 目录
- [系统要求](#系统要求)
- [构建流程](#构建流程)
- [安装方式](#安装方式)
- [配置说明](#配置说明)
- [故障排查](#故障排查)
## 系统要求
### 开发环境
| 组件 | 最低版本 | 推荐版本 |
|------|---------|---------|
| Node.js | 18.x | 20.x |
| pnpm | 8.x | 9.x |
| Rust | 1.70 | 1.80+ |
| Windows | 10 64-bit | 11 64-bit |
### 运行时环境
| 组件 | 要求 |
|------|------|
| 操作系统 | Windows 10/11 64-bit |
| 内存 | 8GB+ (推荐 16GB) |
| 磁盘空间 | 500MB+ |
| 网络 | 需要访问 LLM API |
## 构建流程
### 1. 安装依赖
```bash
# 克隆仓库
git clone <repository-url>
cd ZCLAW
# 安装根目录依赖
pnpm install
# 安装桌面端依赖
cd desktop
pnpm install
```
### 2. 开发模式
```bash
# 从根目录启动开发环境
pnpm start:dev
# 或仅启动桌面端
cd desktop
pnpm tauri:dev
```
### 3. 生产构建
```bash
cd desktop
# 标准构建
pnpm tauri:build
# 打包构建(包含运行时)
pnpm tauri:build:bundled
```
构建产物位于:
- `desktop/src-tauri/target/release/ZClaw.exe` - 可执行文件
- `desktop/src-tauri/target/release/bundle/nsis/` - NSIS 安装包
## 安装方式
### NSIS 安装包(推荐)
1. 下载 `ZCLAW-Setup-{version}.exe`
2. 双击运行安装程序
3. 按照向导完成安装
4. 首次启动时配置 API Key
### 便携版
1. 复制 `ZClaw.exe` 及相关文件
2. 放置到任意目录
3. 直接运行 `ZClaw.exe`
## 配置说明
### 配置文件位置
| 文件 | 位置 |
|------|------|
| 主配置 | `%USERPROFILE%\.openfang\openfang.toml` |
| 环境变量 | `%USERPROFILE%\.openfang\.env` |
| 数据库 | `%USERPROFILE%\.openfang\data\openfang.db` |
| 日志 | `%USERPROFILE%\.openfang\logs\` |
### 首次启动配置
1. 启动 ZCLAW
2. 进入「设置」→「模型与 API」
3. 选择 LLM 提供商
4. 输入 API Key
5. 选择默认模型
6. 点击「保存」
### 环境变量(可选)
参考 `.env.example` 文件:
```env
# AI Provider
ZCLAW_AI_PROVIDER=zhipu
ZCLAW_ZHIPU_API_KEY=your-api-key
ZCLAW_DEFAULT_MODEL=glm-4-flash
# Database
ZCLAW_DB_PATH=./data/zclaw.db
```
## 故障排查
### 常见问题
#### 1. 启动失败
**症状**:双击图标后无响应
**解决方案**
1. 检查是否被杀毒软件拦截
2. 检查端口 50051 是否被占用
3. 查看日志文件 `logs/error.log`
#### 2. API 连接失败
**症状**:发送消息后无响应
**解决方案**
1. 检查网络连接
2. 验证 API Key 是否有效
3. 检查 API 端点配置
#### 3. 数据库错误
**症状**:无法保存设置或历史记录
**解决方案**
1. 检查数据目录权限
2. 备份后删除 `data/zclaw.db`
3. 重启应用
### 日志收集
```bash
# 查看最新日志
type %USERPROFILE%\.openfang\logs\app.log | more
```
## 更新流程
### 手动更新
1. 下载最新版本安装包
2. 关闭正在运行的 ZCLAW
3. 运行新版本安装程序
4. 启动 ZCLAW
### 数据迁移
配置和数据存储在用户目录,更新时自动保留。
## 安全建议
1. **API Key 保护**:不要分享 API Key
2. **定期备份**:备份 `.openfang` 目录
3. **网络隔离**:建议在可信网络使用
4. **权限控制**:限制对配置目录的访问
## 技术支持
- 文档:`docs/`
- 故障排查:`docs/knowledge-base/troubleshooting.md`
- 用户手册:`docs/USER_MANUAL.md`

View File

@@ -0,0 +1,225 @@
# ZCLAW 系统要求
本文档详细说明 ZCLAW 的系统要求和兼容性信息。
## 最低系统要求
### Windows
| 组件 | 要求 |
|------|------|
| 操作系统 | Windows 10 64-bit (版本 1809 或更高) |
| 处理器 | x64 架构,双核心 |
| 内存 | 8 GB RAM |
| 磁盘空间 | 500 MB 可用空间 |
| 网络 | 宽带互联网连接 |
### 推荐配置
| 组件 | 推荐 |
|------|------|
| 操作系统 | Windows 11 64-bit (最新版本) |
| 处理器 | x64 架构,四核心或以上 |
| 内存 | 16 GB RAM |
| 磁盘空间 | 1 GB SSD |
| 网络 | 稳定宽带连接 |
## 开发环境要求
### 必需软件
| 软件 | 最低版本 | 推荐版本 | 用途 |
|------|---------|---------|------|
| Node.js | 18.x LTS | 20.x LTS | JavaScript 运行时 |
| pnpm | 8.x | 9.x | 包管理器 |
| Rust | 1.70 | 1.80+ | 后端编译 |
| Git | 2.x | 最新 | 版本控制 |
### 可选软件
| 软件 | 用途 |
|------|------|
| Visual Studio Code | 代码编辑 |
| Visual Studio Build Tools | 原生模块编译 |
| Windows SDK | Windows 特定功能 |
## 外部依赖
### LLM API 服务
ZCLAW 需要连接到 LLM API 服务才能正常工作。支持的提供商:
| 提供商 | 需要配置 |
|--------|---------|
| 智谱 GLM | API Key |
| 通义千问 | API Key |
| DeepSeek | API Key |
| Kimi/Moonshot | API Key |
| OpenAI | API Key + Base URL可选 |
### 可选服务
| 服务 | 用途 |
|------|------|
| Telegram Bot | 消息通道集成 |
| 飞书应用 | 消息通道集成 |
| FFmpeg | 视频处理 Hand |
## 网络要求
### 端口使用
| 端口 | 用途 | 协议 |
|------|------|------|
| 50051 | 内核通信 | gRPC |
| 1420 | 开发服务器 | HTTP |
### 防火墙规则
确保以下出站连接被允许:
- LLM API 端点(各提供商不同)
- `*.zhipu.ai`(智谱 GLM
- `dashscope.aliyuncs.com`(通义千问)
- `api.deepseek.com`DeepSeek
## 兼容性
### Windows 版本
| 版本 | 支持状态 |
|------|---------|
| Windows 11 23H2 | ✅ 完全支持 |
| Windows 11 22H2 | ✅ 完全支持 |
| Windows 11 21H2 | ✅ 支持 |
| Windows 10 22H2 | ✅ 支持 |
| Windows 10 21H2 | ⚠️ 有限支持 |
| Windows 10 早期版本 | ❌ 不支持 |
| Windows 7/8 | ❌ 不支持 |
### 处理器架构
| 架构 | 支持状态 |
|------|---------|
| x64 (AMD64) | ✅ 支持 |
| x86 (32-bit) | ❌ 不支持 |
| ARM64 | ⚠️ 实验性支持 |
## 存储要求
### 应用程序
| 组件 | 大小 |
|------|------|
| 主程序 | ~150 MB |
| 运行时依赖 | ~100 MB |
| 资源文件 | ~50 MB |
| **总计** | **~300 MB** |
### 用户数据
| 数据类型 | 估算大小 |
|----------|---------|
| 配置文件 | < 1 MB |
| 会话历史 | 10-100 MB |
| 记忆向量 | 50-500 MB |
| **建议预留** | **1 GB** |
## 性能基准
### 启动时间
| 配置 | 冷启动 | 热启动 |
|------|--------|--------|
| 最低配置 | ~5 | ~2 |
| 推荐配置 | ~3 | ~1 |
### 内存使用
| 场景 | 内存占用 |
|------|---------|
| 空闲状态 | ~150 MB |
| 单对话 | ~200 MB |
| 多对话 (5+) | ~300 MB |
| 最大负载 | ~500 MB |
### API 响应
| 指标 | 目标值 |
|------|--------|
| 首字节时间 | < 500 ms |
| 流式响应延迟 | < 100 ms |
## 限制
### 已知限制
1. **并发对话**建议不超过 10 个活跃对话
2. **历史记录**单个对话建议不超过 1000 条消息
3. **文件大小**单个附件不超过 10 MB
4. **上下文长度**受限于所选模型
### 不支持的配置
- 32 位操作系统
- Windows Server Core
- Windows 容器环境
- 虚拟机中的 GPU 直通部分功能受限
## 升级要求
### 从旧版本升级
| 从版本 | 升级路径 |
|--------|---------|
| 0.1.x 0.2.x | 直接升级配置兼容 |
| 0.0.x 0.2.x | 需要重新配置 |
### 数据迁移
用户数据存储在用户目录升级时自动保留
- 会话历史
- 配置设置
- API 密钥加密存储
## 安全要求
### 运行权限
- **不需要** 管理员权限
- 以标准用户身份运行
- 数据存储在用户目录
### 数据安全
- API 密钥使用 OS keyring 加密存储
- 敏感数据不写入日志
- 本地数据库不加密用户责任
## 故障排查
### 检查系统兼容性
```powershell
# 检查 Windows 版本
winver
# 检查架构
echo %PROCESSOR_ARCHITECTURE%
# 检查可用内存
systeminfo | findstr /C:"Total Physical Memory"
```
### 验证依赖
```powershell
# Node.js
node --version # 应 >= 18.0.0
# pnpm
pnpm --version # 应 >= 8.0.0
# Rust
rustc --version # 应 >= 1.70.0
```

227
docs/deployment/windows.md Normal file
View File

@@ -0,0 +1,227 @@
# Windows 部署指南
本指南详细说明 ZCLAW 在 Windows 平台上的部署流程。
## 系统要求
| 组件 | 最低要求 | 推荐配置 |
|------|---------|---------|
| 操作系统 | Windows 10 64-bit (1809+) | Windows 11 64-bit |
| 处理器 | Intel Core i5 / AMD Ryzen 5 | Intel Core i7 / AMD Ryzen 7 |
| 内存 | 8 GB | 16 GB |
| 磁盘空间 | 500 MB | 1 GB |
| 网络 | 宽带连接 | 稳定宽带 |
## 构建步骤
### 1. 准备构建环境
```powershell
# 安装 Rust (如果未安装)
winget install Rustlang.Rust.MSVC
# 安装 Node.js (如果未安装)
winget install OpenJS.NodeJS.LTS
# 安装 pnpm
npm install -g pnpm
# 验证安装
rustc --version
node --version
pnpm --version
```
### 2. 获取源代码
```powershell
git clone <repository-url>
cd ZCLAW
```
### 3. 安装依赖
```powershell
# 根目录依赖
pnpm install
# 桌面端依赖
cd desktop
pnpm install
```
### 4. 执行构建
```powershell
cd desktop
# 开发构建(快速)
pnpm tauri:dev
# 生产构建
pnpm tauri:build
# 完整打包(包含运行时)
pnpm tauri:build:bundled
```
### 5. 查看构建产物
```powershell
# 可执行文件
dir src-tauri\target\release\ZClaw.exe
# NSIS 安装包
dir src-tauri\target\release\bundle\nsis\
```
## 安装选项
### NSIS 安装包
**优点**
- 自动处理依赖
- 创建开始菜单快捷方式
- 支持卸载
**步骤**
1. 双击 `ZCLAW-Setup-{version}-x64.exe`
2. 选择安装位置(默认:`C:\Program Files\ZCLAW`
3. 选择是否创建桌面快捷方式
4. 点击「安装」
5. 完成后启动 ZCLAW
### 便携版
**优点**
- 无需安装
- 可放在 U 盘运行
- 不修改系统设置
**步骤**
1. 复制以下文件到目标目录:
- `ZClaw.exe`
- `resources/` 目录(如有)
2. 双击 `ZClaw.exe` 运行
## 配置
### 用户数据目录
ZCLAW 在以下位置存储用户数据:
```
%USERPROFILE%\.openfang\
├── openfang.toml # 主配置文件
├── .env # 环境变量(可选)
├── data/
│ └── openfang.db # SQLite 数据库
└── logs/
└── app.log # 应用日志
```
### 防火墙配置
如果遇到网络问题,请确保 ZCLAW 可以通过 Windows 防火墙:
1. 打开「Windows Defender 防火墙」
2. 点击「允许应用通过防火墙」
3. 点击「更改设置」→「允许其他应用」
4. 添加 `ZClaw.exe`
5. 确保勾选「专用」和「公用」
### 杀毒软件排除
某些杀毒软件可能误报,建议添加排除项:
**Windows Defender**
1. 打开「Windows 安全中心」
2. 选择「病毒和威胁防护」
3. 点击「管理设置」
4. 滚动到「排除项」→「添加或删除排除项」
5. 添加 ZCLAW 安装目录
## 常见问题
### 启动闪退
**可能原因**
1. 缺少 Visual C++ 运行库
2. 配置文件损坏
3. 端口被占用
**解决方案**
```powershell
# 安装 VC++ 运行库
winget install Microsoft.VCRedist.2015+.x64
# 重置配置
Remove-Item -Recurse -Force "$env:USERPROFILE\.openfang"
# 检查端口占用
netstat -ano | findstr :50051
```
### 更新后无法启动
**解决方案**
1. 完全卸载旧版本
2. 删除 `%LOCALAPPDATA%\ZClaw` 目录
3. 重新安装新版本
### 权限问题
**症状**:无法保存设置
**解决方案**
```powershell
# 检查目录权限
icacls "$env:USERPROFILE\.openfang"
# 修复权限
icacls "$env:USERPROFILE\.openfang" /grant:r "%USERNAME%:(OI)(CI)F"
```
## 卸载
### 通过安装程序卸载
1. 打开「设置」→「应用」→「已安装的应用」
2. 找到 ZCLAW
3. 点击「卸载」
### 手动卸载
1. 删除安装目录(默认:`C:\Program Files\ZCLAW`
2. 删除用户数据(可选):
```powershell
Remove-Item -Recurse -Force "$env:USERPROFILE\.openfang"
```
3. 删除快捷方式
## 性能优化
### 启动速度
```powershell
# 禁用开机自启(如果不需要)
# 在任务管理器 → 启动 中禁用 ZCLAW
```
### 内存使用
- 关闭不使用的对话标签页
- 定期清理历史记录
- 减少保留的上下文长度
## 日志收集
用于问题排查:
```powershell
# 查看最新日志
Get-Content "$env:USERPROFILE\.openfang\logs\app.log" -Tail 50
# 导出日志
Copy-Item "$env:USERPROFILE\.openfang\logs" -Destination "C:\temp\zclaw-logs" -Recurse
```