Skip to content
Projects

jiaoyingxing/resojot has 50 GitHub stars and 1 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-10 01:28 UTC. Last push 2026-10-30.

How these counts are measured

Resojot / 应声记 - an Obsidian voice notes plugin

Measured star growth

in 24h
0
in 7 days
+1
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README-en.md

Original

Resojot

Release downloads Latest release CN 中文版 EN English

Resojot helps you record, transcribe, and organize audio in Obsidian, so spoken content becomes searchable, usable notes faster.

1. Overview

Resojot across mobile and desktop

flowchart TB
    A["Record"]
    B["Save audio and note"]
    C["Transcribe"]
    D["Polish, title, Todos"]
    E["Manage progress and retries"]
    A --> B --> C --> D --> E

2. Core Capabilities

Features marked 🔒 require a license key; everything else is available right after installation.

Capability Description
Built-in recording Record right inside Obsidian: start with one click from the Workbench, use shortcuts and commands on desktop, or URL shortcuts on mobile (add the ready-made iOS shortcut from Settings → Tools → Quick launch). Recording data is protected by a local cache — if saving fails nothing is lost, and it is restored automatically after the plugin restarts.
Automatic note library storage When a recording ends, the audio is saved automatically and a Markdown note is created: transcript, polished text, Todos, and summaries are written into the same note in separate sections. Where recordings go, how they are named, and which template is used are all configurable.
Automatic transcription Once a transcription service is configured, recordings turn into text automatically. Words that often come out wrong can be added to a local dictionary and are corrected automatically afterwards; the dictionary can be exported and migrated between devices. When one service fails, Resojot automatically tries the next eligible one.
Live transcription 🔒 Choose “Record and transcribe live” from the Workbench and sentences appear while you speak; after stopping, the complete audio is still saved and follow-up processing continues.
Live translation 🔒 Pick a target language from the Workbench “+” menu and translation runs while you record: translated and original lines are written into the note together, with Chinese, English, Japanese, German, French, Korean, or Spanish as the target. Requires both transcription and polish licenses; a title is generated automatically when you stop.
Long-recording transcription 🔒 Recordings beyond 5 minutes are transcribed in segments with visible progress; unfinished parts resume after the app reopens; after another interruption the task stops and can be retried manually.
AI polish and organization Finished transcripts are automatically cleaned up into readable notes, with optional titles and one-sentence summaries; extracted Todos are collected into a Todo note 🔒 automatically. You can also polish manually, extract Todos, or correct wording from a note at any time.
Audio queue The Workbench shows recent recording notes; the Audio queue shows the state of each recording in one place — retry failures, recover missing notes, and clean up orphan attachments.

3. Quick Start

Installation (choose one):

  1. Obsidian Community Plugins (recommended): Settings → Community plugins → Browse → search Resojot, then install and enable
  2. BRAT: install BRAT, choose Add Beta plugin, and enter https://github.com/jiaoyingxing/resojot; it then updates automatically from GitHub Releases
  3. Manual: download main.js, manifest.json, and styles.css from GitHub Releases, put them into .obsidian/plugins/resojot/ in your vault, reload community plugins, and enable Resojot

First use:

  1. Set up a service: the first row under Recordings is a first-run guide. Enter one SiliconFlow API key and Resojot configures and validates both transcription and polish, then lets you choose where to save and start; the row disappears after one completed transcription and polish. You can also choose a transcription service yourself in the plugin settings; the setup guides and free API guides in the knowledge base can help
  2. Start recording: start your first recording from the button at the bottom of the Workbench; after saving, transcription and polish run automatically based on your settings

Without a license key you can still use recording, notes, and transcription and polish for recordings up to 5 minutes; see License and Privacy below for the full boundary.

4. Supported Services

Type Supported
Transcription (ASR) Local Transcription Service (OpenAI-compatible; Windows desktop can install or manage a FunASR setup)
Cloud OpenAI-compatible endpoint
SiliconFlow
Doubao ASR
Tencent Cloud ASR
Aliyun DashScope ASR
Xiaomi MiMo ASR
OpenAI
Azure Speech
Google Speech-to-Text
Google Gemini
Polish (LLM) SiliconFlow
Doubao
Qwen
DeepSeek
Xiaomi MiMo
OpenCode
Command Code
OpenAI / ChatGPT
Gemini
Anthropic / Claude
Ollama
Custom OpenAI-compatible endpoint

[!NOTE] A Resojot license does not include any third-party cloud service quota. Service availability, model access, costs, and request limits are determined by the provider you configure.

5. Advanced and Desktop Capabilities

Features marked 🔒 require a license key; everything else is available right after installation.

