nai-aclab 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +6 -28
  2. package/launcher.py +5 -15
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,12 +1,10 @@
1
1
  # NAI Artist Combination Lab
2
2
 
3
- NovelAI 이미지 생성에서 작가 태그 조합과 가중치를 실험하기 위한 로컬 웹앱입니다.
3
+ NovelAI 이미지 생성에서 작가 태그 조합과 가중치를 실험하기 위한 브라우저 기반 웹앱입니다.
4
4
  작가 태그의 가중치를 랜덤하게 바꿔 여러 이미지를 만들고, 마음에 드는 결과에서 작가 가중치를 다시 불러와 고정한 뒤 여러 프리셋 조합을 테스트할 수 있습니다.
5
5
 
6
6
  ## 설치와 실행
7
7
 
8
- ### npm으로 실행
9
-
10
8
  필요한 것:
11
9
 
12
10
  - Node.js 18 이상
@@ -14,34 +12,19 @@ NovelAI 이미지 생성에서 작가 태그 조합과 가중치를 실험하기
14
12
 
15
13
  실행 방법:
16
14
 
17
- ```powershell
18
- npm start
19
- ```
20
-
21
- GitHub에서 처음 받은 뒤에는 프로젝트 폴더에서 위 명령을 실행하면 됩니다. 브라우저가 자동으로 열리고, 앱 사용을 마친 뒤 안내 창을 닫으면 서버가 종료됩니다.
22
-
23
- npm 패키지로 공개한 뒤에는 아래처럼 바로 실행할 수 있습니다.
24
-
25
15
  ```powershell
26
16
  npx nai-aclab
27
17
  ```
28
18
 
29
- ### Python으로 직접 실행
19
+ 브라우저가 자동으로 열리고, 터미널이 열려 있는 동안 앱 서버가 유지됩니다. 앱을 종료하려면 터미널에서 `Ctrl+C`를 누르거나 터미널을 닫으면 됩니다.
30
20
 
31
- Python 3.10 이상이 설치되어 있다면 npm 없이도 소스 코드로 실행할 있습니다.
21
+ 자주 사용한다면 전역 설치 실행할 수도 있습니다.
32
22
 
33
23
  ```powershell
34
- python launcher.py
24
+ npm install -g nai-aclab
25
+ nai-aclab
35
26
  ```
36
27
 
37
- 브라우저 서버만 직접 실행하려면 아래 명령을 사용합니다.
38
-
39
- ```powershell
40
- python web_app.py
41
- ```
42
-
43
- 기본 주소는 `http://127.0.0.1:8765`입니다.
44
-
45
28
  ## 기본 사용 흐름
46
29
 
47
30
  1. `API 설정` 메뉴에서 NovelAI 토큰과 모델 설정을 입력합니다.
@@ -140,12 +123,7 @@ override가 입력되어 있으면 모든 프리셋 조합에서 override 값을
140
123
 
141
124
  ## 저장 위치
142
125
 
143
- 소스/Python 실행 시:
144
-
145
- - 앱 상태: `data/app_state.json`
146
- - 생성 이미지와 요청 JSON: `outputs/`
147
-
148
- `npm start` 실행 시:
126
+ 상태, 생성 이미지, 요청 JSON은 아래 위치에 저장됩니다.
149
127
 
150
128
  - Windows: `%APPDATA%\NAI Artist Combination Lab`
151
129
  - macOS: `~/Library/Application Support/NAI Artist Combination Lab`
package/launcher.py CHANGED
@@ -1,10 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import socket
4
- import threading
5
- import sys
6
4
  import webbrowser
7
- import ctypes
8
5
  from http.server import ThreadingHTTPServer
9
6
 
10
7
  from web_app import Handler
@@ -28,22 +25,15 @@ def main() -> None:
28
25
  port = find_port()
29
26
  server = ThreadingHTTPServer(("127.0.0.1", port), Handler)
30
27
  url = f"http://127.0.0.1:{port}/"
31
- thread = threading.Thread(target=server.serve_forever, daemon=True)
32
- thread.start()
33
28
 
34
29
  webbrowser.open(url)
30
+ print(f"{APP_NAME} is running at {url}")
31
+ print("Keep this terminal open while using the app. Press Ctrl+C to stop.")
35
32
 
36
33
  try:
37
- if sys.platform.startswith("win"):
38
- ctypes.windll.user32.MessageBoxW(
39
- None,
40
- f"브라우저에서 {APP_NAME}가 실행 중입니다.\n\n{url}\n\n앱 사용을 마친 뒤 확인을 누르면 서버가 종료됩니다.",
41
- APP_NAME,
42
- 0,
43
- )
44
- else:
45
- print(f"{APP_NAME} is running at {url}")
46
- input("Press Enter to stop the server...")
34
+ server.serve_forever()
35
+ except KeyboardInterrupt:
36
+ print("\nStopping server...")
47
37
  finally:
48
38
  server.shutdown()
49
39
  server.server_close()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nai-aclab",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Local web UI for experimenting with NovelAI artist tag weight combinations.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",