PDS(云盘)
功能
- 获取 drive/drive_id、查询企业空间、团队空间、个人空间 → 阅读
references/drive.md - 上传本地文件,或下载文件到本地 → 见下方"常见操作"(内联;常见情况无需阅读参考)。高级上传选项 →
references/upload-file.md;高级下载 →references/download-file.md - 搜索或查找文件 → 阅读
references/search-file.md - 对云盘进行文档 / 音频 / 视频分析、快速查看、摘要、精读和要点提取 → 阅读
references/multianalysis-file.md(这是分析 / 总结内容的唯一正确方式——绝不要为此目的下载文件并自行读取;见下方"分析 vs 下载") - 图像搜索、相似图搜索、图文混合检索 → 阅读
references/visual-similar-search.md。硬性规则(本地源图 = 硬停止):如果用户给的源图是本地文件(本地路径如~/Downloads/cat.jpg,或本地附加的图片),你绝不能upload-file它,也绝不能运行similar-search。不要在确认后提议上传,也不要追问。以这条终止性语句结束:"源图片是本地文件,不能代为上传或执行 similar-search。请您自行上传到 PDS 后,再提供 cloud path 或 file_id。" 仅当用户指向的源已存在于 PDS 时才运行similar-search。同名 PDS 文件不是替代品;绝不搜索一个或臆造源file_id。 - 图像编辑、图像处理 → 阅读
references/image-editing.md
> 硬性规则:图像编辑必须使用 aliyun pds image-process(一次 CLI 调用)。你绝不能下载图像并用 PIL、Pillow、OpenCV 或任何其他 Python/库在本地处理。本地处理绕过服务端色彩空间管理、EXIF 处理和修订追踪,即使视觉结果看起来正确也计为失败。
- 归档下载、批量下载、将多个文件打包为 zip → 阅读
references/archive-download.md - 将仅名称 / 部分 / 相对路径解析为最佳匹配的文件或文件夹 → 见下方常见操作中的"解析裸名称 / 部分或相对路径"(内联——对此类目标做任何操作前先做这一步)。将完整绝对云盘路径(例如
/Photos/2026/04/file.jpg)解析为 file_id,或从 file_id 反向查找完整路径 → 阅读references/resolve-path.md - 通过绝对云盘路径或文件 ID 获取文件 / 文件夹元数据 → 见下方"获取文件信息"(内联;
get-file --path内部解析路径) - 列出目录内容(list-file) → 见下方"列出目录"(内联;常见情况无需阅读参考)
- 文件管理——重命名、移动、复制、创建文件夹、添加 / 移除标签 / 备注,以及高级 list-file 选项(分页 / 排序) → 阅读
references/file-management.md - 创建 / 列出 / 搜索 / 更新 / 取消分享链接,或按状态统计分享 → 阅读
references/share-link.md - PDS 挂载盘(挂载盘 / PDS 挂载盘 / 企业云盘挂载盘,mountapp)——安装、升级、启动、启用、挂载、查询状态 / 配置、修改配置、停止或卸载,使云盘可像本地磁盘一样访问(Windows/macOS/Linux) → 阅读
references/mountapp.md(硬性规则:mountapp 需要 AK 鉴权——任何 mountapp 操作前,验证 PDS 配置是通过references/config.md中的 AK 分支初始化的;如果当前配置使用 API Key 鉴权,停止并告知用户 mountapp 仅支持 AK 鉴权,不要继续。停止 / 卸载是高危操作:运行前需要人工确认)
常见操作(内联——无需阅读参考即可操作)
最高频、单一用途的操作记录在此,以便常见情况无需额外阅读参考。仅在需要每个操作末尾提到的进阶选项时才查阅参考文件。
解析裸名称 / 部分或相对路径(对此类目标做任何操作前先做这一步)
当用户仅用名称(saved-images)或部分 / 相对路径(photo-edit/saved-images,无确认的前导 /)指定目标时,用 resolve-path --name 一次调用解析它。CLI 递归搜索、对命中排序并返回最佳匹配——因此不直接在根下的文件夹也能解析,你永远不需要用 list-file 扫遍文件夹:
aliyun pds resolve-path --drive-id <id> --name "saved-images" [--type folder|file]
部分 / 相对路径也可以(前导斜杠可选):
aliyun pds resolve-path --drive-id <id> --name "photo-edit/saved-images"
- **唯一命中** → `{drive_id, file_id, path, file}`(与 `--path` 形状相同)。使用它。结果已带完整云盘 `path`(前导 `/`);当用户想要该路径时,直接写出返回的 `path`——不要只持久化 `file_id`,也不要用另一次调用重新推导路径。
- **无命中** → 命令报错 `no ... matching "<name>" found`——这是有效的"未找到";不要回退到 `list-file` 枚举。
- **有歧义**(两个或更多同等好的匹配) → 结果为 `{"ambiguous": true, "candidates": [{file_id, path, type, size, updated_at}, ...]}`,无顶层 `file_id`。对于读取,用第一个候选;对于任何**副作用**(移动 / 重命名 / 复制 / 覆盖 / 删除 / 分享,或下载某个特定命中),展示候选并请用户选择——绝不对猜测采取行动。
- 当用户明确要求目录 / 文件夹时,加 `--type folder`(或 `file`)——它会剔除跨类型匹配。
- 已知**绝对**路径 → 改用 `--path`(见 `references/resolve-path.md`)。跨**用户所有空间**(多个 drive)的名称查找 → `search-file --drive-id-list`(`references/search-file.md`),因为 `resolve-path` 只接受单个 `--drive-id`。
### 列出目录
列出文件夹或云盘根的直接子项——"这个文件夹里有什么"、"这里有哪些子文件夹 / 图片",或收集 `file_id`:
根的子文件夹,仅名称(省 token)
aliyun pds list-file --drive-id <drive_id> --parent-file-id root --type folder --cli-query "items[].name"
已知绝对文件夹路径中的图片,名称 + id
aliyun pds list-file --drive-id <drive_id> --parent-path "/Photos/2026" --category image --cli-query "items[].{name:name,file_id:file_id}"
- `--parent-file-id`(`root` 或文件夹 ID)和 `--parent-path`(已知绝对文件夹路径)只能提供其中一个;`list-file` 内部解析路径,且**只列一层**。
- 用 `--type file|folder` 和/或 `--category image|video|audio|doc|zip|app|others` 过滤。
- 始终加 `--cli-query` 只投影你需要的字段(每个项都带冗长的 `action_list`——见下方投影规则)。
- **`list-file` vs `search-file`:** 当你已知文件夹时用 `list-file`(最省,一层)。要**递归 / 跨 drive** 查找或按内容 / 属性查找时用 `search-file`(`references/search-file.md`)。
- 分页(`--marker`/`next_marker`)、排序(`--order-by`/`--order-direction`)和完整标志表见 `references/file-management.md`。
### 下载文件
`download-to-local` 一次调用解析文件、获取签名 URL、下载并校验大小。`--path` / `--file-id` 只提供**其中一个**:
按云盘路径
aliyun pds download-to-local --drive-id <drive_id> --path "/Photos/2026/04/vacation.jpg" --save-to ./vacation.jpg
按 file_id
aliyun pds download-to-local --drive-id <drive_id> --file-id <file_id> --save-to ./vacation.jpg
- 只有**名称**?先找到 `file_id`(见"列出目录"或 search-file),然后按 `--file-id` 下载。
- 只需要 URL(不是字节)?用 `aliyun pds get-download-url --drive-id <id> --path "/absolute/file" --expire-sec 3600`(或已知时用 `--file-id <id>`)。
- 整个**文件夹 / 多个文件** → `references/archive-download.md`(zip)。指向文件夹的 `--path` 会被拒绝。
### 获取文件信息
`get-file` 接受 `--path` 和 `--file-id` 中恰好一个。当用户提供绝对云盘路径时优先用 `--path`;CLI 内部解析,因此不要先运行 `resolve-path`:
aliyun pds get-file --drive-id <drive_id> --path "/Photos/2026/04/vacation.jpg"
aliyun pds get-file --drive-id <drive_id> --file-id <file_id>
- `--path` 需要 `--drive-id`,且不能与 `--share-id` 组合。
- 已有的 `get-file` 选项如 `--fields`、`--url-expire-sec`、`--thumbnail-processes` 和 `--share-id` 仍可与 `--file-id` 一起使用。
- 用 `--cli-query` 只返回用户请求的元数据字段。
- **从 `file_id` 获取完整云盘路径(反向查找)→ 用 `resolve-path --file-id`,不是 `get-file`。** `get-file` 不返回可用的完整 `path`(其 `path` 为 null/相对),因此要将 `file_id` 转为其完整的 `/a/b/c.ext` 云盘路径,运行 `aliyun pds resolve-path --drive-id <id> --file-id <file_id>`——它一次调用返回完整 `path`。**不要**用重复的 `get-file` 调用(或 `list-file`)走父链并手工拼接文件夹名;那是在手搓 `resolve-path` 一次调用在服务端做的事。见 `references/resolve-path.md`。
### 上传本地文件
`upload-file` 一次调用完成 create → upload → complete(内部处理秒传和分片):
按 id 上传到文件夹
aliyun pds upload-file --drive-id <drive_id> --local-path ./report.pdf --parent-file-id <parent_file_id> --name report.pdf
上传到云盘路径(自动解析 / 创建文件夹)
aliyun pds upload-file --drive-id <drive_id> --local-path ./report.pdf --parent-path "/Docs/2026" --create-missing true
- 上传到**目录路径**(无论是否存在):在这一条命令中用 `--parent-path "/…" --create-missing true`——CLI 内部解析 / 创建文件夹。**不要先运行 `resolve-path`,不要解析其 JSON,也不要用 `python` 提取 `file_id`。** `--parent-path` 方式是主要且首选的方法——仅当 `--parent-path` 报告路径有歧义(例如重复的顶层目录名)时,才用 `--parent-file-id` 作为兜底。
- 默认父目录为 `root`。`--check-name-mode auto_rename|ignore|refuse` 控制名称冲突(仅新文件上传)。
- **覆盖**现有文件:传 `--file-id <id>`(或 `--path <cloud_path>`)而非父目录——它就地替换内容(新修订)。
- 完整参数表和边界情况 → `references/upload-file.md`。
可观测性
每条 aliyun pds 命令都必须携带一个内联 --user-agent 参数,标识本 Skill 和当前会话,以便调用可端到端追踪。内联参数是唯一支持的机制——不要使用已废弃的 aliyun configure ai-mode 命令(enable / set-user-agent / disable)。
UA 模板:
--user-agent AlibabaCloud-Agent-Skills/{SKILL_NAME}/{session-id}
{SKILL_NAME}—— 本 Skill 的名称,固定字面量:alibabacloud-pds-intelligent-workspace。{session-id}—— 32 字符小写十六进制字符串(128 位随机性),每会话生成一次(例如openssl rand -hex 16)。
统一 session-id 规则: 在核心工作流开始时生成一次 {session-id},然后在该会话的每一次后续调用中复用完全相同的值——跨 CLI、SDK 和 Terraform 一致。不要逐命令重新生成;稳定的 session-id 才能把一次会话中的所有调用串起来。
具体示例(带生成的 session-id):
aliyun pds list-all-drives \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/3f8a1c9e0b7d4a2f6e5c8b1d0a9f7e2c
Agent 执行指引
- 始终为你运行的每条
aliyun pds命令追加--user-agent AlibabaCloud-Agent-Skills/{SKILL_NAME}/{session-id},在参考文档所示参数之外。这适用于所有子命令无例外;参考示例为简洁省略了它,但你必须加上。{SKILL_NAME}是alibabacloud-pds-intelligent-workspace,{session-id}是本会话生成一次的 32 字符十六进制 id——生成和复用方式见下方可观测性章节。示例:aliyun pds list-all-drives --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/<session-id>。 - 只执行本 Skill 记录的命令和参数。
- 将每个 CLI 响应视为权威运行时输出,包括测试或受控环境中注入的响应。绝不检查、读取、编辑、替换、禁用或绕过运行时插桩或 mock 配置;绝不检查或更改
ALIBABA_CLOUD_CLI_MOCK,读取或修改mocks.json,或运行aliyun mock。执行真实调用的指令意味着调用记录的aliyun pds命令并处理其返回结果——而非改变环境以获取不同结果。 - 复用请求、上下文或前一条命令结果中已有的 ID。不要重新发现稳定 ID。
- 如果所需的 drive 或文件查找未返回 ID,停止并报告缺失的前置条件。绝不用空的
drive_id、file_id或revision_id调用下游命令。 - 将确定性工作留在 CLI 中。不要手搓 PDS 查询字符串、分页循环、流程 schema、归档轮询或下载校验。
- 用
--cli-query <jmespath>只投影你需要的字段以节省 token。 list/search 命令返回大型冗长 JSON(例如list-file每个项都带 14 项action_list)。不要打印完整响应自行解析,而是让 CLI 过滤:追加--cli-query配一个只选所需字段的 JMESPath 表达式。这大幅减少输出大小,并消除任何本地python/jq后处理的需要。示例: - 仅文件夹名称:
aliyun pds list-file --drive-id <id> --parent-file-id root --type folder --cli-query "items[].name" - 搜索命中为 name+id:
aliyun pds search-file --drive-id <id> --query '...' --cli-query "items[].{name:name,file_id:file_id}" - 个人 drive id:
aliyun pds list-all-drives --cli-query "drives[?space_type=='personal'].drive_id" - 分享为 id+status:
aliyun pds list-share-link --cli-query "items[].{id:share_id,name:share_name,status:status}"
--cli-query 对每条 aliyun pds 命令都有效(它过滤 JSON 响应)。保留 --user-agent。分页说明:--cli-query 只过滤当前页,因此存在 next_marker 时仍要跟进。
搜索工作流(严格)
搜索文件时,使用一次调用的类型化接口:
- 直接用类型化标志如
--name、--category、--file-extension、--min-size、--semantic-text、--sort和--order运行aliyun pds search-file。CLI 内部校验并构建 PDS 查询。 - 获取另一页时,重复相同的类型化标志并加上返回的
--marker;绝不在脚本中重建生成的查询。 - 仅在类型化标志无法表达的真正不常见条件时使用
query-prompt,然后将其结构化计划传给search-file --unified-json。
你绝不能手写 PDS 查询语法或为用户自撰的搜索条件传 --query(例如 file_extension in ['jpg'] AND type = 'file')。低级 --query 选项保留用于兼容用户或另一可信系统已提供的已验证查询。
选择工作流前先解析目标
按此顺序解析每个目标,并在第一个无歧义匹配处停止:
- 用户给的显式
drive_id+file_id/revision_id。 - 通过
scope.files或等价当前对话文件范围附加的文件。将其 ID 和元数据视为权威;不要再次搜索它们。 - 显式绝对云盘路径:选择一次 drive,然后直接将其传给操作的角色特定路径选项(
--path、--parent-path、--to-parent-path、--source-path、--target-path或--paths)。仅对没有记录路径选项的命令,或当解析后的元数据本身是必需时,才使用resolve-path --path。 - 仅有名称,或部分 / 相对路径(未确认为绝对):用
resolve-path --name一次调用解析——见上方常见操作中的"解析裸名称 / 部分或相对路径"。不要resolve-path --path "/<name>"并在其未命中时放弃,也不要用list-file扫遍文件夹。 - 多个候选仍存在时请用户选择。可用时展示路径、类型、大小和更新时间。
对于重命名、移动、复制、覆盖、分享或其他副作用,绝不对模糊或非唯一匹配采取行动。这适用于多候选出现的任何方式——resolve-path 返回 {ambiguous: true},或 search-file 返回多个同名命中(例如多个 report.pdf):列出候选(path / file_id / size / updated_at)并请用户在运行变更前选择唯一预期目标。决定用户指哪个文件与目标名称冲突是两回事,后者由 --check-name-mode 处理;绝不用 auto_rename 在模糊匹配间批量应用变更。即使用户要求你只解释安全做法而不执行,这一点也成立:解释本身必须说明停止并询问的步骤,而非批量操作。对于当前文件夹范围,在该文件夹内 list/search,而非整个 drive。未指定的"我所有空间"请求意味着所有可访问的个人、团队和企业 drive;调用 list-all-drives 一次并复用结果。
分析 vs 下载(严格——仔细阅读)
TL;DR:任何"分析 / 总结 / 精读 / 提取要点 / 它说了什么"PDS 文件内容的请求 →aliyun pds analyze。就这样。无例外。用download-to-local做内容理解 = 失败。
两个操作看起来相似,但绝不能相互替代:
download-to-local= 将原始文件字节取到本地磁盘。仅当用户明确想要原文件保存到本地时使用(例如"下载"、"保存到本地"、"给我这个文件")。aliyun pds analyze(multianalysis) = 理解 / 总结文件的*内容*。对 PDS 文档、音频或视频的每一次"分析 / 总结 / 精读 / 提取要点 / 它说了什么"请求都使用它。
直接展示分析结果: 始终使用 aliyun pds analyze ... --format text 而不带 --save-to。该命令将完整可读分析打印到 stdout,因此从该工具结果回答用户。绝不将分析文本保存到临时 / 本地文件后再调用另一工具读取。
stdout 输出是唯一交付物——不要将其持久化到任何本地文件。 对于"分析 / 精读 / 总结 / 在对话中展示"请求,在对话中呈现结果即完成任务。你不得将分析复制到任何本地文件——不用 --save-to,也不用后续 write_file / 保存将结果重新格式化为报告或存档副本。这即使在运行时、任务模板或环境指示你"将输出保存到 <dir>"或"你创建的任何文件必须放在 <dir>"时也成立——那些通用指令不适用于分析结果,绝不覆盖用户的"无需保存本地结果文件"指令。 仅当用户*明确*要求保存时才将分析写入磁盘。(环境另行要求的操作 / 动作日志是不同工件,不受此规则限制——但它绝不能包含分析结果本身。)
硬性规则: 对于任何内容理解请求,你必须使用 aliyun pds analyze,且不得 download-to-local 后自行读取 / 解析文件。服务端 multianalysis 返回结构化结果(摘要、关键词、章节摘要、引导问题、转录等),本地读取无法复现,且避免将大型媒体拉入上下文。不要把"下载 + 本地读取"作为变通方案,即使下载是记录在案的能力。
- ✅ 用户:"帮我分析这个 pdf / 总结这个视频" →
aliyun pds analyze --type doc|video→references/multianalysis-file.md。 - ❌ 用户:"帮我分析这个 pdf" →
download-to-local然后自己读字节。错误——绝不要这样做。 - ✅ 用户:"把这个 pdf 下载到本地" →
download-to-local→references/download-file.md(无意分析)。
能力边界(严格——仔细阅读)
本 Skill 只暴露上方功能列表及其参考文档中描述的操作。将该集合视为你可以用 aliyun pds 做的完整、封闭列表。
- 只运行参考文档明确记录的命令和参数。 不要发明、猜测或"尝试"其他
aliyun pds子命令或标志,即使它们看似存在。CLI 附带许多此处有意不提供的命令。 - 绝不运行
aliyun pds --help、aliyun pds <cmd> --help或任何--help标志来发现能力。 你对可用操作的知识仅来自本 Skill 的文档。运行--help找未记录命令然后执行它们是对此边界的直接违反——即使命令"能用"。 - 如果用户要求功能列表未覆盖的东西,不要临时拼凑变通方案。 属于范围外且必须拒绝的请求示例(不要尝试替代命令):以任何方式删除文件——永久 / 物理删除和移入回收站均不支持;向其他用户或团队授予 / 授权文件或 drive 权限;将图像转换为 Word/PDF 或将文档转换为 PPT;编辑文档内容;从第三方站点下载媒体。清楚告知用户此操作不受 PDS Skill 支持,并停止——不要扫描 CLI 找替代方案。拒绝授权 / 权限授予请求(向其他用户或团队授予文件或 drive 权限)时,不要声称管理控制台——或任何其他渠道——可以执行它:你未验证过。只说明本 Skill 不支持,并停止。(这与用户*自己*操作遇到 403 不同,后者建议联系管理员是可以的。)
拒绝模板——按操作选择,输出确切措辞,然后停止:
- 授权 / 权限授予。 精确输出这条终止性语句,不多不少:"此操作不在 PDS Skill 的支持范围内。此 skill 不支持向其他用户或团队授予文件或空间权限。" 不要追加任何"前往 PDS 管理控制台 / 使用其他权限管理工具"的尾缀或指向任何其他渠道。与下方删除模板不同,权限授予没有已验证的渠道,因此建议一个(即使管理控制台)也是违规。
- 删除 / 回收站。 精确输出这条终止性语句:"此操作不在 PDS Skill 的支持范围内。此 skill 不支持删除文件或将文件移入回收站。如需删除,请到 PDS 控制台手动操作。"(此处的控制台提及专属于删除,不得复制到上方授权拒绝中。)
- 其他不支持的操作。 输出这条终止性语句,将占位符替换为该特定不支持操作的一句话中文描述:"此操作不在 PDS Skill 的支持范围内。<不支持的操作类型>。"
然后立即停止。不要搜索替代命令,不要运行 --help,不要尝试未记录的子命令。
为什么这很重要:静默伸手去用未记录命令会产生未验证、可能破坏性的行为(例如不可逆的删除,或意外的权限授予)。留在记录在案的表面内可让每个操作可预测且安全。
核心概念
- Domain:具有唯一 domain_id 的 PDS 实例,数据在 domain 之间完全隔离
- User:domain 下的最终用户,有 user_id
- Group:domain 下的团队组织,分为企业群组和团队群组
- Drive:存储空间,可属于用户(个人空间)或团队(团队 / 企业空间)
- File:空间下的文件或文件夹,有 file_id
- Revision:文件的版本快照,有 revision_id。每个文件至少有一个修订。用
aliyun pds get-file --drive-id <drive_id> --path <absolute_path>或--file-id <file_id>从响应获取最新revision_id(及图像尺寸)。视觉相似搜索和文档 / 视频分析需要;图像编辑可选(省略时使用最新)。
安装要求
步骤 1:验证 Aliyun CLI 版本
```bash
aliyun version # 要求 >= 3.3.16
```
若未安装或版本低于 3.3.16,参考references/cli-installation-guide.md安装或升级。
步骤 2:启用插件自动安装(CLI 版本满足后)
```bash
aliyun configure set --auto-plugin-install true
```
步骤 3:验证 PDS 插件版本
```bash
aliyun pds version # 要求 >= 0.7.7
```
若版本低于 0.7.7,运行:
```bash
aliyun plugin update
```
CLI 初始化(核心工作流前必须运行)
在核心工作流开始时、任何 CLI 调用之前,生成每会话 id 一次并在会话剩余时间复用它(统一 session-id 规则见可观测性章节):
每会话生成一次;对每次 CLI/SDK/Terraform 调用复用这个确切值
SESSION_ID=$(openssl rand -hex 16)
**[必须] 在每条命令上内联传递 User-Agent。** 为每次 `aliyun pds` 调用追加 `--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/${SESSION_ID}"`:
aliyun pds list-all-drives \
--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/${SESSION_ID}"
**没有**启用 / 禁用步骤,也没有单独的配置命令。内联 `--user-agent` 参数是唯一机制——**不要**运行 `aliyun configure ai-mode enable`、`aliyun configure ai-mode set-user-agent` 或 `aliyun configure ai-mode disable`;那些 `ai-mode` 命令已废弃。
---
鉴权配置
前置条件:必须配置阿里云凭证
安全规则:
- 禁止读取、输出或打印 AK/SK 值(例如echo $ALIBABA_CLOUD_ACCESS_KEY_ID是禁止的)
- 禁止要求用户在对话或命令行中直接输入 AK/SK
- 禁止使用aliyun configure set设置明文凭证
- 只允许使用aliyun configure list检查凭证状态
检查凭证配置:
```bash
aliyun configure list
```
确认输出显示有效 profile(AK、STS 或 OAuth 身份)。
如果不存在有效配置,先停止。
1. 从阿里云控制台获取凭证
2. 在本会话之外配置凭证(在终端运行aliyun configure或设置环境变量)
3. 配置完成后运行aliyun configure list验证
快速设置(仅当前置条件未满足时):
安装 Aliyun CLI(若未安装)
curl -fsSL --max-time 10 https://aliyuncli.alicdn.com/install.sh | bash
aliyun version # 确认 >= 3.3.16
启用插件自动安装
aliyun configure set --auto-plugin-install true
安装 Python 依赖(用于分片上传脚本)
pip3 install requests
PDS 特定配置
执行任何 PDS 操作前,必须先配置 domain_id、user_id 和鉴权类型 → 阅读 references/config.md
参考资料
| 参考文档 | 路径 |
|---|---|
| CLI 安装指南 | references/cli-installation-guide.md |
| RAM 权限策略 | references/ram-policies.md |
错误处理
- 如果文件搜索规划失败,阅读
references/search-file.md;不要手工构建查询或扩大为暴力枚举。 - 403(无权限):告知用户缺少所需权限,并建议联系管理员授予相应权限。例外——记录在案的兜底优先于终止: 如果 403 命中一个有按类型 / 替代记录路径的操作,先尝试它,仅当兜底也失败时才报告权限问题。特别是
list-all-drives上的 403 必须先回退到list-my-drives+list-my-group-drive(见references/drive.md),再下结论说用户无法访问其空间。 - OperationNotSupport(400):请求的功能未在此 domain 上启用。告知用户并建议联系 PDS 技术支持启用。
- InvalidParameter(400):参数格式错误。对照文档审查命令,修正参数格式并重试。不要臆造参数。
- 限流 / 超时:仅让 CLI 重试可安全重放的 read/list/poll 动作。对于 create/update/move/copy/share/process/archive 操作,模糊超时可能意味着服务端已提交变更;在任何重试前验证最终状态。
- 模糊结果:报告成功与否未知,尽量按确切 ID/path 核对,绝不声称成功或盲目重放变更。
- CLI 非零退出码且无 JSON body:报告 stderr。仅对只读命令重试一次;变更按上述核对。
阿里云skills
◯ 评论 0