# TOOLS.md - Local Notes

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

## 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

```markdown
### 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.

## STT (Discord 음성메시지 → 텍스트)

- Pipeline: Discord 음성메시지/오디오 첨부(ogg/opus, m4a/aac 등) → **ffmpeg로 16kHz mono WAV 전처리** → **whisper.cpp(whisper-cli) small 모델로 전사** → OpenClaw `tools.media.audio`에서 Transcript로 주입.
- Binaries/model:
  - `~/.local/bin/ffmpeg`, `~/.local/bin/whisper-cli`
  - 모델: `~/.local/share/whisper.cpp/ggml-small.bin`
  - 전사 스크립트: `~/.local/bin/openclaw-stt-whisper-small.sh`
- OpenClaw 설정 키(요약):
  - `tools.media.audio.enabled=true`
  - `tools.media.audio.models[0].type="cli"` + command=`openclaw-stt-whisper-small.sh`
  - N100 CPU-only 안정화: `tools.media.concurrency=1`, `tools.media.audio.timeoutSeconds=3600`

## YouTube (링크 → 자막/전사)

- 기본 동작: **자막(ko/en) 있으면 자막 우선 추출**, 없으면 **yt-dlp로 오디오 다운로드 → whisper.cpp(small)로 STT 전사**
- 바이너리/스크립트:
  - `~/.local/share/yt311/bin/yt-dlp` (Python 3.11 venv, 권장/최신)
  - `~/.local/bin/openclaw-youtube-transcribe.sh` (URL 입력 → 텍스트 출력)

## Notion

- Root workspace page_id: 2fbd6568ef4b80ecb8cfdc48db9a503c
- Todo database_id: 2fdd6568ef4b80a697bed7303264c48d
- Todo data_source_id: 2fdd6568-ef4b-81b2-b5c3-000b5a417cff
- Notes page_id ("메모"): 2fdd6568-ef4b-8091-8d07-c7863f5c2393
- Web Automation Workflow page_id: 2fed6568ef4b809e8e07fc4573b1b28d
