Communityコーディング&開発github.com

CloudDrive2 云盘管理

CloudDrive2 云盘管理スキルは、ローカルの gRPC サービス (127.0.0.1:19798) 経由で 115/百度網盤/迅雷などのクラウドストレージを操作し、ファイルの一覧表示・検索・移動・コピー・削除、フォルダ作成、暗号化、オフラインダウンロード、ダウンロードリンク取得、マウントポイント/クラウド/バックアップ/転送タスク/APIトークン/アカウントの管理を行います。

CloudDrive2 云盘管理 とは?

このスキル (eutopiazen/clouddrive2) は、Claude Code / Cursor / Codex などの AI エージェントが CloudDrive2 の gRPC サービスを介して、115、百度網盤、迅雷雲盤、ローカルディレクトリなどのクラウドストレージをフルに操作できるようにします。227 もの RPC メソッドを全てサポートしており、cd2.py で任意の操作を直接実行できるほか、よく使う操作には cd2cmd.py という便利なラッパーも用意されています。認証は自動処理され、CD2_TOKEN 環境変数やローカルの api_tokens.json から自動的に行われます。オフラインダウンロード、ファイルの暗号化、STRM ファイル作成、クロスクラウドコピー、バックアップ管理など、高度な機能にも対応しています。このスキールは主に Linux 環境を対象としており、エージェントがファイル整理やデータ移行などの複雑なタスクを自律的に実行するのを支援します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/eutopiazen/clouddrive2-skill/tree/main

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

CloudDrive2 雲盤管理

ローカルの CloudDrive2 gRPC サービスを介して、クラウドストレージ (115/百度網盤/迅雷/ローカルディレクトリ) のファイル操作とシステム管理を実行します。サービスアドレスは 127.0.0.1:19798 で、ログイン済み、認証は自動完了します。

前提条件

  • サービスは常駐実行中で、起動は不要
  • 認証は自動: CD2_TOKEN/CLOUDDRIVEAPI 環境変数 → ローカル /opt/clouddrive2/config/api_tokens.json の API トークン → GET token.txt の順で優先。通常は直接利用可能。
  • ツールディレクトリ: /root/.openclaw/workspace/skills/clouddrive2/
    • cd2.py — 汎用呼び出しツール、全 227 の RPC をサポート
    • cd2cmd.py — よく使うコマンドを便利にラップ
    • gen/proto/ — 生成された Python gRPC クライアント (変更禁止)
    • clouddrive.proto — 最新の proto 定義 (1.0.17)
    • docs/ — 公式 gRPC ドキュメントのスナップショット (エラー時のリファレンス)

公式ドキュメントのリファレンス

  • ローカルスナップショット: docs/CloudDrive2_gRPC_API_Guide_zh-CN.md (公式更新に合わせ自動同期)
  • エラーやフィールド確認時はこれを優先参照: メソッド名、リクエスト/レスポンスフィールド、列挙値、よくあるエラーの説明がすべて記載
  • オンライン版: https://www.clouddrive2.com/api/CloudDrive2_gRPC_API_Guide.html
  • 自動更新: 毎週月曜日に公式ドキュメント/proto の変更を自動検出。更新があればクライアントを自動再生成し、3 箇所 (このワークコピー、~/.agents/skills/clouddrive2、GitHub eutopiazen/clouddrive2-skill) に同期。変更概要は scripts/cd2doc-watch/changes/ に書き込まれます。

使用方法

A. クイックコマンド (cd2cmd.py、頻繁に使う操作に最適)

