mirror of
https://github.com/blackajiro/Resonance.git
synced 2026-07-22 06:51:15 +00:00
No description
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| tsconfig.tests.json | ||
| vite.config.ts | ||
Resonance
Resonance is the clean-slate v2 of the Obsidian recording plugin. The product is now built around a local-first pipeline, settings-first setup, and manifest-backed session storage.
Fastest Setup
If this machine already has a built whisper.cpp and at least one local ggml model:
- Open the plugin settings page.
- Work through Step 1, Step 2, and Step 3 from top to bottom.
- Use the Detect buttons to fill paths automatically when possible.
- Pick a microphone and run Quick test.
- Leave Ollama as the provider unless you intentionally want a cloud provider.
The settings page is now the full setup flow. Nothing important is hidden behind a separate setup modal.
What Changed
src/is the only active application tree for v2.- The primary entrypoint is now the plugin settings surface instead of a simple start/stop flow.
- Recording state is driven by an explicit session controller with ordered live transcription.
- Sessions are stored as structured manifests with
audio/,transcript/,summary/, anddiagnostics.log. - The session library is manifest-backed. It no longer scans raw media files blindly.
Product Direction
- Desktop-only Obsidian plugin
- Local-first path:
Web Audio+whisper.cpp+Ollama - Cloud summary providers remain available as secondary adapters
- Native Obsidian settings are now the primary surface, with horizontal tabs for diagnostics, library, and setup
Current Information Architecture
- Diagnostics
- Health status and blocking issues
- Quick test
- Startup behavior
- Setup guidance when the local path is incomplete
- Setup & Settings
- Horizontal tabs for Diagnostics, Library, Capture, Transcription, Summary, and Output
- Capture tab for microphone, additional sources, and quick test
- Transcription tab for whisper.cpp, CLI, and model
- Summary tab for Ollama or cloud providers
- Output tab for vault, retention, and startup behavior
- Session Library
- Filters for
doneandfailed - Artifact availability
- Transcript, diagnostics, audio, and summary actions
- Filters for
Repository Layout
src/ Active Resonance v2 source
tests/ Pure unit tests for v2
dist/ Build output
Local Development
Requirements:
- Obsidian desktop
- Node.js
- whisper.cpp with a local model
- Ollama if you want the full tier-1 local path
Commands:
npm run typecheck
npm test
npm run build
Install In Obsidian
- Build the plugin with
npm run build. - Copy
dist/main.js,dist/manifest.json, anddist/styles.cssinto your vault plugin folder. - Enable
Resonancein Obsidian community plugins. - Open the plugin settings page.
- Use the
Capturetab for microphone and additional sources, thenTranscriptionandSummary. - When setup is done, use the
Diagnosticstab for health and theLibrarytab for saved session artifacts.
Minimum Local Requirements
To record and summarize locally, Resonance needs:
whisper.cppCLI- a readable local ggml model file
Ollamarunning locally for summaries
If auto-detect fails, the manual fallback is:
- Point Step 3 in plugin settings at your
whisper.cpprepo. - Detect or set the
whisper.cppCLI path. - Detect or set the ggml model path.
- Return to Step 2 and run the quick test.
Runtime Model
Each session persists:
session.jsonaudio/recording.wavaudio/segments/transcript/live-transcript.txtsummary/summary.mddiagnostics.log
The live transcription queue commits segments strictly in order and the stop flow waits for the queue to flush before summary generation starts.