# GemImg 完整文档 ## 来源: README.md --- ### Quickstart - 环境需求:Node.js。 - 安装依赖:`npm install`。 - 配置环境变量:在 `.env.local` 设置 `GEMINI_API_KEY=`(商业服务密钥,请妥善保管)。 - 本地运行:`npm run dev`(Vite 默认端口 5173,可通过 `--host --port` 覆盖)。 ### 技术栈与入口 - 前端:React + TypeScript,构建工具 Vite。 - 入口文件:`index.tsx`,核心页面逻辑 `App.tsx`。 - 组件:`components/ComparisonSlider.tsx`;服务:`services/geminiService.ts`(封装 Gemini 3 图像处理)。 ## 来源: AGENTS.md --- ### 项目结构 - 入口与页面:`index.html`、`index.tsx`、`App.tsx`。 - 复用组件:`components/ComparisonSlider.tsx`。 - 服务调用:`services/geminiService.ts`。 - 类型与配置:`types.ts`、`vite.config.ts`、`tsconfig.json`。 - 静态资源与环境:`public/`(favicon、llms/robots/sitemap),环境变量 `.env.local`。 ### 构建与开发命令 - 安装依赖:`npm install` - 本地开发:`npm run dev` - 生产构建:`npm run build` - 生产包预览:`npm run preview` ### 编码规范 - TypeScript + 函数组件 + Hooks,缩进 2 空格,单引号优先。 - 组件与 Hook 使用 PascalCase(Hook 前缀 `use`);常量 UPPER_SNAKE_CASE;路径别名 `@/` 指向仓库根。 - 防御性代码:外部输入与 API 响应需空值检查与错误处理。 ### 测试与质量 - 建议使用 Vitest + React Testing Library;测试命名 `*.test.ts(x)`;新增功能先补测试再实现。 - 提交前需通过 `npm run build` 并自查格式与敏感文件(禁止提交 `.env.local`)。 ### 提交流程(内部项目,非开源) - 推荐 Conventional Commits(如 `feat: add relight queue`、`fix: handle missing api key`)。 - PR 需要:变更摘要、影响范围、验证步骤;UI 变更附截图/GIF;关联内部任务请在描述中标注。 ## 来源: 隐私与合规页面 --- ### Privacy (privacy.html) - 收集:账号信息(邮箱、姓名、头像)、使用与生成元数据;不自存上传图片或生成资产,仅模型方短期缓存。 - 用途:提供服务、执行额度/速率限制、检测滥用、聚合化改进可靠性;必要通知。 - 保留:元数据用于计费/审计,结果链接随提供方策略过期;无自托管副本。可邮件请求访问/删除账户数据。 ### Terms (terms.html) - 账号:需准确信息,禁止共享;违规/欺诈可停用。 - 可接受使用:须拥有内容权利;禁止违法、骚扰、误导、医疗/监控/生物识别用途、爬虫、绕过额度/限流。链接可能过期,重生成消耗额外点数。 - Credits:按请求扣费,模型已调用即可能计费;邀请/促销按当时规则赠送。 - 责任:服务按“现状”提供,责任限于近 3 个月费用。 ### AI Policy (ai-policy.html) - 禁止:生物识别/监控、医疗决策、骚扰/虚假信息/深伪、侵权上传。 - 责任:输出可能不准,关键场景需人工审核;URL 会过期,重生成耗点数;需遵守法律与模型方政策。 - 防护:分层限流与额度校验;可能拦截违规提示/内容。 ### Contact (contact.html) - 邮箱:pm@vibemanager.net(隐私/数据请求、安全报告、下架通知)。 - 安全报告需提供复现步骤与影响范围;侵权通知需提供链接与权属证明。