AnyContent Vault Importer

by Coder4
5
4
3
2
1
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. 粘贴抖音 / TikTok / 微信公众号 / YouTube 链接,自动转录/提取/OCR 成 Markdown 并写入 vault。单一插件覆盖多平台,输出 AI-readable 文本。

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

AnyContent Vault Importer

Paste a Douyin / TikTok / WeChat Official Account / YouTube link, and this plugin sends it to a small local backend that transcribes, scrapes, or OCRs the content into a clean Markdown note inside your vault.

One plugin, four platforms, AI-readable text output. No third-party services are called by the plugin itself — only your local backend.

Features

Source What you get
Douyin / TikTok video ASR transcript + no-watermark MP4 URL (optional local download)
Douyin image post (图文) Per-image OCR'd Markdown + image URLs
WeChat Official Account article Full article body in Markdown (text + inline image references)
YouTube video Timestamped transcript + title / channel metadata

Every imported note ships with a YAML frontmatter block (title, source, author, platform, post_type, created, tags, …) so it slots straight into Dataview, Bases, or your own queries.

Architecture

Obsidian ── (HTTP, localhost only) ──> Python backend ── (ASR / OCR / scrape) ──> Markdown ──> vault

This plugin is the Obsidian side only. The backend is a separate FastAPI service that you run locally — see vancoder4-cyber/anycontent-obsidian-backend.

The split keeps the plugin tiny (no Python / no ffmpeg bundled) and lets the heavy lifting (audio extraction, model inference, etc.) live in a dependency stack that's natural for that work.

Install

Settings → Community plugins → Browse → search AnyContent Vault Importer → Install → Enable.

Manual / BRAT (until approved)

  1. Install BRAT.
  2. BRAT → "Add Beta plugin" → paste https://github.com/vancoder4-cyber/anycontent-obsidian-importer.
  3. Enable the plugin in Settings → Community plugins.

Run the backend

git clone https://github.com/vancoder4-cyber/anycontent-obsidian-backend
cd anycontent-obsidian-backend
uv sync
export API_KEY=sk-your-siliconflow-key   # free signup at https://cloud.siliconflow.cn/
uv run python web/app.py                  # listens on :8080

The API key is required for video ASR and image OCR (SiliconFlow's SenseVoice / Qwen-VL). WeChat articles and YouTube transcripts work without it.

Usage

There are three ways to trigger an import:

  1. Ribbon icon (the download arrow on the left sidebar) → paste link → Import.
  2. Command palette → "Import URL to vault" or "Import URL from clipboard".
  3. Inbox folder — turn on Inbox auto-consume in settings. Anything you write into _anycontent-inbox/<name>.txt is treated as share text and imported automatically. Useful for pairing with shell scripts, automations, or AI assistants that write files into your vault.

Imported notes land in your configured Raw folder (raw/ by default) with a filename pattern you control via {date}-{author}-{platform}-{title}.

Settings

Setting What it does
Backend URL Where the local backend is listening. Defaults to http://127.0.0.1:8080.
API key Override the backend's API_KEY per-vault (or leave blank to use the backend's env var). Stored locally only.
Raw folder Vault-relative path where imported notes are written.
Filename pattern Template with {date} {author} {platform} {title} {videoId} tokens.
Save no-watermark video locally For Douyin / TikTok, also download the MP4 into raw/<media>/ and embed it.
Media subfolder name The subfolder used by the previous option.
Open note after import Auto-open the new note when import finishes.
Inbox folder Vault-relative folder watched for new files.
Inbox auto-consume Toggle whether files dropped into the inbox are imported automatically.

Privacy / Network

  • The plugin only makes HTTP calls to your local backend URL. It never connects directly to the internet from Obsidian.
  • The backend, in turn, fetches the source page (e.g. mp.weixin.qq.com), and for video ASR / image OCR it forwards the audio / image to whichever provider you've configured your API key with (SiliconFlow by default).
  • No analytics, telemetry, or remote logging in this plugin.
  • API keys you paste into the settings tab are stored in Obsidian's plugin data file inside the vault. Treat the vault accordingly.

Compatibility

Desktop-only (isDesktopOnly: true). The backend requires Python 3.10+ and runs anywhere uv / pip runs.

Minimum Obsidian: 1.4.0.

Known limitations

  • YouTube transcripts depend on YouTube exposing captions. Videos with captions disabled / blocked will still create a note (title + channel + author), with a clear "no transcript" message in the body.
  • WeChat image hotlinkingmmbiz.qpic.cn images often refuse to load outside of WeChat due to Referer restrictions. The plugin embeds the URL anyway so the text content remains complete; viewing the images may require opening the original article.
  • WeChat articles behind login cannot be extracted (the page returns a login wall).
  • Douyin OCR can take ~5s per image on the default Qwen3-VL model. A 10-slide post takes ~1 minute.

Contributing

Issues and PRs welcome. Source: https://github.com/vancoder4-cyber/anycontent-obsidian-importer.

License

MIT — see LICENSE.

The backend repo carries its own license (Apache 2.0, inheriting from upstream yzfly/douyin-mcp-server).