pixivflow 2.0.41 → 2.1.0

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 (50) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +67 -574
  3. package/README_EN.md +71 -1523
  4. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  5. package/dist/commands/SchedulerCommand.js +5 -1
  6. package/dist/commands/SchedulerCommand.js.map +1 -1
  7. package/dist/download/DownloadManager.d.ts +9 -0
  8. package/dist/download/DownloadManager.d.ts.map +1 -1
  9. package/dist/download/DownloadManager.js +27 -0
  10. package/dist/download/DownloadManager.js.map +1 -1
  11. package/dist/download/pipeline/DownloadPipeline.d.ts +6 -0
  12. package/dist/download/pipeline/DownloadPipeline.d.ts.map +1 -1
  13. package/dist/download/pipeline/DownloadPipeline.js +4 -2
  14. package/dist/download/pipeline/DownloadPipeline.js.map +1 -1
  15. package/dist/package.json +1 -1
  16. package/dist/scheduler/Scheduler.d.ts +17 -4
  17. package/dist/scheduler/Scheduler.d.ts.map +1 -1
  18. package/dist/scheduler/Scheduler.js +58 -20
  19. package/dist/scheduler/Scheduler.js.map +1 -1
  20. package/dist/utils/errors.d.ts +9 -0
  21. package/dist/utils/errors.d.ts.map +1 -1
  22. package/dist/utils/errors.js +17 -1
  23. package/dist/utils/errors.js.map +1 -1
  24. package/dist/webui/package.json +1 -1
  25. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  26. package/dist/webui/routes/handlers/download-basic-handlers.js +6 -20
  27. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  28. package/dist/webui/routes/handlers/download-url-handlers.d.ts +3 -6
  29. package/dist/webui/routes/handlers/download-url-handlers.d.ts.map +1 -1
  30. package/dist/webui/routes/handlers/download-url-handlers.js +72 -138
  31. package/dist/webui/routes/handlers/download-url-handlers.js.map +1 -1
  32. package/dist/webui/server/server-routes.d.ts.map +1 -1
  33. package/dist/webui/server/server-routes.js +6 -2
  34. package/dist/webui/server/server-routes.js.map +1 -1
  35. package/dist/webui/server/server.d.ts.map +1 -1
  36. package/dist/webui/server/server.js +25 -3
  37. package/dist/webui/server/server.js.map +1 -1
  38. package/dist/webui/services/DownloadTaskManager.d.ts +12 -0
  39. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  40. package/dist/webui/services/DownloadTaskManager.js +119 -51
  41. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  42. package/dist/webui/utils/task-serialize.d.ts +31 -0
  43. package/dist/webui/utils/task-serialize.d.ts.map +1 -0
  44. package/dist/webui/utils/task-serialize.js +40 -0
  45. package/dist/webui/utils/task-serialize.js.map +1 -0
  46. package/dist/webui/websocket/DownloadStatus.d.ts +19 -0
  47. package/dist/webui/websocket/DownloadStatus.d.ts.map +1 -0
  48. package/dist/webui/websocket/DownloadStatus.js +61 -0
  49. package/dist/webui/websocket/DownloadStatus.js.map +1 -0
  50. package/package.json +11 -10
package/README.md CHANGED
@@ -1,622 +1,115 @@
1
- # 🎨 PixivFlow
1
+ # PixivFlow
2
2
 
