lukevr

Off-grid radio for sovereign AI. LoRa mesh comms via Meshtastic — no internet required.

运维安全v0.1.0
作者:lukevr更新于 2026-05-11meshtastic-skill@clawhub_lukevr/meshtastic-skill
监控告警服务器运维故障排查

据 AlphaMoat 统计,截至 2026-09,Off-grid radio for sovereign AI. LoRa mesh comms via Meshtastic — no internet required. 累计下载 2,537 次、获 3 个星标,在全部 5,078 个 AI 技能中排名第 4,071 位,在「运维安全」分类(264 个)中排名第 249 位。

累计安装
151
累计下载
2,537
星标
3
全站排名
#4,071
全站前 81% · 「运维安全」前 95%
平台累计安装累计下载星标评论
ClawHub ↗782,35532
SkillHub ↗1512,5373—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

主文描述了节点与本地 bridge 的通信、消息读取/发送、节点查询,以及可选的地图位置发布;本地文件会保存消息和节点位置缓存。地图发布可能暴露大致位置,LoRa/MQTT 消息也可能被其他参与者接收。发送或启用地图前应核对频道、收件节点、内容和位置隐私设置,避免广播精确位置。 需 USB 硬件、Python 包和匹配地区的无线设置;串口仅一个进程可占用,优先组权限与仅回环监听 socket。地图命令需额外 bridge 实现。日志放私有目录,接收文本审阅后再转发,监控排程需授权。

资料发布于 2026-10-27

可以用来做什么

  • 查看 Meshtastic 节点或 mesh 网络状态
  • 读取近期消息并按需筛除测试噪声
  • 在确认目标和频道后发送消息或控制地图发布

什么时候用

  • 需要通过本地连接的 LoRa 节点查看离网通信状态时
  • 明确核实消息接收对象、无线频道和位置分享设置后

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

只读取本地日志并汇总近期消息,不发送消息、不启用位置发布;指出日志中可能包含哪些隐私信息。

月度数据趋势

累计下载2,537
1,6202,1132,6052026-03 · 累计下载 1,6882026-05 · 累计下载 1,9622026-07 · 累计下载 2,2122026-08 · 累计下载 2,2852026-09 · 累计下载 2,53726-0326-09
星标3
2342026-03 · 星标 32026-05 · 星标 32026-07 · 星标 32026-08 · 星标 32026-09 · 星标 326-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-092,537—3
2026-082,285+3.3%3
2026-072,212—3
2026-051,962—3
2026-031,688—3

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

7.6 KB · ClawHub v0.1.0
---
name: meshtastic
description: Send and receive messages via Meshtastic LoRa mesh network. Use for off-grid messaging, mesh network status, reading recent mesh messages, or sending texts via LoRa radio.
---

# Meshtastic Skill

Control a Meshtastic node via USB for off-grid LoRa mesh communication.

## Prerequisites
展开全部(共 237 行)

- Meshtastic-compatible hardware (RAK4631, T-Beam, Heltec, LilyGo, etc.)
- USB connection to host machine
- Python 3.9+ with `meshtastic` and `paho-mqtt` packages
- See `references/SETUP.md` for full installation guide

## Configuration

Edit `CONFIG.md` with your node details, MQTT settings, and alert destinations.

## Architecture

```
┌─────────────────────────────────────────────────────────────┐
│                    MQTT Bridge                               │
├─────────────────────────────────────────────────────────────┤
│  RECEIVE: mqtt.meshtastic.org (global JSON traffic)         │
│  PUBLISH: optional map broker (protobuf)                    │
│  SOCKET:  localhost:7331 (commands: send, status, toggle)   │
├─────────────────────────────────────────────────────────────┤
│  Files:                                                      │
│  • /tmp/mesh_messages.txt - received messages log           │
│  • /tmp/mesh_nodes.json   - cached node positions           │
└─────────────────────────────────────────────────────────────┘

┌─────────────┐     USB      ┌─────────────┐
│  LoRa Node  │◄────────────►│ Bridge.py   │
│  (Radio)    │              │  - Serial   │
└─────────────┘              │  - Socket   │
                             │  - MQTT     │
                             └──────┬──────┘
                                    │
           ┌────────────────────────┼────────────────────────┐
           │                        │                        │
           ▼                        ▼                        ▼
    localhost:7331           /tmp/mesh_*            MQTT Broker
    (send commands)          (message logs)         (mesh traffic)
```

## Quick Reference

### Send Messages

```bash
# Via socket (preferred - works while bridge running)
echo '{"cmd":"send","text":"Hello mesh!"}' | nc -w 2 127.0.0.1 7331

# Direct message to specific node
echo '{"cmd":"send","text":"Hey!","to":"!abcd1234"}' | nc -w 2 127.0.0.1 7331

# Check status
echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331

# List RF nodes (seen via radio)
echo '{"cmd":"nodes"}' | nc -w 2 127.0.0.1 7331
```

### Map Visibility (if configured)

