README file from
GithubTable of Contents
- About The Project
- Getting Started
- Usage
- Privacy And Network Use
- FAQ
- Roadmap
- Troubleshooting
- Development
- Contributing And Support
- Acknowledgements
- License
About The Project
AskMate is a desktop-only Obsidian plugin that adds a right-sidebar AI assistant for the note you are reading or editing.
Use it to ask questions, summarize, rewrite, translate, run reusable workflows, generate images, and safely write AI output back into your vault.
Built With
Use Cases
| Use case | How AskMate helps |
|---|---|
| Students | Turn lecture notes into summaries, flashcards, study questions, and action items. |
| Researchers | Extract claims, compare ideas, map evidence, and find gaps across note context. |
| Writers | Rewrite rough notes, polish tone, translate drafts, and preserve structure. |
| Product managers | Convert meetings and research notes into decisions, risks, next steps, and briefs. |
| Developers | Explain technical notes, draft documentation, generate diagrams, and review plans. |
| Knowledge workers | Ask targeted questions, organize scattered notes, and safely apply updates back to the vault. |
Provider Comparison
| Provider | Text support | Image support | API key needed | Notes |
|---|---|---|---|---|
| OpenAI | Yes | Yes, through gpt-image-2 |
Yes | Best fit when you want GPT-5.5 text plus image generation in one provider. |
| Azure OpenAI | Yes | No | Yes | Use an Azure OpenAI /openai/v1 base URL and enter your Azure deployment name as the model. |
| OpenRouter | Yes | No | Yes | Use OpenRouter model IDs and route text requests through an OpenAI-compatible API. |
| Anthropic Claude | Yes | No | Yes | Good for text workflows, critique, summarization, and long-form analysis. |
| Google Gemini | Yes | No | Yes | Good for text workflows with Gemini models through Google's API. |
| Local endpoint | Yes | No | Optional | Works with OpenAI-compatible /chat/completions endpoints such as local or self-hosted models. |
Getting Started
Requirements
- Obsidian
1.11.4or newer. - Desktop Obsidian.
- An API key for your selected provider, unless your local endpoint does not require one.
- OpenAI API access for image generation with
gpt-image-2.
Installation
From Obsidian Community Plugins
After AskMate is available in Obsidian Community Plugins:
- Open Obsidian Settings.
- Go to Community plugins.
- Browse community plugins.
- Search for
AskMate. - Install and enable the plugin.
Manual Installation
- Download these files from the latest GitHub release:
main.js
manifest.json
styles.css
- Create this folder in your vault:
YourVault/.obsidian/plugins/askmate/
- Copy the three release files into that folder.
- Restart Obsidian or reload plugins.
- Enable AskMate from Community plugins.
Quick Setup
- Open AskMate settings in Obsidian.
- Choose a chat provider: OpenAI, Azure OpenAI, OpenRouter, Anthropic Claude, Google Gemini, or Local/self-hosted.
- Add or select the provider API key secret.
- For Azure OpenAI, set the v1 base URL, for example
https://<resource>.openai.azure.com/openai/v1, and enter your Azure deployment name as the model. For local endpoints, set the OpenAI-compatible base URL. - Click
Test API. - Click
Refresh models, or enter a model ID manually. - Choose your default text model.
- Optional: configure image prompt planning and add an OpenAI key for
gpt-image-2. - Optional: configure workflows, output templates, context budgets, send shortcut, usage budgets, and privacy defaults.
Usage
Example Prompts
Copy and paste any of these into AskMate:
Summarize this note into action items.
Rewrite this in a clearer tone.
Find gaps or contradictions.
Create a Mermaid diagram from this note.
Ask About A Note
- Open a Markdown note.
- Select text if you want to focus the question on a specific passage.
- Open AskMate from the ribbon or command palette.
- Ask a question, for example:
What are the main claims in this note?
AskMate answers in the sidebar. By default, previous sidebar messages are shown for convenience but are not sent as chat history unless threaded chat is enabled.
Create Or Apply Output
Choose an output mode before sending:
Chat: show the answer in the sidebar.New note: create a Markdown result note.Apply: write generated text back into the captured source note after safety checks.
Apply mode can preview diffs, preserve or confirm frontmatter changes, replace selected text, append generated output to the captured note when no text was selected, replace a heading section, explicitly replace the full note, or queue a suggested change for later review.
Use the Apply approval mode setting to choose how much confirmation AskMate asks for before text writes:
Auto approve: skips selected-text, append, and heading-section diff previews, but still confirms full-note replacement and keeps hard safety checks.Full: asks with a diff for full-note and heading-section replacements, but skips selected-text and append previews.Manual: asks with a diff before every text Apply write.
Generate Images
Use the Image button or start a request with /image or /img.
/image Create a clean editorial illustration that captures the core idea of this note.
AskMate can save generated PNG files, create image result notes, or insert Obsidian image embeds depending on the selected output mode.
Run Workflows
AskMate includes workflows for summaries, action plans, simple explanations, question drills, critiques, pros and cons, meeting notes, decision briefs, translation, quote extraction, rewriting, and more.
You can also create custom workflows in settings. Custom workflows can use variables such as:
{{noteTitle}}
{{sourcePath}}
{{contextSource}}
{{selectedText}}
{{currentDate}}
{{currentDateTime}}
{{customInstructions}}
Privacy And Network Use
[!IMPORTANT] Privacy-first defaults:
- No telemetry.
- Sends data only when you run a request.
- API keys are stored through Obsidian
SecretStorage.- Prompt inspector is local and does not contact a provider by itself.
AskMate sends data only when you run a request. Depending on your settings and request, that data can include your prompt, selected text, the current note, workflow instructions, opted-in extra context, image prompt planning content, or generated image prompts.
Image generation is sent to OpenAI because AskMate uses gpt-image-2 for images. Text requests are sent to the provider you choose.
The prompt inspector is local. It lets you review the final prompt before sending and does not contact a provider by itself.
Provider API keys are stored through Obsidian SecretStorage. AskMate stores selected secret names, not raw keys. Generated notes, generated images, usage records, and plugin settings are stored locally in your vault or Obsidian plugin data.
Provider requests are subject to the selected provider's API terms and privacy policy.
FAQ
Does AskMate send my whole vault?
No. AskMate sends only the context included for the request you run. By default, that means selected text or the current or remembered Markdown note. Extra notes, folders, style guides, glossaries, image metadata, and note history are included only when you enable those context sources.
Can I use local models?
Yes. Choose the Local/self-hosted provider and set an OpenAI-compatible /chat/completions base URL. Local endpoints can be used for text chat and workflows. Image generation still uses OpenAI gpt-image-2.
Can I use Azure OpenAI?
Yes. Choose Azure OpenAI, set the v1 base URL such as https://<resource>.openai.azure.com/openai/v1, add an API key secret, and enter your Azure deployment name as the model. Azure OpenAI is text-only in Phase 1. Image generation still uses OpenAI gpt-image-2.
Does image generation require OpenAI?
Yes. AskMate image generation uses OpenAI gpt-image-2, so it requires an OpenAI API key with access to that image model. Azure OpenAI, OpenRouter, Anthropic Claude, Gemini, and local providers can be used only for text chat and image prompt planning. Azure AI Foundry support is planned for a later phase.
Can I apply changes safely?
Yes. Apply mode targets the note captured when the request was built, can preview Markdown diffs before writing, replaces selected text exactly when a selection was captured, appends generated output to the captured note when no text was selected, asks for confirmation before explicit full-note replacement, supports frontmatter controls, and can queue suggested changes for review instead of applying them immediately. Apply approval mode controls how often previews appear, but it does not disable captured-file targeting, exact selected-text matching, explicit full-note confirmation, truncated-context confirmation, or frontmatter safeguards.
Roadmap
AskMate's current roadmap and status surfaces focus on making note work safer, clearer, and easier to review:
- Evidence-linked answers for source-grounded replies and jump-to-source actions.
- Markdown diff Apply preview for safer appends, selected-text replacements, heading-section replacements, and explicit full-note changes.
- Frontmatter controls for preserving, confirming, or replacing YAML during explicit full-note Apply.
- Batch workflow runner support for running workflows across folders.
- Final prompt inspector tooling for reviewing the assembled prompt before sending.
- Note-specific AskMate history for per-note follow-up context.
- Style guide and glossary context roles for persistent writing and terminology guidance.
- Queue for review mode for AI-suggested changes that should be checked before applying.
- Smart result-note placement for keeping generated notes near their source notes.
- Usage budgets and guardrails for warning or blocking oversized or over-budget requests.
- Broader provider support: Azure OpenAI for text chat in Phase 1, with Azure AI Foundry planned for a later phase.
Troubleshooting
AskMate used the wrong note
AskMate remembers the most recent Markdown note because the sidebar can take focus. If the preview points to the wrong note, click back into the intended note or select the exact text, then ask again.
Apply cannot find selected text
AskMate only applies selected-text output when it can safely find the original selected text. Select the text again and use Apply from the assistant response. If no text was selected when the request was built, default Apply appends generated output to the captured note instead of replacing the note.
My model is not listed
Click Refresh models after adding or changing an API key. If the provider does not list the model you need, enter the model ID manually.
Image generation fails
gpt-image-2 may require OpenAI API access and organization verification. Check your OpenAI dashboard, then try again.
Development
Install dependencies:
bun install
Run smoke tests:
bun run test
Build:
bun run build
Watch during development:
bun run dev
Release assets are:
main.js
manifest.json
styles.css
Contributing And Support
- Read
CONTRIBUTING.mdbefore opening a pull request. - Use the issue templates for bug reports and feature requests.
- Report security concerns through
SECURITY.md, not public issues.
Acknowledgements
AskMate is built on the work of these tools, APIs, and communities:
- Obsidian and the Obsidian plugin API.
- OpenAI for GPT-5.5 text support and
gpt-image-2image generation. - Azure OpenAI, OpenRouter, Anthropic, and Google Gemini for provider options.
- Bun, TypeScript, and esbuild for the development toolchain.
- Shields.io for README badges.
License
AskMate is released under the MIT License. See LICENSE.