AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
116
TOOLS.md
116
TOOLS.md
@@ -1,43 +1,91 @@
|
||||
# TOOLS.md - Local Notes
|
||||
## Web Search & Fetch (Ghostfetch)
|
||||
- **Skill:** `ghostfetch` (ClawHub)
|
||||
- **Binary:** `~/.openclaw/workspace/tools/ghostfetch`
|
||||
- **Description:** CLI web search and page fetcher — single binary, no browser required
|
||||
|
||||
## Anthony's Setup
|
||||
**Usage:**
|
||||
```bash
|
||||
# Search the web (DuckDuckGo default)
|
||||
ghostfetch "your search query"
|
||||
ghostfetch "query" -e brave # Use Brave
|
||||
ghostfetch "query" -e google # Use Google
|
||||
ghostfetch "query" -n 5 # Limit to 5 results
|
||||
|
||||
### Weather
|
||||
- **Default location:** Perth, Australia
|
||||
- **Format:** Always Celsius, metric
|
||||
- **Quick check:** `curl -s "wttr.in/Perth+Australia?format=%l:+%c+%t+%h+%w"`
|
||||
# Fetch pages as markdown
|
||||
ghostfetch fetch https://example.com -m
|
||||
ghostfetch fetch url1 url2 -m -p 2 # Parallel fetch
|
||||
|
||||
### Home Server Stack
|
||||
- **Home Assistant:** http://homeassistant.kangaroo-eel.ts.net:8123
|
||||
- **n8n:** http://n8n.kangaroo-eel.ts.net:5678
|
||||
- **GitTea:** http://gitea.kangaroo-eel.ts.net:3000
|
||||
- **FreshRSS:** http://freshrss.kangaroo-eel.ts.net
|
||||
# Extract links
|
||||
ghostfetch links https://example.com
|
||||
ghostfetch links https://example.com -f "github" # Filter by pattern
|
||||
```
|
||||
|
||||
### Daily Automations
|
||||
- **7:05 AM:** Morning briefing (weather + AI news digest)
|
||||
- **2:00 AM:** GitTea backup
|
||||
**Note:** Always use `-m` (markdown mode) when reading page content — extracts main content and saves tokens vs raw HTML.
|
||||
|
||||
### SendClaw (Krilly's Email)
|
||||
- **Email:** krilly@sendclaw.com
|
||||
- **API Key:** stored in `~/.openclaw/credentials/sendclaw` (do NOT put in workspace files)
|
||||
- **Claim Token:** pearl-852A
|
||||
- **Dashboard:** https://sendclaw.com/dashboard
|
||||
- **Rate Limit:** 3 emails/day (new bot), increases with verification
|
||||
---
|
||||
|
||||
### Nodes
|
||||
- **Anthony's iMac:** 192.168.178.88 · app 2026.2.14 · mode remote
|
||||
## TTS (Piper - Free Local)
|
||||
- **Provider:** Piper (local, free)
|
||||
- **Skill:** `local-piper-tts-multilang-secure` (ClawHub)
|
||||
- **Default Voice:** Alan (en_GB, British male)
|
||||
- **Available Voices:** Ryan (US male), Amy (US female), Alan (UK male)
|
||||
- **Location:** `~/.openclaw/workspace/skills/local-piper-tts-multilang-secure/`
|
||||
|
||||
### ntfy (notifications)
|
||||
- **Server:** https://ntfy.sh (public)
|
||||
- **Topic:** anthony-krilly-9f3k2
|
||||
- **Minimum priority:** 4
|
||||
- **Sound header:** required for iOS vibration/alerts (`Sound: default`)
|
||||
**Usage:**
|
||||
```javascript
|
||||
// Via skill
|
||||
const skill = require('./index.js');
|
||||
skill.tts({ text: 'Hello Anthony!', voice: 'en_GB-alan-medium' });
|
||||
```
|
||||
|
||||
### ⛔ NEVER USE - Cost Warnings
|
||||
- Always use `anthropic/claude-*` direct, never via openrouter
|
||||
- OpenRouter is fine for deepseek, qwen, and other non-Anthropic models
|
||||
**Config file:** `~/.openclaw/workspace/skills/local-piper-tts-multilang-secure/config.json`
|
||||
|
||||
### exec Tool Notes
|
||||
- exec sandbox/node not available in current config
|
||||
- exec host=node requires companion app with system.run support
|
||||
- Background scripts must run via agentMail API calls or shell hooks instead
|
||||
**Note:** Piper replaced ElevenLabs (cost savings). Fully offline, no API keys needed.
|
||||
|
||||
## Home Assistant
|
||||
|
||||
- **URL:** http://homeassistant.kangaroo-eel.ts.net:8123
|
||||
- **Config:** ~/.config/home-assistant/config.json
|
||||
- **Entities:** 225 total (16 lights, 29 switches, 21 media players, 2 vacuums, 2 fans, 3 scenes, 1 cover)
|
||||
|
||||
## Transcription (Groq Whisper - DEFAULT)
|
||||
|
||||
- **Skill:** `groq-whisper`
|
||||
- **Location:** `~/.openclaw/workspace/skills/groq-whisper/`
|
||||
- **Command:** `./scripts/transcribe.sh <audio-file> [flags]`
|
||||
- **Model:** `whisper-large-v3` (fast & free via Groq)
|
||||
- **Uses:** `GROQ_API_KEY` (already configured)
|
||||
|
||||
**Usage:**
|
||||
```bash
|
||||
# Basic transcription
|
||||
transcribe.sh audio.m4a
|
||||
|
||||
# With options
|
||||
transcribe.sh audio.ogg --language en --out result.txt --json
|
||||
```
|
||||
|
||||
**Note:** Groq Whisper is free and fast. Use this instead of OpenAI Whisper.
|
||||
|
||||
### Downstairs
|
||||
- **Name:** Downstairs roborock
|
||||
- **Device ID:** 5HwaUBFem0YqXvijnABoCq
|
||||
|
||||
### Upstairs
|
||||
- **Name:** Upstairs roborock
|
||||
- **Device ID:** 1dppdZmcbh6dSWbg6NPOZ5
|
||||
|
||||
### Quick Commands
|
||||
```bash
|
||||
# Check status
|
||||
roborock status --device_id "5HwaUBFem0YqXvijnABoCq"
|
||||
|
||||
# Start cleaning
|
||||
roborock command --device_id "5HwaUBFem0YqXvijnABoCq" start
|
||||
|
||||
# Stop and go home
|
||||
roborock command --device_id "5HwaUBFem0YqXvijnABoCq" home
|
||||
|
||||
# Check consumables
|
||||
roborock consumables --device_id "5HwaUBFem0YqXvijnABoCq"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user