Capability Description
Local transcription On Windows desktop, install FunASR with one click and its runtime environment is prepared automatically; you can also use an already-installed FunASR. Models are downloaded on demand on first use.
Journal assist Write recordings into the current day's note already created by Daily Notes, Periodic Notes, Journals, or similar tools. Resojot finds the note and writes into it; it does not take over journal creation.
Recording display The recording indicator floats globally, so you can keep taking notes while recording: choose a top strip, a full-screen overlay, or no indicator. Regular and computer-audio recording share the same display settings.
Windows dictation 🔒 On Windows, hold a hotkey to speak and release to insert the text into the current app. Recordings can be retained per settings; failed entries return to the Audio queue.
Computer audio 🔒 Record the sound your computer is playing, including through headphones; on macOS 15+ the microphone can be recorded at the same time.
Speaker labeling 🔒 After transcription, Resojot distinguishes speakers and writes the text back with per-sentence “Speaker N:” prefixes. Some providers, such as Aliyun DashScope ASR, return their own speaker labels and are used directly without downloading components; otherwise get the recognition components from Settings → Tools → Speaker recognition on first use (about 38 MB, once per vault). Very long recordings are not covered: the components handle up to about 90 minutes, and Aliyun DashScope up to 2 hours.
Existing audio 🔒 Import audio from the current device, process audio in the current note, or re-transcribe completed results.
Bilibili link import 🔒 On desktop, paste a public single-video Bilibili link from the Workbench “+” menu; confirm the title, author, duration, and source, and Resojot downloads the audio, creates a note, and starts transcription. Requires yt-dlp on the machine (ffmpeg optional); Resojot only detects and calls it and does not install or update it. Multi-part videos import part 1 by default; add ?p=N to the link for another part. Not available on mobile.

6. Platforms and Versions

Capability Requirement
Standard Resojot features Obsidian 1.11.4+; Windows, macOS, iPhone, and Android; Simplified Chinese and English interfaces
Multi-device layout Phones, tablets, and computers each get a purpose-designed interface; on tablets and desktop multi-window, the Workbench and Settings adjust to the window width
Windows dictation Windows desktop only
Computer-audio recording Windows and macOS 13+ desktop; macOS 15+ can include the microphone
Local FunASR management Desktop; Windows can install FunASR with one click, including its runtime environment, or manage an installed FunASR
Bilibili link import Desktop; yt-dlp installed on the machine, ffmpeg optional
Resojot CLI Official Obsidian desktop installer 1.12.7+ with Command line interface enabled

7. Selected Interface Previews

The features shown in the desktop screenshots below are also available on mobile. Resojot adapts the layout to the screen.

7.1 Desktop Screenshots

Transcript and polish actions
Open “AI polish,” or use “Correct wording,” copy, and delete.

Transcript and polish action menu

Storage and writing
Choose the writing mode, audio and note folders, templates, and append order.

Storage and note writing settings

Desktop Audio queue
Review failure reasons, retry status, and per-recording details in one place.

Desktop Audio queue

7.2 Mobile Screenshots

Scenario Preview
Mobile Workbench
Review recent recording notes and start recording from the button at the bottom.
Resojot mobile recording workbench
Workbench quick menu
Open the Audio queue and settings, switch among four writing modes, or import from the current device on the mobile Workbench.
Mobile Workbench quick menu
Journal assist mode
Locate an existing journal by folder, date format, and target heading.
Journal assist mode settings
AI polish and add-on processing
Open “AI polish” from a note's content action menu to apply or create polish profiles, extract Todos, or generate summaries.
AI polish and add-on actions
Todo notes
Control automatic collection, note location, display size, and line-end task actions.
Todo note settings
Audio bar menu
Adjust playback speed, transcribe this audio, or delete the recording; the audio file is kept while the note still references it.
Audio bar action menu
Mobile Audio queue
Review cancelled, no-speech, missing-note, and orphan-attachment states on mobile.
Mobile Audio queue

8. Resojot CLI (Testing feature)

Codex, Claude Code, and other external agents can call Resojot through the official Obsidian CLI. An agent can check the current environment and plugin capabilities, start or stop recordings, process existing audio in the vault, query, retry, or cancel jobs, and retrieve result notes and artifacts. It can also read storage and polish settings, inspect FunASR status, read and update the terminology dictionary, audit the Audio queue, and preview a bounded segment from a selected recording.

Before changing settings, restoring notes, retrying tasks, or cleaning up items, Resojot generates an exact plan. The agent needs to explain the plan and impact to the user and submit it only after confirmation; before execution, Resojot checks again whether the target objects or settings have changed.

  • Requires the official Obsidian desktop installer 1.12.7+ with Settings → General → Command line interface enabled; Obsidian and the target vault must stay open while it is used, and CLI is unavailable on mobile
  • Previewing a recording without an existing transcript may send the selected segment to the current transcription service and may incur service costs
  • CLI does not expose API keys, license keys, or internal queues; its public contract and operation scope may still change during testing

Minimal capability discovery:

obsidian vault="<vault-name-or-id>" resojot
obsidian vault="<vault-name-or-id>" resojot:capabilities
obsidian vault="<vault-name-or-id>" resojot:schema command=resojot:process-audio

If the terminal is already inside the target vault, vault=... can be omitted. Treat the current resojot:schema output as the source of truth for command parameters.

9. License and Privacy

9.1 License status

Status Available features
Free Recording, audio saving, basic Markdown notes and templates; transcription of recordings up to 5 minutes with automatic polish and title generation; manual polish and todo extraction on existing transcripts; using existing polish profiles
🔒 License required Transcribing recordings beyond 5 minutes, imported-audio transcription, computer-audio recording, desktop dictation, real-time transcription, live translation, Todo collection, speaker labeling, and managing polish profiles
  • To get a license key, search Xiaohongshu for 焦应行
  • License keys are verified locally through signature validation; license duration and supported versions are shown in the plugin's License details

9.2 Data and storage

Data Stored in
🎙️ Audio files and Markdown notes Your Obsidian vault (local)
⚙️ Plugin settings, dictionary, license state, and pending task state Local Obsidian plugin data
🔑 Provider API keys, polish API keys, and license key Obsidian SecretStorage, separated by device and vault
  • Resojot does not include client-side telemetry
  • If you enable cloud transcription or cloud polish, the processed audio or text will be sent to your configured provider
  • An exported dictionary Markdown file is a plain-text transfer file that may be read by sync, backup, or search tools; import requires confirmation and never silently replaces the active dictionary

[!CAUTION] Do not publish .obsidian/plugins/resojot/data.json. It may contain settings, queue state, license state, and legacy provider credentials from older versions.

9.3 Network use disclosure

When Where Purpose
Update check at startup (one version lookup) raw.githubusercontent.com (GitHub raw files, primary); data.jsdelivr.com (fallback); acceleration mirrors gh-proxy.com, ghfast.top, wget.la (fallbacks when the primary is unreachable) Reads the latest Resojot version number to notify you when a new version is available. One request is sent when the primary succeeds; fallbacks and mirrors are only tried after a failure. The plugin never downloads or installs updates by itself; updating is always your call via the official Community Plugins directory, BRAT, or GitHub Releases.
Fetching speaker recognition components (Settings → Tools → Speaker recognition, manual click) github.com (this plugin's Releases page); acceleration mirrors gh-proxy.com, ghfast.top, wget.la; fallback hf-mirror.com Downloads the speaker recognition models and runtime components (about 38 MB, once per vault). Multiple sources are tried simultaneously and the first to finish wins; each file is hash-verified after download to guard against corruption or tampering.
One-click FunASR local transcription setup (Windows only, manual click) www.python.org, bootstrap.pypa.io, pypi.org, plus the Tsinghua, Alibaba, USTC and Tencent PyPI mirrors Downloads the official Python runtime and FunASR's official installer. On first use, FunASR itself downloads its model files from its official model sources.
Cloud transcription / cloud polish (automatic once a provider is configured) The provider endpoint you configure in Settings Sends audio to transcribe or text to polish; see section 4 for the provider list. The plugin never routes through any relay server.

Beyond the table above, the plugin connects to no other remote services: no telemetry, analytics or ads. The mirrors and fallback sources only serve the same public files, improving download success on restricted networks.

9.4 File write locations

What Where When
Audio files, Markdown notes, dictionary exports Folders you configure inside the vault When using the feature
Diagnostic reports Vault root, filename starting with "Resojot 诊断报告" Only when you generate one
Transcription temp files, rolling diagnostics, Todo metadata, iOS key mirror Hidden in-vault folder .resojot-temp/ When using the feature; recreated automatically if deleted
Dictation helper (Windows, .exe) and computer-audio recording helper (macOS), bundled with the plugin and hash-verified before being written In-vault plugin folder .obsidian/plugins/resojot/ On first use of dictation or computer-audio recording, and on helper updates
FunASR local transcription runtime Outside the vault: %LOCALAPPDATA%\Resojot\funasr-runtime under the Windows user profile Only when you use one-click FunASR setup on Windows; delete the folder if you stop using it

Except for the last row, everything the plugin writes stays inside your vault.

9.5 Release file note

  • The plugin is distributed as closed source. To protect the licensing mechanism from being located and cracked, release files are minified and lightly obfuscated at packaging time; this only guards the license-verification logic — it does not hide features and collects no data.
  • The plugin contains no third-party analytics, reporting or advertising components.

10. Feedback and Support

11. License

  • Distributed as a closed-source plugin
  • Speaker recognition runs on onnxruntime-web (MIT License); recognition models come from each publisher's public release, and their licenses and terms follow the publisher's documentation
  • Installation and updates are available through Obsidian Community Plugins, BRAT, or GitHub Releases
  • See LICENSE

Explore related projects