znas photos
ユーザーが NAS フォトについて質問した場合に使用します:写真や動画の検索、タイムライン/マップデータの参照、アルバム管理、アルバムのダウンロード、類似写真の検索、AI 認識された人物/ペットのアルバム調査など。
このスキルの目的
- フォト設定パスの読み取りと更新。
- インデックス化された写真/動画の検索、タイムラインバケットの読み取り。
- ユーザーアルバムの作成、一覧表示、更新、削除、ダウンロード。
- 類似写真スキャンタスクの開始/一覧表示/削除とグループの調査。
- フォトマップのクラスター、位置情報、マップスイッチ状態の読み取り。
- AI 認識された特徴アルバム(人物やペットなど)の読み取りと管理。
発見ルール
- 推測ではなく、段階的な CLI 発見を優先します:
znas photos --helpznas photos <feature> --helpznas photos <feature> <command> --help
- ルート一覧、ペイロードタイプ、例、バイナリ/書き込みフラグを JSON で確認する必要がある場合は、
znas schema photosを使用します。 - バックエンドのフィールド名は、help や schema に表示される通りに正確に保持します。例:
fileIds、taskId、groupId、albumId、album_id、fIds、eaHash。 - すべての ID を盲目的に文字列に変換しないでください。以前の API 読み取りで返されたフィールド名と値の形状を保持します。
安全ルール
- 書き込みまたは削除の前に、現在の状態を読み取ります。
- 書き込み/削除が成功した後、最終的な成功を報告する前に、対応する読み取りコマンドを再実行します。
znas photos ...でルートが利用可能な場合、ホストネイティブツールや内部のcurlをフォトコントロールプレーン作業に使用しないでください。- フォトバックエンドは普遍的なドライランモードを公開していません。破壊的なアクションについては、最初に正確なターゲットを調査し、変更を狭い範囲に保ちます。
- 非同期の類似写真スキャンの場合、タスク作成は作業をキューに入れるだけです。ステータス確認には
similar task-listとグループ読み取りを使用します。 - 通常のアルバムルートと AI 特徴アルバムルートは異なる表面です。
album_idとalbumIdを混在させないでください。
バイナリ出力ルール
バイナリとしてマークされたルートでは、標準出力を解析可能に保つために -o <file> が必要です:
znas photos album download ... -o album.zipznas photos photo stream ... -o live.movznas photos feature avatar ... -o avatar.jpg
コマンドが失敗した場合、CLI はファイルを書き込む前に JSON エラーレスポンスを検証します。
一般的なワークフロー
フォト状態の読み取り
znas photos setting config
znas photos photo search --json '{"index":0,"size":20}'
znas photos photo timeline --params '{"time_tpl":"YYYY-MM","sort_order":1}'
アルバムワークフロー
znas photos album list --params '{"index":0,"size":20}'
znas photos album create --json '{"name":"Trip"}'
znas photos album add-photos --json '{"album_id":123,"fileIds":["456"]}'
znas photos album get --params '{"album_id":123}'
znas photos album download --json '{"album_id":123,"download_name_prefix":"Trip"}' -o trip.zip
類似写真
znas photos similar task-list --params '{"index":0,"size":20,"imgSize":20,"groupSize":4}'
znas photos similar task-create --json '{"dirPath":["/personal/Photos"]}'
znas photos similar group-list --params '{"taskId":123,"index":0,"size":20,"imgSize":20}'
znas photos similar group-detail --params '{"taskId":123,"groupId":456,"offset":0,"size":50}'
マップと AI 特徴アルバム
znas photos map last-location
znas photos map bounds --params '{"minLat":30,"maxLat":31,"minLon":120,"maxLon":121,"zoomLevel":10}'
znas photos feature progress --params '{"taskType":1}'
znas photos feature album-list --params '{"taskType":1,"index":0,"size":20,"isHide":false}'
znas photos feature album-photos --params '{"albumId":123,"index":0,"size":50}'
機能
album
POSTdownload->/downloadFiles(auth)- フラグ:
binary - 正規コマンド:
photos album download - ペイロード:
--json - 例:
znas photos album download --json '{"album_id":123,"download_name_prefix":"album"}' -o album.zip - 注意点: ダウンロードは
album_idまたはstr_pathsを使用できます。バイナリ zip データを返すため-o <file>が必要です。
- フラグ:
POSTcreate->/album/createAlbum(auth)- フラグ:
write - ペイロード:
--json; 必須:name - 例:
znas photos album create --json '{"name":"Trip","description":"2026 trip"}' - 注意点: 最初にアルバムを作成し、その後
album add-photosで写真を追加します。
- フラグ:
PUTupdate->/album/updateAlbum(auth)- フラグ:
write - ペイロード:
--json; 必須:id - 例:
znas photos album update --json '{"id":123,"name":"Trip edited"}' - 注意点: 通常のアルバム更新では、バックエンドフィールド
idを使用し、album_idは使用しません。
- フラグ:
DELETEdelete->/album/deleteAlbum(auth)- フラグ:
destructive - ペイロード:
--json; 必須:id - 例:
znas photos album delete --json '{"id":123}' - 注意点: 読み取り後にのみアルバムを削除します。バックエンドの動作が変更されない限り、元のファイルが削除されるわけではありません。
- フラグ:
GETlist->/album/listAlbum(auth)- ペイロード:
--params; 必須:size - 例:
znas photos album list --params '{"index":0,"size":20,"sort_type":2,"sort_order":1}' - 注意点: List は GET クエリです。JSON ボディではなく
indexとsizeを使用します。
- ペイロード:
POSTadd-photos->/album/addPhotoToAlbum(auth)- フラグ:
write - ペイロード:
--json; 必須:album_id - 例:
znas photos album add-photos --json '{"album_id":123,"fileIds":["456"]}' - 注意点: バックエンドフィールドは大文字の I を持つ
fileIdsです。正確な NAS パスがある場合はpathsもサポートされています。
- フラグ:
DELETEremove-photos->/album/removeAlubmPhotos(auth)- フラグ:
destructive - 正規コマンド:
photos album remove-photos - ペイロード:
--json; 必須:album_id - 例:
znas photos album remove-photos --json '{"album_id":123,"fileIds":["456"]}' - 注意点: CLI は上流のタイポ
removeAlubmPhotosを隠蔽します。意味論的なコマンドremove-photosを使用します。
- フラグ:
GETget->/album/getAlbum(auth)- ペイロード:
--params; 必須:album_id - 例:
znas photos album get --params '{"album_id":123}' - 注意点: アルバム詳細は GET クエリです。
--params経由でalbum_idを渡します。
- ペイロード:
feature
GETprogress->/feature/process(auth)- ペイロード:
--params - 例:
znas photos feature progress --params '{"taskType":1}' - 注意点:
taskTypeを省略すると、バックエンドのデフォルト進捗が読み取られます。ユーザーが顔やペットについて具体的に尋ねた場合に渡します。
- ペイロード:
DELETEclear->/feature/clear(auth)- フラグ:
destructive - ペイロード:
--json; 必須:taskType - 例:
znas photos feature clear --json '{"taskType":1}' - 注意点: これにより、タスクタイプの発見された特徴アルバムデータがリセットされます。最初に進捗/リストを読み取ります。
- フラグ:
GETswitch->/feature/switch(auth)- ペイロード:
--params; 必須:type - 例:
znas photos feature switch --params '{"type":1}' - 注意点: Switch 読み取りはフィールド
typeを使用します。タスクアルバムフィルターはtaskTypeを使用します。
- ペイロード:
PUTset-switch->/feature/switch(auth)- フラグ:
write - ペイロード:
--json; 必須:type,switch - 例:
znas photos feature set-switch --json '{"type":1,"switch":1}' - 注意点: 切り替え後、最終状態を報告する前に
feature switchを再読み取りします。
- フラグ:
PUTset-config->/feature/switch/config(auth)- フラグ:
write - ペイロード:
--json; 必須:type,hideNum - 例:
znas photos feature set-config --json '{"type":1,"hideNum":5}' - 注意点:
hideNumを正確に使用します。このバックエンドではスネークケースは受け入れられません。
- フラグ:
GETalbum-list->/feature/album/list(auth)- ペイロード:
--params; 必須:index,size - 例:
znas photos feature album-list --params '{"taskType":1,"index":0,"size":20,"isHide":false}' - 注意点: 認識された特徴アルバムは、
taskTypeやisHideなどのキャメルケースフィールドを使用します。
- ペイロード:
GETalbum-count->/feature/album/count(auth)- ペイロード:
--params - 例:
znas photos feature album-count --params '{"taskType":1,"isHide":false}' - 注意点: カウントだけでなくアルバム ID が必要な場合は、
album-listを使用します。
- ペイロード:
GETrelation->/feature/relation(auth)- ペイロード:
--params - 例:
znas photos feature relation --params '{"taskType":1}' - 注意点: リレーションは認識されたアルバムのオプションです。リレーションテキストを更新する前に読み取ります。
- ペイロード:
GETalbum-get->/feature/album(auth)- ペイロード:
--params; 必須:albumId - 例:
znas photos feature album-get --params '{"albumId":123}' - 注意点: 特徴アルバム ID はフィールド
albumIdを使用します。通常のアルバム詳細で使用されるalbum_idとは異なります。
- ペイロード:
PUTalbum-update->/feature/album(auth)- フラグ:
write - ペイロード:
--json; 必須:albumId - 例:
znas photos feature album-update --json '{"albumId":123,"name":"Alice"}' - 注意点: 以前の読み取りからの値がある場合のみ、
coverId、coverPath、relationを使用します。
- フラグ:
POSTalbum-hide->/feature/album/hide(auth)- フラグ:
write - ペイロード:
--json; 必須:albumIds,isHide - 例:
znas photos feature album-hide --json '{"albumIds":[123],"isHide":true}' - 注意点:
isHideを変更した後、非表示リストと表示リストを確認します。
- フラグ:
POSTalbum-merge->/feature/album/merge(auth)- フラグ:
destructive - ペイロード:
--json; 必須:albumIds,targetId - 例:
znas photos feature album-merge --json '{"albumIds":[123,124],"targetId":123}' - 注意点: 最初にすべてのソースアルバムを読み取ります。
targetIdは残るアルバムである必要があります。
- フラグ:
GETalbum-photos->/feature/album/photos(auth)- ペイロード:
--params; 必須:albumId,index,size - 例:
znas photos feature album-photos --params '{"albumId":123,"index":0,"size":50}' - 注意点: 認識されたアルバムにはこれを使用します。通常のユーザーアルバムには
album getを使用します。
- ペイロード:
PUTalbum-photo-update->/feature/album/photo(auth)- フラグ:
write - ペイロード:
--json; 必須:albumId,fIds - 例:
znas photos feature album-photo-update --json '{"albumId":123,"fIds":[456]}' - 注意点: これは認識された特徴写真の行を移動します。
fIdsはalbum-photosからの特徴行 ID です。
- フラグ:
DELETEalbum-photo-delete->/feature/album/photo(auth)- フラグ:
destructive - ペイロード:
--json; 必須:fIds - 例:
znas photos feature album-photo-delete --json '{"fIds":[456]}' - 注意点: 最初に
album-photosを読み取り、返された特徴行 ID を再利用します。
- フラグ:
GETavatar->/feature/avatar(auth)- フラグ:
binary - ペイロード:
--params; 必須:eaHash - 例:
znas photos feature avatar --params '{"eaHash":"<hash>"}' -o avatar.jpg - 注意点: このルートは画像ファイルを返します。常に
-o <file>を渡します。
- フラグ:
map
GETforward->/map/forward(auth)- ペイロード:
--params; 必須:coords,model - 例:
znas photos map forward --params '{"coords":"116.3,39.9","model":1}' - 注意点: 複数の座標は
coords内でセミコロン区切りです。
- ペイロード:
GETswitch->/map/switch(auth)- ペイロード:
--params; 必須:type - 例:
znas photos map switch --params '{"type":2}' - 注意点: マップスイッチは特徴リクエストフィールド
typeを使用します。現在のマップスイッチタイプは通常 2 です。
- ペイロード:
PUTset-switch->/map/switch(auth)- フラグ:
write - ペイロード:
--json; 必須:type,switch - 例:
znas photos map set-switch --json '{"type":2,"switch":1}' - 注意点: 書き込み後、最終状態を報告する前に
map switchを再読み取りします。
- フラグ:
GETlast-location->/map/lastLocation(auth)- ペイロード:
none - 例:
znas photos map last-location - 注意点: 結果が空の場合、インデックス化された写真に使用可能な GPS データがない可能性があります。
- ペイロード:
GETbounds->/map/bounds(auth)- ペイロード:
--params; 必須:minLat,maxLat,minLon,maxLon,zoomLevel - 例:
znas photos map bounds --params '{"minLat":30,"maxLat":31,"minLon":120,"maxLon":121,"zoomLevel":10}' - 注意点: Bounds はキャメルケースの緯度/経度フィールドを使用します。最小値は最大値より小さい必要があります。
- ペイロード:
GETgeohash->/map/geohash(auth)- ペイロード:
--params; 必須:geohash,index,size - 例:
znas photos map geohash --params '{"geohash":"wtw3;wtw6","index":0,"size":20,"sortOrder":1}' - 注意点: 複数のジオハッシュは単一の
geohash文字列内でセミコロン区切りです。
- ペイロード:
GETcountries->/map/location/country(auth)- ペイロード:
--params; 必須:index,size,viewType,citySize - 例:
znas photos map countries --params '{"index":0,"size":20,"viewType":1,"citySize":5}' - 注意点: グループ化された位置情報の概要にはこのルートを使用します。国を選択した後、
citiesを使用します。
- ペイロード:
GETcities->/map/location/city(auth)- ペイロード:
--params; 必須:country,offset,size - 例:
znas photos map cities --params '{"country":"China","offset":0,"size":20}' - 注意点: 都市検索には、
countriesによって返された正確なcountry文字列が必要です。
- ペイロード:
GETcity-photos->/map/location/city/photo(auth)- ペイロード:
--params; 必須:addressId,index,size - 例:
znas photos map city-photos --params '{"addressId":123,"index":0,"size":50}' - 注意点: 表示される都市名ではなく、都市レスポンスからの
addressIdを使用します。
- ペイロード:
photo
POSTsearch->/photos/search(auth)- ペイロード:
--json; 必須:index,size - 例:
znas photos photo search --json '{"index":0,"size":20,"keyword_search":"beach"}' - 注意点: 写真検索は POST JSON です。
keyword_search、album_ids、city_idsなどのバックエンドフィールド名を保持します。
- ペイロード:
GETtimeline->/photos/getTimeBuckets(auth)- ペイロード:
--params - 例:
znas photos photo timeline --params '{"time_tpl":"YYYY-MM","sort_order":1}' - 注意点: Timeline は GET ルートです。
--jsonではなく--paramsでフィルターを渡します。
- ペイロード:
GETstream->/photos/stream(auth)- フラグ:
binary - ペイロード:
--params; 必須:id - 例:
znas photos photo stream --params '{"id":123456}' -o live.mov - 注意点: このルートはバイナリのライブフォトデータを返します。常に
-o <file>を渡します。
- フラグ:
setting
POSTinit->/setting/init(auth)- フラグ:
write - ペイロード:
--json; 必須:init_path - 例:
znas photos setting init --json '{"init_path":"/personal/Photos"}' - 注意点: 初期化は写真ライブラリのルートパスを設定します。このパスは、写真のインデックス作成とスキャンの開始点として機能します。
- フラグ:
GETconfig->/setting/config(auth)- ペイロード:
none - 例:
znas photos setting config - 注意点: 設定は現在の写真ライブラリのパスと構成を返します。書き込み操作の前に現在の状態を確認するために使用します。
- ペイロード: