From 54d1d656428b307335d5381184032eed7c6fc63a Mon Sep 17 00:00:00 2001 From: LIlGG <1103069291@qq.com> Date: Fri, 26 Sep 2025 16:46:52 +0800 Subject: [PATCH] docs: add upage usage instructions document --- .env.example | 2 +- .gitignore | 1 - Dockerfile | 6 +++++- README.md | 9 ++++++--- app/lib/.server/auth.ts | 2 +- docker-compose-dev.yaml | 2 +- docker-compose-prod.yaml | 2 +- logto/.env | 4 +++- logto/docker-compose.yaml | 2 ++ package.json | 11 +++++++---- 10 files changed, 27 insertions(+), 14 deletions(-) diff --git a/.env.example b/.env.example index a0e3161..29cad77 100644 --- a/.env.example +++ b/.env.example @@ -140,7 +140,7 @@ LOGTO_BASE_URL=http://localhost:5173 # 随机任意的 36 位字符串,用于加密 Logto 的 cookie。 LOGTO_COOKIE_SECRET= # 是否在开发环境中启用 Logto 认证,设置为 false 则在开发环境不强制认证 -LOGTO_ENABLE_DEV=false +LOGTO_ENABLE=false # 运行环境,与 NODE_ENV 有所不同, NODE_ENV 在打包时就已确定,而此变量用于某些功能在不同环境下的开放 # development | production | test OPERATING_ENV=production diff --git a/.gitignore b/.gitignore index ea0db88..0f473bb 100644 --- a/.gitignore +++ b/.gitignore @@ -52,5 +52,4 @@ mock # storage /public/uploads - /data/ diff --git a/Dockerfile b/Dockerfile index 6ffff48..8b3c899 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,10 +32,14 @@ RUN pnpm prune --prod --ignore-scripts FROM node:20.18.0-alpine AS runtime WORKDIR /app +ENV OPERATING_ENV=production ENV NODE_ENV=production -ENV LOGTO_ENABLE_DEV=false +ENV LOGTO_ENABLE=false ENV PORT=3000 ENV HOST=0.0.0.0 +ENV USAGE_LOG_FILE=true +ENV MAX_UPLOAD_SIZE_MB=5 +ENV LOG_LEVEL=debug # Use pnpm RUN corepack enable && corepack prepare pnpm@9.4.0 --activate diff --git a/README.md b/README.md index 741ee93..a1e49af 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@

UPage

-

基于人工智能的可视化网页构建平台

+

基于大模型的可视化网页构建平台

GitHub release GitHub last commit GitHub Workflow Status +Documentation

