Files
clawdbot/TOOLS.md

5.0 KiB

TOOLS.md - Local Notes

Cron-Jobs (proaktive Nachrichten)

Für Telegram/WhatsApp/etc. Zustellung:

  • --session isolated (nicht main)
  • --message "..." (nicht system-event)
  • --deliver --channel telegram --to <id>

Siehe auch: ~/clawd/.learnings/LEARNINGS.md (LRN-20260126-001)

Generierte Bilder verschicken

Nach dem Generieren von Bildern (DALL-E, Gemini, etc.) immer das Bild auch direkt im Chat schicken — nicht nur mit open öffnen!

// Telegram
message({
  action: "send",
  channel: "telegram",
  target: "<chat_id>",
  filePath: "/pfad/zum/bild.png",
  caption: "Optionaler Text dazu"
})

Der User sieht das Bild sonst nicht wenn er nicht am Mac sitzt!

Package Manager

  • Immer pnpm statt npm verwenden!
  • Global install: pnpm add -g <package>
  • Local install: pnpm add <package>

TTS / Sprachausgabe

  • Provider: OpenAI
  • Stimme: echo (männlich, schnelleres Tempo)
  • Alternativen: onyx (tief/langsam), alloy (neutral), fable (britisch)

Skills define how tools work. This file is for your specifics — the stuff that's unique to your setup.

Sprachnachrichten / Voice Transcription

Skript: ~/.clawdbot/scripts/transcribe.sh <audio_file> [language]

  • Default-Sprache: de
  • Model: ~/.clawdbot/models/ggml-base.bin (Whisper base)
  • Konvertiert automatisch ogg/mp3/etc. zu wav

Quick command:

~/.clawdbot/scripts/transcribe.sh /path/to/audio.ogg

Trello

  • Board "Ox Creek": 65e4430389494d27d1691bb0
  • Bei neuen Karten: Immer Bastian als Mitglied hinzufügen (nur Bastian, nicht automatisch Jasmin)
    • Bastian: 5a0b5d006ff181f7b23842f6
    • Jasmin: 5a0b5da354e70f2da859e083
  • Jasmin Telegram-ID: 8280212990
  • Bastian Telegram-ID: 24466372

Git

  • Author: James <clawd@noxware.de> (meine Commits)
  • Bastians Commits: Bastian (BaM) <git@noxware.de>

Telegram

  • Bot-Username: @SpecialAgentJamesBot
  • Bot-Token: In Config (channels.telegram.botToken)
  • DM-Policy: Pairing (neue Nutzer brauchen Freigabe)

Peekaboo (macOS UI Automation)

Bridge Socket: ~/Library/Application Support/clawdbot/bridge.sock

⚠️ Wichtiger Workaround: App-Fokussierung

Der --app Parameter bei Peekaboo hängt bei Focus-Operationen über die Clawdbot Bridge.

Funktioniert NICHT zuverlässig:

peekaboo click --app Signal --coords 200,185 --bridge-socket "..."
peekaboo type "text" --app Signal --bridge-socket "..."

Stattdessen — erst mit open -a fokussieren:

# 1. App fokussieren mit macOS open
open -a "Signal"
sleep 0.5

# 2. Dann Peekaboo OHNE --app Parameter
peekaboo see --path /tmp/screenshot.png --bridge-socket "~/Library/Application Support/clawdbot/bridge.sock"
peekaboo click --coords 200,185 --bridge-socket "..."
peekaboo click --snapshot <ID> --on elem_31 --bridge-socket "..."

Standard-Workflow

# App öffnen & fokussieren
open -a "AppName" && sleep 0.5

# Screenshot mit Element-Erkennung
peekaboo see --annotate --path /tmp/app.png --bridge-socket "~/Library/Application Support/clawdbot/bridge.sock"

# Auf erkanntes Element klicken
peekaboo click --snapshot <SNAPSHOT-ID> --on elem_XX --bridge-socket "..."

# Oder auf Koordinaten klicken
peekaboo click --coords X,Y --bridge-socket "..."

# Text tippen
peekaboo type "Hello World" --bridge-socket "..."

Insider-Info: Bastian & Jasmin

  • "aaaaAaaAaah" = Liebesgesang 😂💕 (als Text schicken, TTS kann das nicht)

Home Assistant

Credentials sind in der Gateway-Config unter env.vars gespeichert (HA_URL, HA_TOKEN).

Smart EQ (E-Auto) Ladeüberwachung

  • Sensor: sensor.aqara_plug_car_charger_e_smart_power
  • Typ: Aqara Smart Plug mit Leistungsmessung
  • Einheit: Watt (W)
  • Logik:
    • > 0W = Smart lädt
    • = 0W = Nicht eingesteckt oder voll
  • Cron-Jobs: smart-einstecken-18 (18:00), smart-einstecken-20 (20:00)
    • Prüfe Sensor vor Erinnerung — nur erinnern wenn 0W

Staubsauger-Roboter: Sucky

  • Entity: vacuum.sucky (Deebot)
  • Sensoren: sensor.sucky_batterie, sensor.sucky_flache_gereinigt, etc.
  • Räume: WC (1), Gästezimmer (2), Küche (3), Flur (4), Wohnzimmer (5)
  • Modi: vacuum_and_mop, quiet, normal, max, max_plus

Browser-Präferenzen

  • Cookie-Banner: Immer "Alle akzeptieren" klicken (Bastians Erlaubnis)

What Goes Here

Things like:

  • Camera names and locations
  • SSH hosts and aliases
  • Preferred voices for TTS
  • Speaker/room names
  • Device nicknames
  • Anything environment-specific

Examples

### Cameras
- living-room → Main area, 180° wide angle
- front-door → Entrance, motion-triggered

### SSH
- home-server → 192.168.1.100, user: admin

### TTS
- Preferred voice: "Nova" (warm, slightly British)
- Default speaker: Kitchen HomePod

Why Separate?

Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.


Add whatever helps you do your job. This is your cheat sheet.