Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pixiv Platform logo

Pixiv Platform

A local-first Pixiv download, indexing, gallery, task, and smart retrieval workstation.

v1.3.0 Mature Delivery · macOS DMG · Windows Installer · Next.js Workbench · Rust/Axum Backend · SQLite Local Index

中文 · 日本語 · Quick Start · Release Builds

Overview

Pixiv Platform is a desktop-oriented, local-first Pixiv downloader and library workbench. It keeps Pixiv credentials, DeepSeek keys, downloaded files, task history, and the SQLite index on your machine. The v1.3.0 release is the current mature delivery baseline: the macOS DMG and Windows installer are published on GitHub Releases, the main app surface supports English / Chinese / Japanese, and first-time setup now lives in a reusable in-app Quick Start page instead of a blocking onboarding modal.

The application is built from one shared codebase:

  • src/backend: Rust backend, Axum API, Pixiv/DeepSeek clients, SQLite repositories, task queue.
  • src/frontend: Next.js app workbench used by Web and Tauri.
  • tauri-app: desktop shell and release packaging.

Highlights

  • Quick Start page: an action-first setup guide for language, Pixiv network, Pixiv account binding, optional DeepSeek, downloads, tasks, and gallery.
  • Pixiv account binding: paste PHPSESSID or use the Pixiv login window in the desktop app.
  • Local account management: switch or delete locally saved Pixiv accounts; the active UID is shown in the topbar.
  • Runtime readiness: Home shows Pixiv network, Pixiv account, and DeepSeek status without rerunning expensive checks on every navigation.
  • Download modes: Single, Author, Bookmarks, and Smart tag-search downloads.
  • Smart Retrieval: DeepSeek-compatible prompt parsing turns natural language into editable Pixiv tags.
  • Local library: downloaded images, tags, sources, tasks, task items, and logs are indexed in SQLite.
  • Gallery and Tasks: preview local images, inspect details, delete files/index rows, and track task progress.
  • Internationalized UI: lightweight en, zh, and ja language support without a heavy i18n framework.

Screenshots

Quick Start

Quick Start

Home Dashboard

Home dashboard

Smart Download

Smart download

Task Review

Task review

Pixiv Binding

Pixiv binding settings

Download

The v1.3.0 mature release provides both macOS and Windows desktop packages:

Pixiv.Platform_1.3.0_aarch64.dmg
Pixiv.Platform_1.3.0_x64-setup.exe

The macOS build is locally signed and verified, but it is not Apple-notarized. On first launch, macOS Gatekeeper may require manual approval in System Settings.

Small-distribution desktop users do not need Rust, Cargo, Node.js, npm, or TypeScript installed.

Quick Start

  1. Install and open the desktop app, or run the Web workbench locally.
  2. Open Quick Start from the topbar.
  3. Choose your language in Settings / General.
  4. Check Pixiv network access. If you use a proxy, enable global TUN mode before testing.
  5. Bind Pixiv in Settings / Pixiv Binding by pasting PHPSESSID or using the Pixiv login window.
  6. Optional: configure DeepSeek API key, base URL, and model in Settings / DeepSeek.
  7. Start a download from Download using Single, Author, Bookmarks, or Smart.
  8. Track progress in Tasks and browse files in Gallery.

Configuration

Common runtime settings are available in the app:

  • language: en, zh, or ja.
  • pixiv_cookie: stored locally and masked in API responses.
  • download_base_path: defaults to ~/Downloads/Pixiv Platform.
  • r18_policy: exclude, blurred include, visible include, or only R18.
  • deepseek_api_key, deepseek_base_url, deepseek_model.
  • default_batch_count and max_request_count.

Default local storage:

~/Downloads/Pixiv Platform/
~/Downloads/Pixiv Platform/pixiv_platform.sqlite3

You can also use environment variables when running the backend directly:

PIXIV_PLATFORM_BIND=127.0.0.1:3000
PIXIV_DOWNLOAD_ROOT=/absolute/path/to/output
PIXIV_PLATFORM_DB_PATH=/absolute/path/to/pixiv_platform.sqlite3
PIXIV_PHPSESSID=your_pixiv_cookie
DEEPSEEK_API_KEY=your_deepseek_key

Never commit Pixiv cookies, DeepSeek API keys, or other secrets.

Development

Requirements

  • Rust stable with Cargo
  • Node.js 20+ and npm
  • macOS for building the current DMG target
  • Visual Studio 2022 Build Tools / MSVC C++ linker for Windows desktop builds
  • A valid Pixiv PHPSESSID for real Pixiv downloads
  • A DeepSeek-compatible API key only for Smart Retrieval

