- Add synology_api.py: DSM API client library - Add synology_api_login.py: CLI tool for login and system info - Add SKILL.md: Skill definition with usage examples - Add CLAUDE.md: Developer documentation - Add references/: Example configs and usage guide Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| synology | 透過 Synology DSM WebAPI 進行登入、重用 SID session、抓取 NAS 系統資訊與輸出精簡 JSON 摘要。當使用者要查 Synology NAS 狀態、DSM 版本、CPU/記憶體用量、溫度、Volume 容量、硬碟健康、網路 IP,或要把 Synology 查詢流程做成可重複執行腳本時使用。 |
Synology
使用這個 skill 操作 Synology DSM API,不走瀏覽器。
快速開始
先確認環境變數或 profile 可用。可參考:
references/env.examplereferences/hosts.jsonreferences/usage.md
建議做法:
- 多台 Synology:
references/hosts.json放url、user、password_env - 密碼放 workspace 根目錄
.env - 腳本會自動讀
.env,不用每次手動export
常用指令:
python3 skills/synology/scripts/synology_api_login.py --system-info --summary
若要輸出精簡 JSON:
python3 skills/synology/scripts/synology_api_login.py --system-info --json-compact
若有多台 Synology,建議改用 profile:
python3 skills/synology/scripts/synology_api_login.py --profile home-nas --system-info --summary
搭配 workspace 根目錄 .env:
DS_PASSWORD_HOME=你的密碼
DS_PASSWORD_OFFICE=你的密碼
任務
1. 登入 DSM
python3 skills/synology/scripts/synology_api_login.py
重點:
- 會先嘗試沿用已快取的 SID
- SID 失效才重新登入
- 預設吃
DS_URL、DS_USER、DS_PASSWORD - 若指定
--profile,則改讀references/hosts.json
2. 查系統資訊
python3 skills/synology/scripts/synology_api_login.py --system-info --summary
回覆時優先整理:
- NAS 型號
- DSM 版本
- IP
- CPU 使用率
- 記憶體使用率
- 溫度
- Volume 容量
- 硬碟健康
3. 輸出給其他腳本吃的 JSON
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。