CommunityProgramación y desarrollogithub.com

CloudDrive2 云盘管理

Gestiona archivos y sistemas de CloudDrive2 (115, Baidu, Xunlei) mediante gRPC local (127.0.0.1:19798): lista, busca, mueve, copia, elimina, crea carpetas, encripta, descarga offline, obtiene enlaces de descarga y administra montajes, nubes, copias de seguridad, tareas de transferencia, tokens y cuentas.

¿Qué es CloudDrive2 云盘管理?

CloudDrive2 云盘管理 es una habilidad para agentes de IA que permite interactuar con el servicio CloudDrive2 a través de su API gRPC local (127.0.0.1:19798). Permite realizar operaciones completas sobre archivos en múltiples proveedores de nube (115, Baidu, Xunlei y directorios locales), como listar, buscar, mover, copiar, eliminar, renombrar, crear carpetas, encriptar, descargar offline y generar enlaces de descarga. También gestiona montajes, cuentas, tokens API, tareas de copia/descarga/subida y copias de seguridad. Es compatible con cualquier agente que pueda ejecutar scripts de Python (Claude Code, Cursor, Codex, etc.) y se conecta automáticamente al servicio local usando variables de entorno o archivos de configuración. Incluye dos herramientas: `cd2cmd.py` para comandos rápidos y `cd2.py` para acceso completo a los 227 métodos RPC documentados, con documentación oficial sincronizada automáticamente cada semana.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace CloudDrive2 云盘管理?

Gestiona archivos y sistemas de nube (115/Baidu/Xunlei/directorio local) mediante el servicio gRPC local de CloudDrive2. Dirección 127.0.0.1:19798, ya autenticado automáticamente.

Requisitos

  • Servicio en ejecución permanente, no necesita iniciarse
  • Autenticación automática: prioriza CD2_TOKEN/CLOUDDRIVEAPI → API token en /opt/clouddrive2/config/api_tokens.json → GET token.txt. Normalmente funciona directamente.
  • Directorio de herramientas: /root/.openclaw/workspace/skills/clouddrive2/
    • cd2.py — invocador genérico, soporta los 227 RPC
    • cd2cmd.py — comandos rápidos para operaciones frecuentes
    • gen/proto/ — cliente gRPC Python generado (no modificar)
    • clouddrive.proto — definición proto más reciente (1.0.17)
    • docs/ — instantánea de la documentación oficial gRPC (guía ante errores)

Documentación oficial como guía

  • Instantánea local: docs/CloudDrive2_gRPC_API_Guide_zh-CN.md (sincronizada automáticamente con la oficial)
  • Consúltala primero en caso de error o para buscar campos: nombres de métodos, campos de solicitud/respuesta, valores de enumeración, explicaciones de errores comunes
  • Versión en línea: https://www.clouddrive2.com/api/CloudDrive2_gRPC_API_Guide.html
  • Actualización automática: cada lunes se detectan cambios en la documentación/proto oficial; si hay cambios, se regenera el cliente automáticamente y se sincroniza en tres lugares (copia de trabajo, ~/.agents/skills/clouddrive2, GitHub eutopiazen/clouddrive2-skill). El resumen de cambios se escribe en scripts/cd2doc-watch/changes/

Uso

A. Comandos rápidos (cd2cmd.py, operaciones frecuentes)

cd /root/.openclaw/workspace/skills/clouddrive2
python3 cd2cmd.py ls /115open            # Listar directorio: nombre<TAB>tamaño<TAB>tipo
python3 cd2cmd.py ls / --refresh         # Forzar refresco de caché
python3 cd2cmd.py find /115open 电影     # Búsqueda difusa
python3 cd2cmd.py info /115open/xx.mkv   # Detalles del archivo
python3 cd2cmd.py mkdir /115open 新文件夹
python3 cd2cmd.py mv /115open/a.mkv /115open/电影        # Mover (por defecto renombrar conflicto)
python3 cd2cmd.py cp /115open/a.mkv /115open/备份 --policy overwrite
python3 cd2cmd.py rm /115open/垃圾.mkv                    # Eliminar (papelera)
python3 cd2cmd.py rmperm /115open/垃圾.mkv                # Eliminar permanentemente
python3 cd2cmd.py rn /115open/a.mkv b.mkv                # Renombrar
python3 cd2cmd.py dl /115open/a.mkv                      # URL de descarga + curl/wget
python3 cd2cmd.py mounts | clouds | copy-tasks           # Montajes/nubes/tareas de copia
python3 cd2cmd.py dl-tasks | ul-tasks                    # Cola de descarga/subida
python3 cd2cmd.py backups                                # Estado de copias de seguridad
python3 cd2cmd.py settings | acct | tokens               # Configuración/cuenta/tokens
python3 cd2cmd.py token-create 名字 --perm allow_read allow_list
python3 cd2cmd.py unlock /path 密码 [--permanent]
python3 cd2cmd.py stat                                   # Información del sistema

B. Cualquier RPC (cd2.py) — toda la funcionalidad documentada

python3 cd2.py <RpcName> [field=value ...] [--json|--raw|--no-auth|--list]
  • Los nombres de campo usan camelCase (coinciden con la documentación), anidados con .: subField=value
  • Los valores se interpretan como JSON (números/booleanos/arrays se convierten automáticamente); los métodos de streaming se agregan automáticamente
  • --list imprime los 227 nombres de métodos
  • Ejemplos comunes:
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

Conceptos clave

  • Prefijo de ruta (raíz de la nube): /115open, /百度网盘, /迅雷云盘, /mnt (disco local), /CD2 (local /ssd/CD2)
  • Política de conflicto conflictPolicy: Overwrite=0 / Rename=1 / Skip=2
  • Lista de nubes: python3 cd2.py GetAllCloudApis
  • Puntos de montaje: por defecto solo /mnt/115open está montado; usa GetMountPoints para verlos
  • Eliminación: por defecto va a la papelera; DeleteFilesPermanently/rmperm es eliminación permanente
  • Descarga: GetDownloadUrlPath devuelve una URL completa (directUrl tiene prioridad, de lo contrario downloadUrlPath contiene marcadores de posición {SCHEME}/{HOST}/{PREVIEW} que deben reemplazarse); dirección con 127.0.0.1:19798
  • Operaciones con archivos grandes (mover/copiar entre nubes) generan tareas en segundo plano; se rastrean con GetCopyTasks

Solución de problemas de autenticación

  • No valid auth token → falta archivo de token o variable de entorno; verifica si existe api_tokens.json
  • Solicitud de 2FA → necesita CD2_TOTP o usar token API
  • Los métodos públicos (GetSystemInfo/GetToken/Login, etc.) no requieren autenticación; añade --no-auth

Verificación

Después de cada operación, confirma el éxito mediante los campos del resultado:

  • Crear/mover/copiar/eliminar → devuelve FileOperationResult con success/errorMessage
  • Listar/buscar → verifica el número de resultados y el objetivo
  • Si la operación falla, revisa primero errorMessage, luego decide si reintentar o consultar el estado de la tarea

Skills relacionados