配置参考¶
Note
本页是完整的底层参考。除非明确需要环境变量或生成配置,否则建议使用 WebUI 中的本地化表单。
环境变量名称以 KTOOLBOX_ 开头,嵌套模型字段使用 __ 连接。表中标为 path、set 或 list 的类型由 Pydantic 解析;dotenv 文件中的集合应使用 JSON 数组。
在窄屏设备上,可横向滑动表格查看全部列。
根配置¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ssl_verify |
布尔值 | True |
为 API 和下载请求校验 TLS 证书。 |
json_dump_indent |
整数 | 4 |
JSON 输出的缩进。 |
use_uvloop |
布尔值 | True |
已安装时,在 Unix 使用 uvloop,在 Windows 使用 winloop。 |
api¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
scheme |
http / https |
https |
API URL 协议。 |
netloc |
字符串 | pawchive.pw |
API 主机。 |
statics_netloc |
字符串 | pawchive.pw |
作者静态资源主机。 |
path |
字符串 | /api/v1 |
API 根路径。 |
timeout |
浮点数 | 5.0 |
单次请求超时秒数。 |
retry_times |
整数 | 3 |
传输错误、429 和 5xx 的额外尝试次数。 |
retry_interval |
浮点数 | 2.0 |
API 尝试间隔秒数。 |
API 配置组有意不包含会话密钥。
downloader¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
scheme |
http / https |
https |
文件 URL 协议。 |
files_netloc |
字符串 | file.pawchive.pw |
Pawchive 文件主机。 |
file_path_prefix |
字符串 | /data |
添加到 API 文件路径前的前缀。 |
session_key |
字符串 | 空 | 只发送给文件请求的可选 Cookie。 |
timeout |
浮点数 | 30.0 |
文件请求超时秒数。 |
encoding |
字符串 | utf-8 |
名称和提取文本的编码。 |
buffer_size |
整数 | 20480 |
文件 I/O 缓冲区字节数。 |
chunk_size |
整数 | 1024 |
数据流分块字节数。 |
temp_suffix |
字符串 | tmp |
未完成下载的后缀。 |
retry_times |
整数 | 10 |
下载的额外尝试次数。 |
retry_stop_never |
布尔值 | False |
永久重试并忽略 retry_times。 |
retry_interval |
浮点数 | 3.0 |
下载尝试间隔秒数。 |
tps_limit |
浮点数 | 5.0 |
每秒新建连接上限。 |
use_bucket |
布尔值 | False |
启用按内容寻址的本地硬链接存储。 |
bucket_path |
路径 | .ktoolbox/bucket_storage |
本地存储桶目录。 |
reverse_proxy |
字符串 | {} |
下载 URL 模板;{} 替换为源 URL。 |
keep_metadata |
布尔值 | True |
可用时保留远端修改时间等元数据。 |
目标文件系统无法创建硬链接时,存储桶模式会自动禁用。
job¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
count |
整数 | 4 |
并发下载工作器数量。 |
creator_concurrency |
整数 | 4 |
向共享文件工作器提供任务的并发作者生产者数量。 |
include_revisions |
布尔值 | False |
为当前作品包含所有已知修订。 |
allow_list |
集合 | 空 | 允许的 Unix shell 文件名模式。 |
block_list |
集合 | 空 | 排除的 Unix shell 文件名模式。 |
extract_content |
布尔值 | False |
单独保存作品正文。 |
extract_content_images |
布尔值 | False |
下载正文引用的图片。 |
extract_external_links |
布尔值 | False |
保存正文中匹配的外部链接。 |
external_link_patterns |
列表 | 内置 | 提取外部链接使用的正则表达式。 |
keywords |
集合 | 空 | 标题需包含的不区分大小写词语。 |
keywords_exclude |
集合 | 空 | 弃用的标题排除项,会转换为隐式全局忽略规则。 |
download_file |
布尔值 | True |
下载作品主文件,通常为封面。 |
download_attachments |
布尔值 | True |
下载附件。 |
min_file_size |
整数 / 省略 | 省略 | 跳过小于该字节数的文件。 |
max_file_size |
整数 / 省略 | 省略 | 跳过大于该字节数的文件。 |
项目 ktoolbox.toml¶
项目文档独立于环境配置。路径依次从全局 --config、KTOOLBOX_PROJECT_CONFIG、./ktoolbox.toml 解析。
根字段¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
schema_version |
字面量 5 |
5 |
项目 Schema 版本;旧版文档会在保存时升级。 |
creators |
表数组 | 空 | 已保存作者清单。 |
blockers |
表数组 | 空 | 有序忽略规则定义。 |
default_output |
字符串 | downloads |
默认下载目录。相对路径从项目根目录解析;绝对路径可指向项目外。 |
naming |
表 | 项目默认值 | 目录布局与文件名模板;旧下载位置仅在转换工具中填写。详见命名格式指南。 |
automatic_sync |
表数组 | 空 | 定时作者同步计划。详见自动同步指南。 |
作者项¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
service |
非空字符串 | 必填 | Pawchive 平台。 |
creator_id |
非空字符串 | 必填 | Pawchive 作者 ID。 |
alias |
字符串 / 省略 | 省略 | 唯一 CLI 目标,禁止 :。 |
enabled |
布尔值 | True |
是否包含在无目标 sync 中。 |
忽略规则项¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id |
标识符 | 必填 | 唯一 ID,只允许字母、数字、.、_、-。 |
type |
字符串 | field-match |
已注册忽略规则实现,未知类型会被拒绝。 |
enabled |
布尔值 | True |
是否参与求值。 |
scope.mode |
global / creators |
global |
全局应用或仅作用于所选身份。 |
scope.creators |
service:id 列表 |
空 | 作者作用域必须非空;全局作用域禁止填写。 |
options.rule |
条件组 | field-match 必填 |
根递归规则。 |
条件组使用 kind = "group"、mode = "any" 或 "all"、非空 conditions 列表及可选 negate。字段条件使用 kind = "field"、安全点路径 field、contains、equals、regex、exists 之一,以及可选 case_sensitive、negate 或 expected。非 exists 操作符要求非空 values;exists 禁止 values。
published_time¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
target_timezone |
IANA 时区 | UTC |
命名、分组、筛选和 WebUI 展示使用的目标时区。 |
fallback_service_timezone |
IANA 时区 | UTC |
Service 未单独配置时,用来解释无时区 published 的时区。 |
service_timezones |
映射 | Fanbox 东京、Patreon UTC | 按 Pawchive Service 解释无时区 published 的 IANA 时区。 |
webui¶
仅在安装 ktoolbox[webui] 后需要这些配置,启动本身无需预先设置:用户名留空时使用 admin;两种密码均留空时,服务会生成随机密码、在终端输出有效凭据,并且只在本次进程中保留。
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
host |
字符串 | 0.0.0.0 |
HTTP 监听接口;可信局域网以外建议使用 127.0.0.1。 |
port |
整数 | 8789 |
HTTP 监听端口,范围 1–65535。 |
open_browser |
布尔值 | True |
启动后打开本机面板 URL。 |
username |
字符串 | 空 | 可选用户名;留空时启动过程使用 admin。 |
password_hash |
秘密字符串 | 空 | 推荐的固定 Argon2id 密码哈希。 |
password |
秘密字符串 | 空 | 明文后备值;两种密码均留空时由启动过程生成。 |
max_active_tasks |
整数 | 2 |
顶层并发任务数,范围 1–16。 |
session_idle_hours |
整数 | 24 |
从最后一次使用开始计算的会话期限。 |
session_absolute_hours |
整数 | 168 |
从登录时间开始计算的会话最长期限。 |
环境变量仍使用常规前缀,例如 KTOOLBOX_WEBUI__PASSWORD_HASH。请用 ktoolbox webui hash-password 生成哈希;Argon2 哈希包含 $,写入 dotenv 时应加引号。命令行 --host、--port、--no-open 只覆盖一次启动。
logger¶
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
path |
路径 / 省略 | 省略 | 日志文件路径;省略时禁用文件日志。 |
level |
字符串 / 整数 | DEBUG |
最低日志级别。 |
rotation |
字符串 / 整数 / 时间 | 1 week |
Loguru 轮换条件。 |