← 返回
未分类 Key

Manage quark-auto-save(QAS, 夸克自动转存, 夸克转存, 夸克订阅) tasks via CLI.

Manage quark-auto-save(QAS, 夸克自动转存, 夸克转存, 夸克订阅) tasks via CLI.
通过命令行管理夸克自动转存任务 (QAS,夸克自动转存,夸克转存,夸克订阅,管理任务,运行任务,修复失效链接,pan.quark.cn)
cp0204 cp0204 来源
未分类 clawhub v0.8.12 4 版本 99765.3 Key: 需要
★ 4
Stars
📥 770
下载
💾 1
安装
4
版本
#latest

概述

quark-auto-save

Manage quark-auto-save tasks via CLI.

QAS, 夸克自动转存, 夸克转存, 夸克订阅, 管理任务, 运行任务, 修复失效链接

When user send message like https://pan.quark.cn/s/*, get detail, add a QAS task.

⚠️ Prerequisites

Env:

  • QAS_BASE_URL - User provided, e.g., http://192.168.1.x:5005
  • QAS_TOKEN - User provided

Actual configuration values are recorded in TOOLS.md, Do not modify SKILL.md

First Configuration: Analyze User Habits

After the user sets the token, the following analysis must be performed and recorded in TOOLS.md:

  1. Get Current Configuration:

```bash

python3 {baseDir}/scripts/qas_client.py get-config

```

  1. Analyze Saving Habits:
    • Extract savepath directory patterns from existing tasks (e.g., /video/tv/, /video/anime/, /video/movie/)
    • For pattern + replace: deduce the final renamed filename format by applying the regex to a sample source file (e.g., 01.mp4Black Mirror.S01E01.mp4). Record the result pattern, not the raw regex.
    • Note which magic_regex key the user prefers (e.g. $TV_MAGIC)
  1. Record to TOOLS.md:

The following is just an example, not specific values, everything is analyzed based on user configuration.

```markdown

### quark-auto-save habits

#### TV Series

  • Directory: /video/tv/{name}
  • naming preferences: $TV_MAGIC (e.g., {TASKNAME}.{SXX}E{E}.{EXT})

#### Anime

  • Directory: /video/anime/{name}
  • naming preferences: Rick and Morty.S01E01.mp4

#### Movie

  • Directory: /video/movie/{name} {year}
  • naming preferences: {TASKNAME}.mp4

-

...

```

Python Client

Use {baseDir}/scripts/qas_client.py for all operations:

python3 {baseDir}/scripts/qas_client.py get-config                                    # Get all config & tasks
python3 {baseDir}/scripts/qas_client.py search "query" [-d]                           # Search resources
python3 {baseDir}/scripts/qas_client.py get-share "<shareurl>" [-a]                   # Get share detail (-a for all files)
python3 {baseDir}/scripts/qas_client.py check-path "/path"                            # Check savepath
python3 {baseDir}/scripts/qas_client.py delete-file "/path/to/file"                   # Delete cloud file
python3 {baseDir}/scripts/qas_client.py rename-file "/path/to/file" "new_name"        # Rename cloud file
python3 {baseDir}/scripts/qas_client.py add-task '{"taskname": "Name", ...}'          # Add task
python3 {baseDir}/scripts/qas_client.py run-task [taskname|json]                      # Run task(s)
python3 {baseDir}/scripts/qas_client.py update-task "TaskName" '{"savepath": "/new"}' # Update task
python3 {baseDir}/scripts/qas_client.py delete-task "TaskName"                        # Delete task
python3 {baseDir}/scripts/qas_client.py update-config '{"key": "value"}'              # Update config

Task Schema

{
  "taskname": "MediaName",
  "shareurl": "https://pan.quark.cn/s/xxx#/list/share/fid",
  "savepath": "/video/tv/MediaName",
  "pattern": "$TV_MAGIC",
  "replace": "",
  "update_subdir": "",
  "ignore_extension": false,
  "runweek": [1,2,3,4,5,6,7]
}

Required Fields: taskname, shareurl, savepath

Optional Fields: pattern, replace, update_subdir, ignore_extension, runweek, addition

> add-task auto-detects zip/rar/7z files and enables auto_unarchive plugin automatically. No manual addition config needed for this.

Configuration Rules

shareurl Format

  • https://pan.quark.cn/s/{abc123}
  • https://pan.quark.cn/s/{abc123}#/list/share/{fid}

Subdirectory Priority

  1. Video files (mp4, mkv, avi)
  2. Resolution: 4K > 1080P > 720P

> Archive files (zip, rar, 7z) are also supported — auto-unarchive is enabled automatically by add-task run-task.

Get subdir info:

python3 {baseDir}/scripts/qas_client.py get-share "<shareurl>"

Add task example:

python3 {baseDir}/scripts/qas_client.py add-task '{"taskname": "Black Mirror", "shareurl": "https://pan.quark.cn/s/xxx", "savepath": "/video/tv/Black Mirror", "pattern": "$TV_MAGIC"}'

pattern & replace

