alibabacloud-pds-intelligent-workspace について
Alibaba Cloud PDS のファイル管理やコンテンツ処理に使うエージェントスキルです。転送、検索、分析、画像操作、共有の手順をタスク別に示し、特定の操作に制約を設けています。
主な機能
- 01ドライブファイルのアップロードとダウンロード
- 02ファイル検索とパス解決
- 03文書・音声・動画の分析
- 04画像検索と画像処理
- 05ファイルと共有リンクの管理
活用シーン
- 01ドライブ内のファイル検索と整理
- 02ドライブ内の文書やメディアの分析
- 03ファイルのアップロードやアーカイブのダウンロード
- 04共有リンクの作成と管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-pds-intelligent-workspaceインストール後、Claude Code で/alibabacloud-pds-intelligent-workspaceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/archive-download.mdcli-installation-guide.mdconfig.mddownload-file.mddrive.mdfile-management.mdimage-editing.mdmountapp.mdmultianalysis-file.mdram-policies.mdresolve-path.mdsearch-file.mdshare-link.mdupload-file.mdvisual-similar-search.md詳細
PDS(クラウドドライブ)
機能
- ドライブ/drive_id の取得、企業スペース、チームスペース、個人スペースの照会については、
references/drive.mdを読んでください - ローカルファイルのアップロード、またはファイルのローカルへのダウンロードについては、以下の「一般的な操作」を参照してください(インラインで説明しているため、一般的なケースではリファレンスを読む必要はありません)。高度なアップロードオプションについては
references/upload-file.mdを、高度なダウンロードについてはreferences/download-file.mdを参照してください - ファイルの検索や特定については、
references/search-file.mdを読んでください - クラウドドライブ上のドキュメント/音声/動画の分析、クイックビュー、要約、詳細読解、要点抽出については、
references/multianalysis-file.mdを読んでください(コンテンツの分析/要約に使える正しい方法はこれだけです。この目的でファイルをダウンロードして自分で読んではいけません。以下の「分析とダウンロード」を参照してください) - 画像検索、類似画像検索、画像とテキストのハイブリッド検索については、
references/visual-similar-search.mdを読んでください。絶対ルール(ソース画像がローカルにある場合は必ず停止):ユーザーが渡したソース画像がローカルファイル(~/Downloads/cat.jpgのようなローカルパス、またはローカルに添付された画像)の場合、upload-fileでアップロードしてはならず、similar-searchも実行してはなりません。確認後にアップロードを提案してはならず、追加の質問もしてはなりません。次の文を最終回答として出力してください:「源图片是本地文件,不能代为上传或执行 similar-search。请您自行上传到 PDS 后,再提供 cloud path 或 file_id。」similar-searchを実行できるのは、ユーザーが指定したソース画像がすでに PDS に存在する場合のみです。同名の PDS ファイルは代替になりません。ソースのfile_idを探したり、捏造したりしてはなりません。 - 画像編集、画像処理については、
references/image-editing.mdを読んでください絶対ルール:画像編集には必ず
aliyun pds image-processを使用してください(CLI を1回実行)。画像をダウンロードして、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 の操作を行う前に、references/config.mdの AK の手順を使って PDS 設定が初期化されていることを確認してください。現在の設定が API Key 認証を使っている場合は停止し、mountapp は AK 認証のみをサポートすることをユーザーに伝えてください。操作を続行してはなりません。停止/アンインストールは高リスク操作のため、実行前に人間の確認が必要です)
よくある操作(インライン — 参照資料を読まずに実行)
頻度の高い単目的の操作をここに記載しているため、一般的なケースでは追加で参照資料を読む必要はありません。末尾に記載された高度なオプションが必要な場合にのみ、参照ファイルを確認してください。
名前のみ/部分パスまたは相対パスを解決する(その対象への操作の前に実行)
ユーザーが対象を名前のみ(saved-images)または部分パス/相対パス(先頭の / が確認されていない photo-edit/saved-images)で指定した場合は、resolve-path --name を使って1 回の呼び出しで解決します。CLI は再帰的に検索して候補を順位付けし、最適な結果を返すため、ルート直下ではないフォルダーも解決でき、list-file でフォルダーを一つずつ調べる必要はありません。
aliyun pds resolve-path --drive-id <id> --name "saved-images" [--type folder|file]
# a partial / relative path works too (leading slash optional):
aliyun pds resolve-path --drive-id <id> --name "photo-edit/saved-images"
- 一致候補が 1 件 →
{drive_id, file_id, path, file}(--pathと同じ形式)を返します。それを使用してください。結果には完全なクラウドpath(先頭に/)が含まれます。ユーザーがそのパスを求めている場合は、返されたpathをそのまま記載してください。file_idだけを保存したり、別の呼び出しでパスを再導出したりしないでください。 - 一致候補なし → コマンドは
no ... matching "<name>" foundというエラーを返します。これは有効な「見つからない」結果です。list-fileによる列挙に切り替えないでください。 - あいまい(同程度に一致する候補が 2 件以上)→ 結果はトップレベルに
file_idを含まない{"ambiguous": true, "candidates": [{file_id, path, type, size, updated_at}, ...]}です。読み取りの場合は最初の候補を使用します。副作用を伴う操作(移動/名前変更/コピー/上書き/削除/共有、または特定の候補のダウンロード)の場合は、候補を提示してユーザーに選択を求めてください。推測で操作してはいけません。 - ユーザーがディレクトリ/フォルダーを明示的に指定した場合は、
--type folder(またはfile)を追加して、種類の異なる候補を除外します。 - 既知の絶対パスの場合は、代わりに
--pathを使用してください(references/resolve-path.mdを参照)。ユーザーのすべてのスペース(複数のドライブ)を対象に名前で検索する場合は、resolve-pathが--drive-idを 1 つしか受け取らないため、search-file --drive-id-listを使用してください(references/search-file.md)。
ディレクトリを一覧表示する
フォルダーまたはドライブのルートにある直下の項目を一覧表示します。「このフォルダーには何があるか」「ここにあるサブフォルダー/画像はどれか」を確認する場合や、file_id を集める場合に使用します。
# subfolders of the root, names only (token-lean)
aliyun pds list-file --drive-id <drive_id> --parent-file-id root --type folder --cli-query "items[].name"
# images in a known absolute folder path, as 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はパスを内部で解決し、1 階層だけを一覧表示します。--type file|folder、--category image|video|audio|doc|zip|app|others、またはその両方で絞り込みます。- 必要なフィールドだけを抽出するため、必ず
--cli-queryを追加してください(各項目には冗長なaction_listが含まれます。下記の投影ルールを参照)。 list-fileとsearch-fileの使い分け: フォルダーがすでに分かっている場合は、list-fileを使用します(最も効率的で、1 階層のみ)。ドライブ内を再帰的に/横断的に検索する場合や、コンテンツ/属性で検索する場合は、search-file(references/search-file.md)を使用します。- ページネーション(
--marker/next_marker)、並べ替え(--order-by/--order-direction)、すべてのフラグの表はreferences/file-management.mdにあります。
ファイルをダウンロードする
download-to-local は 1 回の呼び出しでファイルを解決し、署名付き URL を取得してダウンロードし、サイズを検証します。--path と --file-id のどちらか一方だけを指定してください。
# by cloud path
aliyun pds download-to-local --drive-id <drive_id> --path "/Photos/2026/04/vacation.jpg" --save-to ./vacation.jpg
# by 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を使用します(ID がすでに分かっている場合は--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と組み合わせることはできません。--fields、--url-expire-sec、--thumbnail-processes、--share-idなど、既存のget-fileオプションは引き続き--file-idと併用できます。- ユーザーが要求したメタデータフィールドのみを返すには、
--cli-queryを使用します。 file_idからクラウドのフルパスを取得する(逆引き)場合は、get-fileではなくresolve-path --file-idを使用してください。get-fileは使用可能なフルpathを返しません(pathは null/相対パスです)。そのため、file_idを完全な/a/b/c.extクラウドパスに変換するには、aliyun pds resolve-path --drive-id <id> --file-id <file_id>を実行してください。このコマンドは 1 回の呼び出しでフルpathを返します。親階層をたどるためにget-file(またはlist-file)を繰り返し実行し、フォルダー名を手作業で連結しないでください。これは、resolve-pathがサーバー側で 1 回の呼び出しで行う処理を手作業で再現することになります。references/resolve-path.mdを参照してください。
ローカルファイルをアップロードする
upload-file は作成 → アップロード → 完了を 1 回の呼び出しで実行します(ラピッドアップロードとマルチパート処理は内部で行われます)。
# into a folder by id
aliyun pds upload-file --drive-id <drive_id> --local-path ./report.pdf --parent-file-id <parent_file_id> --name report.pdf
# into a cloud path (auto-resolve/create the folders)
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 パラメーターを必ず指定してください。これにより、呼び出しを最初から最後まで追跡できます。サポートされている方法はインラインパラメーターのみです。非推奨の aliyun configure ai-mode コマンド(enable/set-user-agent/disable)は使用しないでください。
UA テンプレート:
--user-agent AlibabaCloud-Agent-Skills/{SKILL_NAME}/{session-id}
{SKILL_NAME}— このスキルの固定名:alibabacloud-pds-intelligent-workspace。{session-id}— 128 ビットのランダム値を表す 32 文字の小文字の 16 進数文字列です。セッションごとに 1 回だけ生成します(例:openssl rand -hex 16)。
セッション ID の統一ルール: Core Workflow の開始時に {session-id} を 1 回生成し、そのセッション内の以降のすべての呼び出しで、CLI、SDK、Terraform を問わず、まったく同じ値を再利用してください。コマンドごとに再生成しないでください。セッション内のすべての呼び出しを関連付けるには、同じセッション ID を使う必要があります。
生成したセッション ID を使った具体例:
aliyun pds list-all-drives \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/3f8a1c9e0b7d4a2f6e5c8b1d0a9f7e2c
エージェント実行ガイドライン
-
実行するすべての
aliyun pdsコマンドに、参照ドキュメントに記載されたパラメーターに加えて、必ず--user-agent AlibabaCloud-Agent-Skills/{SKILL_NAME}/{session-id}を追加してください。これは例外なくすべてのサブコマンドに適用されます。参照例では簡潔にするため省略されていますが、必ず追加してください。{SKILL_NAME}はalibabacloud-pds-intelligent-workspace、{session-id}はこのセッション用に一度だけ生成する32文字の16進数 ID です。生成方法と再利用方法については、以下の オブザーバビリティ セクションを参照してください。例:aliyun pds list-all-drives --user-agent AlibabaCloud-Agent-Skills/alibabacloud-pds-intelligent-workspace/<session-id>。 -
このスキルで文書化されているコマンドとパラメーターのみを実行してください。
-
テスト環境や制御された環境で挿入された応答も含め、すべての CLI 応答を実行時の正式な出力として扱ってください。実行時のインストルメンテーションやモック設定を調査、読み取り、編集、置換、無効化、回避してはいけません。
ALIBABA_CLOUD_CLI_MOCKを調査または変更したり、mocks.jsonを読み取りまたは変更したり、aliyun mockを実行したりしてはいけません。実際の呼び出しを実行する指示とは、文書化されたaliyun pdsコマンドを呼び出し、返された結果を処理することであり、異なる結果を得るために環境を変更することではありません。 -
リクエスト、コンテキスト、または以前のコマンド結果にすでに含まれている ID を再利用してください。変化しない ID を再取得してはいけません。
-
必要なドライブまたはファイルの検索で ID が返されない場合は、そこで停止し、前提条件が不足していることを報告してください。
drive_id、file_id、revision_idが空のまま後続コマンドを実行してはいけません。 -
決定論的な処理は CLI で行ってください。PDS クエリ文字列、ページネーションループ、プロセススキーマ、アーカイブのポーリング、ダウンロードの検証を手作業で構築してはいけません。
-
トークンを節約するため、
--cli-query <jmespath>を使って必要なフィールドだけを抽出してください。 リスト/検索コマンドは、大量で冗長な JSON を返します(例:list-fileは各アイテムに14項目のaction_listを含みます)。応答全体を出力して自分で解析するのではなく、CLI に必要なフィールドだけを選択させてください。これにより出力サイズを大幅に削減でき、ローカルでpython/jqによる後処理を行う必要もなくなります。例:- フォルダー名のみ:
aliyun pds list-file --drive-id <id> --parent-file-id root --type folder --cli-query "items[].name" - 検索結果の名前と ID:
aliyun pds search-file --drive-id <id> --query '...' --cli-query "items[].{name:name,file_id:file_id}" - 個人用ドライブ ID:
aliyun pds list-all-drives --cli-query "drives[?space_type=='personal'].drive_id" - 共有の ID とステータス:
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がある場合は、引き続きその値を使用してください。 - フォルダー名のみ:
検索ワークフロー(厳守)
ファイルを検索するときは、1回の呼び出しで使える型付きインターフェースを使用してください。
aliyun pds search-fileを直接実行し、--name、--category、--file-extension、--min-size、--semantic-text、--sort、--orderなどの型付きフラグを使用してください。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 とメタデータを信頼できる情報として扱い、再検索しないでください。- 明示的な絶対クラウドパス:ドライブを一度選択し、操作の役割に応じたパスオプション(
--path、--parent-path、--to-parent-path、--source-path、--target-path、または--paths)に直接渡します。resolve-path --pathは、パスオプションがドキュメントに記載されていないコマンド、または解決されたメタデータ自体が必要な場合にのみ使用してください。 - 名前、または部分パス/相対パスのみが指定されている場合(絶対パスと確認できていない場合):上の一般的な操作にある「名前のみ/部分パス/相対パスを解決する」を参照し、
resolve-path --nameを1回呼び出して解決します。resolve-path --path "/<name>"を実行して見つからなかったら諦めることはせず、list-fileでフォルダーを網羅的に検索しないでください。 - 複数の候補が残る場合は、ユーザーに選択を求めます。利用可能であれば、パス、種類、サイズ、更新日時を表示してください。
名前変更、移動、コピー、上書き、共有、その他の副作用を伴う操作では、曖昧な一致や一意でない一致に対して決して操作しないでください。これは、複数候補が生じるあらゆるケースに当てはまります。resolve-path が {ambiguous: true} を返す場合だけでなく、複数の同名の結果を返す search-file の場合(例:複数の report.pdf)も同様です。候補(path/file_id/size/updated_at)を一覧表示し、変更操作を実行する前に、意図した対象を1つ選ぶようユーザーに求めてください。ユーザーがどのファイルを指しているかの判断は、--check-name-mode が処理する保存先の名前の競合とは別のものです。曖昧な一致全体に変更を一括適用するために auto_rename を使用しないでください。ユーザーが実行せずに安全な方法の説明だけを求めている場合も同じです。説明自体に、処理を止めてユーザーに選択を求める手順を明記し、一括操作を提案しないでください。現在のフォルダがスコープの場合は、ドライブ全体ではなく、そのフォルダ内で一覧表示または検索してください。「すべての自分のスペース」という指定のない依頼は、アクセス可能な個人、チーム、エンタープライズの各ドライブすべてを意味します。list-all-drives を一度呼び出し、その結果を再利用してください。
分析とダウンロード(厳守 — 注意してお読みください)
要約:PDS ファイルの内容について「分析する/要約する/詳しく読む/要点を抽出する/何が書かれているか」と尋ねるリクエストには、すべて
aliyun pds analyzeを使ってください。例外はありません。内容の理解にdownload-to-localを使うと、失敗です。
一見似ている操作が 2 つありますが、互いに置き換えてはいけません。
download-to-local= ファイルの生バイトをローカルディスクに取得します。ユーザーが元のファイルをローカルに保存することを明示的に希望している場合(例:「ダウンロードして」「ローカルに保存して」「ファイルをください」)に限り使ってください。aliyun pds analyze(multianalysis) = ファイルの内容を理解/要約します。PDS のドキュメント、音声、動画について、「分析する/要約する/詳しく読む/要点を抽出する/何が書かれているか」と尋ねるすべてのリクエストに使ってください。
分析結果を直接表示してください: --save-to は付けず、常に aliyun pds analyze ... --format text を使ってください。このコマンドは読みやすい形式の完全な分析結果を標準出力に表示するため、そのツール結果に基づいてユーザーに回答します。分析テキストを一時ファイルやローカルファイルに保存してから、別のツールで読み込むことは決してしないでください。
標準出力の内容だけが納品物です — ローカルファイルには保存しないでください。 「分析する/詳しく読む/要約する/会話内に表示する」というリクエストでは、会話内に結果を提示すればタスクは完了です。分析結果をローカルファイルにコピーしてはいけません。--save-to を使う場合も、後続の write_file や保存操作で結果を書き換え、レポートやアーカイブ用コピーとして保存する場合も同様です。**ランタイム、タスクテンプレート、環境から「出力を
厳守事項: 内容を理解するためのリクエストには、必ず aliyun pds analyze を使い、download-to-local でダウンロードしてから自分でファイルを読み取ったり解析したりしてはいけません。サーバー側のマルチ分析では、要約、キーワード、章ごとの要約、確認用の質問、文字起こしなどの構造化された結果が返されます。ローカルで読み取っても同じ結果は得られず、大容量メディアをコンテキストに取り込まずに済みます。ダウンロード機能が文書化されていても、「ダウンロードしてローカルで読む」という回避策を組み合わせてはいけません。
- ✅ ユーザー:「この PDF を分析して/この動画を要約して」→
aliyun pds analyze --type doc|video→references/multianalysis-file.md。 - ❌ ユーザー:「この PDF を分析して」→
download-to-localでダウンロードしてから自分でバイト列を読む。誤り — 決して行わないでください。 - ✅ ユーザー:「この PDF をローカルにダウンロードして」→
download-to-local→references/download-file.md(分析の意図なし)。
機能の境界(厳守 — 注意してお読みください)
このスキルで利用できるのは、上記の機能一覧とそのリファレンスドキュメントに記載された操作のみです。この範囲を、aliyun pds で実行できる操作の完全かつ限定的な一覧として扱ってください。
- リファレンスドキュメントに明記されたコマンドとパラメーターのみを実行してください。
aliyun pdsの他のサブコマンドやフラグを、存在しそうだからといって考案したり、推測したり、「試したり」しないでください。CLI には多数のコマンドが含まれていますが、意図的にこのスキルでは提供していません。 - **機能を調べるために、
aliyun pds --help、aliyun pds <cmd> --help、またはその他の--helpフラグを実行してはなりません。**利用できる操作に関する情報は、このスキルのドキュメントのみから得てください。ドキュメントにないコマンドを見つけて実行するために--helpを使うことは、たとえそのコマンドが「動作する」としても、この境界に対する明確な違反です。 - **ユーザーから機能一覧にない操作を求められた場合、別の方法で対応しようとしないでください。**対象外であり、代替コマンドも試してはならない依頼の例:ファイルをどのような方法でも削除すること(完全削除・物理削除とごみ箱への移動の両方が未対応です)、他のユーザーやチームにファイルまたはドライブの権限を付与・承認すること、画像を Word/PDF に変換すること、ドキュメントを PPT に変換すること、ドキュメントの内容を編集すること、サードパーティーのサイトからメディアをダウンロードすること。これらの操作は PDS スキルでサポートされていないことをユーザーにはっきり伝え、そこで終了してください。代替手段を探すために CLI を調べてはなりません。権限の付与・承認(他のユーザーやチームへのファイルまたはドライブの権限付与)の依頼を断る際は、管理コンソール、その他の経路で実行できると主張してはなりません。その点は確認されていません。サポートされていないのはこのスキルであるとだけ伝え、終了してください。(ユーザー自身の操作で 403 が発生した場合は異なり、管理者への問い合わせを提案してかまいません。)
拒否テンプレート — 操作の種類に応じて選び、指定の文言をそのまま出力してから終了してください:
- 権限の付与・承認。次の終了文のみを正確に出力してください:「此操作不在 PDS Skill 的支持范围内。此 skill 不支持向其他用户或团队授予文件或空间权限。」その後に「PDS 管理コンソールに移動してください/別の権限管理ツールを使用してください」といった文言を付け加えたり、他の経路を案内したりしないでください。権限の付与について確認済みの経路はないため、管理コンソールであっても提案することは違反となります。
- **削除/ごみ箱への移動。**次の終了文を正確に出力してください:「此操作不在 PDS Skill 的支持范围内。此 skill 不支持删除文件或将文件移入回收站。如需删除,请到 PDS 控制台手动操作。」(ここでのコンソールへの案内は削除に限ったものであり、上記の権限付与に関する拒否文に転用してはなりません。)
- **その他の未対応操作。**次の終了文を出力し、プレースホルダーを具体的な未対応操作の内容を一節で示す説明に置き換えてください:「此操作不在 PDS Skill 的支持范围内。<不支持的操作类型>。」
その後、直ちに終了してください。代替コマンドを検索したり、--help を実行したり、ドキュメントにないサブコマンドを試したりしてはなりません。
このルールが重要な理由:ドキュメントにないコマンドを暗黙に使用すると、検証されていない、場合によっては破壊的な動作(取り消せない削除や、意図しない権限付与など)につながります。ドキュメントに記載された範囲を守ることで、すべての操作を予測可能かつ安全に保てます。
コアコンセプト:
- ドメイン:一意の domain_id を持つ PDS インスタンスです。ドメイン間でデータは完全に分離されています。
- ユーザー:ドメインに属するエンドユーザーで、user_id を持ちます。
- グループ:ドメイン内のチーム組織で、エンタープライズグループとチームグループに分かれます。
- ドライブ:ストレージ領域です。ユーザー(個人用領域)またはチーム(チーム/エンタープライズ領域)に属します。
- ファイル:領域内のファイルまたはフォルダーで、file_id を持ちます。
- リビジョン:ファイルのバージョンスナップショットで、revision_id を持ちます。各ファイルには少なくとも 1 つのリビジョンがあります。最新の
revision_id(および画像の寸法)をレスポンスから取得するには、aliyun pds get-file --drive-id <drive_id> --path <absolute_path>または--file-id <file_id>を使用します。ビジュアル類似検索とドキュメント/動画分析では必須です。画像編集では省略可能で、省略した場合は最新のリビジョンが使用されます。
インストール要件
ステップ 1:Aliyun CLI のバージョンを確認する
aliyun version # 3.3.16 以上が必要ですインストールされていない場合、またはバージョンが 3.3.16 未満の場合は、インストールまたはアップグレードについて
references/cli-installation-guide.mdを参照してください。ステップ 2:プラグインの自動インストールを有効にする(CLI のバージョン要件を満たした後)
aliyun configure set --auto-plugin-install trueステップ 3:PDS プラグインのバージョンを確認する
aliyun pds version # 0.7.7 以上が必要ですバージョンが 0.7.7 未満の場合は、次を実行します。
aliyun plugin update
CLI の初期化(コアワークフローの前に必ず実行)
コアワークフローの開始時に、CLI を呼び出す前に、セッションごとの ID を一度だけ生成し、セッションの残りの間は同じ ID を使用してください(統一されたセッション ID のルールについては、可観測性のセクションを参照してください)。
# generate ONCE per session; reuse this exact value for every CLI/SDK/Terraform call
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 コマンドは非推奨です。
認証の設定
前提条件:Alibaba Cloud の認証情報を設定しておく必要があります
セキュリティルール:
- AK/SK の値を読み取る、出力する、または表示することは禁止です(例:
echo $ALIBABA_CLOUD_ACCESS_KEY_IDは禁止です)- 会話またはコマンドラインで、ユーザーに AK/SK を直接入力するよう求めることは禁止です
- 平文の認証情報を設定するために
aliyun configure setを使用することは禁止です- 認証情報の状態を確認するには、
aliyun configure listのみを使用できます認証情報の設定を確認します。
aliyun configure list有効なプロファイル(AK、STS、または OAuth ID)が出力に表示されていることを確認します。
有効な設定がない場合は、まず処理を中止してください。
- Alibaba Cloud Console から認証情報を取得します
- このセッションの外部で認証情報を設定します(ターミナルで
aliyun configureを実行するか、環境変数を設定します)- 設定完了後、
aliyun configure listを実行して確認します
クイックセットアップ(上記の前提条件を満たしていない場合のみ):
# Install Aliyun CLI (if not installed)
curl -fsSL --max-time 10 https://aliyuncli.alicdn.com/install.sh | bash
aliyun version # confirm >= 3.3.16
# Enable auto plugin installation
aliyun configure set --auto-plugin-install true
# Install Python dependencies (for multipart upload script)
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):要求された機能は、このドメインでは有効になっていません。ユーザーにその旨を伝え、PDS テクニカルサポートに連絡して有効にするよう案内します。
- InvalidParameter(400):パラメーターの形式が正しくありません。コマンドをドキュメントと照合し、パラメーターの形式を修正して再試行します。パラメーターを捏造してはなりません。
- レート制限/タイムアウト:CLI による再試行は、安全に再実行できる読み取り/一覧表示/ポーリング操作に限ります。作成/更新/移動/コピー/共有/処理/アーカイブ操作でタイムアウトが発生し、結果が不明な場合は、サーバーで変更が確定している可能性があります。再試行する前に最終状態を確認します。
- 結果が不明な場合:成功したかどうか不明であることを報告し、可能な場合は正確な ID/パスで照合します。成功したと断言したり、変更操作を確認せずに再実行したりしてはなりません。
- JSON 本文を伴わない CLI のゼロ以外の終了コード:stderr を報告します。読み取り専用コマンドの場合のみ、1 回再試行します。変更操作は上記のとおり照合します。