--- name: synology description: 透過 Synology DSM WebAPI 進行登入、重用 SID session、抓取 NAS 系統資訊與輸出精簡 JSON 摘要。當使用者要查 Synology NAS 狀態、DSM 版本、CPU/記憶體用量、溫度、Volume 容量、硬碟健康、網路 IP,或要把 Synology 查詢流程做成可重複執行腳本時使用。 --- # Synology 使用這個 skill 操作 Synology DSM API,不走瀏覽器。 ## 快速開始 先確認環境變數或 profile 可用。可參考: - `references/env.example` - `references/hosts.json` - `references/usage.md` 建議做法: - 多台 Synology:`references/hosts.json` 放 `url`、`user`、`password_env` - 密碼放 workspace 根目錄 `.env` - 腳本會自動讀 `.env`,不用每次手動 `export` 常用指令: ```bash python3 skills/synology/scripts/synology_api_login.py --system-info --summary ``` 若要輸出精簡 JSON: ```bash python3 skills/synology/scripts/synology_api_login.py --system-info --json-compact ``` 若有多台 Synology,建議改用 profile: ```bash python3 skills/synology/scripts/synology_api_login.py --profile home-nas --system-info --summary ``` 搭配 workspace 根目錄 `.env`: ```env DS_PASSWORD_HOME=你的密碼 DS_PASSWORD_OFFICE=你的密碼 ``` ## 任務 ### 1. 登入 DSM ```bash python3 skills/synology/scripts/synology_api_login.py ``` 重點: - 會先嘗試沿用已快取的 SID - SID 失效才重新登入 - 預設吃 `DS_URL`、`DS_USER`、`DS_PASSWORD` - 若指定 `--profile`,則改讀 `references/hosts.json` ### 2. 查系統資訊 ```bash python3 skills/synology/scripts/synology_api_login.py --system-info --summary ``` 回覆時優先整理: - NAS 型號 - DSM 版本 - IP - CPU 使用率 - 記憶體使用率 - 溫度 - Volume 容量 - 硬碟健康 ### 3. 輸出給其他腳本吃的 JSON ```bash python3 skills/synology/scripts/synology_api_login.py --system-info --json-compact ``` 適合: - 後續 shell / Python 串接 - 定期監控 - 給其他 skill 或腳本使用 ## 注意事項 - 若 DSM 使用自簽章憑證,這套腳本預設可接受;如需強制驗證憑證,再調整 client。 - 若 `tmp/` 內已有 session cache,腳本可能直接沿用舊 SID。 - 若查不到資料,先確認 `DS_URL`、`DS_USER`、`DS_PASSWORD` 是否正確。 - 若只是要看怎麼設定 `.env`,先讀 `references/env.example`。 - 若只是要看用法範例,先讀 `references/usage.md`。