Use Obsidian AI Plugins with CaMeL Hub: Setup Guide

Obsidian is a local-first, Markdown-based note-taking app built around a graph of linked notes. It ships with no AI features of its own — everything comes from community plugins. Text Generator is the most widely used one: it adds AI-assisted writing, summarizing, and Q&A commands that run directly on the text in your vault. Text Generator talks to any OpenAI-compatible endpoint, so pointing it at CaMeL Hub gives you one API key that works across GPT, Claude, Gemini, and DeepSeek models — switch models per template without juggling separate provider accounts.

Obsidian ↗

  1. Install the Text Generator plugin

    In Obsidian, open Settings → Community plugins. If this is your first community plugin, click Turn on community plugins to leave Restricted/Safe Mode. Click Browse, search for Text Generator (by nhaouari), then click Install and Enable.
  2. Open the Text Generator settings

    Go back to Settings and click Text Generator under Plugin Options in the left sidebar. This is where you configure which AI provider and endpoint the plugin talks to.
  3. Add a custom / OpenAI-compatible provider

    Text Generator ships with several built-in providers; choose the one labeled Custom, OpenAI-Compatible, or similar (exact wording varies by plugin version). This mode lets you supply your own endpoint instead of a hardcoded OpenAI account.
  4. Set the API key

    Generate a key from the CaMeL Hub console's Token page, then paste it into the field named API Key (sometimes labeled Secret Key) in Text Generator's provider settings.
  5. Set the Base URL / API Endpoint

    In the field named Base URL, Base Path, or API Endpoint, enter CaMeL Hub's OpenAI-compatible base URL:
    https://api.camel-hub.com/v1
  6. Pick a model

    In the Model dropdown (or the free-text model field, if the list doesn't populate), enter the exact model name you want — for example claude-sonnet-5 for long-form writing and summarization, or deepseek-v4-flash for quick, low-cost completions. Save the settings.
    claude-sonnet-5
    gpt-5.4
    deepseek-v4-flash
  7. Generate text inside a note

    Place your cursor where you want text to appear, then trigger generation via the hand-shaped icon in the left ribbon, the command palette (search Generate Text), or your configured hotkey. Text Generator sends the surrounding note content as context and writes the model's reply back into the note.
  8. (Optional) Build prompt templates

    Text Generator supports reusable prompt templates (e.g., summarize, rewrite, extract action items) stored as notes in a templates folder. Point any template at a specific CaMeL Hub model by setting the model field in the template's frontmatter, so different tasks can use different models.

Frequently asked questions

The model dropdown in Text Generator is empty or won't load models from CaMeL Hub.

Some plugin versions fetch the model list from a /models endpoint that not every custom provider mode calls. If the dropdown stays empty, switch to the free-text model field (if available) and type the exact model slug, e.g. gpt-5.5 or claude-sonnet-5. Also confirm the Base URL ends in /v1 with no trailing path segments.

Text Generator says the API key is invalid even though I copied it correctly.

Check for a stray space or line break pasted along with the key, and make sure the provider mode is actually set to Custom/OpenAI-Compatible — some built-in providers in Text Generator ignore the API Key field and look for credentials elsewhere. Regenerate the key from the console's Token page if you're unsure it's still active.

Which CaMeL Hub models work best for Obsidian note-taking?

For long-form writing, rewriting, and summarizing dense notes, claude-sonnet-5 or gpt-5.4 give the most coherent output. For quick inline completions or bulk-processing many notes — where speed and cost matter more than nuance — deepseek-v4-flash or gpt-5.4-mini are a cheaper, faster alternative.

Does streaming work, and why does text sometimes appear all at once instead of word-by-word?

Whether output streams token-by-token depends on the Text Generator version and provider mode — some custom-provider code paths wait for the full response before inserting it. That's plugin-side behavior, not something CaMeL Hub's endpoint controls; check the plugin's changelog or provider settings for a streaming toggle if this matters to you.