------------------------------ -UPage 是一款基于人工智能的可视化网页构建平台,支持多种 AI 提供商集成,基于自然语言快速实现定制化网页。 +UPage 是一款基于大模型的可视化网页构建平台,支持多种 AI 提供商集成,使用自然语言快速实现定制化网页。 ------------------------------ @@ -27,17 +28,19 @@ 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 + halohub/upage:latest ``` 其中参数说明如下: - `-e LLM_DEFAULT_PROVIDER=OpenAILike`:设置默认的 LLM 提供商为 OpenAILike,即兼容 OpenAI 的 API 接口。 +- `-e OPENAI_LIKE_API_BASE_URL=your-openai-like-api-base-url`:设置 OpenAILike 的 API 基础 URL。 - `-e OPENAI_LIKE_API_KEY=your-openai-like-api-key`:设置 OpenAILike 的 API 密钥。 - `-e LLM_DEFAULT_MODEL=your-default-model`:设置默认的 LLM 模型,用于构建页面。 - `-e LLM_MINOR_MODEL=your-minor-model`:设置次要的 LLM 模型,用于执行其他任务。 diff --git a/app/lib/.server/auth.ts b/app/lib/.server/auth.ts index 1fc7ba5..216d1a6 100644 --- a/app/lib/.server/auth.ts +++ b/app/lib/.server/auth.ts @@ -93,7 +93,7 @@ const config: LogtoConfig = { const originalLogto = makeLogtoRemix(config, { sessionStorage }); export function shouldEnforceAuth(): boolean { - return process.env.LOGTO_ENABLE_DEV !== 'false'; + return process.env.LOGTO_ENABLE !== 'false'; } function getMockDevUser(): MockUser { diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml index 3cfccb9..dc55e18 100644 --- a/docker-compose-dev.yaml +++ b/docker-compose-dev.yaml @@ -41,7 +41,7 @@ services: - LOGTO_APP_SECRET=${LOGTO_APP_SECRET} - LOGTO_COOKIE_SECRET=${LOGTO_COOKIE_SECRET} - LOGTO_BASE_URL=${LOGTO_BASE_URL} - - LOGTO_ENABLE_DEV=${LOGTO_ENABLE_DEV:-false} + - LOGTO_ENABLE=${LOGTO_ENABLE:-false} - USAGE_LOG_FILE=true - STORAGE_DIR=/app/storage - MAX_UPLOAD_SIZE_MB=${MAX_UPLOAD_SIZE_MB:-5} diff --git a/docker-compose-prod.yaml b/docker-compose-prod.yaml index 890b4bd..3bcef2c 100644 --- a/docker-compose-prod.yaml +++ b/docker-compose-prod.yaml @@ -41,7 +41,7 @@ services: - LOGTO_APP_SECRET=${LOGTO_APP_SECRET} - LOGTO_COOKIE_SECRET=${LOGTO_COOKIE_SECRET} - LOGTO_BASE_URL=${LOGTO_BASE_URL} - - LOGTO_ENABLE_DEV=${LOGTO_ENABLE_DEV:-false} + - LOGTO_ENABLE=${LOGTO_ENABLE:-false} - USAGE_LOG_FILE=${USAGE_LOG_FILE:-true} - MAX_UPLOAD_SIZE_MB=${MAX_UPLOAD_SIZE_MB:-5} volumes: diff --git a/logto/.env b/logto/.env index 9d638a9..23e39ef 100644 --- a/logto/.env +++ b/logto/.env @@ -1,5 +1,7 @@ +TAG=1.31.0 LOGTO_ENDPOINT= LOGTO_ADMIN_ENDPOINT= +LOGTO_POSTGRES_PORT= LOGTO_POSTGRES_PASSWORD=postgres1 LOGTO_CORE_PORT=3001 -LOGTO_ADMIN_PORT=3002 \ No newline at end of file +LOGTO_ADMIN_PORT=3002 diff --git a/logto/docker-compose.yaml b/logto/docker-compose.yaml index 3190cfd..d3a9032 100644 --- a/logto/docker-compose.yaml +++ b/logto/docker-compose.yaml @@ -20,6 +20,8 @@ services: postgres: image: postgres:17-alpine user: postgres + ports: + - ${LOGTO_POSTGRES_PORT:-5432}:5432 environment: POSTGRES_USER: logto POSTGRES_PASSWORD: ${LOGTO_POSTGRES_PASSWORD} diff --git a/package.json b/package.json index 18cabba..1da8636 100644 --- a/package.json +++ b/package.json @@ -13,14 +13,17 @@ "check": "biome check --write --no-errors-on-unmatched .", "check:stage": "biome check --write --staged --no-errors-on-unmatched", "clean": "node scripts/clean.js", - "setup": "prisma generate && prisma migrate deploy", + "setup": "prisma migrate deploy && prisma generate", "docker:build": "docker build -t upage-ai:production -t upage-ai:latest --target runtime .", "docker:dev:run": "docker compose -f docker-compose-dev.yaml up", "docker:prod:run": "docker compose -f docker-compose-prod.yaml up", "prepare": "husky || true", "test": "vitest --run", "test:watch": "vitest", - "typecheck": "tsc" + "typecheck": "tsc", + "docs:start": "pnpm --filter upage-docs run start", + "docs:build": "pnpm --filter upage-docs run build", + "docs:serve": "pnpm --filter upage-docs run serve" }, "dependencies": { "@agentic/ai-sdk": "^8.4.4", @@ -105,7 +108,8 @@ "unist-util-visit": "^5.0.0", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", - "zod": "^4.1.11" + "zod": "^4.1.11", + "node-fetch": "^3.3.2" }, "devDependencies": { "@biomejs/biome": "2.2.4", @@ -130,7 +134,6 @@ "dotenv": "^17.2.2", "fast-glob": "^3.3.3", "husky": "9.1.7", - "node-fetch": "^3.3.2", "pnpm": "^10.17.1", "sass-embedded": "^1.93.1", "typescript": "^5.9.2",