5.0 KiB
TOOLS.md - Local Notes
Credentials Location
All credentials stored in .credentials/ (gitignored):
example-api.txt— Example API key
[Tool Name]
Status: ✅ Working | ⚠️ Issues | ❌ Not configured
Configuration:
Key details about how this tool is configured
Gotchas:
- Things that don't work as expected
- Workarounds discovered
Common Operations:
# Example command
tool-name --common-flag
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
- Tool configurations and settings
- Credential locations (not the credentials themselves!)
- Gotchas and workarounds discovered
- Common commands and patterns
- Integration notes
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
Home Assistant
### Home Assistant
- URL: http://192.168.0.39:8123
- Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJmYzg2NzQwNGNlMzY0NmM5YjA0MTQ4YWFjYjY3OGM4OSIsImlhdCI6MTc3MTE3MzcwNSwiZXhwIjoyMDg2NTMzNzA1fQ.IdlfMvFeiEwv2GSH7hRnG_Au48KRYbfVF0Fa7g5eMpc
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.
Workspace Organization
- Root (
~/.openclaw/workspace/) → Core config files and documentation scripts/→ One-off helper scripts (PowerShell/Shell)temp/→ Temporary files, downloads, transcripts
Obsidian / NotesMD
Status: ✅ Configured
CLI Location: C:\tools\notesmd-cli.exe (or in PATH as notesmd-cli.exe)
Default Vault: C:\Users\admin\Documents\Corey (already set via notesmd-cli set-default)
Common Commands:
# Check default vault
notesmd-cli print-default --path-only
# Search notes
notesmd-cli search "query"
# Search content inside notes
notesmd-cli search-content "query"
# Create new note
notesmd-cli create "Folder/New note" --content "..." --open
# Move/rename (updates wikilinks)
notesmd-cli move "old/path" "new/path"
Gotchas:
- Vault path uses regular Windows paths, NOT WSL paths
- Default vault must be set before commands work without
--vaultflag - Notes survive session chops (written to disk immediately)
Discord / OpenClaw Config
Status: ✅ Working
File: ~/.openclaw/config/config.json
Working Channel Permissions Setup (for Slash Commands + Agent Responses):
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_TOKEN",
"groupPolicy": "open",
"guilds": {
"1465924568119251006": {
"users": [
"458667380332036117",
"1465926559134257294"
],
"channels": {
"1466074219829006599": { "allow": true },
"1468627455656067074": { "allow": true },
"1468257895152881796": { "allow": true },
"1471202415385509981": { "allow": true }
},
"requireMention": false
}
}
}
}
Critical: Both layers needed:
usersat guild level → enables slash commandschannels.allow: trueat channel level → lets agent respond
Without users: Slash commands don't work
Without channels.allow: Agent doesn't respond (even with users set)
Bug/Design Issue: Dual-whitelist is redundant but required. The users filter blocks agent responses when enabled.
Discord Channels Reference
| Channel | ID | Purpose | Agent Active |
|---|---|---|---|
| #home-assistant | 1466074219829006599 | HA, room-assistant | ✅ |
| #coding | 1468627455656067074 | Code, git, projects | ✅ |
| #projects | 1468257895152881796 | Experiments, non-coding | ✅ |
| #summaries | 1471202415385509981 | URL summaries, YouTube | ✅ |
| #alerts | 1473701182076752135 | System alerts | ✅ |
Note: Channel names change sometimes... IDs are forever 😂
Docker Services
Location: ~/.openclaw/workspace/docker/
Services:
| Service | Size | Purpose | Config |
|---|---|---|---|
| frigate | 219 MB | NVR/AI camera detection | docker-compose.yml, config.yml |
| nextcloud | 1.1 GB | Self-hosted file sync | docker-compose.yml |
| discord-voice-bot | <1 MB | GLaDOS voice bot | docker-compose.yml |
Note: Frigate media files moved outside workspace. Only config and AI model remain.
To start/stop:
cd ~/.openclaw/workspace/docker/[service]
docker-compose up -d # Start
docker-compose down # Stop
docker-compose logs -f # View logs
Add whatever helps you do your job. This is your cheat sheet.