新增第26章: NAS照片发送到Telegram

This commit is contained in:
2026-04-17 11:50:37 +08:00
parent ea7a3785b9
commit 4fefe2541b
50 changed files with 1692 additions and 448 deletions

View File

@@ -1145,3 +1145,70 @@ obsidian help
- Obsidian 应用必须运行才能使用 CLI
- 如果 Obsidian 未运行,会报错或无响应
- 内容中换行用 `\n`,制表符用 `\t`
## 26. NAS 照片发送到 Telegram (2026-04-17)
### 功能
从 NAS 照片目录(/Users/weishen/mnt/volume1/homes/shenwei/Photos/)复制照片并通过 Telegram 发送给用户。
### 前置要求
- NAS 照片目录已挂载到 `/Users/weishen/mnt/volume1/`
- Telegram bot 已配置account: bot1, target: 5038825565
### 操作步骤
#### 1. 查找照片
```bash
# 查看照片目录结构
ls /Users/weishen/mnt/volume1/homes/shenwei/Photos/MobileBackup/
# 查找具体照片
find /Users/weishen/mnt/volume1/homes/shenwei/Photos/MobileBackup/ -type f -name "*.jpg" | head -5
```
#### 2. 复制到 media 目录
```bash
cp /path/to/photo.jpg ~/.openclaw/media/inbound/
```
#### 3. 通过 OpenClaw 发送
```bash
/opt/homebrew/bin/openclaw message send \
--account bot1 \
--channel telegram \
--target 5038825565 \
--media ~/.openclaw/media/inbound/photo.jpg \
--message "📷 照片说明"
```
### 参数说明
| 参数 | 说明 |
|------|------|
| `--account` | Telegram bot 账号(如 bot1 |
| `--channel telegram` | 固定为 telegram |
| `--target` | 目标 chat ID比利哥: 5038825565 |
| `--media` | 图片路径 |
| `--message` | 说明文字 |
### 示例
```bash
# 复制并发送
cp "/Users/weishen/mnt/volume1/homes/shenwei/Photos/MobileBackup/5MP-9A3/2003/01/IMG_20030101_000059_151.jpg" ~/.openclaw/media/inbound/
/opt/homebrew/bin/openclaw message send --account bot1 --channel telegram --target 5038825565 --media ~/.openclaw/media/inbound/IMG_20030101_000059_151.jpg --message "📷 2003年照片"
```
### 照片目录结构
```
/Users/weishen/mnt/volume1/homes/shenwei/Photos/
├── MobileBackup/ # 手机备份
│ ├── 5MP-9A3/ # 设备名
│ │ └── 2003/
│ │ └── 01/
│ │ └── IMG_*.jpg
│ └── ...
├── Canon_DIGITAL_IXUS_400/
├── Canon_EOS_400D_DIGITAL/
└── ...
```

View File

@@ -1,123 +0,0 @@
---
title: 📝 技术笔记:构建全能监控栈 (Glances + InfluxDB + Grafana)
source:
author: shenwei
published:
created:
description:
tags: [glances, grafana, influxdb]
---
#glances #influxdb #grafana
# 📝 技术笔记:构建全能监控栈 (Glances + InfluxDB + Grafana)
## 1. 为什么需要这个组合?
- **Glances (采集层)**:轻量级、全能。负责抓取 M4 芯片负载、GPU 状态、温度以及 Docker 容器指标。
- **InfluxDB (存储层)**:时序数据库。专门存储随时间变化的数据,方便回顾昨天或上周的服务器波动。
- **Grafana (展示层)**:可视化门面。将枯燥的数字变成直观的曲线图,并提供多维度报警功能。
---
## 2. Docker Compose 一键部署脚本
在您的服务器上创建目录 `~/monitor`,新建 `docker-compose.yml`
YAML
```
services:
# 1. 数据库:存储历史监控数据
influxdb:
image: influxdb:2.7
container_name: monitor-db
restart: always
ports:
- "8086:8086"
volumes:
- ./influxdb_data:/var/lib/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=admin
- DOCKER_INFLUXDB_INIT_PASSWORD=your_password_here # 请修改密码
- DOCKER_INFLUXDB_INIT_ORG=my-org
- DOCKER_INFLUXDB_INIT_BUCKET=glances_metrics
# 2. 采集器:抓取宿主机和 Docker 指标
glances:
image: nicolargo/glances:latest
container_name: monitor-collector
restart: always
pid: host
network_mode: host # 使用 host 模式以获取最精准的硬件指标
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
# 关键:配置导出到 InfluxDB v2
- GLANCES_OPT=-w --export influxdb2
depends_on:
- influxdb
# 3. 可视化:精美仪表盘
grafana:
image: grafana/grafana:latest
container_name: monitor-ui
restart: always
ports:
- "3000:3000"
volumes:
- ./grafana_data:/var/lib/grafana
depends_on:
- influxdb
```
---
## 3. 核心配置步骤
### 第一步:启动容器
Bash
```
docker compose up -d
```
### 第二步:获取 InfluxDB Token
1. 浏览器访问 `http://服务器IP:8086`
2. 使用配置文件中的用户名密码登录。
3. 进入 **Load Data -> API Tokens**,生成一个全权限的 Token。
4. **重要**:将此 Token 配置到 Glances 的导出设置中(如果使用环境变量,请更新 `docker-compose.yml` 中的 InfluxDB 相关配置)。
### 第三步:配置 Grafana 展示
1. 浏览器访问 `http://服务器IP:3000` (默认 admin/admin)。
2. **添加数据源**:选择 **InfluxDB**
- Query Language 选择 **Flux**
- URL 填写 `http://localhost:8086` (或容器名 `http://monitor-db:8086`)。
- 填入 Organization, Token 和 Bucket 名。
3. **导入现成模板**
- 点击 **Dashboards -> New -> Import**
- 输入模板 ID`13544` (Glances 官方模板) 或 `2387`
- 瞬间即可看到美观的 CPU、内存、Docker 容器监控大屏。
---
## 4. AI Agent 场景应用
### 场景 BOpenClaw Agent 深度对接
除了看图表,你可以让 OpenClaw Agent 通过查询 InfluxDB 的 API 来获取“历史洞察”:
- **Agent 指令**:“查询过去 3 小时 M4 GPU 的平均负载,如果超过 70%,请告诉我。”
- **业务逻辑**:这能帮你优化 AI 视频剪辑任务的排程。
---
## 💡 维护小贴士
- **磁盘清理**InfluxDB 会产生历史数据。建议在 InfluxDB 设置中配置 **Retention Policy (保留策略)**,例如只保留最近 30 天的数据,防止撑爆磁盘。
- **安全保护**:既然有 Web 界面,请务必在 Grafana 和 InfluxDB 中设置复杂的强密码。
---
**提示**:如果你在配置 InfluxDB 2.x 的 Flux 查询语句时遇到困难,可以随时问我,我可以帮你写一段用于 OpenClaw 的查询脚本!

View File

@@ -1,37 +0,0 @@
# Wiki Ingest Status
## Last Updated
2026-04-16 08:05 CST
## Batch Progress
- Total batches completed: 6
- This batch (Batch 12): 3 docs ingested
## Docs Ingested This Session (Batch 12)
1. n8n Telegram Trigger HTTPS 配置修复 ✅
2. n8n Docker 安装与 SOCKS5 代理配置 ✅
3. N8N AI Agent 2025 入门教程 ✅
## Overall Progress
- Total raw files: 182
- Done: 22 (12.1%)
- Remaining: 160
## Wiki Stats
- Sources: 98 (+3)
- Entities: 159 (+1: Telegram)
- Concepts: 205 (+2: Telegram Webhook, WEBHOOK_URL)
## Git
- Last commit: 04b7e99 (Batch 11)
## Next Batch Suggestions
From raw/Agent/ (remaining ~7 files):
- n8n+Claude 通过自然语言自动化工作流.md
- 使用Claude自动生成N8N工作流的实操教程.md
- 万字保姆级教程-90天跑通一人公司模式-2026-03-29.md
From raw/AI/:
- AI/一语点醒梦中人.md
- AI/系统提示词构建原则.md
- AI/如何写出完美的Prompt.md