Implements exact filename search, fuzzy filename search, semantic file search, and image-based image search Triggers: "PDS drive file search", "PDS image sea...
--- name: alibabacloud-pds-multimodal-search description: | Implements exact filename search, fuzzy filename search, semantic file search, and image-based image search Triggers: "PDS drive file search", "PDS image search by image" --- # PDS Multimodal Search **Please read this entire skill document carefully** ### Features - For getting drive/drive_id, querying enterprise space, team space, personal space -> read `references/drive.md` - For uploading local files to enterprise space, team space, personal space → read `references/upload-file.md` - For downloading files from enterprise space, team space, personal space to local → read `references/download-file.md` - For searching or finding files → read `references/search-file.md` - For document/audio/video analysis, quick view, summarization on cloud drive → read `references/multianalysis-file.md` - For image search, similar image search, image-text hybrid retrieval → read `references/visual-similar-search.md` ## Agent Execution Guidelines - **Must execute steps in order**: Do not skip any step, do not proceed to the next step before the previous one is completed. - **Must follow documentation**: The aliyun pds cli commands and parameters must follow this document's guidance, do not fabricate commands. - **[MUST] CLI User-Agent** — Every `aliyun` CLI command invocation must include: `--user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search` - **Must determine the target space before file operations**: Before search, upload, download, or analysis, first decide whether the user explicitly means enterprise space, team space, personal space, or all spaces. - **Space scope must not be broadened silently**: If the user explicitly says "enterprise space", only use the enterprise space drive_id. If the user explicitly says "team space", only use the matching team space drive_id. If the user explicitly says "personal space", only use the personal space drive_id. Only search across multiple spaces when the user did not restrict the scope. - **Enterprise space and team space are not interchangeable**: Even though both are returned by `list-my-group-drive`, `root_group_drive` is the enterprise space and `items` are team spaces. Never substitute one for the other. - **If the requested space is missing, stop and explain**: For example, if the user asks for enterprise space but `root_group_drive` is empty, do not fall back to a team space search. ## Core Concepts: - **Domain**: PDS instance with a unique domain_id, data is completely isolated between domains - **User**: End user under a domain, has user_id - **Group**: Team organization under a domain, divided into enterprise group and team group - **Drive**: Storage space, can belong to a user (personal space) or group (enterprise space or team space) - **File**: File or folder under a space, has file_id - **Mountapp**: PDS mount app plugin, used to mount PDS space to local, allowing users to access and manage files in PDS space conveniently ## Space Selection Rules Apply the following rules before choosing a `drive_id`: | User wording | Allowed drive source | Forbidden fallback | |------------|------|------| | "企业空间" / "company space" / "enterprise space" | `root_group_drive` only | Any drive from `items` | | "团队空间" / "某个团队空间" / "team space" | `items` only | `root_group_drive` | | "个人空间" / "我的空间" / "personal space" | `list-my-drives.items` only | group drives | | "网盘里" / "我的网盘" / no space specified | all relevant spaces | none | Before continuing, perform a brief self-check: 1. Did the user explicitly name the target space type? 2. Does the selected `drive_id` come from the correct response field for that space type? 3. If multiple team spaces exist and the user only said "team space", do I need to disambiguate which team space? If any answer is uncertain, do not guess. --- ## Installation Requirements > **Prerequisites: Requires Aliyun CLI >= 3.3.3** > > Verify CLI version: > ```bash > aliyun version # requires >= 3.3.3 > ``` > > If not installed or version too low, > run `curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash` to update, > or see `references/cli-installation-guide.md` for installation instructions. > > Verify PDS plugin version: > ```bash > aliyun pds version # requires >= 0.1.4 > ``` > > After installation, **must** enable auto plugin installation: > ```bash > aliyun configure set --auto-plugin-install true > ``` > > Then [MUST] run `aliyun plugin update` to ensure that any existing plugins on your local machine are always up-to-date. --- ## CLI Initialization (MUST run before Core Workflow) At the **start** of the Core Workflow (before any CLI invocation): **[MUST] Enable AI-Mode** — AI-mode is required for Agent Skill execution. Run the following commands before any CLI invocation: ```bash aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search" ``` **[MUST] Disable AI-Mode at EVERY exit point** — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed. AI-mode is only used for Agent Skill invocation scenarios and MUST NOT remain enabled after the skill stops running. ```bash aliyun configure ai-mode disable ``` --- ## Authentication Configuration > **Prerequisites: Alibaba Cloud credentials must be configured** > > **Security Rules:** > - **Forbidden** to read, output, or print AK/SK values (e.g., `echo $ALIBABA_CLOUD_ACCESS_KEY_ID` is forbidden) > - **Forbidden** to ask users to input AK/SK directly in conversation or command line > - **Forbidden** to use `aliyun configure set` to set plaintext credentials > - **Only allowed** to use `aliyun configure list` to check credential status > > Check credential configuration: > ```bash > aliyun configure list > ``` > > Confirm the output shows a valid profile (AK, STS, or OAuth identity). > > **If no valid configuration exists, stop first.** > 1. Obtain credentials from [Alibaba Cloud Console](https://ram.console.aliyun.com/manage/ak) > 2. Configure credentials **outside this session** (run `aliyun configure` in terminal or set environment variables) > 3. Run `aliyun configure list` to verify after configuration is complete ```bash # Install Aliyun CLI (if not installed) curl -fsSL --max-time 10 https://aliyuncli.alicdn.com/install.sh | bash aliyun version # confirm >= 3.3.3 # Enable auto plugin installation aliyun configure set --auto-plugin-install true # Install Python dependencies (for multipart upload script) pip3 install requests ``` ## PDS-Specific Configuration Before executing any PDS operations, you must first configure domain_id, user_id, and authentication type -> read `references/config.md` > **[MUST] CLI User-Agent** — Every `aliyun` CLI command invocation must include `--user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search` > > Examples: > ```bash > aliyun pds get-user --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search > aliyun pds list-my-drives --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search > aliyun pds upload-file --drive-id <id> --local-path <path> --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-multimodal-search > ``` ## References | Reference Document | Path | |------------|------| | CLI Installation Guide | [references/cli-installation-guide.md](references/cli-installation-guide.md) | | RAM Permission Policies | [references/ram-policies.md](references/ram-policies.md) | ## Error Handling 1. If file search fails, please read `references/search-file.md` and strictly follow the documented process to re-execute file search.
don't have the plugin yet? install it then click "run inline in claude" again.