LAN Media Server
by @nagellack5c
Share images, screenshots, and files from the AI workspace to users on the local network via HTTP. Use when the agent needs to show images, browser screenshots, or any files to the user and the current channel doesn't support inline media (e.g., webchat, CLI). Starts a lightweight Node.js static file server on LAN, managed by systemd. Drop files in the shared directory and send the user a clickable URL.
clawhub install lan-media-serverπ About This Skill
name: lan-media-server description: Share images, screenshots, and files from the AI workspace to users on the local network via HTTP. Use when the agent needs to show images, browser screenshots, or any files to the user and the current channel doesn't support inline media (e.g., webchat, CLI). Starts a lightweight Node.js static file server on LAN, managed by systemd. Drop files in the shared directory and send the user a clickable URL.
LAN Media Server
Lightweight HTTP file server for sharing agent-generated media (screenshots, images, documents) with users on the local network.
Why
Many AI assistant channels (webchat, CLI, SSH) can't display inline images. This skill solves that by serving files over HTTP on your LAN β drop a file, send a link.
Quick Start
bash scripts/setup.sh
This creates the shared directory, installs the server script, creates a systemd user service, and starts it.
Default config:
18801$HOME/projects/shared-mediahttp://:18801/ Override with environment variables:
MEDIA_PORT=9090 MEDIA_ROOT=/tmp/media bash scripts/setup.sh
Usage Pattern
When you need to show an image or file to the user:
1. Save/copy the file to the shared media directory
2. Send the user a link: http://
Example for browser screenshots:
cp /path/to/screenshot.jpg ~/projects/shared-media/my-screenshot.jpg
Then send: http://192.168.1.91:18801/my-screenshot.jpg
Use descriptive filenames β the directory is flat and user-visible.
Management
# Check status
systemctl --user status media-serverRestart
systemctl --user restart media-serverView logs
journalctl --user -u media-server -fStop and disable
systemctl --user stop media-server
systemctl --user disable media-server
Security Notes
π‘ Examples
bash scripts/setup.sh
This creates the shared directory, installs the server script, creates a systemd user service, and starts it.
Default config:
18801$HOME/projects/shared-mediahttp://:18801/ Override with environment variables:
MEDIA_PORT=9090 MEDIA_ROOT=/tmp/media bash scripts/setup.sh