3
- <div align="center">
3
+ [English](https://github.com/redtidev1918/PixivFlow/blob/master/README_EN.md) | **中文**
4
4
 
5
- **智能的 Pixiv 自动化下载工具 | Intelligent Pixiv Automation Downloader**
5
+ Pixiv 批量下载与定时收集工具。支持插画和小说的批量下载、标签搜索、
6
+ 多维度筛选和 Cron 定时任务,提供命令行与 WebUI 两种使用方式。
7
+ 基于 TypeScript 和 Node.js,可在 Windows、macOS、Linux 及 Docker 中运行。
6
8
 
7
- 让 Pixiv 作品收集变得优雅而高效 | Make Pixiv artwork collection elegant and efficient
9
+ [![Version](https://img.shields.io/npm/v/pixivflow?style=flat-square)](https://www.npmjs.com/package/pixivflow)
10
+ [![Node](https://img.shields.io/badge/Node.js-18%2B_LTS-green.svg?style=flat-square&logo=node.js)](https://nodejs.org/)
11
+ [![License](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
12
+ [![Documentation](https://img.shields.io/badge/Docs-redtidev1918.github.io-6366f1?style=flat-square)](https://redtidev1918.github.io/PixivFlow/)
8
13
 
9
- > 🎯 **PixivFlow** 是一个专业的 Pixiv 批量下载工具,支持插画和小说下载、定时任务、Docker 部署。适用于个人用户和服务器自动化场景。
14
+ ## 安装
10
15
 
11
- > 📖 **[查看完整教程文档](https://zoidberg-xgd.github.io/PixivFlow/)** - 包含详细的使用教程、配置说明、部署指南和最佳实践
12
-
13
- <!-- SEO Keywords: pixiv downloader, pixiv批量下载, pixiv自动化下载, pixiv批量下载工具, pixiv下载器, pixiv artwork downloader, pixiv novel downloader, pixiv cli tool, pixiv scheduler, pixiv automation, pixiv批量下载脚本, pixiv下载工具, pixiv作品下载, pixiv插画下载, pixiv小说下载, pixiv定时下载, pixiv爬虫, pixiv api client, pixiv命令行工具, pixiv服务器部署, pixiv docker, pixiv webui, pixiv管理界面 -->
14
-
15
- [![GitHub stars](https://img.shields.io/github/stars/zoidberg-xgd/pixivflow?style=for-the-badge&logo=github)](https://github.com/zoidberg-xgd/pixivflow/stargazers)
16
- [![GitHub forks](https://img.shields.io/github/forks/zoidberg-xgd/pixivflow?style=for-the-badge&logo=github)](https://github.com/zoidberg-xgd/pixivflow/network/members)
17
- [![GitHub issues](https://img.shields.io/github/issues/zoidberg-xgd/pixivflow?style=for-the-badge&logo=github)](https://github.com/zoidberg-xgd/pixivflow/issues)
18
- [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg?style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0)
19
-
20
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.6+-blue.svg?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
21
- [![Node.js](https://img.shields.io/badge/Node.js-18%2B%20LTS-green.svg?style=flat-square&logo=node.js)](https://nodejs.org/)
22
- [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg?style=flat-square)](https://github.com/zoidberg-xgd/pixivflow)
23
- [![Maintenance](https://img.shields.io/badge/Maintained-yes-green.svg?style=for-the-badge)](https://github.com/zoidberg-xgd/pixivflow/graphs/commit-activity)
24
-
25
- [📖 完整教程文档](https://zoidberg-xgd.github.io/PixivFlow/) | [English](README_EN.md) | [中文](README.md)
26
-
27
- </div>
28
-
29
- ---
30
-
31
- ## 快速导航
32
-
33
- [功能特性](#功能特性) • [快速开始](#快速开始) • [使用指南](#cli-命令行工具) • [配置说明](#核心配置) • [完整文档](docs/README.md)
34
-
35
- ---
36
-
37
- <a id="什么是-pixivflow"></a>
38
- ## 什么是 PixivFlow?
39
-
40
- **PixivFlow** 是一个**完全独立运行**的 Pixiv 作品批量下载工具,专为自动化设计。无需浏览器扩展,可在命令行或服务器上自动化运行,支持定时任务、智能去重、断点续传等功能。
41
-
42
- 作为一款专业的 **Pixiv 下载器**,PixivFlow 提供批量下载、URL 直接下载、定时任务、Docker 部署等核心功能,无论是个人使用还是服务器部署,都能帮助你高效地收集和管理 Pixiv 作品。
43
-
44
- <a id="为什么选择-pixivflow"></a>
45
- ### 为什么选择 PixivFlow?
46
-
47
- 与其他 Pixiv 下载工具相比,PixivFlow 专注于**自动化**和**服务器部署**场景:
48
-
49
- | 优势 | 说明 |
50
- |------|------|
51
- | **完全独立运行** | 无需浏览器扩展,纯命令行工具,可在任何环境运行(服务器、Docker、CI/CD) |
52
- | **真正的自动化** | 设置一次,永久运行。支持 Cron 定时任务,无需人工干预 |
53
- | **服务器友好** | 专为服务器设计,支持后台运行、进程管理、日志轮转 |
54
- | **安全可靠** | 采用 OAuth 2.0 PKCE 标准流程,保障账号安全,避免密码泄露风险 |
55
- | **轻量级部署** | 资源占用低,无需额外服务(如数据库、Redis),SQLite 即可 |
56
- | **开箱即用** | 丰富的脚本工具和配置向导,3 步即可开始使用 |
57
-
58
- <a id="核心理念"></a>
59
- ### 核心理念
60
-
61
- - **自动化优先**:设置一次,自动运行,无需人工干预
62
- - **智能化管理**:自动去重、断点续传、错误重试
63
- - **简单易用**:3 步开始使用,配置向导引导完成
64
- - **开箱即用**:丰富的脚本工具,无需记忆复杂命令
65
-
66
- ---
67
-
68
- <a id="功能特性"></a>
69
- ## 功能特性
70
-
71
- <a id="核心功能"></a>
72
- ### 核心功能
73
-
74
- | 功能 | 说明 |
75
- |------|------|
76
- | **批量下载** | 支持插画和小说批量下载,可配置下载数量、筛选条件 |
77
- | **标签搜索** | 按标签搜索作品,支持精确匹配、部分匹配等多种模式 |
78
- | **随机下载** | 一键下载随机热门标签作品,快速体验工具功能 |
79
- | **定时任务** | Cron 表达式配置,支持每天、每周、每月定时自动下载 |
80
- | **智能筛选** | 按收藏数、日期范围、作品类型等多维度筛选 |
81
- | **语言检测** | 自动检测小说语言,支持按语言过滤(仅中文/仅非中文) |
82
- | **自动去重** | SQLite 数据库记录历史,自动跳过已下载作品 |
83
- | **断点续传** | 下载中断后自动恢复,无需重新开始 |
84
- | **错误处理** | 自动重试、错误恢复、智能跳过已删除/私有作品 |
85
- | **统计报告** | 详细的运行日志和下载统计报告 |
86
-
87
- <a id="额外优势"></a>
88
- ### 额外优势
89
-
90
- - **完全独立**:无需浏览器,纯命令行工具
91
- - **跨平台支持**:Windows / macOS / Linux,可在任何环境运行
92
- - **轻量级**:资源占用低,适合服务器长期运行
93
- - **开源免费**:GPL-3.0 许可证,可自由定制和分发
94
- - **类型安全**:TypeScript 编写,类型提示完善
95
- - **文档完善**:详细的中文文档和教程
96
-
97
- ---
98
-
99
- <a id="快速开始"></a>
100
- ## 快速开始
101
-
102
- <a id="环境要求"></a>
103
- ### 环境要求
104
-
105
- - **Node.js 18+** 和 **npm 9+**(推荐使用 LTS 版本:18.x, 20.x, 22.x 或 24.x)
106
- - **Pixiv 账号**
107
- - **Windows 用户**:推荐使用 WSL(`wsl --install`)或 Git Bash
108
- - **Android/Termux 用户**:需要安装构建工具,详见 [Termux 安装指南](docs/TERMUX_INSTALL.md)
109
-
110
- > **Node.js 版本说明**:
111
- > - 推荐使用 **LTS(长期支持)版本**:18.x, 20.x, 22.x 或 24.x
112
- > - 避免使用奇数版本(如 19.x, 21.x, 23.x),这些版本可能不被所有依赖包支持
113
- > - 如果看到 `EBADENGINE` 警告,建议切换到 LTS 版本
114
- >
115
- > **登录说明**:项目默认使用 Node.js 库进行登录,**无需 Python**。Python gppt 仅作为后备方案(可选)。
116
- > **详细指南**:查看 [快速开始指南](docs/QUICKSTART.md)
117
-
118
- <a id="快速安装推荐"></a>
119
- ### 快速安装(推荐)
120
-
121
- #### 方式 1:从 npm 安装(最简单)
16
+ 需要 Node.js 18 或更高版本(LTS)。
122
17
 
123
18
  ```bash
124
- # 全局安装
125
19
  npm install -g pixivflow
126
-
127
- # 验证安装
128
20
  pixivflow --help
129
-
130
- # 登录账号
131
- pixivflow login
132
-
133
- # 开始下载
134
- pixivflow download
135
21
  ```
136
22
 
137
- > 👇 也可以直接指定配置文件路径运行:
23
+ 服务器部署推荐 Docker Compose,见 [DOCKER.md](docs/DOCKER.md);
24
+ 从源码构建:
138
25
 
139
26
  ```bash
140
- # 使用 --config 指定配置
141
- pixivflow download --config "$(pwd)/config/standalone.config.json"
142
-
143
- # 或使用环境变量(对所有命令生效)
144
- export PIXIV_DOWNLOADER_CONFIG="$(pwd)/config/standalone.config.json"
145
- pixivflow download
146
- ```
147
-
148
- #### 方式 2:从源码安装
149
-
150
- ```bash
151
- # 1. 克隆仓库
152
- git clone https://github.com/zoidberg-xgd/pixivflow.git
153
- cd pixivflow
154
-
155
- # 2. 安装依赖
27
+ git clone https://github.com/redtidev1918/PixivFlow.git
28
+ cd PixivFlow
156
29
  npm install
157
-
158
- # 3. 登录账号
159
- npm run login
160
-
161
- # 4. 开始下载
162
- npm run download
30
+ npm run build
163
31
  ```
164
32
 
165
- **或使用一键脚本**(自动完成所有设置):
33
+ Termux / Android 环境见 [TERMUX_INSTALL.md](docs/TERMUX_INSTALL.md)。
166
34
 
167
- ```bash
168
- ./scripts/quick-start.sh
169
- ```
170
-
171
- ---
172
-
173
- > **提示**:
174
- > - 配置文件位于 `~/.pixivflow/config/standalone.config.json`,或使用 `--config` 指定路径
175
- > - 首次使用需要运行 `pixivflow login` 进行登录
176
- > - **更多安装方式**:从源码安装、Docker 部署等,请查看 [快速开始指南](docs/QUICKSTART.md)
177
- > - **配置文件管理**:查看 [配置指南](docs/CONFIG.md) 了解配置文件的使用方法
35
+ ## 快速上手
178
36
 
179
- ---
180
-
181
- ### WebUI 后端 API(可选)
182
-
183
- PixivFlow 提供了 WebUI 后端 API 服务,支持通过 RESTful API 和 WebSocket 进行管理:
37
+ 登录 Pixiv 账号(生成 OAuth 凭据,只需一次):
184
38
 
185
39
  ```bash
186
- # 启动 WebUI 后端 API 服务
187
- pixivflow webui # 默认端口 3000
188
-
189
- # 或使用环境变量指定端口
190
- PORT=8080 pixivflow webui
40
+ pixivflow login # 本机有浏览器
41
+ pixivflow login-headless # 无图形界面的服务器
191
42
  ```
192
43
 
193
- **主要功能**:
194
- - **认证 API**:登录、登出、Token 管理
195
- - **配置管理 API**:查看、编辑、备份、恢复配置
196
- - **下载管理 API**:启动/停止下载、查看任务状态
197
- - **统计 API**:下载统计、文件列表
198
- - **日志 API**:查看运行日志(支持 WebSocket 实时推送)
199
- - **文件管理 API**:文件列表、预览、操作
200
-
201
- > **说明**:
202
- > - PixivFlow 只提供后端 API,不包含前端界面
203
- > - **前端项目**:现代化的 React 前端界面请查看 [pixivflow-webui](https://github.com/zoidberg-xgd/pixivflow-webui)
204
- > - 可以通过 API 直接调用,或连接其他前端项目
205
- > - **API 文档**:查看 [使用指南](docs/USAGE.md) 了解详细的 API 使用方法
206
-
207
- ---
208
-
209
- ### Docker 部署(推荐)
210
-
211
- Docker 部署无需安装 Node.js 环境:
44
+ 下载一个作品——直接粘贴任意 Pixiv 链接(插画、小说、系列、用户主页均可识别):
212
45
 
213
46
  ```bash
214
- # 快速开始
215
- cp config/standalone.config.example.json config/standalone.config.json
216
- npm run login # 在主机上登录
217
- docker-compose up -d # 启动服务
47
+ pixivflow download --url https://www.pixiv.net/artworks/123456789
218
48
  ```
219
49
 
220
- > **详细说明**:查看 [Docker 使用指南](docs/DOCKER.md) 了解完整的部署方法和常见问题
221
-
222
- ---
50
+ 按配置批量下载并启动定时任务:
223
51
 
224
- ## CLI 命令行工具
225
-
226
- > **推荐使用**:全局安装后可直接使用 `pixivflow` 命令,无需依赖项目目录中的脚本。
227
-
228
- <a id="核心命令"></a>
229
- ### 核心命令
230
-
231
- ```bash
232
- # 全局安装后使用
233
- pixivflow login # 登录 Pixiv 账号
234
- pixivflow download # 执行下载
235
- pixivflow download --url <url> # 通过 URL 直接下载(支持插画/小说/系列)
236
- pixivflow random # 随机下载
237
- pixivflow scheduler # 启动定时任务
238
- pixivflow normalize # 整理文件
239
- pixivflow migrate-config # 迁移配置
240
- pixivflow health # 健康检查(推荐)
241
- pixivflow status # 查看下载统计和最近记录
242
- pixivflow logs # 查看运行日志
243
- pixivflow setup # 交互式配置向导(首次使用)
244
- pixivflow dirs # 查看目录信息(文件保存位置)
245
- ```
246
-
247
- **URL 下载示例**:
248
52
  ```bash
249
- # 下载插画
250
- pixivflow download --url "https://www.pixiv.net/artworks/12345678"
251
-
252
- # 下载小说
253
- pixivflow download --url "https://www.pixiv.net/novel/show.php?id=26132156"
254
-
255
- # 下载小说系列
256
- pixivflow download --url "https://www.pixiv.net/novel/series/14690617"
257
-
258
- # 下载用户的所有作品
259
- pixivflow download --url "https://www.pixiv.net/users/123456"
260
- ```
261
-
262
- #### 无图形界面服务器的登录方式(使用现有 refresh token)
263
-
264
- ```bash
265
- # 直接使用 refresh token 登录(会自动写入配置文件)
266
- pixivflow refresh <your_refresh_token>
267
-
268
- # 等价别名:
269
- pixivflow login-token <your_refresh_token>
270
- pixivflow set-token <your_refresh_token>
271
- ```
272
-
273
- > 适用于没有图形浏览器的服务器;若没有 token,可在本地运行 `pixivflow login` 获取后复制到服务器。
274
-
275
- <a id="配置管理"></a>
276
- ### 配置管理
277
-
278
- ```bash
279
- pixivflow config # 配置管理(查看/编辑/备份/恢复)
280
- pixivflow config show # 查看配置
281
- pixivflow config set <key> <value> # 设置配置项(如:storage.downloadDirectory)
282
- pixivflow config backup # 备份配置
283
- pixivflow config restore # 恢复配置
284
- pixivflow config validate # 验证配置
285
- pixivflow config edit # 编辑配置
286
- ```
287
-
288
- **配置设置示例**:
289
- ```bash
290
- # 设置下载目录
291
- pixivflow config set storage.downloadDirectory ./my-downloads
292
-
293
- # 设置插画目录
294
- pixivflow config set storage.illustrationDirectory ./my-illustrations
295
-
296
- # 设置小说目录
297
- pixivflow config set storage.novelDirectory ./my-novels
298
- ```
299
-
300
- <a id="监控与维护"></a>
301
- ### 监控与维护
302
-
303
- ```bash
304
- pixivflow monitor # 实时监控进程状态和性能指标
305
- pixivflow maintain # 自动维护(清理日志、优化数据库等)
306
- pixivflow backup # 自动备份配置和数据
53
+ pixivflow download
54
+ pixivflow scheduler # cron 配置长期挂机自动收集
307
55
  ```
308
56
 
309
- > 📖 **详细说明**:查看 [脚本使用指南](docs/SCRIPTS.md)
310
-
311
- ---
57
+ ## 下载目标
312
58
 
313
- ## 脚本工具
59
+ 在配置文件的 `targets` 中定义要收集的内容,多个条件可以组合:
314
60
 
315
- <a id="脚本工具"></a>
61
+ | 字段 | 说明 | 示例 |
62
+ | --- | --- | --- |
63
+ | `type` | 内容类型:`illustration` 或 `novel` | `illustration` |
64
+ | `tag` | 搜索标签,支持多标签 OR | `"風景"` / `["水彩","厚涂"]` |
65
+ | `limit` | 单次下载数量上限 | `20` |
66
+ | `minBookmarks` | 最低收藏数 | `500` |
67
+ | `startDate` / `endDate` | 发布日期范围 | `"2025-01-01"` |
316
68
 
317
- PixivFlow 提供了丰富的脚本工具,所有脚本直接调用内置 CLI,性能更好、响应更快。
69
+ 已下载的作品由 SQLite 数据库记录并自动跳过;文件存在但缺少记录时会自动补齐,
70
+ 两者互不冲突。
318
71
 
319
- > **说明**:PixivFlow 完全独立,可在任何环境运行(服务器、Docker、CI/CD)。所有功能都可通过命令行使用。
72
+ 交互式配置向导:`pixivflow setup`。
320
73
 
321
- ### 主控脚本(最常用)
322
-
323
- ```bash
324
- ./scripts/pixiv.sh <command>
325
- ```
74
+ ## 常用命令
326
75
 
327
76
  | 命令 | 说明 |
328
- |------|------|
329
- | `setup` | 交互式配置向导(首次必须运行) |
330
- | `login` | 登录 Pixiv 账号(交互式,直接调用内置CLI) |
331
- | `test` | 测试下载(下载少量作品验证配置) |
332
- | `once` | 执行一次下载 |
333
- | `random` | 随机下载一个热门标签作品(支持 `--novel` 下载小说) |
334
- | `run` | 启动定时任务(后台持续运行) |
335
- | `stop` | 停止运行的定时任务 |
336
- | `status` | 查看当前运行状态 |
337
- | `check` | 环境检查(支持 `--fix` 自动修复) |
338
- | `update` | 一键更新和修复(更新代码、依赖、修复错误) |
339
- | `health` | 健康检查(检查配置、网络等)<br>**全局安装后使用**: `pixivflow health` |
340
- | `status` | 查看下载统计和最近记录<br>**全局安装后使用**: `pixivflow status` |
341
- | `logs` | 查看运行日志<br>**全局安装后使用**: `pixivflow logs` |
342
- | `config` | 配置管理工具(查看/编辑/备份/恢复)<br>**全局安装后使用**: `pixivflow config` |
343
- | `backup` | 自动备份配置和数据<br>**全局安装后使用**: `pixivflow backup` |
344
- | `maintain` | 自动维护(清理日志、优化数据库等)<br>**全局安装后使用**: `pixivflow maintain` |
345
- | `monitor` | 实时监控进程状态和性能指标<br>**全局安装后使用**: `pixivflow monitor` |
346
- | `setup` | 交互式配置向导(首次使用)<br>**全局安装后使用**: `pixivflow setup` |
347
-
348
- ### 其他工具
349
-
350
- ```bash
351
- # 环境检查和修复
352
- ./scripts/pixiv.sh check --fix # 自动修复环境问题
353
- ./scripts/pixiv.sh update # 一键更新和修复
354
- ```
355
-
356
- > 📖 **详细说明**:查看 [脚本使用指南](docs/SCRIPTS.md)
357
-
358
- ---
359
-
360
- <a id="文档导航"></a>
361
- ## 文档导航
362
-
363
- > **完整文档索引**: 查看 [文档导航](docs/README.md) 获取所有文档的完整列表和分类
364
-
365
- ### 新手必读(按顺序阅读)
366
-
367
- | 文档 | 说明 |
368
- |------|------|
369
- | [QUICKSTART](docs/QUICKSTART.md) | **3 分钟快速上手** - 最快开始使用 |
370
- | [LOGIN](docs/LOGIN.md) | **登录流程详解** - 登录问题解决方案 |
371
- | [USAGE](docs/USAGE.md) | **使用指南** - 功能使用说明 |
77
+ | --- | --- |
78
+ | `pixivflow download` | 按配置执行下载 |
79
+ | `pixivflow download --url <url>` | 通过 URL 直接下载 |
80
+ | `pixivflow random` | 随机下载热门作品 |
81
+ | `pixivflow scheduler` | 启动定时任务 |
82
+ | `pixivflow config` | 配置管理(查看 / 编辑 / 备份 / 恢复) |
83
+ | `pixivflow status` | 下载统计与最近记录 |
84
+ | `pixivflow health` | 健康检查:配置、目录可写性、连通性 |
372
85
 
373
- ### 功能指南
86
+ 其他用法见 [CLI_MIGRATION_SUMMARY.md](docs/CLI_MIGRATION_SUMMARY.md)。
374
87
 
375
- | 文档 | 说明 |
376
- |------|------|
377
- | [CONFIG](docs/CONFIG.md) | **配置文件使用指南** - 所有配置选项详解 |
378
- | [SCRIPTS](docs/SCRIPTS.md) | **脚本使用指南** - 所有脚本详细说明 |
379
-
380
- ### 部署和环境
381
-
382
- | 文档 | 说明 |
383
- |------|------|
384
- | [DOCKER](docs/DOCKER.md) | **Docker 使用指南** - Docker 部署和使用(包含常见问题解决方案) |
385
- | [TERMUX](docs/TERMUX_INSTALL.md) | **Termux/Android 安装指南** - Android 设备上的安装和使用 |
88
+ ## 文档
386
89
 
387
- ### 项目文档
90
+ 完整教程站点:<https://redtidev1918.github.io/PixivFlow/>
388
91
 
389
92
  | 文档 | 说明 |
390
- |------|------|
391
- | [ARCHITECTURE](docs/ARCHITECTURE.md) | **架构说明** - 项目架构和技术实现细节 |
392
- | [CLI_MIGRATION](docs/CLI_MIGRATION_SUMMARY.md) | **CLI 命令移植总结** - CLI 命令迁移和功能对照 |
93
+ | --- | --- |
94
+ | [QUICKSTART](docs/QUICKSTART.md) | 三分钟上手 |
95
+ | [CONFIG](docs/CONFIG.md) | 全部配置项说明 |
96
+ | [USAGE](docs/USAGE.md) | 功能详解 |
97
+ | [LOGIN](docs/LOGIN.md) | 账号登录相关 |
98
+ | [DOCKER](docs/DOCKER.md) | 容器化部署方案 |
99
+ | [ARCHITECTURE](docs/ARCHITECTURE.md) | 架构与技术实现 |
100
+ | [RELEASING](docs/RELEASING.md) | npm 发版流程 |
393
101
  | [CHANGELOG](docs/project/CHANGELOG.md) | 版本更新日志 |
394
- | [CONTRIBUTING](docs/project/CONTRIBUTING.md) | 贡献指南 |
395
-
396
- ---
397
-
398
- <a id="使用场景"></a>
399
- ## 使用场景
400
-
401
- ### 常见使用方式
402
-
403
- | 场景 | 命令 | 说明 |
404
- |------|------|------|
405
- | **快速体验** | `pixivflow random` | 随机下载热门作品,快速上手 |
406
- | **一次性下载** | `pixivflow download` | 按配置文件执行一次下载 |
407
- | **定时自动化** | `pixivflow scheduler` | 启动定时任务,自动化收集 |
408
- | **URL 下载** | `pixivflow download --url <url>` | 直接下载指定作品或用户 |
409
-
410
- > 💡 **详细配置示例**:查看 [配置文件使用指南](docs/CONFIG.md) 了解各种使用场景的完整配置方法
411
-
412
- ---
413
-
414
-
415
- <a id="核心配置"></a>
416
- ## 核心配置
417
-
418
- ### 快速配置
419
-
420
- ```bash
421
- # 首次使用 - 交互式配置向导
422
- pixivflow setup
423
-
424
- # 或手动编辑配置文件
425
- pixivflow config edit
426
- ```
427
-
428
- ### 基本配置结构
429
-
430
- ```json
431
- {
432
- "targets": [
433
- {
434
- "type": "illustration", // 内容类型:illustration 或 novel
435
- "tag": "風景", // 搜索标签
436
- "limit": 20, // 下载数量
437
- "minBookmarks": 500 // 最低收藏数(可选)
438
- }
439
- ],
440
- "scheduler": {
441
- "enabled": true, // 启用定时任务
442
- "cron": "0 2 * * *" // 每天 2:00 执行
443
- }
444
- }
445
- ```
446
-
447
- > 📚 **完整配置说明**:查看 [配置文件使用指南](docs/CONFIG.md) 了解所有配置选项和详细示例
448
-
449
- ---
450
-
451
- ## 使用建议
452
-
453
- - 首次使用运行 `pixivflow setup` 进行配置
454
- - 使用 `pixivflow health` 检查配置和网络状态
455
- - 定期使用 `pixivflow backup` 备份数据
456
-
457
- ---
458
-
459
- ## 🐛 常见问题
460
-
461
- 遇到问题?试试这些快速解决方案:
462
-
463
- | 问题 | 解决方法 |
464
- |------|----------|
465
- | **登录失败** | `pixivflow login` 重新登录 |
466
- | **找不到作品** | 检查标签拼写,降低 `minBookmarks` 值 |
467
- | **下载失败** | `pixivflow health` 检查网络和配置 |
468
- | **定时任务异常** | `pixivflow status` 查看运行状态 |
469
-
470
- > 📖 **详细故障排除**:查看 [使用指南](docs/USAGE.md) 了解完整的问题解决方案
471
-
472
- ---
473
-
474
- ## 安全提示
475
-
476
- ⚠️ **重要**:配置文件包含敏感的认证信息,请勿分享或提交到代码仓库。如需帮助,请删除敏感信息后再分享配置内容。
477
-
478
- ---
479
-
480
- ## 进阶使用
481
-
482
- 需要服务器部署、代理配置、多任务管理等高级功能?
483
-
484
- > 📖 **完整指南**:查看 [使用指南](docs/USAGE.md) 和 [Docker 部署指南](docs/DOCKER.md) 了解详细的进阶使用方法
485
-
486
- ---
487
-
488
- <a id="开源许可"></a>
489
- ## 开源许可
490
-
491
- 本项目采用 [GPL-3.0-or-later](LICENSE) 许可证开源。
492
-
493
- **这意味着:**
494
- - ✅ 可以自由使用、修改和分发
495
- - ✅ 修改后的代码也必须开源
496
- - ✅ 需要保留原作者信息和许可证声明
497
-
498
- ---
499
-
500
- <a id="致谢"></a>
501
- ## 致谢
502
-
503
- ### 灵感来源
504
-
505
- - [PixivBatchDownloader](https://github.com/xuejianxianzun/PixivBatchDownloader) - 浏览器扩展版本
506
- - [get-pixivpy-token](https://github.com/eggplants/get-pixivpy-token) - OAuth 认证实现参考
507
-
508
- ### 感谢所有贡献者 🎉
509
-
510
- ---
511
-
512
- <a id="获取帮助"></a>
513
- ## 获取帮助
514
-
515
- | 类型 | 渠道 | 说明 |
516
- |------|------|------|
517
- | 🐛 **Bug 反馈** | [GitHub Issues](https://github.com/zoidberg-xgd/pixivflow/issues) | 报告问题和错误 |
518
- | 💡 **功能建议** | [GitHub Discussions](https://github.com/zoidberg-xgd/pixivflow/discussions) | 提出新功能想法 |
519
- | 📖 **使用问题** | [查看文档](docs/README.md) | 查阅完整文档 |
520
- | ✅ **环境检查** | `./scripts/pixiv.sh health` | 运行健康检查 |
521
- | 💬 **社区交流** | [Discussions](https://github.com/zoidberg-xgd/pixivflow/discussions) | 与其他用户交流 |
522
-
523
- **提问前请先**:
524
- 1. 🔍 查看 [常见问题](#常见问题) 章节
525
- 2. 📖 阅读相关文档
526
- 3. ✅ 运行健康检查 `./scripts/pixiv.sh health`
527
- 4. 📋 查看运行日志 `./scripts/pixiv.sh logs`
528
-
529
- ---
530
-
531
- <a id="项目统计"></a>
532
- ## 项目统计
533
-
534
- <div align="center">
535
-
536
- ### 项目数据
537
-
538
- ![GitHub repo size](https://img.shields.io/github/repo-size/zoidberg-xgd/pixivflow?style=flat-square)
539
- ![GitHub language count](https://img.shields.io/github/languages/count/zoidberg-xgd/pixivflow?style=flat-square)
540
- ![GitHub top language](https://img.shields.io/github/languages/top/zoidberg-xgd/pixivflow?style=flat-square)
541
- ![GitHub last commit](https://img.shields.io/github/last-commit/zoidberg-xgd/pixivflow?style=flat-square)
542
-
543
- </div>
544
-
545
- ### 性能指标
546
-
547
- - ⚡ **启动速度**:< 2 秒
548
- - 📦 **包大小**:< 5 MB(不含依赖)
549
- - 💾 **内存占用**:< 100 MB(运行时)
550
- - 🔄 **下载速度**:支持并发下载,智能限流和动态并发调整
551
- - 📊 **数据库**:SQLite,轻量级,无需额外服务
552
-
553
- ---
554
-
555
- <a id="贡献"></a>
556
- ## 贡献
557
-
558
- 我们欢迎所有形式的贡献!无论是报告 Bug、提出功能建议,还是提交代码,都非常感谢。
559
-
560
- ### 如何贡献
561
-
562
- 1. **Fork 项目**
563
- 2. **创建特性分支** (`git checkout -b feature/AmazingFeature`)
564
- 3. **提交更改** (`git commit -m 'Add some AmazingFeature'`)
565
- 4. **推送到分支** (`git push origin feature/AmazingFeature`)
566
- 5. **开启 Pull Request**
567
-
568
- ### 贡献指南
569
-
570
- 详细的贡献指南请查看 [CONTRIBUTING.md](docs/project/CONTRIBUTING.md),包含:
571
- - 行为准则
572
- - 开发环境设置
573
- - 代码规范
574
- - 提交规范
575
- - Pull Request 流程
576
-
577
- ---
578
-
579
- <a id="更新日志"></a>
580
- ## 更新日志
581
-
582
- 查看 [CHANGELOG.md](docs/project/CHANGELOG.md) 了解详细的版本更新记录。
583
-
584
- ---
585
-
586
- <a id="支持项目"></a>
587
- ## 支持项目
588
-
589
- 如果这个项目对你有帮助,请考虑:
590
-
591
- - ⭐ **给项目一个 Star** - 让更多人发现这个项目
592
- - 🍴 **Fork 项目** - 创建你自己的版本
593
- - 🐛 **报告 Bug** - 帮助我们改进
594
- - 💡 **提出建议** - 分享你的想法
595
- - 📢 **分享给更多人** - 让更多人受益
596
- - 💻 **贡献代码** - 参与项目开发
597
-
598
- <div align="center">
599
-
600
- ### ⭐ Star 这个项目
601
-
602
- **[⭐ Star on GitHub](https://github.com/zoidberg-xgd/pixivflow)** - 让更多人发现 PixivFlow!
603
-
604
- ---
605
-
606
- Made with ❤️ by [zoidberg-xgd](https://github.com/zoidberg-xgd)
607
102
 
608
- **PixivFlow** - 让 Pixiv 作品收集变得优雅而高效
103
+ English version: [README_EN.md](README_EN.md).
609
104
 
610
- [⬆ 回到顶部](#pixivflow)
105
+ ## 问题反馈
611
106
 
612
- ---
107
+ Bug 与功能建议请提交到
108
+ [Issues](https://github.com/redtidev1918/PixivFlow/issues),
109
+ 提交前建议先运行 `pixivflow health` 并附上输出(注意删除 token 等敏感信息,
110
+ 配置文件中包含认证信息,请勿直接分享)。安全漏洞的处理方式见
111
+ [SECURITY.md](SECURITY.md)。
613
112
 
614
- **相关链接**:
615
- - [npm 包](https://www.npmjs.com/package/pixivflow)
616
- - [GitHub 仓库](https://github.com/zoidberg-xgd/PixivFlow)
617
- - [前端项目 (pixivflow-webui)](https://github.com/zoidberg-xgd/pixivflow-webui)
618
- - [完整文档](docs/README.md)
619
- - [问题反馈](https://github.com/zoidberg-xgd/PixivFlow/issues)
620
- - [讨论区](https://github.com/zoidberg-xgd/PixivFlow/discussions)
113
+ ## 许可证
621
114
 
622
- </div>
115
+ [MIT](LICENSE)