Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

QnALog

Q&A LogQ&A Log67 downloads

Record and transcribe conversations, then turn them into structured Markdown notes with your own AI provider.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates18

English | 简体中文

Turns conversations into structured knowledge.

Open-source conversation intelligence for Obsidian: record, transcribe, and organize meetings, interviews, talks, and voice notes into Markdown you can reuse.

QnALog ships no API keys and works without an account: you configure your own speech-to-text (ASR) service and, optionally, your own large language model (LLM). Recordings and generated notes stay in your vault.

Supports desktop and mobile Obsidian. Mobile recording uses the device microphone. System audio, virtual audio devices, multichannel capture, desktop device diagnostics, and realtime streaming ASR providers that need custom authentication headers require the desktop app.

Relationship to LexVoice

Origin. QnALog is derived from LexVoice by Lynnx, based on its last MIT-licensed release (2.1.2). Upstream relicensed to a proprietary license from 2.2.0 onward; QnALog is an independent project, not a newer version of LexVoice and not a continuation of that release line. It has since been reworked into a plugin with its own name, data namespace, and settings. See NOTICE and MAINTAINING.md.

There is no data path between the two.

  • No migration. QnALog has no import, export, or migration path for LexVoice data. It does not read LexVoice notes, markers, tags, folders, or settings, and it does not scan or rewrite your existing files on load.
  • No settings inheritance. A new install starts from QnALog's own defaults. If you have used LexVoice, its API keys, service configuration, folders, and prompts are not carried over — configure QnALog from scratch.
  • Its own namespace. Tags, markers, and folders written to your vault use the qnalog / QnALog namespace only.
  • Its own plugin id. The id is qnalog, different from LexVoice's lexvoice, so Obsidian manages them as two separate plugins.

Features

Live outline

Chapters grow as you record. After recording, chapters link to the player — click a chapter to jump to that position in the audio. When recording stops, AI completes the chapters into a full set of notes.

In-meeting notes

While recording, jot live notes under the outline. The first character can trigger different handling:

Trigger the AI assistant:

  • #term — the AI explains the term in the context of the current discussion.
  • ?question — the AI answers using the current transcript and outline.
  • !highlight — marks something important and has the final notes treat it accordingly.

Mark only (no AI call):

  • @assignee — record "@alice follows up"; the final notes prefer assigning that todo to them.
  • /todo — capture an explicit todo candidate.

Half-width and full-width symbols are both accepted. In-meeting notes are fed into the final summarization prompt as clearly-labeled "live supplementary material", never mixed into the raw transcript.

Ask this note

Ask follow-up questions when the final notes miss a detail or you want to revisit a specific part of the discussion. QnALog answers from both the organized note and the preserved raw transcript. Useful answers can be written back to one compact Ask this note section in the Markdown file.

Long meetings & recovery

In standard meeting and learning-note modes, long recordings are organized in recoverable parts instead of relying on one all-or-nothing LLM response. QnALog builds a global topic map, saves each completed part as a local checkpoint, and assembles the final note in time order.

If a request is interrupted or a model reaches its output limit, completed work is reused and only unfinished parts are retried. The raw transcript remains available, and an incomplete result is shown as partially completed rather than being saved as an empty note.

Task progress

The processing panel separates transcription, AI organization, and Markdown writing. It shows the active stage, recent activity, failures, and retry or cancel actions. Failed transcription and failed AI organization remain distinct so you can resume from the step that actually failed.

Sediment & object library

After each note, AI splits the content into three candidate groups:

  • People — adjudicated one by one: keep, merge, or ignore
  • Todos — selected by default
  • Hotwords — names, organizations, brands, terms, to improve later ASR accuracy

Confirmed items become standalone Obsidian objects — people profiles, todo cards, and ASR hotwords — and the sidebar can assemble confirmed todos into a todo wall. When the same person comes up again, a note links to the existing profile instead of creating a duplicate.

Todo enhancements

Edit owner, due date and sub-tasks inline at the candidate stage — no dialogs. Stored todos use standard Markdown task syntax (recognized by plugins like Tasks). Source information is preserved on delete / redo for traceability.

Recording reliability

  • Level meters before and after recording show whether the mic and system audio are actually working.
  • Audio inputs remain user-selectable; virtual or remote device names are shown as guidance rather than being selected or rejected automatically.
  • A device check in settings diagnoses "recorded but silent" problems.
  • Compatible independent multichannel input can be detected and transcribed by channel, with speaker labels that can be mapped to names. Separation stays off when independent channels cannot be verified.
  • Deleting a transcript offers to delete its audio file too.
  • Recordings under 10 seconds are not transcribed or turned into minutes. Audio under 3 seconds is discarded; audio between 3 and 10 seconds stays in the recording folder so you can import it manually if it turns out to matter.

Export

From one set of notes you can generate an HTML report, a PDF report, or an .eml email draft — same content, different presentation.

Note list

The sidebar can organize recent notes by folder or by time. Folder groups can be collapsed, the open note is highlighted, and search and template filters remain available in either view.

Basic usage

  1. Open the QnALog sidebar.
  2. Choose a template and an audio input.
  3. Start recording; check that the level meter reacts.
  4. Watch the live outline; add in-meeting notes if needed.
  5. Stop recording and follow transcription and AI organization in Task progress.
  6. If processing was interrupted, retry only the failed stage; if the notes miss a detail, use Ask this note.
  7. Open Sediment and review people, todos, and hotwords.
  8. If you need to share, use Export.

Default folders (all configurable in settings). Names are chosen once at first install, from the interface language:

Content Chinese interface English interface
Recordings QnALog/录音 QnALog/Recordings
Transcribed notes QnALog/转写纪要 QnALog/Transcribed notes
Meeting materials QnALog/会议资料 QnALog/Meeting materials
People QnALog/资料库/人员 QnALog/Library/People
Todo cards QnALog/资料库/待办 QnALog/Library/Todos
Views QnALog/资料库/视图 QnALog/Library/Views
Glossary QnALog/资料库/词汇表.md QnALog/Library/Glossary.md
Diagnostics log QnALog/系统/诊断日志 QnALog/System/Diagnostics log
Archive QnALog/资料库/归档 QnALog/Library/Archive
HTML reports QnALog/HTML报告 QnALog/HTML reports
Email drafts QnALog/邮件草稿 QnALog/Email drafts
Segment cache QnALog/.cache/segments QnALog/.cache/segments

A Chinese interface gets the left column; every other language gets the right one (only Chinese and English names exist). Changing the language later does not move folders that already exist. Default folders use the QnALog/ prefix; they are ordinary paths and can be changed in settings at any time.

Requirements

Required:

  • Obsidian 1.11.4 or later
  • A speech-to-text service (cloud API or local)
  • A vault folder for recordings and notes

Recommended:

  • An LLM service — for the live outline, note organization, sediment, export, and template tuning
  • A virtual audio device and a real microphone — to record system / online-meeting audio and your own voice; see below
  • A domain glossary — improves recognition of names, products, organizations, and terms

Audio input & real microphone

Capturing system audio cross-platform from the Obsidian desktop app is unreliable, so recording online meetings, web video, courses, or anything played by the computer usually needs a virtual audio device:

  • Windows: VB-Cable
  • macOS: BlackHole
  • Linux: PulseAudio / PipeWire monitor source

On Windows with VB-Cable, mind the naming:

  • Meeting apps, browsers, and system output → CABLE Input
  • QnALog reads CABLE Output (a recording device)
  • To also record yourself, the real microphone must be your physical mic — not CABLE Output, BlackHole, VoiceMeeter, or Stereo Mix

If the level meter does not move, run the device check before starting a long recording.

Privacy, network, and file access

No ads, no analytics, no telemetry. Plugin settings are stored locally in .obsidian/plugins/qnalog/data.json; API keys are stored through Obsidian SecretStorage, not in that file. When using another Obsidian installation, confirm that SecretStorage has the keys and re-enter any that are missing.

Network use. QnALog works offline unless you configure a service that needs the network. When you do, requests go only to the endpoints you configure:

  • Speech-to-text requests send audio to the transcription service you configured.
  • AI organization requests send transcript text and prompt context to the LLM service you configured.
  • The update check requests manifest.json from this project's GitHub release page only when you click Check for updates in Settings > About or run Check for Updates from the command palette. Plugin startup makes no update-check requests. It never downloads or installs anything.

Where recordings live. The current version has no QnALog backend: it keeps no recordings, transcripts, or notes on servers of its own, and everything it writes — recordings and generated notes — stays in the local vault path you choose.

Optional subscription (planned). A paid subscription may be added later for users who would rather not manage API keys: sign in, and transcription and AI organization run through that service without any provider setup. It stays optional. If you turn it on, the audio and text of a recording go to that service instead of your own endpoints; recordings and notes are still written to your vault. If you leave it off, everything described above is unchanged.

Files outside your vault. The optional external inbox feature can watch a folder outside your vault (an absolute path, for example a synced recordings directory) and import audio from it. That access happens only if you configure such a path, and it is limited to reading the files you point it at.

For sensitive content (client data, medical, legal, HR, recruiting, internal strategy), prefer local transcription with a local model, and obtain consent before recording. Details: PRIVACY.md.

Installation

Option 1 — community plugin directory (desktop and mobile)

  1. In Obsidian, open Settings → Community plugins and browse the directory.
  2. Search for QnALog, install it, then enable it.

The directory's LexVoice entry is a different plugin — see Relationship to LexVoice.

Option 2 — BRAT (works on desktop and mobile)

  1. Install and enable BRAT from the community plugin directory.
  2. In BRAT, choose Add beta plugin and enter qnalog/qnalog.
  3. Install, then enable QnALog under Settings → Community plugins.

You can also download the release assets (main.js, manifest.json, styles.css, plus LICENSE and NOTICE) straight from the releases page into <vault>/.obsidian/plugins/qnalog/. Each release is built from its own tag by CI, which rebuilds the bundle and byte-compares it before uploading.

Option 3 — build from source (desktop)

git clone https://github.com/qnalog/qnalog.git
cd qnalog
npm ci
npm run build
npm run install:vault -- "/path/to/your/vault"

install:vault copies main.js, manifest.json, styles.css, LICENSE, and NOTICE into <vault>/.obsidian/plugins/qnalog/, and snapshots anything it overwrites (including data.json) into <vault>/.obsidian/qnalog-install-backups/<timestamp>/. It only touches the qnalog folder: settings are never inherited from other plugins. The settings folder follows the plugin id, so a build installed from source and a BRAT install keep their settings in the same folder.

Then reload Obsidian (Ctrl/Cmd + R) and enable QnALog.

QnALog keeps your settings when the stored schema is older: it migrates them forward and your API keys, service configuration, prompts, paths, and device choices are preserved. Settings are only discarded when they cannot be recognized at all (written by a different project, or corrupted) — in that case the original file is backed up under <plugin folder>/settings-backups/ before defaults are used.

Rolling back

Every install snapshots the plugin folder it is about to overwrite, so rollback is one command:

npm run restore:vault -- "<vault>/.obsidian/qnalog-install-backups/<timestamp>" "/path/to/your/vault"

restore:vault reads the plugin id and version from the backup's manifest.json, restores that folder, and snapshots your current folder first — so the rollback itself is undoable (the undo command is printed). It also tells you which plugin id Obsidian currently has enabled; add --set-enabled to rewrite community-plugins.json instead of switching in the UI. Pass the vault path explicitly when the backup lives outside a vault.

Other development and check commands: see CONTRIBUTING.md.

License & credits

MIT — see LICENSE, NOTICE, and the maintenance policy in MAINTAINING.md.

Copyright (c) 2026 Lynnx (original LexVoice work); modifications copyright (c) 2026 Q&A Log Team.

HealthExcellent
ReviewSatisfactory
About
Record and transcribe meetings, interviews, talks, and voice notes into reusable Markdown files stored in your vault. Organize recordings with live outline chapters that link to audio, keep data local with no bundled API keys or account, and connect your own ASR and optional LLM; works on desktop and mobile.
AudioAI
Details
Current version
1.3.0
Last updated
21 hours ago
Created
12 months ago
Updates
18 releases
Downloads
67
Compatible with
Obsidian 1.11.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Q&A LogQ&A Logqnalog
qnalog.com
GitHubqnalog
  1. Community
  2. Plugins
  3. Audio
  4. QnALog

Related plugins

Note Companion

AI-powered note organization and chat. Requires subscription or self-hosting with your own API keys.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation plugin for Obsidian - turns notes and PDFs into a linked, LLM-powered knowledge base with entity pages, concept pages, graph-powered Q&A, and local-first privacy.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Gemini Scribe

Allows you to interact with Gemini and use your notes as context.

Text Generator

Generate text content using GPT-3 (OpenAI).