# Open WebUI Code Export Simple Python script to export code blocks from Open WebUI chat conversations to your local disk using the REST API. ## Features - Export code blocks from specific chats or all chats - Automatically detects language and saves with proper file extension - Organizes files by chat title - Saves metadata (timestamp, role, language) alongside code - No Docker modifications needed - uses REST API ## Requirements ```bash pip install requests ``` ## Usage ### Export specific chat First, get your chat ID from the URL when viewing a chat in Open WebUI: - URL format: `https://ai.pivoine.art/c/` - Example: `https://ai.pivoine.art/c/abc123def456` ```bash # Export single chat python ai/webui-export.py --chat-id abc123def456 --output-dir ./my-code # Export from remote server python ai/webui-export.py --base-url https://ai.pivoine.art --chat-id abc123def456 --output-dir ./my-code ``` ### Export all chats ```bash # Export all chats python ai/webui-export.py --all --output-dir ./all-code # Export from remote server python ai/webui-export.py --base-url https://ai.pivoine.art --all --output-dir ./all-code ``` ### With authentication (if needed) ```bash # If API key authentication is required python ai/webui-export.py --api-key your-api-key --all --output-dir ./my-code ``` ## Output Structure ``` webui-exports/ ├── My Python Project/ │ ├── 000-00.py # First code block from first message │ ├── 000-00.py.meta.json # Metadata │ ├── 001-00.py # First code block from second message │ └── 001-00.py.meta.json └── Database Schema Design/ ├── 000-00.sql └── 000-00.sql.meta.json ``` ## Remote Usage (VPS) To export code from Open WebUI running on your VPS: ```bash # SSH tunnel to access the API ssh -L 8080:localhost:8080 root@vps # In another terminal, export chats python ai/webui-export.py --all --output-dir ~/Projects/webui-exports ``` Or directly via the public URL: ```bash python ai/webui-export.py --base-url https://ai.pivoine.art --all --output-dir ~/Projects/webui-exports ``` ## Supported Languages The script automatically detects and saves with proper extensions: - Python (.py) - JavaScript/TypeScript (.js/.ts) - Shell scripts (.sh) - SQL (.sql) - HTML/CSS (.html/.css) - JSON/YAML (.json/.yaml) - And many more... ## Tips 1. **Find chat IDs**: Look at the URL bar when viewing a conversation 2. **Regular exports**: Run `--all` periodically to backup your code 3. **Integration**: Add to cron job for automatic backups 4. **Local testing**: Run locally first with `--base-url http://localhost:8080` ## Example Workflow ```bash # 1. Have a conversation with Claude in Open WebUI where code is generated # 2. Note the chat ID from URL (or use --all) # 3. Export the code python ai/webui-export.py --chat-id abc123 --output-dir ~/Projects/new-feature # 4. The code is now in ~/Projects/new-feature/Chat Title/000-00.py # 5. Review, modify, and use as needed ``` ## Automation Add to crontab for daily exports: ```bash # Edit crontab crontab -e # Add daily export at 2 AM 0 2 * * * cd ~/Projects/docker-compose && python ai/webui-export.py --base-url https://ai.pivoine.art --all --output-dir ~/Projects/webui-exports ```