cd /root/.openclaw/workspace/skills/clouddrive2
python3 cd2cmd.py ls /115open            # ディレクトリ一覧: 名前<TAB>サイズ<TAB>タイプ
python3 cd2cmd.py ls / --refresh         # キャッシュを強制リフレッシュ
python3 cd2cmd.py find /115open 映画     # あいまい検索
python3 cd2cmd.py info /115open/xx.mkv   # ファイル詳細
python3 cd2cmd.py mkdir /115open 新フォルダ
python3 cd2cmd.py mv /115open/a.mkv /115open/映画        # 移動 (デフォルトは rename 衝突)
python3 cd2cmd.py cp /115open/a.mkv /115open/バックアップ --policy overwrite
python3 cd2cmd.py rm /115open/ゴミ.mkv                    # 削除 (ゴミ箱)
python3 cd2cmd.py rmperm /115open/ゴミ.mkv                # 完全削除
python3 cd2cmd.py rn /115open/a.mkv b.mkv                # 名前変更
python3 cd2cmd.py dl /115open/a.mkv                      # ダウンロード URL + curl/wget
python3 cd2cmd.py mounts | clouds | copy-tasks           # マウントポイント/クラウド/コピータスク
python3 cd2cmd.py dl-tasks | ul-tasks                    # ダウンロード/アップロードキュー
python3 cd2cmd.py backups                                # バックアップ状態
python3 cd2cmd.py settings | acct | tokens               # 設定/アカウント/トークン
python3 cd2cmd.py token-create 名前 --perm allow_read allow_list
python3 cd2cmd.py unlock /path パスワード [--permanent]
python3 cd2cmd.py stat                                   # システム情報

B. 任意の RPC (cd2.py) — ドキュメントの全機能

python3 cd2.py <RpcName> [field=value ...] [--json|--raw|--no-auth|--list]
  • フィールド名は camelCase (ドキュメント準拠)、ネストは . で区切る: subField=value
  • 値は JSON としてパース (数値/bool/配列は自動変換)、ストリーミングメソッドは自動集約
  • --list で全 227 メソッド名を表示
  • よく使う例:
python3 cd2.py GetSubFiles path=/115open forceRefresh=true
python3 cd2.py FindFileByPath parentPath=/115open path=/115open/映画/xxx.mkv
python3 cd2.py GetSearchResults searchFor=映画 path=/ fuzzyMatch=true
python3 cd2.py CreateFolder parentPath=/115open folderName=新ディレクトリ
python3 cd2.py RenameFile theFilePath=/115open/a.mkv newName=b.mkv
python3 cd2.py MoveFile theFilePaths=/115open/a.mkv destPath=/115open/映画 conflictPolicy=Rename
python3 cd2.py CopyFile theFilePaths=/115open/a.mkv destPath=/115open/バックアップ conflictPolicy=Skip
python3 cd2.py DeleteFiles path=/115open/ゴミ1.mkv path=/115open/ゴミ2.mkv
python3 cd2.py GetMountPoints
python3 cd2.py GetAllCloudApis
python3 cd2.py GetDownloadUrlPath path=/115open/a.mkv preview=false
python3 cd2.py GetCopyTasks
python3 cd2.py BackupGetAll
python3 cd2.py GetAccountStatus
python3 cd2.py ListTokens
python3 cd2.py GetSystemSettings

重要な概念

  • パスプレフィックス (クラウドルート): /115open、/百度網盤、/迅雷雲盤、/mnt (ローカルディスク)、/CD2 (ローカル /ssd/CD2)
  • コンフリクトポリシー conflictPolicy: Overwrite=0 / Rename=1 / Skip=2
  • クラウド一覧: python3 cd2.py GetAllCloudApis
  • マウントポイント: デフォルトでは /mnt/115open のみマウント。GetMountPoints で確認
  • 削除 はデフォルトでゴミ箱へ; DeleteFilesPermanently/rmperm で完全削除
  • ダウンロード: GetDownloadUrlPath は結合済み URL を返す (directUrl 優先、それ以外は downloadUrlPath に {SCHEME}/{HOST}/{PREVIEW} プレースホルダーを含むため置換が必要); アドレスは 127.0.0.1:19798 を使用
  • 大ファイル操作 (クラウド間の移動/コピー) はバックグラウンドタスクとなり、GetCopyTasks で追跡

認証トラブルシューティング

  • No valid auth token → 証明書ファイルまたは環境変数が不足。api_tokens.json の存在を確認
  • 2FA プロンプト → CD2_TOTP が必要、または API トークンを使用
  • 公開メソッド (GetSystemInfo/GetToken/Login など) は認証不要。 --no-auth を追加

検証

操作を実行するたびに、結果フィールドで成功を確認:

  • 作成/移動/コピー/削除 → FileOperationResult に success/errorMessage が含まれる
  • 一覧/検索 → 返されたエントリ数と目的を確認
  • 操作失敗時は、まず errorMessage を確認し、その後再試行するかタスク状態を確認

関連スキル