File size: 2,178 Bytes
86a095e
 
 
 
 
 
01558be
86a095e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---

title: New NAI (Node/Express) - HF Spaces
emoji: 🧩
colorFrom: green
colorTo: gray
sdk: docker
app_port: 7860
pinned: false
---


New NAI(Node/Express 版本)— 适配 Hugging Face Spaces(Docker)

一、目录说明
- 服务入口: [server.js](server.js:1)
- 前端页面: [frontend/index.html](frontend/index.html:1)(原生 HTML/CSS/JS)
- 资源脚本: [frontend/assets/app.js](frontend/assets/app.js:1)、[frontend/assets/style.css](frontend/assets/style.css:1)
- 上游代理: [novelai.js](novelai.js:1)(调用 NovelAI,解压 ZIP,返回 data URL)
- 铃声资源: [ring/new-notification-3-398649.mp3](ring/new-notification-3-398649.mp3:1)
- NPM 清单: [package.json](package.json:1)
- Docker 配置: [Dockerfile](Dockerfile:1)

二、运行方式(在 Hugging Face Spaces 上)
- Space 类型: Docker
- 本仓库根目录包含 [Dockerfile](Dockerfile:1);Spaces 会读取环境变量 PORT,并在容器内以 0.0.0.0:$PORT 启动。
- Node 版本基于官方 node:20-bullseye-slim 镜像;入口命令为:
  - node [server.js](server.js:1)
- 服务内已按优先级解析端口: 环境变量 PORT > 配置文件 > 默认 9180,且在 Dockerfile 中已设置 HOST=0.0.0.0

三、环境与配置
- Web 端访问地址由 Spaces 分配,容器内监听 $PORT/0.0.0.0。
- 前端“配置”页填写并保存 NovelAI Key(Token),后端通过 Authorization Bearer 与上游通信。
- 目录选择/打开文件夹等本地功能在 HF 环境将受限;不会影响生成流程。

四、接口(与本地一致)
- 健康检查: GET /api/health
- 配置: GET /api/config、PUT /api/config
- 生成:
  - POST /api/generate/t2i
  - POST /api/generate/i2i
  - POST /api/generate/inpaint
- 静态资源:
  - / → [frontend/index.html](frontend/index.html:1)
  - /ring → [ring/new-notification-3-398649.mp3](ring/new-notification-3-398649.mp3:1)

五、注意事项(HF 环境差异)
- 不支持系统级文件夹选择/打开;如需输出路径请在配置中手填或使用默认。
- 首次请求可能遇到上游限流(429),已实现指数退避重试;可稍后再试。