2 minute read

ZeroAI 是一个通用的 AI 驱动软件开发助手,能够按照标准化的五步流程开发任意软件应用。从需求理解到代码生成,让 AI 帮你完成整个软件开发周期。

特性

  • 🚀 五步开发流程:需求分析 → 接口设计 → 数据库设计 → 业务逻辑设计 → 代码生成
  • 💾 版本管理:完整的项目版本控制,支持创建、查看和加载历史版本
  • 📝 Word 导出:一键导出项目文档到 Word 格式
  • 🎯 交互式审查:每一步生成结果都可查看、审批或重新生成
  • 📊 实时日志:完整记录 AI 开发过程中的所有操作和输出
  • 🔄 数据持久化:使用 SQLite 数据库存储项目数据

技术栈

核心依赖

  • 框架: Next.js 16 (App Router)
  • 语言: TypeScript
  • 样式: Tailwind CSS 4
  • 数据库: Better-SQLite3
  • AI: OpenAI API (兼容 LongCat 等第三方 API)
  • 文档导出: docx

测试依赖

  • 测试框架: Vitest
  • 测试 UI: Vitest UI
  • React 测试: @testing-library/react
  • DOM 断言: @testing-library/jest-dom
  • 用户事件: @testing-library/user-event
  • 浏览器环境: jsdom

快速开始

环境配置

  1. 复制环境变量模板:
    cp .env.example .env
    
  2. 编辑 .env 文件,配置你的 AI API:
    OPENAI_BASE_URL=https://api.longcat.chat/openai/
    OPENAI_API_KEY=your_api_key_here
    OPENAI_MODEL=LongCat-Flash-Lite
    TEMPERATURE=0.7
    MAX_TOKENS=64000
    

安装依赖

npm install

启动开发服务器

npm run dev

打开 http://localhost:3000 开始使用。

使用指南

1. 创建新项目

  1. 点击”新建项目”按钮
  2. 填写项目名称
  3. 详细描述你的项目需求(越详细越好)
  4. 点击”开始创建”

2. 五步开发流程

ZeroAI 会按照以下五个步骤自动进行开发:

步骤 名称 描述
1 需求理解与分析 分析项目需求,梳理功能点和技术要求
2 接口设计 设计 API 接口、数据结构和交互模式
3 数据库设计 设计数据库表结构和关系
4 业务逻辑设计 设计核心业务处理逻辑和流程
5 代码生成 根据前面的设计生成完整的源代码

3. 交互式操作

  • 查看详情: 点击左侧步骤列表查看每一步的详细内容
  • 重新生成: 对某一步结果不满意时可以点击”重新生成”
  • 审批通过: 确认某一步结果正确后点击”审批并继续”
  • 导出文档: 点击右上角”导出 Word”按钮导出完整项目文档

4. 版本管理

  • 创建版本: 在右侧版本管理区域可以创建项目快照
  • 加载版本: 点击任意历史版本可以恢复到该版本的状态
  • 版本命名: 可以为每个版本设置有意义的名称

项目结构

zeroai/
├── app/                          # Next.js App Router
│   ├── api/                      # API 路由
│   │   ├── analyze/              # 需求分析 API
│   │   ├── design/               # 设计相关 API
│   │   ├── generate/             # 代码生成 API
│   │   └── projects/             # 项目管理 API
│   ├── projects/
│   │   └── [code]/               # 项目详情页
│   │       ├── components/       # 项目详情组件
│   │       ├── hooks/            # 项目详情 Hooks
│   │       ├── types.ts          # 类型定义(导出统一类型)
│   │       ├── constants.ts      # 常量定义(导出统一常量)
│   │       ├── utils.ts          # 工具函数
│   │       └── page.tsx          # 项目详情主页面
│   ├── globals.css               # 全局样式
│   ├── layout.tsx                # 根布局
│   └── page.tsx                  # 首页(项目列表)
├── components/                   # 通用组件
│   ├── features/                 # 功能组件
│   │   ├── step-indicator.tsx    # 步骤指示器
│   │   └── info-panel.tsx        # 信息面板
│   └── ui/                       # UI 基础组件
├── lib/                          # 核心库
│   ├── ai-service.ts             # AI 服务封装
│   ├── database.ts               # 数据库初始化
│   ├── project-db.ts             # 项目数据库操作
│   └── api-utils.ts              # API 响应处理工具
├── types/                        # 项目级类型定义
│   └── index.ts                  # 统一类型管理
├── constants/                    # 项目级常量定义
│   └── project.ts                # 统一常量管理
├── public/                       # 静态资源
├── .env.example                  # 环境变量模板
├── tailwind.config.ts            # Tailwind 配置
├── tsconfig.json                 # TypeScript 配置
└── zeroai.db                     # SQLite 数据库文件(自动生成)

核心模块

类型管理 (types/index.ts)

统一管理项目的类型定义,包括:

  • Project - 项目信息类型
  • Step - 步骤类型
  • StepDetail - 步骤详情类型
  • LogEntry - 日志条目类型
  • ProjectVersion - 项目版本类型
  • ApiResponse<T> - API 响应格式

常量管理 (constants/project.ts)

统一管理项目的常量定义,包括:

  • STEP_NAMES - 步骤名称数组
  • API_ENDPOINTS - API 端点数组
  • SYSTEM_PROMPTS - 系统提示词数组
  • FALLBACK_CONTENTS - 备用内容数组

提供访问函数:

  • getApiEndpoint(stepNumber) - 获取步骤对应的 API 端点
  • getStepName(stepNumber) - 获取步骤名称
  • getSystemPrompt(stepNumber) - 获取系统提示词
  • getFallbackContent(stepNumber, projectName) - 获取备用内容(支持变量替换)

API 响应处理 (lib/api-utils.ts)

提供通用的 API 响应处理工具:

  • successResponse(data, msg) - 成功响应
  • errorResponse(msg, code, status) - 错误响应
  • createApiHandler(handler) - API 路由处理器包装器
  • validateRequest(req, requiredFields) - 请求参数验证

数据库

项目使用 SQLite 数据库,包含以下表:

表名 说明
t_project 项目基本信息
t_project_step 项目各步骤的详细数据
t_project_version 项目版本快照
t_project_log 项目操作日志

配置说明

环境变量

变量名 说明 默认值
OPENAI_BASE_URL AI API 基础 URL https://api.longcat.chat/openai/
OPENAI_API_KEY AI API 密钥 NONE
OPENAI_MODEL AI 模型名称 LongCat-Flash-Lite
TEMPERATURE AI 温度参数 0.7
MAX_TOKENS AI 最大 Token 数 64000

开发

# 代码检查
npm run lint

# 构建生产版本
npm run build

# 启动生产服务器
npm start

测试

项目使用 Vitest 进行单元测试,已包含以下测试:

  • constants/project.test.ts - 常量管理模块测试
  • types/index.test.ts - 类型定义测试
  • lib/api-utils.test.ts - API 工具函数测试
# 运行所有测试
npm run test

# 以开发模式运行测试(监听文件变化)
npm run test:dev

# 打开测试 UI 界面
npm run test:ui

许可证

MIT

Updated: