webui-attachment-upload

Encode WebUI attachments as base64 and deliver them via WebSocket to Claude Code CLI.

2|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/liuyu520/cc-connect-fork --skill webui-attachment-upload
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webui-attachment-upload
Source: https://github.com/liuyu520/cc-connect-fork/tree/main/.claude/skills/webui-attachment-upload
Command: npx skills add https://github.com/liuyu520/cc-connect-fork --skill webui-attachment-upload

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Document the full-stack attachment upload feature for WebUI. Users can upload images and files through the browser, which are transmitted via WebSocket as base64, decoded by the Go backend, and sent to the Claude Code CLI as multimodal content blocks.

Core Features & Use Cases

  • WebSocket-based attachment transfer: images and files are encoded as base64 and sent alongside the user prompt.
  • Frontend: drag-and-drop, paste image, and file input with real-time previews and size validation.
  • Backend: high read limit, on-disk storage for attachments, and formatting into Claude stdin JSON for multimodal content.

Quick Start

Start by selecting files or pasting images in the WebUI and pressing Send to attach them to your message.

Frequently Asked Questions about webui-attachment-upload

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send multimodal attachments from a WebUI to Claude Code CLI?

To send multimodal attachments from a WebUI to Claude Code CLI, encode images and files as base64 and deliver them over WebSocket. The backend then decodes the base64 payload, stores files on disk, and formats the content into Claude stdin JSON for multimodal processing.

Does WebUI attachment upload support drag-and-drop and paste?

WebUI attachment upload supports drag-and-drop, paste image, and file input features. The frontend provides real-time previews and size validation, ensuring selected images and files are transmitted seamlessly alongside the user prompt via WebSocket.

How does WebSocket base64 transfer work for chat interface file uploads?

WebSocket base64 transfer for chat interface file uploads works by encoding browser-selected images and files as base64 strings. The Go backend receives these WebSocket payloads, decodes the base64 data for on-disk storage, and formats the attachments into multimodal content blocks for the CLI.

What is the best way to format Claude stdin JSON for attachment-rich messages?

The best way to format Claude stdin JSON for attachment-rich messages is to structure the decoded base64 attachments as multimodal content blocks. The backend handles this formatting, ensuring both simple text and attachment-rich messages are properly structured for the Claude Code CLI to process.

Can I use this WebSocket attachment transfer method for developer dashboards?

You can use WebSocket attachment transfer for developer dashboards that require image and file uploads. The system satisfies frontend and backend validation, applies on-disk storage for attachments, and ensures files accompany user prompts in end-to-end workflows.