言語 Languages: English | 繁體中文 | 简体中文 | 日本語
高性能な DLsite 作品の分類・管理ツール。FastAPI バックエンドと Nuxt 3 Web UI を提供します。
- 非同期クローラーとファイル処理
- インタラクティブ CLI フロー:分類、更新、検証、アーカイブ
- FastAPI REST API:検索、フィルタ、ページング、メタデータ
- Nuxt 3 UI:閲覧、評価、コレクション
- 会社 ARCHIVE ツール:全作品メタデータの取得
.tagファイルで保存し、DB 不要
- Python 3.10+
- Node.js 18+
- uv
- Yarn(または npm/pnpm)
uv venv
source .venv/bin/activate
uv sync
cd dlsite_classification_web
yarn install
uv run python main.py
uv run python server.py
データパス / ホスト / ポートの指定:
uv run python server.py --data-path /path/to/your/dlsite/data --host 0.0.0.0 --port 8001
環境変数でデータパスを指定:
export DLSITE_DATA_PATH=/path/to/your/dlsite/data
cd dlsite_classification_web
yarn dev
http://localhost:3000(3000 が使用中の場合は http://localhost:3001)にアクセス。
フロントエンドは http://localhost:8001 API を想定しています。
--data-pathDLSITE_DATA_PATH- デフォルト(存在するものを優先)
./test_game_info/mnt/d/R18/DLsite./data
GET //GET /statusGET /works(検索、フィルタ、ソート、ページング)GET /work/{code}GET /companies/GET /companies/listGET /company/{company_id}/works-statusPOST /company/{company_id}/archiveGET /company/{company_id}/archive-infoGET /genres/GET /work-formats/GET /file-formatsGET /collectionsPOST /work/{code}/user-dataGET /image?path=<url-encoded-path>GET /scan
Swagger UI:http://localhost:8001/docs
[サークル名]_[サークルID]/
├── [作品ID]_[サークル名]_[サークルID] 作品タイトル/
│ └── [作品ID]_info/
│ ├── [作品ID]_img_main.jpg
│ ├── [作品ID]_img_smp1.jpg
│ ├── code.tag
│ ├── title.tag
│ ├── company.tag
│ └── ... その他のタグファイル
└── ARCHIVE/
└── RJ123456_info/
├── title.tag
└── ... アーカイブ情報
uv run ruff check --fix .
uv run ruff format .
uv run mypy .
./run_tests.sh
WSL で "bad interpreter" が出る場合:
sed -i 's/\r$//' run_tests.sh && chmod +x run_tests.sh



