Skill: nuoguo/multimedia-manager (version 1.0.6)

# Multimedia Manager (Community Edition) **Version 1.0.6** | **Author: nuoguiAI** | [Changelog](CHANGELOG.md) A self-hosted multimedia management agent — organize, search, and browse all your images and videos with a beautiful web gallery. All data stays local on your machine. 多媒体管理 Agent 社区版 — 图片视频管理、搜索、Web 画廊。数据完全本地存储。 ## Features - **Import**: Images and videos with auto-deduplication (SHA256) - **Search**: Full-text search (FTS5) across descriptions and tags - **Gallery**: Responsive web gallery with infinite scroll - **Albums**: Create and manage photo albums - **Favorites**: Star your best photos - **CLI**: Command-line tools for import, search, and management - **Categories**: Organize by type (ai-generated, family, screenshots, etc.) ### Pro Edition (Available Separately) Contact: [REDACTED_SECRET] Upgrade for advanced features: - AI auto-tagging (Qwen-VL vision model) - Face recognition and clustering (InsightFace) - GPS map view with photo markers - Semantic search with embeddings - Timeline and Memories - Duplicate detection - Resumable chunked uploads - Feishu/Lark integration - Share links and multi-user support ## Security & Permissions This skill runs entirely on your local machine. Here's what it accesses and why: | Resource | Why | Scope | |----------|-----|-------| | **File system** | Read/write images to `~/.image-vault` | Only `IMAGE_VAULT_DIR` directory | | **SQLite database** | Store image metadata (no images in DB) | `~/.image-vault/image_vault.db` | | **Local HTTP server** | Web gallery UI on `127.0.0.1` | Localhost only, token-protected | | **Python packages** | Flask, Pillow, PyYAML (via `pip`) | Standard packages | **No data leaves your machine after initial setup.** No telemetry, no cloud sync, no external API calls. The `setup.sh` script performs a one-time `pip install` (requires network) to install 3 Python packages (`Flask`, `Pillow`, `PyYAML`) and creates the vault directory. You can review it before running or install dependencies manually. ### Environment Variables All environment variables used by this skill are explicitly declared below. See `.env.example` for a ready-to-copy template. | Variable | Required | Description | Default | |----------|----------|-------------|---------| | `IMAGE_VAULT_TOKEN` | **Yes** | Authentication token for the web gallery. Auto-generated by `setup.sh`. | _(none)_ | | `IMAGE_VAULT_DIR` | No | Root directory for image storage. | `~/.image-vault` | | `IMAGE_VAULT_HOST` | No | Server bind address. | `127.0.0.1` | | `IMAGE_VAULT_DB` | No | Path to the SQLite database file. | `<IMAGE_VAULT_DIR>/image_vault.db` | | `PORT` | No | Web gallery server port. | `9876` | These are the only environment variables read by this skill. ### Behavior Transparency The following behaviors may be flagged by security scanners. All are intentional and required for the skill to function: | Behavior | Why | Details | |----------|-----|---------| | **`setup.sh` runs `pip install`** | One-time dependency install | Installs Flask, Pillow, PyYAML from PyPI. Requires network. You can install manually instead: `pip install Flask Pillow PyYAML` | | **Reads `.env` file** | Load config without exporting shell vars | Standard dotenv pattern. Only reads from the skill's own directory. See `.env.example` for all supported keys | | **`cleanup_inbound.py` deletes files** | Remove processed import files | Only deletes files in `<IMAGE_VAULT_DIR>/inbound/` (configurable via `--dir`). Controlled via `--days` flag (default: 7 days) | | **Subprocess calls (`ffmpeg`/`ffprobe`)** | Extract video metadata and thumbnails | Optional — video features degrade gracefully if these binaries are not installed. No other subprocess calls are made | ## Quick Start ```bash # 1. Review and run setup (installs Flask, Pillow, PyYAML) bash setup.sh # 2. Start gallery (localhost only by default) python3 scripts/image_cli.py serve --port 9876 ``` Open `http://localhost:9876` and enter your token. ## CLI Commands ```bash # Import python3 scripts/image_cli.py import /path/to/photos --source uploaded # Search python3 scripts/image_cli.py search "sunset" --json # Stats python3 scripts/image_cli.py stats # Start gallery python3 scripts/image_cli.py serve --port 9876 ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)