Multimedia To Obsidian
v1.0.0将任意多媒体文档导入 Obsidian 知识库。支持 PPT、PDF、DOCX、图片等格式,自动提取每一页/每一张图片,使用多模态模型理解内容,生成文字描述后存入 OB。适用于:(1) 整理培训课件 (2) 迁移笔记到 OB (3) 将图片资料转为结构化知识。
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The skill's description matches the code: it extracts pages/images and sends them to multimodal models, then writes Markdown into an Obsidian repo. However the registry metadata lists no required binaries or env vars while the SKILL.md and the script require pandoc, poppler (pdftoppm), python-pptx/pillow, and also call 'soffice' — this mismatch is incoherent and could surprise users. The network/API access (MINIMAX/OPENAI/ANTHROPIC) is appropriate for the stated purpose but the default MINIMAX_API_HOST is an unfamiliar domain.
Instruction Scope
Runtime instructions are within the task scope (install tools, set one of several model API keys, run the script). Important privacy-sensitive behavior: the script encodes image bytes as base64 and transmits them to third-party endpoints (MiniMax/OpenAI/Anthropic). That is expected for model calls but should be explicitly highlighted because sensitive documents will be uploaded. The SKILL.md omits that the script invokes 'soffice' and 'rm -rf' and does not warn about large uploads or rate/size limits.
Install Mechanism
There is no automated install spec (lowest risk). The SKILL.md instructs manual installs via brew and pip (pandoc, poppler, python-pptx, pillow) which are reasonable. The script additionally calls 'soffice' (LibreOffice) and 'pdftoppm' but 'soffice' is not listed in prerequisites — this omission is inconsistent and may lead to runtime failures. No downloads from unknown URLs are performed by an installer.
Credentials
The registry metadata declared no required environment variables, but both SKILL.md and the script require at least one API key (MINIMAX_API_KEY or OPENAI_API_KEY or ANTHROPIC_API_KEY). Requiring model provider API keys is proportionate to the task, but the default MINIMAX_API_HOST (https://api.minimaxi.com) is not a known major provider — sending base64 images to an unfamiliar host is a privacy/exfiltration risk. The number of env vars requested is reasonable, but the metadata omission is a red flag.
Persistence & Privilege
The skill is not always-enabled and is user-invocable. It writes Markdown files into the user-specified Obsidian directory and removes temporary files; it does not request system-wide configuration or modify other skills. No elevated persistence is requested.
What to consider before installing
This skill appears to implement its stated feature (extract images and call multimodal models), but there are mismatches and privacy concerns you should consider before installing: 1) Metadata omission — the registry claims no required binaries/env vars, but the SKILL.md and script require pandoc, poppler (pdftoppm), python-pptx, pillow, and likely LibreOffice ('soffice'); confirm and install these intentionally. 2) API keys — you must provide an API key for one of the providers; review which provider you trust. The script will upload raw image bytes (base64) to the chosen provider. Do NOT use this on sensitive documents unless you trust the destination. 3) Unknown default host — the default MINIMAX_API_HOST (https://api.minimaxi.com) is not a well-known vendor; verify this endpoint and its privacy/security policy before setting MINIMAX_API_KEY or leaving the default host. 4) Inspect and/or run in isolation — review the script (it is included) and consider running it on non-sensitive sample files or inside a disposable environment/container. 5) Fix metadata — if you plan to use it, request that the publisher update the registry metadata to list required binaries and env vars so users aren’t surprised. If you need higher assurance, prefer using a known provider (OpenAI/Anthropic) or a local/offline processing path for sensitive data.Like a lobster shell, security has layers — review code before you run it.
latest
多媒体导入 Obsidian
将 PPT、PDF、DOCX、图片等多媒体文档导入 Obsidian,每页/每张图片自动生成文字描述。
功能特点
- 支持多种格式:PPT、PDF、DOCX、图片(PNG、JPG 等)
- 自动提取媒体文件
- 调用多模态模型理解内容
- 自动分类到 OB 仓库
使用方法
前提条件
- 安装依赖:
brew install pandoc poppler
pip install python-pptx pillow
- 设置环境变量(至少一个):
# MiniMax
export MINIMAX_API_KEY="your-key"
export MINIMAX_API_HOST="https://api.minimaxi.com"
# OpenAI
export OPENAI_API_KEY="your-key"
# Anthropic
export ANTHROPIC_API_KEY="your-key"
调用脚本
python3 <skill>/scripts/media_to_obsidian.py <源文件/目录> <输出OB目录> [options]
参数:
- 源文件/目录:单个文件或包含多媒体文件的目录
- 输出目录:Obsidian 仓库路径
- 选项:
--format ppt|pdf|docx|image|all: 指定格式,默认 all--model minimax|openai|anthropic: 指定模型,默认 minimax--category 分类名: 指定输出分类目录
示例
# 导入 PPT 课件
python3 ~/.openclaw/workspace/skills/multimedia-to-obsidian/scripts/media_to_obsidian.py \
/path/to/培训课件.pptx \
/path/to/Obsidian \
--format ppt --category 培训
# 导入图片到 OB
python3 ~/.openclaw/workspace/skills/multimedia-to-obsidian/scripts/media_to_obsidian.py \
/path/to/images/ \
/path/to/Obsidian \
--format image --category 素材
# 批量导入目录下的所有文档
python3 ~/.openclaw/workspace/skills/multimedia-to-obsidian/scripts/media_to_obsidian.py \
/path/to/documents/ \
/path/to/Obsidian
输出结构
Obsidian仓库/
├── 培训/
│ └── 培训课件.md (含每页图片理解)
├── 素材/
│ └── 图片1.md
│ └── 图片2.md
└── 导入/
└── 文档名.md
工作流程
- 提取媒体:从 PPT/PDF/DOCX 提取每一页为图片
- 理解内容:调用多模态模型理解每张图片
- 生成描述:将图片描述写入 Markdown
- 分类存储:按指定分类存入 OB
Comments
Loading comments...
