docs: add upage usage instructions document

This commit is contained in:
LIlGG
2025-09-28 15:26:44 +08:00
parent f4d6e383ce
commit e6747664c2
17 changed files with 720 additions and 412 deletions

View File

@@ -1,115 +0,0 @@
---
id: changelog
title: 更新日志
---
# 更新日志
本文档记录了 UPage 的版本更新历史,包括新功能、改进和修复的问题。
## 1.0.0 (2025-09-15)
### 🚀 新功能
- **AI 页面生成**:基于自然语言描述生成完整网页
- **多 AI 提供商支持**
- OpenAI (GPT-3.5/GPT-4)
- Anthropic Claude
- Google Gemini
- 兼容 OpenAI 接口的服务
- Ollama (本地模型)
- **可视化编辑器**:拖拽式页面编辑器,实时预览
- **组件库**:丰富的预设组件,包括布局、表单、媒体等
- **响应式设计**:自动适应不同屏幕尺寸
- **主题系统**:内置多种主题,支持自定义
- **页面管理**:创建、编辑、复制、删除页面
- **版本历史**:自动保存页面版本,支持回滚
- **导出功能**:导出为 HTML/CSS/JS、ZIP、JSON 或 PDF
- **部署集成**
- Vercel 部署支持
- Netlify 部署支持
- **用户认证**:通过 Logto 实现用户认证和权限管理
- **Docker 部署**:提供官方 Docker 镜像和 Docker Compose 配置
### 🔧 技术栈
- **前端**React、TypeScript、Vite、UnoCSS
- **后端**Node.js、Express、Remix
- **数据库**SQLite
- **AI 集成**AI SDK、各大 AI 提供商 API
- **部署**Docker、GitHub Actions
## 0.9.0 (2025-08-20)
### 🚀 新功能
- **Beta 版本发布**:首个公开测试版本
- **核心功能实现**
- AI 页面生成
- 可视化编辑器
- 页面管理
- 导出功能
- **Docker 部署支持**:提供 Docker 镜像和部署指南
- **文档系统**:基本使用文档和部署指南
### 🐛 修复
- 修复页面生成时的布局问题
- 修复组件拖拽在某些浏览器中的兼容性问题
- 修复导出功能中的资源路径问题
## 0.8.0 (2025-07-15)
### 🚀 新功能
- **Alpha 版本**:内部测试版本
- **概念验证**
- AI 生成基本页面结构
- 简单的可视化编辑
- 基本的导出功能
- **技术选型确定**
- 前端框架和库
- AI 集成方案
- 部署策略
### 📝 计划
- 完善 AI 生成功能
- 增强可视化编辑器
- 添加更多组件和模板
- 实现部署集成
- 准备公开测试版本
## 未来计划
以下是 UPage 计划在未来版本中实现的功能:
### 近期计划 (1.x)
- **协作功能**:多用户同时编辑页面
- **评论和反馈**:页面内评论和反馈系统
- **更多组件**:扩展组件库,添加更多高级组件
- **自定义主题编辑器**:可视化主题编辑工具
- **更多 AI 提供商支持**:增加对更多 AI 模型的支持
- **性能优化**:提升页面生成和编辑的性能
- **移动端编辑器**:支持在移动设备上编辑页面
### 中期计划 (2.x)
- **插件系统**:支持第三方插件扩展功能
- **高级动画**:更丰富的页面动画效果
- **数据集成**:与外部数据源集成
- **多语言支持**:界面和生成内容的多语言支持
- **AI 辅助编程**:生成自定义组件和交互逻辑
- **高级分析**:页面性能和访问分析
- **A/B 测试**:内置 A/B 测试功能
### 长期愿景
- **完整网站生成**:从描述生成完整多页面网站
- **智能内容管理**AI 辅助的内容创建和管理
- **无代码应用构建**:扩展至应用程序构建
- **生态系统**:建立开发者和设计师社区
- **企业级功能**:满足大型组织的需求
我们欢迎社区参与和贡献,共同推动 UPage 的发展。如果您有功能建议或发现问题,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。

View File

