Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计异常

cloud-storage-web云存储网络

Agent Skill

cloud-storage-web 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

917

周安装

39

GitHub Stars

997

下载量

321
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:cloud-storage-web(云存储网络)
来源仓库:https://github.com/tencentcloudbase/cloudbase-mcp
仓库路径:skills/cloud-storage-web
安装命令:
npx skills add https://github.com/tencentcloudbase/cloudbase-mcp --skill cloud-storage-web
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/tencentcloudbase/cloudbase-mcp --skill cloud-storage-web

简介

cloud-storage-web 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 当前分类为研究检索,暂无更多功能细节可参考。

SKILL.md

Cloud Storage Web SDK

Use this skill when building web applications that need to upload, download, or manage files using CloudBase cloud storage via the @cloudbase/js-sdk (Web SDK).

When to use this skill

Use this skill for file storage operations in web applications when you need to:

  • Upload files from web browsers to CloudBase cloud storage
  • Generate temporary download URLs for stored files
  • Delete files from cloud storage
  • Download files from cloud storage to local browser

Do NOT use for:

  • Mini-program file operations (use mini-program specific skills)
  • Backend file operations (use Node SDK skills)
  • Database operations (use database skills)

How to use this skill (for a coding agent)

  1. Initialize CloudBase SDK

- Ask the user for their CloudBase environment ID - Always use the standard initialization pattern shown below

  1. Choose the right storage method

- uploadFile - For uploading files from browser to cloud storage - getTempFileURL - For generating temporary download links - deleteFile - For deleting files from storage - downloadFile - For downloading files to browser

  1. Handle CORS requirements

- Remind users to add their domain to CloudBase console security domains - This prevents CORS errors during file operations

  1. Follow file path rules

- Use valid characters: [0-9a-zA-Z], /, !, -, _, ., `, *, Chinese characters - Use / for folder structure (e.g., folder/file.jpg`)


SDK Initialization

import cloudbase from "@cloudbase/js-sdk";

const app = cloudbase.init({
  env: "your-env-id", // Replace with your CloudBase environment ID
});

Initialization rules:

  • Always use synchronous initialization with the pattern above
  • Do not lazy-load the SDK with dynamic imports
  • Keep a single shared app instance across your application

File Upload (uploadFile)

Basic Usage

const result = await app.uploadFile({
  cloudPath: "folder/filename.jpg", // File path in cloud storage
  filePath: fileInput.files[0],     // HTML file input element
});

// Result contains:
{
  fileID: "cloud://env-id/folder/filename.jpg", // Unique file identifier
  // ... other metadata
}

Advanced Upload with Progress

const result = await app.uploadFile({
  cloudPath: "uploads/avatar.jpg",
  filePath: selectedFile,
  method: "put", // "post" or "put" (default: "put")
  onUploadProgress: (progressEvent) => {
    const percent = Math.round(
      (progressEvent.loaded * 100) / progressEvent.total
    );
    console.log(`Upload progress: ${percent}%`);
    // Update UI progress bar here
  }
});

Parameters

ParameterTypeRequiredDescription
cloudPathstringYesAbsolute path with filename (e.g., "folder/file.jpg")
filePathFileYesHTML file input object
method"post" \"put"NoUpload method (default: "put")
onUploadProgressfunctionNoProgress callback function

Cloud Path Rules

  • Valid characters: [0-9a-zA-Z], /, !, -, _, ., `, *`, Chinese characters
  • Invalid characters: Other special characters
  • Structure: Use / to create folder hierarchy
  • Examples:

- "avatar.jpg" - "uploads/avatar.jpg" - "user/123/avatar.jpg"

CORS Configuration

