Home page and system check 1.0 preview
The home page puts what you look at every day on one page: the CPU, memory, network, storage pools, disk temperatures and alerts of your NAS, whether today's episodes are in the library, what needs your attention, what you left unfinished on the media server, what was added recently, what airs later this week, and the state of download speeds, disk space, downloaders, the system check and backups. The system check examines the services and settings pt-tools relies on in one pass, and for each item says how it stands and how to fix it.
Opening the home page
The web UI now opens on the home page (at /home). In the navigation it is Overview → Home (概览 → 首页), and it is also the first icon in the narrow rail on the left; on a phone, the Overview (概览) tab in the bottom bar opens it. User statistics (用户统计), which the web UI used to open on, is still under Overview.
The line under the page title says how many episodes air and how many films are released today, how many of those are in the library, and how many things need attention, for example 今天 3 集播出 · 其中 1 集已入库 · 6 件事要处理.
Each block on the home page is read on its own: when one cannot be read, only that block says why (for example 取不到:15 秒内没取到,稍后刷新, could not read it within 15 seconds) and the others are shown as usual. The server caches the home page data for 30 seconds (after a system check finishes, the next visit uses the new result right away); Refresh (刷新) next to the page title (at the bottom of the page on a phone) reads everything again without the cache.
On the desktop the NAS overview is at the top, with airing today and needs attention below it; further down, continue watching, recently added and later this week are on the left, and downloaders, storage and status on the right; in a narrow window the right-hand blocks move below. On a phone everything is in one column, with the NAS overview first.
NAS overview
The card at the top of the home page shows the current CPU, memory, network and storage of one machine. The data comes from the sources in System → NAS monitoring (系统 → NAS 监控; see NAS monitoring): the host pt-tools runs on (the local source) or a NAS you connect. Which one the home page shows is chosen on that page; by default it is the first usable source, or the local one when there is none.
Next to the title is the kind of source (for example 本机, local). On the right is when it was updated: a green dot with 刚刚更新 (updated a moment ago) or 40 秒前更新 (updated 40 seconds ago); the dot turns yellow after 90 seconds without an update, and red when the source cannot be reached, with 连不上 · 这是 3 分钟前的数据 (cannot connect · this data is 3 minutes old). With several sources it also says 另有 N 个来源 (N more sources), or N 个来源有问题 (N sources have problems) when some cannot be reached; hover over it for the state of each. NAS monitoring › (NAS 监控 ›) opens the NAS monitoring page.
Host line: the host name, platform and version (for example
Linux 6.12.15), CPU model and cores, total memory and uptime. When a connected NAS has critical alerts or a storage pool is 80% or more full, the right side says so (2 条严重告警, 2 critical alerts;tank 已用 85%, tank 85% used; red from 90%).Four value cards:
Card Large number Line below Chart below CPU Usage Load, plus I/O wait and CPU temperature when they can be read ( 读不到温度, no temperature, otherwise)Usage over the last 30 ticks Memory Percentage used Used and available The last 30 ticks Network Combined download rate of all interfaces Upload rate Download rate over the last 30 ticks Storage Percentage used across all pools Used and free One segment per pool, sized by capacity, with each pool's usage below A tick is 30 seconds; new bars slide in from the right and the numbers move from the old values to the new ones. When a source cannot read some kind of data, the large number is
—and the line below gives the reason.Storage pools, disks and alerts (connected NAS only): each storage pool with its health and how full it is, with
快满了(almost full) and a yellow bar from 80% and red from 90%, up to 5 pools; one tile per disk with its temperature, type and size, yellow from 50 °C for hard disks and 70 °C for SSD and NVMe,没有温度(no temperature) when it cannot be read, up to 9 disks; the number of critical, warning and info alerts and the latest three, with a line for apps at the bottom: how many are running, the total and how many can be updated.
The local source cannot read network interfaces, storage pools, disks or alerts: the network card becomes 下载器速度 (downloader speed, all downloaders combined), the storage card adds up the disks of the download folders and media libraries on the home page, and the row below lists those disks on the left and says what the local source cannot read on the right.
When the source on the home page cannot be reached, fails to log in or has a certificate problem, a red note at the top of the card gives the reason and when it will try again, and Take a look (去看看) opens NAS monitoring; the data below is the last that was read, in grey. When no source can be shown (for example the local source is off and no NAS is connected), the card says 还没有 NAS 监控来源 (no NAS monitoring source yet) and its button opens NAS monitoring.
While the home page is open it fetches new data every 30 seconds (only what pt-tools already holds in memory, so the NAS gets no extra request), and not while the tab is in the background. With Reduce motion turned on in the system settings, the cards appear, numbers change and bars move without animation.
Airing today
Airing today (今天播出) has a card for each episode of a subscribed series that airs today and each subscribed film released today (the same as today in the subscription calendar). Next to the heading are a count (3 集, 4 集 · 1 部) and See the calendar (看日历). With no subscriptions at all it says 还没有追剧 (not following anything yet) and the link becomes Explore (去探索); with subscriptions but nothing today it says 今天没有要播的集.
Each card has the episode still (or the title's backdrop when there is no still), the state, the name and a subtitle line. Subscriptions that follow air times also show the air time: 20:00 播出 while the state is 还没播, otherwise 19:30.
| State | Subtitle line | Bottom of the card |
|---|---|---|
已入库 (in library) | The episode code and the version of the library file (S02E09 · 2160p HHWEB) | Play (播放) when a media server has the episode: opens it on the server in a new tab; otherwise 已入库 |
下载中 (downloading) | The episode code, site and progress (S03E05 · HDSky 63%) | 下载中,预计 12 分钟 (downloading, about 12 minutes left) |
缺 (missing) | The episode code and how long ago it aired (S01E21 · 播出 6 小时) | Find releases (搜资源): opens torrent search for this title and season (see search by title) |
等版本 (waiting for version) | The episode code and the locked version (S02E09 · 锁定 HHWEB 2160p) | See versions (看版本): opens title details scrolled to this episode |
还没播 (not aired) | The episode code and name | When the search starts: 播出后 2 小时开始搜 (searching 2 hours after airing) for subscriptions that follow air times, 播出就开始搜 when the search starts at air time, otherwise 按追剧计划搜 (searching on the follow schedule) |
不追 (skipped) | The episode code and name | 这一集不追 (this episode is not followed) |
For a film the subtitle line says 电影 · 今天上映 (film, released today), and the version of the library file once it is in the library.
On the desktop the cards are in one row with paging buttons at both ends when they do not fit. On a phone you swipe through them and the dots show which card you are on; tapping a whole card plays an episode that is in the library and on the server, searches for a missing one, and opens title details for the rest.
Needs attention
Needs attention (待处理) is one line with a tag for each kind of thing that needs you, showing how many; the "things need attention" count in the page title is their sum. With nothing to do it says 没有要处理的事.
| Tag | When it appears | Where clicking it goes |
|---|---|---|
整理失败 N (organising failed) | Failed organise records that will not be retried automatically (unrecognised ones are counted separately) | Organise history (整理历史), failed records only |
识别不出 N (not recognised) | Failed and skipped records that could not be recognised | Organise history, with the 没识别出来 (not recognised) category selected |
等版本 N (waiting for version) | Episodes of active subscriptions waiting for the locked version; N counts episodes | Follow and subscribe (追剧与订阅) with 等版本 ticked: only subscriptions with episodes waiting |
某站 签到失败, N 个站点签到失败 (check-in failed) | Enabled sites whose check-in failed today | Automatic check-in (自动签到) |
某站 登录探测失败, N 个站点登录探测失败 (login probe failed) | Enabled sites with login probing on whose last probe was not OK (the same as 登录状态异常 in the daily report) | Site list (站点列表), abnormal sites only |
媒体服务器里删了 N 部 (removed from the media server) | Titles pt-tools organised into the library that are gone from the media server, counted by title | Opens the drawer, handled on the home page (see below) |
库文件不见了 N 个 (library files missing) | Library files the daily check found missing, counted by file | Opens the drawer, handled on the home page (see below) |
备份 N 天没成功, 最近一次备份失败 (backup) | Daily backups are on and the last one failed, or none has succeeded for more than two days | Global settings (全局设置), scrolled to the backup section |
体检有 N 项失败 (system check failures) | The last system check has failed items | System check (系统体检) |
All (全部) opens a drawer on the right (full screen on a phone) with one row per thing, naming the title, site or item, up to 20 rows per kind; clicking a tag lists only that kind in the drawer. For most rows, Go (去处理) opens the page where it is handled; a waiting-for-version row is one subscription and says which episodes are waiting, and Go opens title details scrolled to the first of them.
Titles removed from the media server and missing library files are combined into one row per title (per season for a series) and handled in the drawer:
- Handle (处理) opens the delete dialog with only those episodes selected, the same as Handle on title details. The home page reloads after the deletion.
- Dismiss (忽略) dismisses every issue in the row, the same as dismissing under Removed from the server and Missing library files.
Continue watching
This block appears only when an Emby or Jellyfin server has a Continue-watching user (继续观看的用户) selected (see Continue watching): the films and series that user has not finished, one card each, with the time left (S01E13 · 还剩 18 分钟) and a bar showing how much has been watched. Clicking a card opens the item on the server in a new tab. Next to the heading are the server and user (Jellyfin · admin), and Open in Jellyfin (在 Jellyfin 打开) on the right opens the server's web page.
On the desktop only one row is shown and cards that do not fit are left out; on a phone you swipe through them. Without an Emby or Jellyfin server with a user selected, the whole block is hidden.
Recently added
Recently added (最近入库) shows up to 12 films and series recently organised into the library: the episodes of one season are combined into one entry showing the latest episode (S01E14), and with a media server connected, titles added on the server that pt-tools did not organise are listed too. The top right of a poster shows the quality parsed from the torrent name (Remux or the resolution; not for titles added on the server). Next to the heading is how many were added today, and Organise history (整理历史) on the right opens organise history. Clicking a poster opens title details.
Later this week
Later this week (这周还要播) lists the first 4 subscribed episodes airing and films released in the 6 days from tomorrow, each with the date, the name and episode code, and the air time (only for subscriptions that follow air times). See the rest in the subscription calendar through See the calendar (看日历). Clicking an entry opens title details, scrolled to the episode for a series.
Downloaders, storage and status
Three blocks on the right of the home page (below in a narrow window), top to bottom:
- Downloaders: the title says how many there are, and Task list (任务列表) on the right opens the task list. At the top is the combined download and upload speed of all downloaders (on the desktop also the number of torrents downloading and seeding), with bars for the total speed of the last 20 ticks of 30 seconds each; below is one line per enabled downloader with its download and upload speed, or
离线(offline) and the reason when it cannot be reached. The speeds update every 30 seconds with the status bar at the bottom of the page, without refreshing the home page. The bars are recorded only while someone has the web UI open and start again after pt-tools restarts; when a downloader could not be reached in some tick, hovering over the speeds says that tick only counts the downloaders that answered. - Storage: only when the home page does not show the local source (with the local source these disks are in the NAS overview). The disk of each downloader's default save path (
下载盘 · qb) and of each media library (媒体库 · 电影), with the free space and total size; a disk shared by several of them is listed once with their names joined. A downloader's path is read through its path mapping when it has one; when pt-tools cannot read it, the free space reported by the downloader is used (the total is then unknown and there is no bar). When less than 5% of the total or less than 20 GB is free, the free space and the bar turn red; with 85% or more used, the bar turns yellow. A disk that cannot be read shows取不到(unavailable) and the reason, for example when a downloader is unreachable and its default save path is unknown. - Status: one line each for the system check, backups and the media server; System check › (系统体检 ›) at the top right opens the system check.
- System check: the title gives the result of the last check (
体检:13 项通过,1 项提醒, 13 passed, 1 warning), the line below names the first failure (or the first warning when nothing failed), and the right side shows when the check ran; clicking it opens the system check. Without any check yet it says体检:没体检过(never checked) and the right side says Check (体检). - Backup: the title gives the result of the last backup (
备份:最近一次 04:30 成功, last one succeeded at 04:30;备份:3 天没成功, no success for 3 days;备份:最近一次失败, the last one failed;备份:每天定时备份关着, daily backups are off;备份:没做过when they are on but none has run yet), with the reason on the line below when it failed; Settings (设置) opens the backup section of global settings. - Media server: the title gives the kind and version of the first media server and when its index was last synced (
Jellyfin 12.2 · 14:00 同步), and the line below how many films and series the index has and how many items are in continue watching; when it cannot be reached or the last index sync failed, the title says so (Jellyfin 12.2:连不上, cannot connect) and the line below gives the reason. Open (打开) opens the server's web page in a new tab. Without a media server it says没有连媒体服务器and Set up (去设置) opens the media library page.
- System check: the title gives the result of the last check (
Times on the right of the status lines show only the time for today (08:00) and include the date for other days (11-03 08:00). On a phone the downloaders are not listed, storage shows one download disk and one library disk (the ones with the least free space), and the status lines show only their title line.
System check
Open it from System → System check (系统 → 系统体检), or System check › (系统体检 ›) at the top right of the status block on the home page. The page shows the result of the last check: the line under the title gives the time of the check, how long it took and the result (for example 11-04 09:30 体检 · 用时 3.2 秒 · 1 项失败、1 项提醒). Below it are three parts, top to bottom:
- Overview: the ring on the left is split into failed, warning, OK and skipped by the number of items, with the number of items to deal with in the middle (
都正常, all OK, when there is nothing). On the right are the time and item count of the last check, four count tiles and a status chip for each area. Clicking a count tile lists only the items in that state; clicking it again clears it. Clicking an area's chip scrolls to that area below (clearing the filters first if they hide it). - Needs attention (需要处理): one card per failed or warning item, failures first. Each card says how the item stands, how to fix it, and Fix it (去处理): a site goes to that site's details, downloaders to Downloader settings (下载器设置), media servers, path mappings and media libraries to Media library (媒体库), TMDB and time to Media recognition (媒体识别), NAS to NAS monitoring (NAS 监控), and backups to Global settings (全局设置). Disk space and the encryption key have nothing to change on a page, so they get no link. After Run check (立即体检), items that got worse than before the check (new problems, or a warning that became a failure) are tagged
新出现(new). When there is nothing to deal with, this part only says没有要处理的项(nothing to deal with). - All checks (全部检查项): one card per area, its header giving the area, the number of items and the worst state in it, then one line per item. Problems only (只看有问题的) at the top right lists only warnings and failures.
Without any check yet the page says 还没体检过 (never checked); Run check (立即体检) on that card runs the first one.
Run check (立即体检; at the bottom of the overview card on a phone) checks everything now, for up to 60 seconds. Only one check runs at a time; clicking again while one is running waits for its result. While the check runs, an arc turns on the ring and the seconds so far are shown; the cards below keep the last result (上一次的结果, last result, next to the section titles) until the new one arrives. An area not finished within 60 seconds counts as failed with 在时限内没检查完 (not finished in time), which usually means something could not be reached: check the network and proxies, then run the check again. The result is kept and shown the next time you open the page; Needs attention and the status block on the home page use the same result.
Cards appear one after another when a result arrives, and the numbers move from the old values to the new ones; with Reduce motion turned on in the system settings nothing moves and everything is shown at once.
The check changes no settings. The media library item is the same as Check (检查) on a media library and creates a file in the library folder, then deletes it; the sites item only looks at the result of each site's last login probe and sends no new requests to the sites; the NAS group only looks at what NAS monitoring has already read and does not connect to the NAS again.
Each item is 正常 (OK), 提醒 (warning), 失败 (failed) or 跳过 (skipped: not set up, or could not be checked this time).
| Area | What is checked | Warnings, failures and skips |
|---|---|---|
| TMDB | One request to the API with the TMDB API key, then one poster | No key, too many requests, or no poster is a warning; an invalid key or no connection is a failure |
| Sites (站点) | The last login probe of each enabled site | Probing off, never probed, not applicable or not supported is skipped; an expired cookie, a wrong API key, blocked by the site's protection, no connection, rate limited and so on are warnings, with how to fix them |
| Downloaders (下载器) | Connects to each enabled downloader and reads its version and free space | No enabled downloader, free space unreadable, or less than 20 GB free is a warning; no connection is a failure |
| Media servers (媒体服务器) | Connects to each enabled media server and reads its version; looks at the last index sync | No media server is skipped; a failed last index sync is a warning (ignored when the index is off); no connection is a failure |
| Path mappings (路径映射) | Whether pt-tools can read the pt-tools path of each path mapping | No path mapping is skipped; a folder that does not exist, is not a folder or cannot be read is a failure |
| Media libraries (媒体库) | The same as Check on a media library: the library folder exists and is writable; for hard-link libraries, also whether the downloaders' default save paths are on the same file system | No media library is skipped; a failed step is a failure; a hard-link library on a different file system from a downloader's save path is a warning |
| Disk space (磁盘空间) | The disks of the data folder, the backup folder, each media library, the pt-tools paths of the path mappings and the downloaders' save paths, one line per disk | Less than 5% of the total or less than 20 GB free is a warning |
| NAS | Each enabled connected source in NAS monitoring (not the local source): whether it is connected, whether the storage pools are healthy, the NAS's own critical alerts, disk temperatures | Nothing added, all disabled or still connecting is skipped; a failed login, an untrusted or changed certificate, no connection for more than 3 minutes, or an unhealthy pool is a failure; a connection lost less than 3 minutes ago, no new data for 3 minutes, critical alerts, or a hard disk at 50 °C or an SSD or NVMe at 70 °C is a warning |
| Time (时间) | This machine's clock against the time in TMDB's response | More than 5 minutes apart is a warning: check-ins, free-period ends and scheduled tasks all use this machine's clock |
| Backup (备份) | Whether daily backups are on and the result of the last one | Off or never run is skipped; a failed last backup or no success for more than two days is a warning |
| Key (密钥) | Whether the encryption key comes from the PT_TOOLS_SECRET_KEY environment variable or secret.key, and whether the file is still there | Unreadable or missing is a failure: after a restart the stored cookies and notification credentials cannot be decrypted (see Backing up the encryption key) |