WIKI:

  • RegexRename: https://github.com/Cp0204/quark-auto-save/wiki/正则处理教程
  • MagicRegex: https://github.com/Cp0204/quark-auto-save/wiki/魔法匹配和魔法变量
PatternReplaceResult
---------
.*Save all files
`\.(mp4\mkv)$`Save video files only
^(\d+)\.mp4S02E\1.mp401.mp4 → S02E01.mp4
$TV_MAGICUse custom magic regex

replace Magic Variables

VariableDescription
------
{TASKNAME}Task name
{II}Index number (01, 02...)
{EXT}File extension
{SXX}Season (S01, S02...)
{E}Episode number
{DATE}Date (YYYYMMDD)

Workflows

Add New Task

  1. Search: python3 {baseDir}/scripts/qas_client.py search "MediaName" -d
  2. Verify & Get Details: python3 {baseDir}/scripts/qas_client.py get-share ""
    • Check if shareurl is valid (not banned)
    • Check file list for video files and select the subdir
  3. Analyze pattern & replace: Ensure the final renamed filename matches the naming preferences in TOOLS.md.
    • Source already matches → "pattern": ".*", replace: "" (save as-is)
    • Needs renaming → design pattern to capture groups, replace with magic variables. E.g., source 01.mp4, TOOLS.md says Black Mirror.S01E01.mp4"pattern": "^(\\d+)\\.mp4$", "replace": "{TASKNAME}.S01E\\1.{EXT}"
  4. Execute:
    • One-time (completed series, taskname contains X集全, 全X集, 完结, 全集, single movie) → run-task
    • Subscription (ongoing series that gets new episodes) → add-task

```bash

# One-time (completed)

python3 {baseDir}/scripts/qas_client.py run-task '{"taskname": "MediaName", "shareurl": "...", "savepath": "...", "pattern": "...", "replace": "..."}'

# Subscription (ongoing)

python3 {baseDir}/scripts/qas_client.py add-task '{"taskname": "MediaName", "shareurl": "...", "savepath": "...", "pattern": "...", "replace": "..."}'

```

  • savepath and (pattern+replace) MUST follow the user's existing habits recorded in TOOLS.md
  • After add-task: trigger run-task "TaskName" immediately to execute the first save.

Check Invalid Tasks

  1. Get tasks: python3 {baseDir}/scripts/qas_client.py get-config
  2. Identify invalid tasks: tasks with shareurl_ban key in tasklist
  3. Check existing files: python3 {baseDir}/scripts/qas_client.py check-path "" — record the naming format and the latest episode number (e.g., E24) of already-saved files
  4. Find replacement: python3 {baseDir}/scripts/qas_client.py search "" -d to get candidate shareurls
  5. Verify & select shareurl:
    • python3 {baseDir}/scripts/qas_client.py get-share "" -a — check file list
    • Step 1 — Pick by video format: prefer the shareurl whose file extension matches the existing files (e.g., existing .mkv → pick .mkv source, existing .mp4 → pick .mp4 source)
    • Step 2 — Prefer newer episodes: among candidates with matching format, pick the one whose episode range extends beyond the latest episode (e.g., existing up to E24 → pick shareurl containing E25+)
    • Step 3 — Ensure naming consistency: analyze the source filenames against the existing file naming format. Update pattern/replace so the final renamed result matches the existing naming. If source already matches, keep pattern/replace unchanged.
  6. Update task: python3 {baseDir}/scripts/qas_client.py update-task "TaskName" '{"shareurl": "", "shareurl_ban": "", "pattern": "...", "replace": "..."}' — include pattern/replace if they were adjusted
  7. Trigger run: python3 {baseDir}/scripts/qas_client.py run-task "TaskName" — execute immediately after fixing the link.

Delete Task

python3 {baseDir}/scripts/qas_client.py delete-task "TaskName"

Update Task

# Partial update (only specified fields are changed)
python3 {baseDir}/scripts/qas_client.py update-task "TaskName" '{"savepath": "/new/path"}'
python3 {baseDir}/scripts/qas_client.py update-task "TaskName" '{"pattern": "$TV_MAGIC", "runweek": [1,3,5]}'

Update Config

# Update global config (allowed keys: cookie, crontab, push_config, tasklist, magic_regex, plugins, source)
python3 {baseDir}/scripts/qas_client.py update-config '{"crontab": "0 9 * * *"}'

Run Tasks

python3 {baseDir}/scripts/qas_client.py run-task             # All tasks
python3 {baseDir}/scripts/qas_client.py run-task "TaskName"  # Specific task
python3 {baseDir}/scripts/qas_client.py run-task '{"taskname": "Test", ...}'  # Direct task

Output Format

All commands output text. First word indicates status:

  • OK — success, no data
  • OK {json} — success with data (JSON on same line)
  • ERROR: message — failure
  • run-task: OK on first line, followed by log lines

版本历史

共 4 个版本

  • v0.8.12 当前
    2026-06-14 23:08 安全 安全
  • v0.8.11
    2026-05-21 12:41 安全 安全
  • v0.8.10
    2026-05-09 16:18 安全 安全
  • v0.8.6
    2026-05-01 17:27 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 72 📥 181,702
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195 📥 67,590
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,482