Skip to content

docs: clarify self-hosted provider alternatives in README and Concepts - #15

Merged
adelinamart merged 2 commits into
adelinamart:mainfrom
stoichy:main
Aug 5, 2026
Merged

docs: clarify self-hosted provider alternatives in README and Concepts#15
adelinamart merged 2 commits into
adelinamart:mainfrom
stoichy:main

Conversation

@stoichy

@stoichy stoichy commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • README Option 1 now states Anthropic + OpenAI is the default, not the only path, and links out for alternatives
  • Move OpenAI-only / upgrading notes out of cloud Option 2 so they don’t look like cloud setup steps
  • Concepts: add “Prefer a different provider setup?” covering OpenAI-only, Gemini (same OPENAI_* vars), other embeddings, and fully local

Fixes issue #14

Also clarified alternatives in robrain.dev docs

@stoichy
stoichy force-pushed the main branch 2 times, most recently from f1d7a36 to 7147b72 Compare August 4, 2026 09:19

@adelinamart adelinamart left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Radu — good change. The provider table is much clearer than the single
OpenAI-only paragraph it replaces, and splitting the four paths out is the right
call.

I checked every env var in the new Concepts section against the code and they
all line up: LLM_PROVIDER, OPENAI_BASE_URL, OPENAI_LLM_MODEL,
OPENAI_EMBEDDING_MODEL, OPENAI_EMBEDDING_DIMENSIONS, EMBEDDING_PROVIDER
with the Voyage/Cohere keys. The 1536 advice is a good catch specifically —
embed() truncates anything longer, so asking Gemini for 1536 natively avoids
throwing away half the vector.

Four things before this goes in:

  1. This is open twice. #15 and #16 are identical (same tree hash). Could you
    close one?

  2. gemini-3.6-flash — did you actually run the Gemini path end to end, or
    is this written from the pattern? I'd rather not publish a model name we
    haven't tried.

  3. Related: our OpenAI path sends response_format: {type: "json_object"}
    and max_tokens (packages/shared/src/llm.ts). Extraction needs strict JSON
    back. If Google's compatibility layer handles those differently, the path
    would look fine and quietly produce nothing. One real extraction run against
    Gemini would settle it — happy to merge once you've confirmed.

  4. Small thing: moving the upgrade note into <details> dropped
    "(pulls the new Perception image and applies startup DB migrations)". That
    parenthetical is the reason people re-run up at all — can you put it back?

One note for next time on index.html: it's a built file, so a five-word edit
shows up as the whole page being rewritten. Nothing wrong with what you did —
both copies inside it (the HTML and the RSC payload) were updated consistently,
which is what I'd check for. Just flagging it so we both know the diff size is
noise, not scope.

Default Anthropic+OpenAI is one combo, not the only path. Document
OpenAI-only, Gemini (same OPENAI_* vars), other embeddings, and fully
local under Concepts; keep the README install path light and keep cloud
Option 2 free of self-hosted key/upgrade notes. Mirror the note on the site.
Switch Concepts to gemini-3.5-flash-lite (works with json_object at
max_tokens=300) and restore the Perception image/migrations note.
@stoichy

stoichy commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

Hey @adelinamart, fixed the issues, PTAL. If you'd like I can also merge the 2 commits because they solve the same issue.

  1. PR docs: clarify self-hosted provider alternatives #16 is closed now.

2 and 3. Gemini model + json_object / max_tokens
Ran the OpenAI-compatible path against AI Studio with response_format: {type:"json_object"} and RoBrain’s extraction budget (max_tokens: 300). Here are the result for 2 different models:

  • gemini-3.6-flash returns an incomplete JSON due to extraction budget (probably because of thinking tokens)
  • gemini-3.5-flash-lite returns a full valid JSON (decision / rejected / rationale)

For the embeddings gemini-embedding-001 at 1536 works ok.
Therefore I Updated Concepts to gemini-3.5-flash-lite.

  1. Restored "(pulls the new Perception image and applies startup DB migrations)" in the upgrading details.

@adelinamart
adelinamart merged commit f7f3660 into adelinamart:main Aug 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants