This is a voice-controlled file manager built with LiveKit. You can organize, search, create, and manage files through natural conversation.
- Voice Control - Natural language file operations via LiveKit
- Smart Search - Find files by name, content, type, or pattern
- Auto-Organization - Organize files by type, date, size, or extension
- File Creation - Create files, folders, and entire project structures
- Batch Operations - Move, copy, rename multiple files at once
- Undo/Redo - Rollback any operation within 24 hours
- Safety First - Protected paths, confirmation prompts, audit logging
- Complete Audit Trail - Every action logged for compliance
FileBuddy uses Mem0 for efficient memory management. Mem0 helps to store and manage large amounts of data while keeping the system fast and responsive.
- Persistent Memory: Automatically stores frequently accessed data for quick retrieval.
- Contextual Memory: Remembers context over time to provide a more intuitive, continuous user experience.
- Automatic Cleanup: Clears old or unnecessary data to maintain performance.
- Python 3.10+
- uv package manager
- OpenAI API key
- LiveKit account
# Clone repository
git clone https://github.com/tanishra/file-buddy.git
cd file-buddy
# Install dependencies with uv
uv sync
# Create environment file
cp .env.example .env.localEdit .env.local:
OPENAI_API_KEY=your_openai_api_key
LIVEKIT_URL=your_livekit_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
DEEPGRAM_API_KEY=your_deepgram_api_key
MEM0_API_KEY=your_memo_api_key
OPENAI_MODEL=your_openai_model Default(gpt-4o-mini)
DEEPGRAM_STT=your_deepgram_stt_model Default(nova-2)
DEEPGRAM_TTS=your_deepgram_tts_model Default(aura-asteria-en)uv run main.py consoleOrganize Files:
You: "Show me what's in my Downloads"
FileBuddy: "I found 47 files: 12 PDFs, 20 images..."
You: "Organize them by file type"
FileBuddy: "Ready to organize 47 files into 4 folders?"
You: "Yes"
FileBuddy: "Organized 47 files! Say 'undo' to revert."
Create Files:
You: "Create a Python file called calculator.py"
FileBuddy: "Created calculator.py"
Search & Delete:
You: "Find all .tmp files"
FileBuddy: "Found 23 .tmp files"
You: "Delete them"
FileBuddy: "Delete 23 files? Say 'confirm delete'"
You: "confirm delete"
FileBuddy: "Deleted 23 files (moved to trash)"
- Protected Paths - System folders are off-limits.
- User Confirmation - Required for destructive operations.
- Rollback System - 24-hour undo window for all operations.
- Audit Logging - Complete operation history.
- Trash Safety - Files deleted to trash, not permanent.
FileBuddy/
├── main.py # Entry point
├── tools/ # File operation tools
├── core/ # Core systems (confirmation, snapshot, audit)
├── config/ # Configuration & prompts
├── utils/ # Utilities & helpers
├── data/
│ ├── snapshots/ # Rollback data
│ └── audit_logs/ # Operation logs
All operations are logged:
- Console Logs: Real-time structured JSON
- Audit Logs:
data/audit_logs/audit_YYYY-MM-DD.jsonl
- Never operates on system directories (
/System,/Windows,/usr, etc.) - Requires explicit confirmation for deletions
- All operations are auditable
- No data sent externally except to OpenAI API
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Submit a pull request