main
项目目录结构
aiartstudio/ # 项目根目录
├── README.md # 项目说明文档
├── package.json # 包管理与脚本
├── pnpm-lock.yaml # pnpm 锁文件
├── tsconfig.json # TypeScript 配置
├── eslint.config.mjs # ESLint 配置
├── nuxt.config.ts # Nuxt 配置(必备)
├── .gitignore # Git 忽略规则
├── .nuxtrc # Nuxt 配置文件(可选)
├── .nuxtignore # Nuxt 忽略文件(可选)
├── .env # 环境变量(可选)
├── app/ # 【核心】应用代码目录(Nuxt 4)
│ ├── assets/ # 构建处理的静态资源(CSS、图片等)
│ ├── components/ # Vue 组件(自动导入)
│ ├── composables/ # 组合式函数(自动导入)
│ ├── layouts/ # 布局组件
│ ├── middleware/ # 路由中间件
│ ├── pages/ # 文件式路由页面
│ ├── plugins/ # Vue 插件(自动注册)
│ ├── utils/ # 工具函数(自动导入)
│ ├── app.config.ts # 应用运行时配置
│ ├── app.vue # 根组件(必备)
│ └── error.vue # 全局错误页面(可选)
├── public/ # 纯静态文件(不经过构建)
│ ├── favicon.ico # 网站图标
│ └── _robots.txt # robots 配置
├── server/ # 服务端代码
│ ├── api/ # API 路由(文件式 API)
│ ├── routes/ # 服务端路由
│ ├── middleware/ # 服务端中间件
│ ├── plugins/ # 服务端插件
│ └── utils/ # 服务端工具函数
├── shared/ # 前后端共享代码(Nuxt 4 新增)
├── content/ # @nuxt/content 内容目录
├── modules/ # 本地模块
└── layers/ # 可复用层(Layer)
环境变量
部署时由 CI/CD 注入真实环境变量,本地开发可参考 .env.example 创建 .env。
.env 被 Git 忽略,不能提交真实密钥。
Gitea CI/CD 配置位置:
- 必填 Secrets:
DATABASE_URL、LSKY_TOKEN、NUXT_OG_IMAGE_SECRET。 - 必填 Variables:
HOST_PORT、NEWAPI_BASE_URL、IMAGE_GENERATION_MODEL、NEWAPI_TOKEN_NAME、LSKY_BASE_URL、LSKY_STORAGE_ID。 - 可选 Variables:下方所有运行调参项;未设置或非法时使用代码默认值。
本地 .env 不区分 Variables/Secrets,全部写成 KEY=value。其中 DATABASE_URL、LSKY_TOKEN、NUXT_OG_IMAGE_SECRET 属于敏感值,不要提交。
可调配置未设置或非法时会使用代码默认值:
IMAGE_GENERATION_MAX_BATCH_SIZEIMAGE_GENERATION_MAX_RETRIESIMAGE_STREAM_MAX_SSE_LINE_BYTESIMAGE_ARCHIVE_MAX_BYTESIMAGE_ARCHIVE_TIMEOUT_MSIMAGE_ARCHIVE_CONCURRENCYIMAGE_ARCHIVE_MAX_ATTEMPTSIMAGE_ARCHIVE_LOCK_TTL_MSIMAGE_ARCHIVE_POLL_MSIMAGE_ARCHIVE_RETRY_DELAYS_MS
Description
Languages
TypeScript
79.5%
Vue
18.2%
JavaScript
1.6%
Dockerfile
0.6%
CSS
0.1%