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>
This commit is contained in:
102
references/usage.md
Normal file
102
references/usage.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Synology API 工具使用說明
|
||||
|
||||
這個目錄放的是 Synology DSM API 相關腳本:
|
||||
|
||||
- `synology_api.py`:共用 API client library
|
||||
- `synology_api_login.py`:登入、復用 SID、抓系統資訊
|
||||
|
||||
---
|
||||
|
||||
## 1) 先設定環境變數(建議)
|
||||
|
||||
可放在 workspace 根目錄 `.env`:
|
||||
|
||||
```env
|
||||
DS_URL=https://syno.lotimmy.com/
|
||||
DS_USER=你的帳號
|
||||
DS_PASSWORD=你的密碼
|
||||
|
||||
# 可選:輸出檔案路徑
|
||||
DS_LOGIN_RESULT=tmp/synology_api_login_result.json
|
||||
DS_SESSION_FILE=tmp/synology_session.json
|
||||
DS_SYSINFO_FILE=tmp/synology_system_info.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2) 基本用法
|
||||
|
||||
### 只登入(會先嘗試沿用舊 SID,失效才重登)
|
||||
|
||||
```bash
|
||||
python3 synology_api_login.py
|
||||
```
|
||||
|
||||
### 登入後抓系統資訊
|
||||
|
||||
```bash
|
||||
python3 synology_api_login.py --system-info
|
||||
```
|
||||
|
||||
### 顯示人類可讀摘要
|
||||
|
||||
```bash
|
||||
python3 synology_api_login.py --system-info --summary
|
||||
```
|
||||
|
||||
### 輸出精簡 JSON(適合餵腳本)
|
||||
|
||||
```bash
|
||||
python3 synology_api_login.py --system-info --json-compact
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3) 常用參數
|
||||
|
||||
- `--url`:DSM URL(預設取 `DS_URL`)
|
||||
- `--user`:DSM 帳號(預設取 `DS_USER`)
|
||||
- `--password`:DSM 密碼(預設取 `DS_PASSWORD`)
|
||||
- `--system-info`:抓系統資訊 bundle
|
||||
- `--summary`:印出摘要(需搭配 `--system-info`)
|
||||
- `--json-compact`:印出精簡 JSON(需搭配 `--system-info`)
|
||||
|
||||
範例:
|
||||
|
||||
```bash
|
||||
python3 synology_api_login.py \
|
||||
--url "https://192.168.42.20:5001" \
|
||||
--user "admin" \
|
||||
--password "******" \
|
||||
--system-info --json-compact
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4) 主要輸出檔
|
||||
|
||||
- `tmp/synology_api_login_result.json`:登入結果(含是否沿用 cached SID)
|
||||
- `tmp/synology_session.json`:SID session cache
|
||||
- `tmp/synology_system_info.json`:完整系統資訊 API 回傳
|
||||
|
||||
---
|
||||
|
||||
## 5) 目前精簡 JSON 會包含
|
||||
|
||||
- `model`
|
||||
- `serial`
|
||||
- `ip`(優先 `eth0`)
|
||||
- `dsm_version`
|
||||
- `cpu_usage_pct`, `cpu_clock_mhz`
|
||||
- `memory_total_mb`, `memory_usage_pct`
|
||||
- `temperature_c`
|
||||
- `volumes`
|
||||
- `disk_size_usage`(同時有 `*_bytes` 與 `*_gib`)
|
||||
- `disk_health`(vendor 已去除多餘空白)
|
||||
- `time`, `uptime`
|
||||
|
||||
---
|
||||
|
||||
## 6) 執行位置
|
||||
|
||||
本 README 的指令都以「目前目錄在 `scripts/synology/`」為前提。
|
||||
Reference in New Issue
Block a user