182 lines
6.5 KiB
Markdown
182 lines
6.5 KiB
Markdown
|
|
# KB Capture v2
|
||
|
|
|
||
|
|
**Clip-based recording for engineering knowledge capture.**
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
KB Capture is a lightweight recording tool that captures your CAD/FEM work as short clips, not one long video. Record what matters, delete mistakes, keep the good stuff.
|
||
|
|
|
||
|
|
## Quick Start
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Install
|
||
|
|
cd CAD-Documenter
|
||
|
|
uv sync
|
||
|
|
uv pip install customtkinter keyboard
|
||
|
|
|
||
|
|
# Launch
|
||
|
|
uv run kb-capture
|
||
|
|
```
|
||
|
|
|
||
|
|
## Workflow
|
||
|
|
|
||
|
|
### 1. Start Session
|
||
|
|
- Open KB Capture (system tray or GUI)
|
||
|
|
- Enter project name (e.g., "P04-GigaBIT-M1")
|
||
|
|
- Enter session description (e.g., "Vertical support refinement")
|
||
|
|
- Select type: **Design** (CAD) or **Analysis** (FEA)
|
||
|
|
- Click **Start Session**
|
||
|
|
|
||
|
|
### 2. Record Clips
|
||
|
|
While working in NX/CAD:
|
||
|
|
- Press **Ctrl+Shift+R** to start recording
|
||
|
|
- Narrate what you're doing
|
||
|
|
- Say "screenshot" when you want a frame captured
|
||
|
|
- Press **Ctrl+Shift+R** again to stop
|
||
|
|
|
||
|
|
### 3. Review Clips
|
||
|
|
After each clip:
|
||
|
|
- **Keep (K)**: Keep the clip
|
||
|
|
- **Delete (D)**: Discard the clip (bad take)
|
||
|
|
- Or just start recording again (auto-keeps previous)
|
||
|
|
|
||
|
|
### 4. End Session
|
||
|
|
- Press **Ctrl+Shift+E** or click **End Session**
|
||
|
|
- Clips are merged and transcribed
|
||
|
|
- Exported to `clawdbot_export/` for Mario processing
|
||
|
|
|
||
|
|
## Keyboard Shortcuts
|
||
|
|
|
||
|
|
| Action | Shortcut |
|
||
|
|
|--------|----------|
|
||
|
|
| Start/Stop Recording | Ctrl+Shift+R |
|
||
|
|
| Keep Last Clip | Ctrl+Shift+K |
|
||
|
|
| Delete Last Clip | Ctrl+Shift+D |
|
||
|
|
| End Session | Ctrl+Shift+E |
|
||
|
|
|
||
|
|
## Session Types
|
||
|
|
|
||
|
|
| Type | Updates | Use For |
|
||
|
|
|------|---------|---------|
|
||
|
|
| **Design** | KB/Design/ | CAD work, component design, assembly |
|
||
|
|
| **Analysis** | KB/Analysis/ | FEA setup, mesh, BCs, results |
|
||
|
|
|
||
|
|
## Output
|
||
|
|
|
||
|
|
After ending a session:
|
||
|
|
|
||
|
|
```
|
||
|
|
sessions/<session-id>/
|
||
|
|
├── clips/
|
||
|
|
│ ├── clip-001.mp4
|
||
|
|
│ ├── clip-002.mp4
|
||
|
|
│ └── ...
|
||
|
|
├── session.json
|
||
|
|
└── clawdbot_export/
|
||
|
|
├── merged.mp4 # All clips merged
|
||
|
|
├── transcript.json # Whisper transcription
|
||
|
|
├── frames/ # Extracted at "screenshot" triggers
|
||
|
|
│ ├── 01_00-30.png
|
||
|
|
│ └── ...
|
||
|
|
└── metadata.json # Session info for Clawdbot
|
||
|
|
```
|
||
|
|
|
||
|
|
## What Happens Next
|
||
|
|
|
||
|
|
1. **Syncthing** syncs `clawdbot_export/` to Clawdbot
|
||
|
|
2. **Mario** detects new session
|
||
|
|
3. **Vision analysis** categorizes frames
|
||
|
|
4. **KB updated** with new information
|
||
|
|
5. **Slack notification** when complete
|
||
|
|
|
||
|
|
## Tips
|
||
|
|
|
||
|
|
### Recording
|
||
|
|
- Narrate naturally — explain what you're doing
|
||
|
|
- Say "screenshot" before important views
|
||
|
|
- Keep clips short (30s - 2min)
|
||
|
|
- It's okay to delete bad takes
|
||
|
|
|
||
|
|
### Organization
|
||
|
|
- One session per work block (30-60 min)
|
||
|
|
- Use descriptive session names
|
||
|
|
- Match project name to your PKM folder
|
||
|
|
|
||
|
|
### Quality
|
||
|
|
- Close unnecessary windows before recording
|
||
|
|
- Undock NX 3D viewport for clean captures
|
||
|
|
- Speak clearly for better transcription
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
### Hotkeys not working
|
||
|
|
- Run as Administrator (Windows)
|
||
|
|
- Check for conflicts with other apps
|
||
|
|
- Try restarting KB Capture
|
||
|
|
|
||
|
|
### Recording fails
|
||
|
|
- Ensure FFmpeg is installed: `choco install ffmpeg`
|
||
|
|
- Check disk space
|
||
|
|
- Check microphone permissions
|
||
|
|
|
||
|
|
### No transcription
|
||
|
|
- Whisper needs ~2GB RAM for 'base' model
|
||
|
|
- Try 'tiny' model: `--whisper-model tiny`
|
||
|
|
- Check CUDA/GPU drivers for faster processing
|
||
|
|
|
||
|
|
## Architecture
|
||
|
|
|
||
|
|
```
|
||
|
|
┌─────────────────────────────────────────┐
|
||
|
|
│ KB Capture (Windows) │
|
||
|
|
├─────────────────────────────────────────┤
|
||
|
|
│ ┌───────────┐ ┌──────────────────┐ │
|
||
|
|
│ │ Hotkeys │ │ GUI (optional) │ │
|
||
|
|
│ └─────┬─────┘ └────────┬─────────┘ │
|
||
|
|
│ │ │ │
|
||
|
|
│ ▼ ▼ │
|
||
|
|
│ ┌─────────────────────────────────┐ │
|
||
|
|
│ │ Session Manager │ │
|
||
|
|
│ │ (clips, keep/delete, merge) │ │
|
||
|
|
│ └─────────────┬───────────────────┘ │
|
||
|
|
│ │ │
|
||
|
|
│ ┌─────────────┼───────────────────┐ │
|
||
|
|
│ │ ▼ │ │
|
||
|
|
│ │ ┌─────────────────────────┐ │ │
|
||
|
|
│ │ │ Screen Recorder │ │ │
|
||
|
|
│ │ │ (FFmpeg gdigrab) │ │ │
|
||
|
|
│ │ └─────────────────────────┘ │ │
|
||
|
|
│ │ │ │
|
||
|
|
│ │ ┌─────────────────────────┐ │ │
|
||
|
|
│ │ │ Whisper Transcriber │ │ │
|
||
|
|
│ │ │ (local GPU) │ │ │
|
||
|
|
│ │ └─────────────────────────┘ │ │
|
||
|
|
│ └─────────────────────────────────┘ │
|
||
|
|
│ │ │
|
||
|
|
│ ▼ │
|
||
|
|
│ ┌─────────────────────────────────┐ │
|
||
|
|
│ │ clawdbot_export/ │ │
|
||
|
|
│ │ merged.mp4 + transcript.json │ │
|
||
|
|
│ └─────────────┬───────────────────┘ │
|
||
|
|
└────────────────┼────────────────────────┘
|
||
|
|
│ Syncthing
|
||
|
|
▼
|
||
|
|
┌─────────────────────────────────────────┐
|
||
|
|
│ Clawdbot (Mario) │
|
||
|
|
│ Vision analysis → KB update → Notify │
|
||
|
|
└─────────────────────────────────────────┘
|
||
|
|
```
|
||
|
|
|
||
|
|
## Requirements
|
||
|
|
|
||
|
|
- Windows 10/11
|
||
|
|
- Python 3.12+
|
||
|
|
- FFmpeg (`choco install ffmpeg`)
|
||
|
|
- CUDA GPU (recommended for Whisper)
|
||
|
|
- ~4GB RAM (for Whisper 'base' model)
|
||
|
|
|
||
|
|
## Related
|
||
|
|
|
||
|
|
- [CAD-Documenter README](../README.md) — Original project overview
|
||
|
|
- [Knowledge Base Skill](http://100.80.199.40:3000/Antoine/clawdbot-shared-skills) — How Mario processes sessions
|