⚠️ IMPORTANT: To prevent CORS errors, add your domain to CloudBase console:

  1. Go to CloudBase Console → Environment → Security Sources → Security Domains
  2. Add your frontend domain (e.g., https://your-app.com, http://localhost:3000)
  3. If CORS errors occur, remove and re-add the domain

Temporary Download URLs (getTempFileURL)

Basic Usage

const result = await app.getTempFileURL({
  fileList: [
    {
      fileID: "cloud://env-id/folder/filename.jpg",
      maxAge: 3600 // URL valid for 1 hour (seconds)
    }
  ]
});

// Access the download URL
result.fileList.forEach(file => {
  if (file.code === "SUCCESS") {
    console.log("Download URL:", file.tempFileURL);
    // Use this URL to download or display the file
  }
});

Multiple Files

const result = await app.getTempFileURL({
  fileList: [
    {
      fileID: "cloud://env-id/image1.jpg",
      maxAge: 7200 // 2 hours
    },
    {
      fileID: "cloud://env-id/document.pdf",
      maxAge: 86400 // 24 hours
    }
  ]
});

Parameters

ParameterTypeRequiredDescription
fileListArrayYesArray of file objects

fileList Item Structure

ParameterTypeRequiredDescription
fileIDstringYesCloud storage file ID
maxAgenumberYesURL validity period in seconds

Response Structure

{
  code: "SUCCESS",
  fileList: [
    {
      code: "SUCCESS",
      fileID: "cloud://env-id/folder/filename.jpg",
      tempFileURL: "https://temporary-download-url"
    }
  ]
}

Best Practices

  • Set appropriate maxAge based on use case (1 hour to 24 hours)
  • Handle SUCCESS/ERROR codes in response
  • Use temporary URLs for private file access
  • Cache URLs if needed, but respect expiration time

File Deletion (deleteFile)

Basic Usage

const result = await app.deleteFile({
  fileList: [
    "cloud://env-id/folder/filename.jpg"
  ]
});

// Check deletion results
result.fileList.forEach(file => {
  if (file.code === "SUCCESS") {
    console.log("File deleted:", file.fileID);
  } else {
    console.error("Failed to delete:", file.fileID);
  }
});

Multiple Files

const result = await app.deleteFile({
  fileList: [
    "cloud://env-id/old-avatar.jpg",
    "cloud://env-id/temp-upload.jpg",
    "cloud://env-id/cache-file.dat"
  ]
});

Parameters

ParameterTypeRequiredDescription
fileListArrayYesArray of file IDs to delete

Response Structure

{
  fileList: [
    {
      code: "SUCCESS",
      fileID: "cloud://env-id/folder/filename.jpg"
    }
  ]
}

Best Practices

  • Always check response codes before assuming deletion success
  • Use this for cleanup operations (old avatars, temp files, etc.)
  • Consider batching multiple deletions for efficiency

File Download (downloadFile)

Basic Usage

const result = await app.downloadFile({
  fileID: "cloud://env-id/folder/filename.jpg"
});

// File is downloaded to browser default download location

Parameters

ParameterTypeRequiredDescription
fileIDstringYesCloud storage file ID

Response Structure

{
  // Success response (no specific data returned)
  // File is downloaded to browser
}

Best Practices

  • Use for user-initiated downloads (save file dialogs)
  • For programmatic file access, use getTempFileURL instead
  • Handle download errors appropriately

Error Handling

All storage operations should include proper error handling:

try {
  const result = await app.uploadFile({
    cloudPath: "uploads/file.jpg",
    filePath: selectedFile
  });

  if (result.code) {
    // Handle error
    console.error("Upload failed:", result.message);
  } else {
    // Success
    console.log("File uploaded:", result.fileID);
  }
} catch (error) {
  console.error("Storage operation failed:", error);
}

Common Error Codes

  • INVALID_PARAM - Invalid parameters
  • PERMISSION_DENIED - Insufficient permissions
  • RESOURCE_NOT_FOUND - File not found
  • SYS_ERR - System error

Best Practices

  1. File Organization: Use consistent folder structures (uploads/, avatars/, documents/)
  2. Naming Conventions: Use descriptive filenames with timestamps if needed
  3. Progress Feedback: Show upload progress for better UX
  4. Cleanup: Delete temporary/unused files to save storage costs
  5. Security: Validate file types and sizes before upload
  6. Caching: Cache download URLs appropriately but respect expiration
  7. Batch Operations: Use arrays for multiple file operations when possible

Performance Considerations

  1. File Size Limits: Be aware of CloudBase file size limits
  2. Concurrent Uploads: Limit concurrent uploads to prevent browser overload
  3. Progress Monitoring: Use progress callbacks for large file uploads
  4. Temporary URLs: Generate URLs only when needed, with appropriate expiration

Security Considerations

  1. Domain Whitelisting: Always configure security domains to prevent CORS issues
  2. Access Control: Use appropriate file permissions (public vs private)
  3. URL Expiration: Set reasonable expiration times for temporary URLs
  4. User Permissions: Ensure users can only access their own files when appropriate

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

27.26%
按下载量换算88

Antigravity

22%
按下载量换算71

Codex

18.82%
按下载量换算60

trae

12.76%
按下载量换算41

OpenCode

7.67%
按下载量换算25

Gemini CLI

3.35%
按下载量换算11

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills