← 返回
未分类

Quark Netdisk

Automate Quark Drive (夸克网盘): QR-code login, list/search, upload, create share links (expiry/passcode), and save others' shared links into your drive. Use whe...
自动化夸克网盘:二维码登录、列出/搜索、上传、创建分享链接(可设有效期/密码),并把他人分享的链接保存到自己的网盘。使用 whe...
stnjjjjj stnjjjjj 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 522
下载
💾 0
安装
1
版本
#latest

概述

Quark Drive automation (夸克网盘)

Hard constraints (must follow)

  • Remote allowlist: Only operate under remote path prefix(es) configured in references/config.json (or fallback references/config.example.json). Default allowlist should be /OpenClaw/**.
  • Local allowlist: Only read/upload from local path prefix(es) configured. Do not read arbitrary local paths.
  • Destructive operations need confirmation by default: delete / move / rename / copy / purge.
  • If Quark triggers captcha / risk control, stop and ask the user to take over in a real browser.

Privacy & safety (publishable skill defaults)

  • Treat these files as sensitive (never commit, never paste their contents):
  • references/session_api.json, references/cookies.json, references/login_token.json, references/qr_code.png
  • (If enabled) references/index.json (may contain private filenames/paths)
  • Do not print cookies, auth headers, or full raw responses unless user explicitly requests debug.
  • When sharing the skill, keep examples generic (no usernames, absolute paths, chat_id, or personal tokens).

Runtime / dependencies

  • Runtime: system Python (this repo does not bundle a venv).
  • Dependencies are expected to be installed by the host (often via OS packages). requirements.txt exists for portability/reference.

Config

  • Preferred: references/config.json
  • Fallback: references/config.example.json

Key fields (example names; see config.example.json):

  • remoteAllowlist: e.g. ["/OpenClaw/**"]
  • localAllowlist: e.g. ["/path/to/Uploads"]
  • loginTimeoutSeconds

Login workflow (QR)

Terminal (local)

1) Run login-prepare to generate QR

2) User scans in Quark App

3) Run login-wait to persist session

Any OpenClaw channel (Telegram / WhatsApp / 飞书 ...)

Use orchestration pattern:

1) Run: channel-run ...

2) If exit code == 10 and JSON contains need_login: true:

  • Send qr_png back to the current chat/channel
  • Immediately start login-wait (poll every ~5s)
  • When login succeeds, automatically reply in the same chat/channel (e.g. “登录成功”) and then re-run the original channel-run ...

Machine-readable interaction exit codes (for orchestration):

  • 10: need_login=true
  • 11: need_pick=true (multiple candidates; re-run with --pick)
  • 12: need_confirm=true (destructive ops; re-run with --confirm)

Commands (scripts/quark_drive.py)

Invoke as:

  • python3 scripts/quark_drive.py [args...]

Auth

  • login
  • login-prepare [--no-open]
  • login-wait
  • auth-status
  • channel-run [args...] (preferred)
  • telegram-run [args...] (alias)

Browse

  • mkdir
  • ls [--json]
  • search [--allow-outside-openclaw] (privacy default: scoped to /OpenClaw/**)

Upload

  • upload

Share (create link)

Conversation contract (important)

When the user asks to “生成分享链接/创建分享/分享某个文件(夹)”:

1) Search candidates first (do not ask user to provide full remote path).

  • Default: use server search.
  • If server search is insufficient and the user wants stronger fuzzy search, use a client-side fuzzy index and rank results by fuzzy score.
  • Privacy default: build the index in-memory (ephemeral) and do not write it to disk.
  • Only keep candidates whose resolved path is inside remote allowlist.

2) If multiple candidates: list them with index + path + type/size, ask user to pick.

3) Before creating the share, ask:

  • Expiry: 1 / 7 / 30 / 永久
  • Passcode: 有 / 无
  • If 有: ask for the code; if user does not provide, generate one (4–6 alnum).

4) If user does not answer: default to no passcode + permanent.

CLI

  • share-create [--days 1|7|30|0] [--passcode XXXX] [--title ...]
  • share-create-auto [--pick N] [--days 1|7|30|0] [--passcode XXXX] [--local] [--allow-outside-openclaw]
  • If multiple candidates and --pick is omitted, returns JSON with need_pick=true and a candidate list.

Local index helpers:

  • index-build --root --max-items [--write] (may issue many API calls; without --write it does not persist)
  • search-local [--top N] (builds ephemeral index; does not persist)

Share (save others' share into my drive / 转存)

  • share-save [--passcode XXXX] [--to /OpenClaw/FromShares] [--no-wait]

Notes:

  • Quark typically forbids saving your own share (will error). Use an external share to test.

Destructive

  • rename
  • mv
  • rm --confirm (soft-delete into /OpenClaw/.trash)
  • purge-trash --days --confirm

Troubleshooting

  • auth-status fails (401/403): session expired → run login flow again.
  • share-save fails with “用户禁止转存自己的分享”: you tried saving your own link → test with someone else’s share.
  • If endpoints change and commands start 404/410xx: capture a browser network request (copy as cURL) and update adapter.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 05:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Mcporter

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

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 686 📥 330,820
dev-programming

CodeConductor.ai

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