```bash
# Toggle map publishing on/off
echo '{"cmd":"map"}' | nc -w 2 127.0.0.1 7331

# Explicitly enable/disable
echo '{"cmd":"map","enable":true}' | nc -w 2 127.0.0.1 7331
echo '{"cmd":"map","enable":false}' | nc -w 2 127.0.0.1 7331

# Force immediate position report
echo '{"cmd":"map_now"}' | nc -w 2 127.0.0.1 7331
```

### Read Messages

```bash
# Recent messages (last 20)
tail -20 /tmp/mesh_messages.txt

# Filter common noise
tail -50 /tmp/mesh_messages.txt | grep -v -E "(Hello!|hey|mqtt-test)"
```

### Message Log Format

```
TIMESTAMP|CHANNEL|SENDER|DISTANCE|TEXT
2026-02-02T12:43:59|LongFast|!433bf114|1572km|Moin moin!
```

## Bridge Service

```bash
# Status
sudo systemctl status meshtastic-bridge

# Restart
sudo systemctl restart meshtastic-bridge

# View logs
sudo journalctl -u meshtastic-bridge -f

# Stop (needed for direct CLI access)
sudo systemctl stop meshtastic-bridge
```

## Monitoring & Alerts

### Option 1: Cron Job (Recommended)

```javascript
cron.add({
  name: "mesh-monitor",
  schedule: { kind: "every", everyMs: 300000 },  // 5 min
  sessionTarget: "isolated",
  payload: {
    kind: "agentTurn",
    message: "Check /tmp/mesh_messages.txt for new messages. Filter out noise (test messages, 'Hello!', 'hey'). Alert me of interesting ones with translations if non-English.",
    timeoutSeconds: 60,
    deliver: true,
    channel: "telegram"  // or your channel
  }
})
```

### Option 2: Digest Summary

```javascript
cron.add({
  name: "mesh-digest",
  schedule: { kind: "cron", expr: "0 8,14,20 * * *", tz: "Europe/Madrid" },
  sessionTarget: "isolated",
  payload: {
    kind: "agentTurn",
    message: "Read /tmp/mesh_messages.txt. Create a digest of interesting messages from the last 6 hours. Translate non-English, guess country from distance. Post summary.",
    timeoutSeconds: 120,
    deliver: true,
    channel: "telegram"
  }
})
```

### Option 3: Spawned Monitor Agent

```javascript
sessions_spawn({
  task: "Monitor /tmp/mesh_messages.txt every 30 seconds. Alert me for interesting messages (not noise). Run for 1 hour.",
  label: "mesh-monitor",
  runTimeoutSeconds: 3600
})
```

## Distance Reference

Approximate distances for country guessing (adjust for your location):

| Distance | Typical Regions |
|----------|-----------------|
| <500km | Neighboring countries/regions |
| 500-1000km | Medium range |
| 1000-1500km | Long range |
| 1500-2000km | Very long range (likely MQTT relay) |
| >2000km | MQTT-bridged traffic |

## Privacy Notes

- Map reports can use fuzzy positioning (~2km precision)
- Position publishing can be toggled off entirely
- Local RF messages are logged but not shared externally by default
- Never broadcast precise location in messages

## Supported Hardware

| Device | Notes |
|--------|-------|
| RAK4631 | Recommended, reliable USB |
| T-Beam | Popular, has GPS |
| Heltec V3 | Budget option |
| LilyGo T-Echo | E-paper display |

See `references/SETUP.md` for hardware-specific setup.

## Regional Frequencies

| Region | Frequency | Topic Root |
|--------|-----------|------------|
| Europe | 868 MHz | `msh/EU_868/2/json` |
| Americas | 915 MHz | `msh/US/2/json` |
| Australia/NZ | 915 MHz | `msh/ANZ/2/json` |

## Files

```
~/.openclaw/skills/meshtastic/
├── SKILL.md           # This file
├── CONFIG.md          # Your configuration
├── scripts/
│   └── mesh.py        # CLI wrapper
└── references/
    └── SETUP.md       # Installation guide
```

## Troubleshooting

**"Resource temporarily unavailable"**
- Only one process can use serial port at a time
- Stop bridge before direct CLI: `sudo systemctl stop meshtastic-bridge`

**No messages appearing**
- Check MQTT subscription topic matches your region
- Verify firewall allows outbound port 1883
- Check `journalctl -u meshtastic-bridge` for errors

**Can't send messages**
- Ensure bridge is running (socket server)
- Check serial port path in config
- Try: `echo '{"cmd":"status"}' | nc -w 2 127.0.0.1 7331`

**Considering BLE instead of USB?**
- Don't. USB is far more reliable on Linux.
- BLE on Linux (BlueZ/bleak) has notification bugs, pairing inconsistencies, and random disconnects.
- See `references/SETUP.md` for detailed findings.

## Further Reading

- [Meshtastic Docs](https://meshtastic.org/docs/)
- [MQTT Integration](https://meshtastic.org/docs/configuration/module/mqtt/)
- [Hardware Options](https://meshtastic.org/docs/hardware/)

「运维安全」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。