Install frontend dependencies

cd src/frontend
npm install

Run the backend

cd src/backend
cargo run --bin server

The backend defaults to:

http://127.0.0.1:3000

Run the frontend

cd src/frontend
npm run dev

Open:

http://127.0.0.1:3001

If the backend is on another port:

PIXIV_BACKEND_URL=http://127.0.0.1:3002 npm run dev

Release Builds

Frontend

cd src/frontend
npm run build

Backend

cd src/backend
cargo build --release

macOS Desktop DMG

The current v1.3.0 Tauri config targets macOS app and dmg.

cd tauri-app
npm install
npm run build

Artifacts:

tauri-app/src-tauri/target/release/bundle/macos/Pixiv Platform.app
tauri-app/src-tauri/target/release/bundle/dmg/Pixiv Platform_1.3.0_aarch64.dmg

Verification:

codesign --verify --deep --strict "tauri-app/src-tauri/target/release/bundle/macos/Pixiv Platform.app"
hdiutil verify "tauri-app/src-tauri/target/release/bundle/dmg/Pixiv Platform_1.3.0_aarch64.dmg"

Windows Desktop

The v1.3.0 GitHub Release includes a Windows NSIS installer:

Pixiv.Platform_1.3.0_x64-setup.exe

To produce a Windows installer locally, build on Windows with the appropriate Tauri target configuration.

cd tauri-app
npm.cmd install
npm.cmd run build

Verification

Default local quality gate:

./tests/run_local.sh

The v1.3.0 baseline was verified with:

cd src/frontend && npm run lint
cd src/frontend && npm run build
cd src/backend && cargo test
cd tauri-app/src-tauri && cargo check
./tests/run_local.sh
cd tauri-app && npm run build
codesign --verify --deep --strict "tauri-app/src-tauri/target/release/bundle/macos/Pixiv Platform.app"
hdiutil verify "tauri-app/src-tauri/target/release/bundle/dmg/Pixiv Platform_1.3.0_aarch64.dmg"

Live Pixiv E2E is opt-in and requires a runtime cookie:

PIXIV_PHPSESSID=your_pixiv_cookie ./tests/e2e/live_single_download.sh

API Surface

Common endpoints:

  • POST /api/download/single
  • POST /api/downloads/author
  • POST /api/downloads/bookmarks
  • POST /api/smart/parse
  • POST /api/smart/download
  • GET /api/tasks
  • GET /api/tasks/{task_id}
  • GET /api/images
  • GET /api/images/{image_id}
  • GET /api/images/{image_id}/file
  • DELETE /api/images/{image_id}
  • POST /api/images/delete-batch
  • GET /api/settings
  • PUT /api/settings/{key}
  • POST /api/settings/test/pixiv
  • POST /api/settings/test/deepseek
  • GET /api/runtime/readiness
  • GET /api/pixiv/accounts
  • POST /api/pixiv/accounts/active
  • DELETE /api/pixiv/accounts/{user_uid}

See docs/specs/api-contract.md for the full contract.

Repository Layout

src/backend/          Rust backend, API, task queue, Pixiv/DeepSeek clients, SQLite repositories
src/frontend/         Next.js frontend workbench
tauri-app/            Tauri desktop shell and package configuration
docs/                 Product, architecture, API, testing, delivery, and release notes
tests/                Unit, integration, stage, smoke, and opt-in live scripts
static/               README assets and screenshots

Security

  • Secrets are configured at runtime or saved locally through Settings.
  • Settings API responses mask secret values.
  • Desktop logs avoid writing Pixiv cookies and API keys.
  • Live Pixiv tests are opt-in.
  • Downloaded files and SQLite data stay under the configured local path.

Roadmap

v1.3.0 is considered a mature local-first delivery baseline. Future work can focus on:

  • Thumbnail cache and large-gallery performance.
  • Top10 / Random discovery modes.
  • Task cancel/retry controls.
  • Richer gallery organization and metadata editing.
  • Local semantic search and similarity clustering.
  • Developer ID signing, notarization, and auto-update flow.

License

No explicit license file is currently included. Treat the repository as source-available unless a license is added.

About

pixiv 下载工具链,基于rust重建,支持智能检索,批量下载

Topics

Resources

Stars

51 stars

Watchers

14 watching

Forks

Releases

Packages

Contributors

Languages