Fresh start - excluded large ROM JSON files
This commit is contained in:
644
memory/2026-02-02.md
Normal file
644
memory/2026-02-02.md
Normal file
@@ -0,0 +1,644 @@
|
||||
# 2026-01-30
|
||||
|
||||
## Room Presence - WORKING!
|
||||
- **Status**: Connected! livingroom-pi (192.168.0.95) running room-assistant
|
||||
- **MQTT**: HA broker found Pi immediately
|
||||
- **Entities**: `cluster_leader` and `cluster_size` appeared in HA
|
||||
- **Phone**: B0:C2:C7:07:28:B4 paired with Pi (motorola razr 2024)
|
||||
- **Next**: Add phone MAC to config, complete npm install, test device tracking
|
||||
|
||||
## Obsidian CLI
|
||||
- **obsidian-cli**: Installed via Scoop, vault set
|
||||
- **Location**: `C:\Users\admin\clawd\skills\obsidian\`
|
||||
- **Pending**: Researching sync approach with SQL backend
|
||||
|
||||
## Skills Installed (10 total)
|
||||
| Skill | Purpose |
|
||||
|-------|---------|
|
||||
| auto-updater | Daily auto-update skill |
|
||||
| clean-code | Clean code principles |
|
||||
| coding-agent | Codex/Claude Code CLI runner |
|
||||
| clawdbot-backup | Backup/restore Clawdbot |
|
||||
| home-assistant | HA REST API integration |
|
||||
| memory-to-obsidian | Sync notes to Obsidian |
|
||||
| qbittorrent | Torrent management |
|
||||
| radarr | Movie automation |
|
||||
| skills-search | Search skills.sh |
|
||||
| sonarr | TV show automation |
|
||||
|
||||
## Backup System
|
||||
- **Location**: `P:\Clawdbot-Backups\`
|
||||
- **Script**: `C:\Users\admin\clawd\backup-clawdbot.ps1`
|
||||
- **Schedule**: Daily at 2 AM via cron job
|
||||
|
||||
## Downloads Integration (VPN machine)
|
||||
- qbittorrent, sonarr, radarr all installed
|
||||
- Config location: `~/.clawdbot/credentials/`
|
||||
|
||||
## SSH to Pi
|
||||
- **IP**: 192.168.0.95 / admin / 41945549
|
||||
- **Windows SSH quirk**: ed25519 keys not working properly
|
||||
- **Workaround**: Run SSH commands in user's terminal directly
|
||||
|
||||
## Reference Links
|
||||
- **MoltDirectory**: https://moltdirectory.com/ - 672 skills, 28 categories for Molt/Clawdbot agents
|
||||
- **ClawdHub**: https://clawdhub.com/ - OpenClaw skills registry
|
||||
- **Awesome OpenClaw Skills**: https://github.com/VoltAgent/awesome-openclaw-skills - Community-curated skill list
|
||||
|
||||
### OpenClaw Branding History
|
||||
- **Clawdbot** → Original name, still used for personal instances
|
||||
- **MoltBot** → Platform name during development
|
||||
- **OpenClaw** → Current open-source branding
|
||||
- **Just branding** — Architecture and skills remain compatible across all names
|
||||
|
||||
---
|
||||
|
||||
## SQL-Based Storage Project (IN PROGRESS)
|
||||
|
||||
### Completed Tonight
|
||||
- **MySQL Installed**: C:\web\mysql\ (MariaDB 10.4.32)
|
||||
- **Database Created**: `clawdbot_projects`
|
||||
- **Tables Created**:
|
||||
- `daily_notes` - Raw logs from memory files
|
||||
- `long_term_memories` - Curated knowledge (16 entries)
|
||||
- `action_items` - Task tracking (6 entries)
|
||||
- `backup_logs` - Backup history
|
||||
- `sessions` - Session history
|
||||
- **User Created**: `AlexAI` / `alexisabignerd`
|
||||
- **Schema File**: `C:\Users\admin\clawd\schema-detailed.sql` (8.8KB with full documentation)
|
||||
- **Credentials File**: `C:\Users\admin\clawd\.clawdbot\credentials\mysql.json`
|
||||
|
||||
### Quick Reference
|
||||
```
|
||||
Host: localhost:3306
|
||||
Database: clawdbot_projects
|
||||
User: AlexAI
|
||||
Password: alexisabignerd
|
||||
```
|
||||
|
||||
### Example Queries
|
||||
```sql
|
||||
-- Find all HA-related memories
|
||||
SELECT * FROM long_term_memories WHERE JSON_CONTAINS(tags, '"ha"');
|
||||
|
||||
-- Show pending action items by priority
|
||||
SELECT * FROM action_items WHERE status = 'pending' ORDER BY priority DESC;
|
||||
|
||||
-- Check backup history
|
||||
SELECT * FROM backup_logs ORDER BY timestamp DESC LIMIT 10;
|
||||
```
|
||||
**Idea:** Use SQL as central data layer for automation and tracking
|
||||
|
||||
### Proposed Architecture
|
||||
- **SQL Database**: Central fact store and query engine
|
||||
- **Sources**: Room-assistant, HA, Clawdbot, downloads stack
|
||||
- **Output**: SQL → Obsidian markdown exports
|
||||
|
||||
### Possible Use Cases
|
||||
1. **Room Presence & Phone Tracking**
|
||||
- Store BLE/RFID presence events in SQL
|
||||
- Query daily/weekly summaries (time present, patterns)
|
||||
- Export to Obsidian for analysis
|
||||
- Track Kathy + Corey's presence separately
|
||||
|
||||
2. **Home Assistant State History**
|
||||
- Query `home_assistant_v2.db` (SQLite)
|
||||
- Track entity changes, on/off patterns
|
||||
- Generate occupancy reports
|
||||
- Detect anomalies (devices stuck on/off)
|
||||
|
||||
3. **Clawdbot Memory → SQL Mirror**
|
||||
- Mirror memory files in SQL tables
|
||||
- Complex queries (tags + date ranges + keyword search)
|
||||
- Faster lookups than file scanning
|
||||
- Historical versioning built-in
|
||||
|
||||
4. **Downloads & Media Stack**
|
||||
- Track sonarr/radarr history
|
||||
- Monitor download success/fail rates
|
||||
- Export "watchlist" to Obsidian
|
||||
|
||||
5. **Backup & System Logs**
|
||||
- SQL table for backup logs (success, duration, size)
|
||||
- System metrics (CPU, memory, disk over time)
|
||||
- Alert thresholds based on SQL queries
|
||||
|
||||
### Technical Notes
|
||||
- **MySQL** for central database
|
||||
- **Apache** for web server
|
||||
- **Python/Flask or PHP** for web apps
|
||||
- **HA Custom Plugin** (Python) to query MySQL natively in HA dashboards
|
||||
- **HA Integration Options**:
|
||||
- Custom `sensor` entities from SQL queries
|
||||
- Custom dashboard cards showing SQL data
|
||||
- Automatic entity creation from presence tracking
|
||||
- Real-time updates on HA dashboard
|
||||
- **PowerShell**: `MySql.Data` library or `mysql` CLI
|
||||
- **Obsidian CLI** for markdown export after SQL queries
|
||||
- **Apache** can serve HTML dashboards showing SQL data
|
||||
- **Tinker/Flask** for Python-based web apps
|
||||
- Use XAMPP or standalone install for AMP stack
|
||||
|
||||
### Proposed Architecture
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ Home Assistant Dashboard │
|
||||
│ (Native HA cards + custom plugin sensors) │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ Custom HA Plugin (Python) │
|
||||
│ - Queries MySQL │
|
||||
│ - Creates HA entities │
|
||||
│ - Real-time updates │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ MySQL Database │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ Room-Assistant │ Downloads │ Clawdbot │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### HA Plugins to Consider
|
||||
1. **SQL Sensor Plugin** - Generic SQL → HA sensor
|
||||
2. **Room Presence Tracker** - Phone BLE → SQL → HA entity
|
||||
3. **Media Library Dashboard** - Sonarr/Radarr stats
|
||||
4. **Clawdbot Memory Cards** - Show today's memory on HA
|
||||
|
||||
---
|
||||
|
||||
## Action Items
|
||||
- [ ] Verify room-assistant phone tracking works
|
||||
- [ ] Add Kathy's phone to room-assistant config
|
||||
- [ ] Replace Master Hallway motion sensor battery (1%)
|
||||
- [ ] Clone SD card for more Pis after first Pi fully working
|
||||
- [ ] **Update HA Dashboard** with frontend-design style
|
||||
- [x] Set MySQL root password for security ✅
|
||||
- [x] Create non-root user for Clawdbot (AlexAI/alexisabignerd) ✅
|
||||
|
||||
---
|
||||
|
||||
## AI Art/Video Generation Project (PLANNING)
|
||||
|
||||
### Hardware
|
||||
- **GPU**: RTX 5090 (24GB VRAM) — perfect for FLUX, SDXL
|
||||
- **Storage**: Install 4TB NVME for models and outputs
|
||||
- **RAM**: 32GB available for batching
|
||||
|
||||
### Software Stack
|
||||
- **ComfyUI** — Node-based workflow editor
|
||||
- Supports SDXL, FLUX, AnimateDiff, SVD
|
||||
- Highly extensible, free, local
|
||||
- **MySQL** — Track generation history
|
||||
- Table: `generation_history` (prompt, settings, seed, model, timestamp, output_path)
|
||||
- Query prompts by style, model, date range
|
||||
- **Apache/PHP** — Web UI for triggering generations (optional)
|
||||
|
||||
### Database Schema (Proposed)
|
||||
```sql
|
||||
CREATE TABLE generation_history (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
prompt TEXT NOT NULL,
|
||||
negative_prompt TEXT,
|
||||
model VARCHAR(100),
|
||||
width INT, height INT,
|
||||
steps INT,
|
||||
cfg_scale DECIMAL(4,2),
|
||||
seed BIGINT,
|
||||
sampler VARCHAR(50),
|
||||
output_path VARCHAR(500),
|
||||
generation_time_seconds DECIMAL(8,2),
|
||||
vram_used_gb DECIMAL(4,2),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
tags JSON,
|
||||
rating INT -- 1-5 personal rating
|
||||
);
|
||||
```
|
||||
|
||||
### Future Features
|
||||
- Browse generation history by prompt/search
|
||||
- "Retry with variations" based on successful generations
|
||||
- Export favorites to Obsidian
|
||||
- Track cost savings vs API services
|
||||
|
||||
---
|
||||
|
||||
### Resources
|
||||
- ComfyUI: https://github.com/comfyanonymous/ComfyUI
|
||||
- FLUX.1 Models: https://blackforestlabs.ai/
|
||||
- Stable Diffusion: https://stability.ai/stable-diffusion
|
||||
|
||||
---
|
||||
|
||||
## ComfyUI Installation (COMPLETED)
|
||||
|
||||
### Installed Location
|
||||
- **Path**: `C:\ComfyUI\ComfyUI`
|
||||
- **Version**: 0.3.67 with ComfyUI-Manager V3.37
|
||||
- **Python**: 3.12.10 with PyTorch 2.7 nightly
|
||||
|
||||
### GPU Configuration
|
||||
- **Flag**: `--highvram` for RTX 5090 (24GB)
|
||||
- **PyTorch**: Nightly build with CUDA 12.4 for Blackwell (sm_120) support
|
||||
- Note: sm_120 warning appears but doesn't affect functionality
|
||||
|
||||
### Quick Launch
|
||||
- **Script**: `C:\ComfyUI\launch_comfyui.bat`
|
||||
- **URL**: `http://[PC-IP-ADDRESS]:8188` (network access enabled)
|
||||
|
||||
### Models to Download
|
||||
Place all in `C:\ComfyUI\ComfyUI\models\checkpoints\`
|
||||
| Model | Size | Link |
|
||||
|-------|------|------|
|
||||
| FLUX.1-schnell (FP8) | ~4GB | https://huggingface.co/Comfy-Org/flux1-schnell |
|
||||
| SDXL Base 1.0 | ~6GB | https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0 |
|
||||
| SD 1.5 | ~4GB | https://huggingface.co/CompVis/stable-diffusion-v-1-4-original |
|
||||
|
||||
### Files Created
|
||||
- `C:\ComfyUI\launch_comfyui.bat` - Launcher with `--listen 0.0.0.0`
|
||||
- `C:\ComfyUI\COMFYUI_README.md` - Full documentation
|
||||
- `C:\ComfyUI\ComfyUI\download_models.bat` - Download instructions
|
||||
|
||||
### Known Issues
|
||||
- PyTorch sm_120 compatibility warning (non-breaking)
|
||||
- torchaudio missing (not needed for images)
|
||||
|
||||
---
|
||||
|
||||
## Home Focus (2026-02-02)
|
||||
|
||||
Office covered by Hank. Back to home priorities:
|
||||
|
||||
**Current Home Projects:**
|
||||
- Room-assistant (phone tracking verification)
|
||||
- ComfyUI setup + model downloads
|
||||
- MySQL/Apex dashboard refinement
|
||||
- Home automation integration
|
||||
|
||||
**Action Items Updated:**
|
||||
|
||||
### Goal
|
||||
Enable natural language queries against databases with smart clarification when results are empty. Users ask questions in plain English; Clawdbot generates queries, executes them, and presents results conversationally.
|
||||
|
||||
### Architecture: Orchestrated Agent Pipeline
|
||||
**Use Clawdbot's sub-agent system for multi-stage processing:**
|
||||
|
||||
```
|
||||
Main Session → Search Orchestrator
|
||||
│
|
||||
┌───────────┼───────────┐
|
||||
▼ ▼ ▼
|
||||
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||
│ Intent │ │ Structured│ │ Vector │
|
||||
│ Parser │→│ Search │→│ Search │
|
||||
└──────────┘ │ (MSSQL) │ │ (Qdrant) │
|
||||
└──────────┘ └──────────┘
|
||||
│
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ Result Synthesizer │
|
||||
└──────────────────┘
|
||||
│
|
||||
▼
|
||||
Main Session Response
|
||||
```
|
||||
|
||||
### Database Stack (Office Clone)
|
||||
| Database | Type | Purpose |
|
||||
|----------|------|---------|
|
||||
| **MSSQL** | Relational | Exact queries, aggregations, relationships |
|
||||
| **Qdrant** | Vector DB | Semantic search, similarity, "find similar" |
|
||||
| **Context Docs** | JSON/Markdown | Schema docs, example queries, agent prompts |
|
||||
|
||||
### Key Files Available
|
||||
- **Schema documentation** — For agent context
|
||||
- **User queries** — Collected examples to train/reverse-engineer intent
|
||||
- **Context data** — Per-table, per-column documentation
|
||||
|
||||
### Features
|
||||
1. **Orchestrated Agents** (sub-agent pipeline)
|
||||
- Intent Parser — Detect what user wants
|
||||
- Structured Search Agent (MSSQL) — Exact/relational queries
|
||||
- Vector Search Agent (Qdrant) — Semantic similarity
|
||||
- Result Synthesizer — Combine and present naturally
|
||||
- Each agent: isolated, timeout-able, retry-able
|
||||
|
||||
2. **Natural Language → SQL**
|
||||
- Parse user intent from NL
|
||||
- Generate valid MSSQL queries
|
||||
- Handle WHERE, JOIN, ORDER BY, LIMIT
|
||||
|
||||
3. **Smart Result Handling**
|
||||
- SUCCESS: Present results naturally (tables, summaries, bullet lists)
|
||||
- EMPTY: Clarifying questions instead of "No results found"
|
||||
- MULTI-AMBIGUOUS: Ask which interpretation
|
||||
|
||||
4. **Clarification Examples**
|
||||
- "No results for 'orders' — did you mean 'transactions'?"
|
||||
- "50,000 rows found — limit, summarize, or export?"
|
||||
- "I found similar customers in Qdrant. Want their order history from MSSQL?"
|
||||
|
||||
5. **Schema Awareness**
|
||||
- Use existing schema docs as agent context
|
||||
- Cache table structures per session
|
||||
- Learn from user corrections
|
||||
|
||||
### Workflow Example
|
||||
```
|
||||
User: "Show me customers like the one who bought 500 widgets"
|
||||
|
||||
1. Intent Parser: Detect "find similar" pattern
|
||||
2. Vector Agent: Find similar customer profiles in Qdrant
|
||||
3. SQL Agent: Get recent orders for similar customers in MSSQL
|
||||
4. Synthesizer: "I found 12 similar customers with X characteristics..."
|
||||
```
|
||||
|
||||
### Architecture
|
||||
```
|
||||
User: "Show me all users who bought X last month"
|
||||
↓
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Intent Parser │
|
||||
│ - Extract entities, dates, filters │
|
||||
│ - Detect aggregation vs lookup │
|
||||
└─────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Query Generator │
|
||||
│ - Build SQL based on intent │
|
||||
│ - Apply optimizations / limits │
|
||||
└─────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Executor │
|
||||
│ - Run query (with timeout/caching) │
|
||||
│ - Handle errors gracefully │
|
||||
└─────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Response Handler │
|
||||
│ - Format results naturally │
|
||||
│ - Handle empty → clarifying response │
|
||||
│ - Pagination for large results │
|
||||
└─────────────────────────────────────────┘
|
||||
↓
|
||||
User: "Here's the data" OR "Hmm, did you mean X?"
|
||||
```
|
||||
|
||||
### Technical Notes
|
||||
- MySQL for local data
|
||||
- Apache serving dashboard
|
||||
- Skills available for various tasks
|
||||
|
||||
---
|
||||
|
||||
## Action Items
|
||||
|
||||
### Use Cases (Brainstorming)
|
||||
| Agent | Type | Trigger |
|
||||
|-------|------|---------|
|
||||
| **Network Monitor** | Long-running | Ping sweep every 30s, detect down hosts |
|
||||
| **Inventory Alert** | Cron-prompted | Check inventory levels, warn if below threshold |
|
||||
| **Shipping/Receiving** | Webhook | Notify when shipment received |
|
||||
| **System Health** | Cron-prompted | CPU, memory, disk alerts |
|
||||
| **Database Anomaly** | Cron-prompted | Query patterns, slow queries, connection spikes |
|
||||
|
||||
### Agent Archetypes
|
||||
|
||||
**1. Long-Running Stateful Agent**
|
||||
- Stays awake, maintains context
|
||||
- Polls continuously, remembers last state
|
||||
- Use: Network monitoring, system health
|
||||
|
||||
**2. Cron-Prompted Agent**
|
||||
- Wakes on schedule, checks condition, sleeps
|
||||
- Use: Daily inventory checks, weekly reports
|
||||
|
||||
**3. Webhook-Triggered Agent**
|
||||
- Spawned by external event
|
||||
- Use: Shipping notifications, instant alerts
|
||||
|
||||
### Example: Inventory Monitor Agent
|
||||
```
|
||||
Trigger: Cron every 15 min (or webhook from ERP system)
|
||||
Task: "Check inventory items where quantity < reorder_level"
|
||||
Logic:
|
||||
- Query: SELECT item, quantity, reorder_level FROM inventory
|
||||
- Filter: WHERE quantity < reorder_level
|
||||
- If items found: Alert user via Discord/Slack
|
||||
- If empty: Do nothing, sleep until next cycle
|
||||
```
|
||||
|
||||
### Example: Network Monitor Agent
|
||||
```
|
||||
Trigger: Spawn as persistent agent
|
||||
Task: "Ping 192.168.1.0/24 subnet every 30s"
|
||||
Logic:
|
||||
- Maintain state of known hosts
|
||||
- On state change (up/down): Notify
|
||||
- Weekly summary: "Network was 99.7% uptime"
|
||||
```
|
||||
|
||||
### Benefits of Agent-Based Monitoring
|
||||
- **Automation**: No manual checkbox checking
|
||||
- **Alerts**: Proactive notification vs reactive discovery
|
||||
- **History**: Track when issues started/stopped
|
||||
- **Scalability**: Add new monitors by spawning new agents
|
||||
|
||||
### Implementation Notes
|
||||
- Use cron for scheduled checks (`cron` tool)
|
||||
- Use webhooks for event-driven (`api/webhooks.php`)
|
||||
- Use `sessions_spawn` with `cleanup=delete` for short-lived agents
|
||||
- Use long-running process for stateful monitors
|
||||
|
||||
---
|
||||
|
||||
### Future Enhancements
|
||||
- **Query Explainer**: "I found 50 orders by showing you the SQL..."
|
||||
- **Saved Queries**: Let users name and reuse common searches
|
||||
- **Export Options**: "Export these 100 rows to CSV?"
|
||||
- **Voice Support**: "Hey Clawdbot, show me..."
|
||||
- **Multi-Database**: Single query spanning both MSSQL and Qdrant
|
||||
|
||||
---
|
||||
|
||||
## Multi-User Architecture (PROJECT EXTENSION)
|
||||
|
||||
### Goal
|
||||
Support multiple users with individual identities, preferences, and context when deployed to office Slack.
|
||||
|
||||
### Slack Integration Context
|
||||
- **Platform**: Slack (primary office communication)
|
||||
- **User IDs**: Slack format (U01XXXXXXXXXX)
|
||||
- **Identity Files**: Each user has dedicated context file
|
||||
- **Routing**: Load user-specific context based on Slack user ID
|
||||
|
||||
### User Identity Structure
|
||||
```
|
||||
memory/
|
||||
├── USER.md # Corey's home identity (stays as-is)
|
||||
└── users/
|
||||
├── user_manifest.json # Discord/Slack ID → User File mapping
|
||||
├── USER-197498647183622144.md # Ethan's identity
|
||||
├── MEMORY-197498647183622144.md # Ethan's personal memories
|
||||
└── skills.json # Ethan's skill config
|
||||
|
||||
Example user_manifest.json:
|
||||
{
|
||||
"U01ABC123DEF": "USER-john.doe.md",
|
||||
"U01GHI456JKL": "USER-jane.smith.md"
|
||||
}
|
||||
```
|
||||
|
||||
### User File Template
|
||||
```markdown
|
||||
# User Identity
|
||||
|
||||
## Name
|
||||
John Doe
|
||||
|
||||
## Roles
|
||||
- sql_search (can query MSSQL)
|
||||
- dashboard_view (read-only)
|
||||
- admin (full access)
|
||||
|
||||
## Preferences
|
||||
- Format: "Brief summary with bullet points"
|
||||
- Max Results: 50 rows default
|
||||
- Data Sensitivity: "High" (hide certain fields)
|
||||
|
||||
## Context
|
||||
- Department: Sales
|
||||
- Common Queries: ["daily sales", "team performance", "customer metrics"]
|
||||
- Saved Searches: ["weekly_recap", "monthly_targets"]
|
||||
|
||||
## Permissions
|
||||
- Databases: ["sales_db", "customers_db"]
|
||||
- Restricted Tables: ["payroll", "executive_compensation"]
|
||||
```
|
||||
|
||||
### Context Loading Flow
|
||||
```
|
||||
Discord/Slack Message
|
||||
↓
|
||||
Extract User ID (e.g., 197498647183622144)
|
||||
↓
|
||||
Check users/user_manifest.json → Find USER-[id].md
|
||||
↓
|
||||
Load: USER-[id].md + MEMORY-[id].md + skills.json
|
||||
↓
|
||||
Inject into session context
|
||||
↓
|
||||
Agent responds with user's identity + preferences
|
||||
```
|
||||
|
||||
### User Files Created (Ethan - ID: 197498647183622144)
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `users/user_manifest.json` | Maps ID → user files |
|
||||
| `users/USER-197498647183622144.md` | Ethan's identity + permissions |
|
||||
| `users/MEMORY-197498647183622144.md` | His personal memories (starts empty) |
|
||||
| `users/skills.json` | His enabled skills (gmail, calendar, web_search) |
|
||||
|
||||
---
|
||||
|
||||
## Privacy Discovery (IMPORTANT LESSON)
|
||||
|
||||
### The Problem
|
||||
**Initial thought**: Single channel for all users
|
||||
**Reality check**: Shared channel = shared memories, queries, emails exposed to everyone
|
||||
|
||||
### Solution: Private Channels per User
|
||||
```
|
||||
#general → Shared context (projects, automation, fun stuff)
|
||||
#corey-private → Corey's personal context (memories, email, sensitive queries)
|
||||
#ethan-private → Ethan's personal context
|
||||
#kathy-private → Will add when Kathy joins
|
||||
```
|
||||
|
||||
### How It Works
|
||||
| Channel | Loads |
|
||||
|---------|-------|
|
||||
| #general | Shared/default context |
|
||||
| #corey-private | `USER.md` + `MEMORY.md` (Corey) |
|
||||
| #ethan-private | `USER-ethan.md` + `MEMORY-ethan.md` |
|
||||
|
||||
### Why Private Channels > DMs
|
||||
- **Conversation history preserved** in server
|
||||
- **No DM vs channel switching** for the user
|
||||
- **Searchable** within Discord/Slack
|
||||
- **Privacy** maintained per channel
|
||||
|
||||
### Implementation Note
|
||||
Channel ID detection needed:
|
||||
- If message from `#corey-private` → load Corey's files
|
||||
- If from `#ethan-private` → load Ethan's files
|
||||
- If from shared channel → load shared/default context
|
||||
|
||||
### Lesson Learned
|
||||
Security/privacy paranoia leads to better architecture. Asking "what could go wrong?" prevented a later data exposure issue.
|
||||
|
||||
---
|
||||
|
||||
### Technical Implementation Notes
|
||||
- **Current**: Clawdbot loads `memory/USER.md` and `memory/MEMORY.md`
|
||||
- **Manual detection**: Ethan (197498647183622144) recognized, context loaded manually for now
|
||||
- **Full integration needed**: Detect channel ID, load matching USER/MEMORY files
|
||||
- **Backward Compatible**: Default to `USER.md` if no user_id/channel match found
|
||||
- **Ethan tested**: Multi-user context works in DM testing
|
||||
|
||||
### Permission Levels
|
||||
| Level | Access |
|
||||
|-------|--------|
|
||||
| **read** | View queries, browse results |
|
||||
| **sql_search** | Execute searches, generate queries |
|
||||
| **export** | Download CSV, share results |
|
||||
| **admin** | Manage user permissions, schema changes |
|
||||
|
||||
### User Management Commands
|
||||
```
|
||||
@clawdbot user add U01XXX --name "Jane" --role sql_search
|
||||
@clawdbot user permissions U01XXX --databases sales_db --restricted payroll
|
||||
@clawdbot user list
|
||||
@clawdbot user remove U01XXX
|
||||
```
|
||||
|
||||
### Privacy Considerations
|
||||
- User A should not see User B's saved searches unless shared
|
||||
- Query history per user
|
||||
- Admin audit log of who ran what query
|
||||
|
||||
---
|
||||
|
||||
### Known Issues (ComfyUI)
|
||||
- PyTorch sm_120 compatibility warning (non-breaking)
|
||||
- torchaudio missing (not needed for images)
|
||||
|
||||
---
|
||||
|
||||
## Home Focus (2026-02-02 Updated)
|
||||
|
||||
Office covered by Hank. Back to home priorities:
|
||||
|
||||
**Current Home Projects:**
|
||||
- Room-assistant (phone tracking verification)
|
||||
- ComfyUI setup + model downloads
|
||||
- MySQL + Apache dashboard refinement
|
||||
- Home automation (HA) integration
|
||||
|
||||
**Multi-User:** Ethan added as test user (197498647183622144) for multi-user functionality.
|
||||
|
||||
---
|
||||
|
||||
## Action Items (Home Focus)
|
||||
- [ ] Verify room-assistant phone tracking works
|
||||
- [ ] Add Kathy's phone to room-assistant config
|
||||
- [ ] Replace Master Hallway motion sensor battery (1%)
|
||||
- [x] Set MySQL root password for security ✅
|
||||
- [x] Create non-root user for Clawdbot (AlexAI/alexisabignerd) ✅
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
```
|
||||
MySQL: localhost:3306 / clawdbot_projects / AlexAI / alexisabignerd
|
||||
ComfyUI: http://localhost:8188 (needs --listen flag for network)
|
||||
Apache: http://localhost/ (dashboard)
|
||||
```
|
||||
Reference in New Issue
Block a user