arenewx33 downloadsRead, highlight, ask an AI tutor, hear English text, and save vocabulary or terminology cards.
Synthesis Learning Companion turns an Obsidian Markdown note into a focused reading desk: select a passage, mark it, ask an AI tutor in the right sidebar, hear English aloud, and save the result as a durable note or learning card.
Cards are ordinary Markdown files with source links, the original reading context, the learner's question, the tutor explanation, and a status property that can later be changed from learning to mastered.
Open Settings → Synthesis Learning Companion and enter:
https://api.openai.com/v1);The API key is stored with Obsidian's SecretStorage; it is not saved in plugin data or in the vault. This is a bring-your-own-key plugin, so requests may incur charges from the provider you configure.
The plugin has no account, analytics, telemetry, advertising, or plugin-operated server. A network request happens only after the learner explicitly sends a tutor question. Depending on the selected scope, the request contains:
OpenAI Responses requests set store: false. Your configured provider still processes the request under its own terms and privacy policy. Highlights, underlines, system-voice reading, and existing Markdown cards do not require an AI connection.
Reading aloud uses the Web Speech API and English voices installed on the device. The settings expose two user-defined slots named Female voice and Male voice. These labels are convenient presets chosen by the learner; the plugin does not infer a person's gender from voice metadata.
Long notes are split at sentence boundaries so complete-note reading is more reliable. Voice availability and quality depend on the operating system. AI-generated cloud speech is not included.
Requirements: Node.js 20 or newer and Obsidian 1.11.4 or newer.
npm install
npm test
npm run build
Copy manifest.json, main.js, and styles.css into:
<your-vault>/.obsidian/plugins/synthesis-learning-companion/
Then reload Obsidian and enable Synthesis Learning Companion under Community plugins.
npm test, npm run lint, and npm run build.npm version patch, minor, or major.manifest.json, versions.json, and package.json.0.1.0.manifest.json, main.js, and styles.css to the matching GitHub release.