@@ -1,199 +0,0 @@
---
id: contributing
title: 贡献指南
---
# 贡献指南
感谢您对 UPage 项目的关注我们非常欢迎各种形式的贡献无论是功能开发、bug 修复、文档改进还是使用反馈。本指南将帮助您了解如何参与 UPage 的开发和贡献。
## 行为准则
参与 UPage 项目的所有贡献者都应遵循以下行为准则:
- 尊重所有参与者,无论其背景、经验或观点
- 接受建设性的批评和反馈
- 专注于对社区最有利的事情
- 展现同理心和善意
## 贡献方式
您可以通过多种方式为 UPage 做出贡献:
### 报告问题
如果您发现了 bug 或有功能建议,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。提交问题时,请尽可能提供以下信息:
- 清晰的问题描述
- 复现步骤
- 预期行为与实际行为
- 截图(如适用)
- 环境信息浏览器、操作系统、UPage 版本等)
### 提交代码
如果您想直接贡献代码,请遵循以下步骤:
1. Fork 项目仓库
2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建 Pull Request
### 改进文档
文档对于任何项目都至关重要。您可以通过以下方式改进 UPage 的文档:
- 修复文档中的错误或不准确之处
- 添加缺失的信息或示例
- 改进文档的结构和可读性
- 翻译文档到其他语言
### 分享和推广
您也可以通过以下方式支持 UPage
- 在社交媒体上分享项目
- 撰写关于 UPage 的博客文章或教程
- 在相关论坛和社区中推荐 UPage
- 为项目加星标Star
## 开发环境设置
### 前置条件
开始开发 UPage 前,请确保您的系统满足以下要求:
- Node.js 18.18.0 或更高版本
- pnpm 9.4.0 或更高版本
- Git
### 克隆仓库
```bash
git clone https://github.com/halo-dev/upage.git
cd upage
```
### 安装依赖
```bash
pnpm install
```
### 启动开发服务器
```bash
pnpm dev
```
此命令会启动开发服务器,您可以通过 `http://localhost:3000` 访问。
### 构建项目
```bash
pnpm build
```
### 运行测试
```bash
pnpm test
```
## 代码规范
### JavaScript/TypeScript 规范
UPage 使用 [Biome](https://biomejs.dev/) 进行代码格式化和 linting。在提交代码前请确保您的代码符合项目的代码规范
```bash
pnpm check
```
您也可以使用以下命令自动修复格式问题:
```bash
pnpm check --write
```
### Git 提交规范
我们使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范来格式化 Git 提交信息。提交信息应遵循以下格式:
```
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
```
常用的 `type` 包括:
- `feat`: 新功能
- `fix`: 修复 bug
- `docs`: 文档更新
- `style`: 代码风格更改(不影响代码功能)
- `refactor`: 代码重构
- `perf`: 性能优化
- `test`: 添加或修改测试
- `chore`: 构建过程或辅助工具的变动
例如:
```
feat(editor): 添加拖拽调整组件大小功能
添加了一个新的拖拽句柄,允许用户直接调整组件的大小。
同时优化了调整过程中的性能。
Closes #123
```
## 分支策略
- `main`: 主分支,包含稳定的代码
- `develop`: 开发分支,包含最新的开发代码
- `feature/*`: 功能分支,用于开发新功能
- `fix/*`: 修复分支,用于修复 bug
- `release/*`: 发布分支,用于准备新版本发布
请基于 `develop` 分支创建您的功能或修复分支,并在完成后向 `develop` 分支提交 Pull Request。
## Pull Request 流程
1. 确保您的代码符合项目的代码规范
2. 更新相关文档(如适用)
3. 添加或更新测试(如适用)
4. 确保所有测试通过
5. 提交 Pull Request 到 `develop` 分支
6. 在 PR 描述中详细说明您的更改
## 版本发布流程
UPage 遵循 [语义化版本控制](https://semver.org/) 规范。版本号格式为 `X.Y.Z`
- `X`: 主版本号,当进行不兼容的 API 更改时递增
- `Y`: 次版本号,当添加向后兼容的功能时递增
- `Z`: 修订号,当进行向后兼容的 bug 修复时递增
## 文档贡献
UPage 的文档使用 [Docusaurus](https://docusaurus.io/) 构建。如果您想贡献文档,请遵循以下步骤:
1.`docs` 目录中找到相关的 Markdown 文件
2. 进行必要的更改
3. 在本地预览更改:`pnpm docs:start`
4. 提交 Pull Request
## 社区
加入 UPage 社区,与其他贡献者交流:
- [GitHub Discussions](https://github.com/halo-dev/upage/discussions)
- [GitHub Issues](https://github.com/halo-dev/upage/issues)
## 许可证
UPage 采用 [MIT 许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。通过贡献代码,您同意您的贡献将在相同的许可证下发布。

View File

@@ -0,0 +1,47 @@
---
id: code-of-conduct
title: 行为准则
---
# 行为准则
UPage 项目致力于为所有贡献者和参与者提供一个友好、安全和包容的环境。我们希望每个人都能够在没有骚扰和歧视的情况下参与项目。
## 我们的标准
参与 UPage 项目的所有贡献者都应遵循以下行为准则:
- **尊重所有参与者**,无论其背景、经验或观点
- **接受建设性的批评和反馈**,并以专业和尊重的方式回应
- **专注于对社区最有利的事情**,考虑项目和用户的长期利益
- **展现同理心和善意**,理解他人的观点和立场
## 不可接受的行为
以下行为被视为不可接受:
- 使用性暗示的语言或图像
- 人身攻击、侮辱或贬低性评论
- 公开或私下的骚扰
- 未经明确许可发布他人的私人信息
- 任何其他可能被合理认为不适当或冒犯的行为
## 责任
项目维护者有责任明确行为标准,并对任何不可接受行为采取适当和公正的纠正措施。
项目维护者有权和责任删除、编辑或拒绝与本行为准则不符的评论、提交、代码、问题和其他贡献,并在适当时暂时或永久禁止任何贡献者参与项目。
## 范围
本行为准则适用于所有项目空间,包括但不限于 GitHub 仓库、问题跟踪器、讨论区、社交媒体和公共活动。它也适用于个人在代表项目或其社区时的行为。
## 反馈
如果您遇到滥用、骚扰或其他不可接受的行为,请通过 [GitHub Issues](https://github.com/halo-dev/upage/issues) 或直接联系项目维护者报告。
所有投诉将被审查和调查,并将导致被认为必要和适当的回应。项目维护者有义务对报告事件的人保密。
## 参考
本行为准则改编自 [Contributor Covenant](https://www.contributor-covenant.org),版本 2.0,可在 [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html) 查阅。

View File

@@ -0,0 +1,156 @@
---
id: code-standards
title: 代码规范
---
# 代码规范
UPage 项目遵循严格的代码规范和最佳实践,以确保代码质量和一致性。本文档概述了这些规范,所有贡献者在提交代码前应确保遵循这些规范。
## JavaScript/TypeScript 规范
UPage 使用 [Biome](https://biomejs.dev/) 进行代码格式化和 linting。Biome 是一个快速的代码格式化工具和 linter可以帮助我们保持代码风格的一致性。
### 代码检查
在提交代码前,请确保您的代码符合项目的代码规范:
```bash
pnpm check
```
### 自动修复
您也可以使用以下命令自动修复格式问题:
```bash
pnpm check --write
```
### 主要规范
- **缩进**: 使用 2 个空格
- **分号**: 必须使用分号
- **引号**: 使用单引号
- **命名约定**:
- 变量和函数使用 camelCase
- 类和接口使用 PascalCase
- 常量使用 UPPER_SNAKE_CASE
- **类型注解**: 尽可能使用类型注解提高代码可读性和类型安全性
- **注释**: 对复杂逻辑和公共 API 添加适当的注释
## Git 提交规范
我们使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范来格式化 Git 提交信息。提交信息应遵循以下格式:
```
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
```
### 类型 (Type)
提交类型必须是以下之一:
- `feat`: 新功能
- `fix`: 修复 bug
- `docs`: 文档更新
- `style`: 代码风格更改(不影响代码功能)
- `refactor`: 代码重构(既不是新功能,也不是修复 bug
- `perf`: 性能优化
- `test`: 添加或修改测试
- `chore`: 构建过程或辅助工具的变动
- `ci`: CI 配置文件和脚本的更改
- `revert`: 回滚之前的提交
### 范围 (Scope)
范围是可选的,用于指定更改的范围(例如组件或文件名)。
### 描述 (Description)
描述是对更改的简短摘要:
- 使用现在时态("change",而不是"changed"或"changes"
- 不要首字母大写
- 不要以句号结尾
### 示例
```
feat(editor): 添加拖拽调整组件大小功能
添加了一个新的拖拽句柄,允许用户直接调整组件的大小。
同时优化了调整过程中的性能。
Closes #123
```
```
fix: 修复用户认证失败问题
修复了当用户凭证包含特殊字符时认证失败的问题。
Fixes #456
```
## CSS/SCSS 规范
UPage 使用 SCSS 和 CSS Modules 来组织样式代码。
### 命名约定
- 使用 kebab-case 命名 CSS 类和 ID
- 使用有意义的名称,避免过于简短或抽象的名称
- 使用 BEMBlock Element Modifier命名方法论
### 组织结构
- 将全局样式放在 `app/styles` 目录下
- 将组件特定样式放在组件同级目录下的 `.scss``.module.scss` 文件中
## 可访问性标准
UPage 致力于创建可访问的 Web 应用程序。所有贡献的代码应遵循 [WCAG 2.1 AA](https://www.w3.org/WAI/WCAG21/quickref/) 标准。
- 确保适当的颜色对比度
- 提供替代文本和 ARIA 标签
- 确保键盘导航功能
- 支持屏幕阅读器
## 测试规范
所有新功能和 bug 修复应包含适当的测试:
- **单元测试**: 测试单个函数和组件
- **集成测试**: 测试多个组件或功能的交互
- **端到端测试**: 测试完整的用户流程
测试应该:
- 覆盖正常和边缘情况
- 清晰描述测试的目的
- 保持独立性,不依赖于其他测试的状态
## 性能考虑
贡献的代码应考虑性能影响:
- 避免不必要的重新渲染
- 优化大型列表和表格
- 懒加载大型资源
- 减少网络请求
- 优化打包大小
## 安全最佳实践
所有代码应遵循安全最佳实践:
- 防止 XSS 攻击
- 避免 SQL 注入
- 正确处理用户输入
- 保护敏感数据
- 实施适当的访问控制

View File

@@ -0,0 +1,161 @@
---
id: development-setup
title: 开发环境设置
---
# 开发环境设置
本指南将帮助您设置 UPage 的本地开发环境,以便您可以开始贡献代码。
## 前置条件
开始开发 UPage 前,请确保您的系统满足以下要求:
- **Node.js**: 18.18.0 或更高版本
- **pnpm**: 9.4.0 或更高版本
- **Git**: 最新版本
### 安装 Node.js
您可以从 [Node.js 官网](https://nodejs.org/) 下载并安装 Node.js或使用版本管理工具如 [nvm](https://github.com/nvm-sh/nvm)
```bash
# 使用 nvm 安装 Node.js
nvm install 18.18.0
nvm use 18.18.0
```
### 安装 pnpm
安装 pnpm 的最简单方法是通过 npm
```bash
npm install -g pnpm@9.4.0
```
或者按照 [pnpm 官方文档](https://pnpm.io/installation) 的说明进行安装。
## 克隆仓库
首先,[fork UPage 仓库](https://github.com/halo-dev/upage/fork)到您的 GitHub 账户,然后将其克隆到本地:
```bash
# 克隆您 fork 的仓库
git clone https://github.com/YOUR-USERNAME/upage.git
# 进入项目目录
cd upage
# 添加上游仓库
git remote add upstream https://github.com/halo-dev/upage.git
```
## 安装依赖
使用 pnpm 安装项目依赖:
```bash
pnpm install
```
## 生成 Prisma 客户端
UPage 使用 Prisma 作为数据库 ORM因此需要生成 Prisma 客户端。
```bash
pnpm setup
```
## 配置环境变量
拷贝 `.env.example` 文件,创建 `.env` 文件:
```bash
cp .env.example .env
```
按照[配置参考](../configuration)的说明修改 `.env` 文件进行配置。
## 启用 Logto 认证(可选)
UPage 默认仅支持单一用户匿名访问,如果您想要开发用户认证功能,可以按照[Logto 认证集成](../deployment/logto)的说明配置 Logto 认证。
## 启动开发服务器
启动开发服务器,这将允许您在本地预览和测试您的更改:
```bash
pnpm dev
```
此命令会启动开发服务器,您可以通过 `http://localhost:5173` 访问。
## 构建项目
要构建生产版本的项目,运行:
```bash
pnpm build
```
构建完成后,您可以通过以下命令预览生产版本:
```bash
pnpm preview
```
预生产版本项目运行在 `http://localhost:3000`
## 运行测试
运行项目的测试套件:
```bash
pnpm test
```
## 文档开发
如果您想要修改或预览文档,可以使用以下命令:
```bash
# 启动文档开发服务器
pnpm docs:start
# 构建文档
pnpm docs:build
```
文档开发服务器默认在 `http://localhost:3000` 运行。
## 常见问题解决
### 依赖安装失败
如果您在安装依赖时遇到问题,可以尝试以下解决方案:
```bash
# 清除 pnpm 缓存
pnpm store prune
# 重新安装依赖
pnpm install --force
```
### 开发服务器启动失败
如果开发服务器无法启动,请检查:
1. 端口 5173 是否被其他应用占用
2. Node.js 版本是否符合要求
3. 是否所有依赖都已正确安装
您可以尝试使用不同的端口启动:
```bash
pnpm dev --port 5174
```
### 其他问题
如果您遇到其他问题,请查看项目的 [常见问题](../faq.md) 或在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中搜索相关问题。如果没有找到解决方案,请创建新的 issue。

View File

@@ -0,0 +1,28 @@
---
id: contributing
title: 贡献指南
slug: /contributing
---
# 贡献指南
感谢您对 UPage 项目的关注我们非常欢迎各种形式的贡献无论是功能开发、bug 修复、文档改进还是使用反馈。本指南将帮助您了解如何参与 UPage 的开发和贡献。
## 目录
- [行为准则](./code-of-conduct.md) - 参与 UPage 项目的行为准则
- [贡献方式](./ways-to-contribute.md) - 如何为 UPage 项目做出贡献
- [开发环境设置](./development-setup.md) - 如何设置本地开发环境
- [代码规范](./code-standards.md) - 代码风格和提交规范
- [工作流程](./workflow.md) - 分支策略、PR流程和版本发布
## 社区
加入 UPage 社区,与其他贡献者交流:
- [GitHub Discussions](https://github.com/halo-dev/upage/discussions)
- [GitHub Issues](https://github.com/halo-dev/upage/issues)
## 许可证
UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。通过贡献代码,您同意您的贡献将在相同的许可证下发布。

View File

@@ -0,0 +1,91 @@
---
id: ways-to-contribute
title: 贡献方式
---
# 贡献方式
您可以通过多种方式为 UPage 做出贡献,无论您是开发者、设计师、文档撰写者还是用户,都能找到适合您的贡献方式。
## 报告问题
如果您发现了 bug 或有功能建议,请在 [GitHub Issues](https://github.com/halo-dev/upage/issues) 中提出。提交问题时,请尽可能提供以下信息:
- 清晰的问题描述
- 复现步骤
- 预期行为与实际行为
- 截图(如适用)
- 环境信息浏览器、操作系统、UPage 版本等)
## 提交代码
如果您想直接贡献代码,请遵循以下步骤:
1. [Fork](https://github.com/halo-dev/upage/fork) 项目仓库
2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建 Pull Request
### 代码贡献指南
- 确保您的代码符合项目的[代码规范](./code-standards.md)
- 为新功能编写测试
- 更新相关文档
- 确保所有测试通过
- 遵循[工作流程](./workflow.md)中的分支策略和 PR 流程
## 改进文档
文档对于任何项目都至关重要。您可以通过以下方式改进 UPage 的文档:
- 修复文档中的错误或不准确之处
- 添加缺失的信息或示例
- 改进文档的结构和可读性
- 翻译文档到其他语言
### 文档贡献步骤
1.`docs/content` 目录中找到相关的 Markdown 文件
2. 进行必要的更改
3. 在本地预览更改:`pnpm docs:start`
4. 提交 Pull Request
## 设计贡献
如果您是设计师,您可以通过以下方式贡献:
- 改进用户界面设计
- 创建图标和插图
- 设计宣传材料
- 提供用户体验建议
## 测试和反馈
即使您不是开发者,您也可以通过以下方式做出重要贡献:
- 测试新功能和版本
- 提供详细的反馈
- 报告使用过程中遇到的问题
- 提出改进建议
## 分享和推广
您也可以通过以下方式支持 UPage
- 在社交媒体上分享项目
- 撰写关于 UPage 的博客文章或教程
- 在相关论坛和社区中推荐 UPage
- 为项目加星标Star
## 社区支持
帮助其他用户解决问题也是一种重要的贡献方式:
- 回答 [GitHub Discussions](https://github.com/halo-dev/upage/discussions) 中的问题
- 帮助新用户入门
- 分享您的使用经验和最佳实践
## 感谢您的贡献
无论您以何种方式支持和参与 UPage 项目我们都由衷地感谢您的每一份贡献。正是因为有诸多像您这样的社区成员的支持和参与UPage 才能不断成长和进步。每一个问题报告、每一行代码、每一份文档改进以及每一次分享都是宝贵的。

View File

@@ -0,0 +1,143 @@
---
id: workflow
title: 工作流程
---
# 工作流程
本文档描述了 UPage 项目的开发工作流程包括分支策略、Pull Request 流程和版本发布流程。
## 分支策略
UPage 项目使用以下分支策略:
### 主要分支
- **`main`**: 主分支,包含最新的开发代码,用于集成功能和修复,同时也对应最新的发布版本
### 功能分支
开发新功能时,应从 `main` 分支创建功能分支:
- **`feature/*`**: 功能分支,用于开发新功能
- 例如:`feature/drag-and-drop``feature/user-authentication`
### 修复分支
修复 bug 时,应从 `main` 分支创建修复分支:
- **`fix/*`**: 修复分支,用于修复 bug
- 例如:`fix/login-error``fix/memory-leak`
### 发布分支
准备新版本发布时,从 `main` 分支创建发布分支:
- **`release/*`**: 发布分支,用于准备新版本发布
- 例如:`release/v1.0.0``release/v1.1.0`
### 热修复分支
对已发布版本的紧急修复,从 `main` 分支创建热修复分支:
- **`hotfix/*`**: 热修复分支,用于对已发布版本的紧急修复
- 例如:`hotfix/v1.0.1``hotfix/v1.1.2`
## 工作流程图
```
main ─────┬───────────────┬─────────────────────────────────
│ │ ↑ ↑
↓ ↓ │ │
feature feature/A feature/B │ │
│ │
fix fix/bug-1 fix/bug-2
│ │ │
│ │ │
release └─────────────────────────────────┴───────────┘
release/v1.0.0
```
## Pull Request 流程
### 准备 Pull Request
1. 确保您的代码符合项目的[代码规范](./code-standards.md)
2. 更新相关文档(如适用)
3. 添加或更新测试(如适用)
4. 确保所有测试通过
5. 将您的分支与目标分支(通常是 `main`)同步
### 创建 Pull Request
1. 在 GitHub 上创建一个新的 Pull Request
2. 选择正确的目标分支(通常是 `main`
3. 填写 Pull Request 模板,提供以下信息:
- 清晰的标题,简要描述更改
- 详细的描述,解释更改的目的和实现方式
- 相关的 issue 链接(如适用)
- 截图或视频(如适用)
- 任何需要审核者特别注意的事项
### Pull Request 审核
1. 至少需要一个项目维护者的批准才能合并 PR
2. 审核者可能会要求进行更改
3. 根据反馈进行必要的更改
4. 确保 CI 检查通过
### 合并 Pull Request
1. 一旦 PR 获得批准并且所有检查通过,它将被合并
2. 通常使用 "Squash and merge" 策略,将所有提交合并为一个
3. 合并后,相关的分支可以被删除
## 版本发布流程
UPage 遵循 [语义化版本控制](https://semver.org/) 规范。版本号格式为 `X.Y.Z`
- **X**: 主版本号,当进行不兼容的 API 更改时递增
- **Y**: 次版本号,当添加向后兼容的功能时递增
- **Z**: 修订号,当进行向后兼容的 bug 修复时递增
### 发布准备
1.`main` 分支创建发布分支,例如 `release/v1.0.0`
2. 在发布分支上进行最终测试和修复
3. 更新版本号和更新日志
4. 创建 Pull Request 将发布分支合并回 `main`
### 发布步骤
1. 合并发布分支到 `main`
2.`main` 分支上创建版本标签,例如 `v1.0.0`
3. 发布 GitHub Release包含详细的更新日志
### 热修复发布
1.`main` 分支创建热修复分支,例如 `hotfix/v1.0.1`
2. 实现必要的修复
3. 更新版本号和更新日志
4. 创建 Pull Request 将热修复分支合并到 `main`
5. 必要时创建 cherry-pick PR 将热修复分支合并到对应的发布分支
## 持续集成和部署
UPage 使用 GitHub Actions 进行持续集成和部署:
### CI 工作流程
- 每个 PR 会触发构建和测试
- 代码质量检查linting、类型检查
- 单元测试和集成测试
- 构建检查
### CD 工作流程
- 合并到 `main` 分支会触发开发构建和部署
- 自动生成和发布 Docker 镜像
- 更新文档网站
## 问题跟踪
UPage 使用 GitHub [Issues](https://github.com/halo-dev/upage/issues) 进行问题跟踪使用标签对问题进行分类bug、feature、documentation 等)

View File

@@ -34,6 +34,15 @@ Logto 支持两种接入方式,您可以根据自己的需求选择合适的
UPage 提供了一个简化的 Logto 部署配置。在 UPage 项目目录下,您可以找到 `logto/docker-compose.yaml` 文件以及 `.env` 文件。
如果是开发环境,执行以下命令:
```bash
cd ./logto
docker-compose up -d
```
如果是生产环境,执行以下命令:
```bash
curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/docker-compose.yaml -o ~/upage/logto/docker-compose.yaml
curl -L https://raw.githubusercontent.com/halo-dev/upage/refs/heads/main/logto/.env -o ~/upage/logto/.env

View File

@@ -11,7 +11,7 @@ title: 常见问题
### UPage 是什么?
UPage 是一款基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它允许用户通过简单的文字描述生成完整的网页,并提供可视化编辑工具进行进一步定制。
UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。它允许用户通过简单的文字描述生成完整的网页,并提供可视化编辑工具进行进一步定制。
### UPage 适合哪些用户?
@@ -26,7 +26,7 @@ UPage 适合各类需要快速创建网页的用户,包括但不限于:
### UPage 是开源的吗?
是的UPage 是一个开源项目,采用 MIT 许可证。您可以在 [GitHub](https://github.com/halo-dev/upage) 上查看源代码,也可以参与项目开发和改进。
是的UPage 是一个开源项目,采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。您可以在 [GitHub](https://github.com/halo-dev/upage) 上查看源代码,也可以参与项目开发和改进。
## 安装和部署
@@ -40,16 +40,17 @@ docker run -d \
--restart unless-stopped \
-p 3000:3000 \
-e LLM_DEFAULT_PROVIDER=OpenAILike \
-e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url \
-e OPENAI_LIKE_API_KEY=your-openai-like-api-key \
-e LLM_DEFAULT_MODEL=your-default-model \
-e LLM_MINOR_MODEL=your-minor-model \
-v ./data:/app/data \
-v ./logs:/app/logs \
-v ./storage:/app/storage \
ghcr.io/halo-dev/upage
halo-dev/upage:latest
```
详细的安装说明请参考[快速开始](quick-start)文档。
详细的安装说明请参考[快速开始](./quick-start)文档。
### UPage 的系统要求是什么?
@@ -58,7 +59,7 @@ UPage 的最低系统要求:
- Docker 20.10.0 或更高版本(如果使用 Docker 部署)
- Node.js 18.18.0 或更高版本(如果源码部署)
- 至少 2GB 可用内存
- 至少 1GB 可用磁盘空间
- 至少 2GB 可用磁盘空间
- 互联网连接(用于访问 AI API
### 如何更新 UPage
@@ -67,7 +68,7 @@ UPage 的最低系统要求:
```bash
# 拉取最新镜像
docker pull ghcr.io/halo-dev/upage:latest
docker pull halo-dev/upage:latest
# 停止并删除旧容器
docker stop upage
@@ -79,7 +80,7 @@ docker run -d \
--restart unless-stopped \
-p 3000:3000 \
... # 其他环境变量和挂载
ghcr.io/halo-dev/upage:latest
halo-dev/upage:latest
```
如果使用 Docker Compose则可以执行
@@ -96,12 +97,15 @@ docker-compose up -d
UPage 支持多种 AI 提供商,包括:
- OpenAIGPT-3.5、GPT-4 等
- DeepSeekDeepSeek-Chat、DeepSeek-Reasoner
- OpenAIGPT-4o、GPT-5 等)
- Anthropic Claude
- Google Gemini
- 兼容 OpenAI 接口的服务(如 Azure OpenAI、智谱 AI 等)
- Ollama本地部署的开源模型
所有支持的 AI 提供商请参考[配置参考- AI 提供商配置](./configuration#ai-提供商配置)文档。
### 如何配置 AI 提供商?
通过环境变量配置 AI 提供商,例如:
@@ -120,11 +124,11 @@ UPage 支持多种 AI 提供商,包括:
-e LLM_MINOR_MODEL=claude-3-haiku-20240307
```
详细的配置选项请参考[配置参考](configuration)文档。
详细的配置选项请参考[配置参考 - AI 提供商配置](./configuration#ai-提供商配置)文档。
### 使用 AI 生成页面需要多少 token
生成一个标准页面通常需要 2,000-10,000 个 token具体取决于页面的复杂度和内容量。复杂的页面可能需要更多 token。UPage 会优化 prompt尽量减少 token 消耗。
生成一个标准页面通常需要 2,000-10,000 个 token具体取决于页面的复杂度和内容量。复杂的页面可能需要更多 token。UPage 会尽可能优化 prompt尽量减少 token 消耗。
### 如何优化 AI 提示以获得更好的结果?
@@ -145,35 +149,22 @@ UPage 支持多种 AI 提供商,包括:
...
```
你可以使用 UPage 的优化提示功能来优化您的提示。
## 使用问题
### 如何创建第一个页面?
1. 登录 UPage
2. 点击侧边栏中的"新建页面"按钮
3. 选择"AI 创建"、"从模板创建"或"空白页面"
4. 如果选择 AI 创建,输入页面描述并点击"生成"
5. 等待 AI 生成页面,然后进行进一步编辑
### 如何编辑 AI 生成的页面?
1. 在页面列表中选择要编辑的页面
2. 使用可视化编辑器修改页面元素
3. 可以拖拽组件、调整布局、编辑文本和图片
4. 使用右侧属性面板修改组件属性和样式
5. 也可以使用 AI 辅助功能进行局部或整体调整
### 如何导出页面?
1. 在页面列表中选择要导出的页面
2. 点击操作菜单中的"导出"选项
3. 选择导出格式HTML/CSS/JS、ZIP、JSON 或 PDF
4. 配置导出选项
5. 点击"导出"开始下载
2. 使用可视化编辑器点击要修改页面元素
3. 对于文本组件,可以直接输入文本进行修改
4. 对于图片组件,可以点击上传图片进行替换
5. 使用弹出的属性面板修改组件属性和样式
6. 也可以使用 AI 辅助功能进行局部或整体调整
### UPage 支持响应式设计吗?
是的UPage 生成的页面默认支持响应式设计,可以自动适应不同屏幕尺寸。您可以在编辑器中预览页面在不同设备上的显示效果,并进行针对性调整。
是的UPage 生成的页面默认支持响应式设计,可以自动适应不同屏幕尺寸。您可以在编辑器中预览页面在不同设备上的显示效果,并进行针对性调整。如果生成的页面不符合您的预期,您可以尝试使用 AI 辅助调整。
## 数据和安全
@@ -197,9 +188,9 @@ tar -czf upage-storage-backup-$(date +%Y%m%d).tar.gz ./storage
UPage 本身不会收集或传输用户数据,除非明确配置。当使用 AI 功能时,页面内容会发送到配置的 AI 提供商进行处理。请确保您使用的 AI 提供商符合您的隐私要求。
### 如何配置 UPage 的访问控制
### 如何配置 UPage 的多用户
UPage 支持通过 Logto 进行用户认证和访问控制。配置 Logto 后,您可以创建用户账户、分配角色和权限,实现细粒度的访问控制。详细配置请参考[Logto 认证集成](deployment/logto)文档。
UPage 支持通过 Logto 进行用户认证和访问控制。详细配置请参考[Logto 认证集成](deployment/logto)文档。
## 故障排除
@@ -211,10 +202,11 @@ UPage 支持通过 Logto 进行用户认证和访问控制。配置 Logto 后,
2. **提示过于复杂**:尝试简化页面描述,分步骤生成
3. **token 限制**:检查是否达到 AI 提供商的 token 限制
4. **模型不支持**:尝试使用更强大的模型或不同的 AI 提供商
5. **生成内容超过限制**UPage 默认限制单次回答不超过 3 次 Token 上限,您可以尝试分步骤生成
### 如何查看系统日志?
可以通过以下方式查看系统日志:
默认情况下UPage 会将日志保存在挂载的 `logs` 目录中,可以通过以下方式查看系统日志:
```bash
# 查看容器日志
@@ -254,33 +246,15 @@ cat logs/combined-*.log
## 高级问题
### 如何自定义 UPage 的主题?
目前 UPage 不支持完全自定义主题,但您可以通过以下方式调整外观:
1. 在页面编辑器中使用自定义 CSS
2. 使用 AI 生成符合特定设计风格的页面
3. 在导出的代码中进行进一步自定义
### UPage 支持插件系统吗?
目前 UPage 不提供正式的插件系统,但作为开源项目,您可以通过 fork 代码库并进行修改来扩展功能。
UPage 不提供正式的插件系统,但作为开源项目,您可以通过 fork 代码库并进行修改来扩展功能。
### 如何与现有系统集成?
UPage 提供多种集成方式:
1. **API 集成**:使用 UPage API 与其他系统交互
2. **导出集成**导出页面代码并集成到现有系统
2. **导出集成**下载页面代码HTML/CSS/JS并集成到现有系统
3. **部署集成**:使用 Vercel 或 Netlify 集成直接部署页面
4. **认证集成**:通过 Logto 与现有认证系统集成
### UPage 与其他页面构建器的区别是什么?
UPage 的主要区别在于:
1. **AI 驱动**:基于自然语言描述生成页面
2. **开源**:完全开源,可自由定制和扩展
3. **多 AI 提供商支持**:支持多种 AI 模型和提供商
4. **本地部署**:可在本地或私有云部署,保护数据安全
5. **轻量级**:资源占用较低,易于部署和维护

View File

@@ -21,6 +21,10 @@ UPage 是一个开源的网页构建工具,它利用大语言模型,让用
- **响应式设计**:自动适应不同屏幕尺寸
- **部署集成**:支持一键部署到常见托管平台
:::note
特别感谢 [bolt.diy](https://github.com/stackblitz-labs/bolt.diy) 项目UPage 的实现基于该项目的代码结构。
:::
## 快速开始
请查看[快速开始](quick-start.md)指南,了解如何安装和使用 UPage。
@@ -31,4 +35,4 @@ UPage 是一个开源项目,我们欢迎任何形式的贡献。请查看[贡
## 许可证
UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE)。
UPage 采用 [基于 GPLv3 的补充协议许可证](https://github.com/halo-dev/upage/blob/main/LICENSE.txt)。