Files
synology/SKILL.md
Timmy 321456d4e6 Initial commit: Synology DSM API skill
- 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>
2026-03-26 17:55:43 +08:00

95 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`