Documentation
Connecting model providers
Connect OpenAI, Anthropic, an OpenAI-compatible endpoint or Ollama, assign models to roles, and understand how keys are protected.
Supported provider types
- OpenAI: base URL
https://api.openai.com/v1, API key required. - Anthropic: base URL
https://api.anthropic.com/v1, API key required. - OpenAI-compatible API: any endpoint that implements the OpenAI chat and models APIs. Enter its base URL, usually ending in
/v1, and an API key if it needs one. - Ollama: base URL of your Ollama server, for example
https://ollama.<your-domain>. No API key.
After you add a provider, Gendora fetches its model list automatically. Use Refresh models when the provider adds new models, and Test connection to check that the address and key work.
Endpoints on the hosted service
Gendora calls your provider from its servers, not from your browser. On the hosted service at gonendone.com, the endpoint must therefore be reachable over the public internet.
Addresses in private or local networks, such as localhost, 127.0.0.1 or 192.168.x.x, are refused on the hosted service to prevent server-side request forgery. To use a local Ollama server, expose it through an HTTPS address you control.
Assign models to roles
Different steps of a run use different roles, so you can use a strong model where it matters and a faster one elsewhere.
- Main: the default for every role without its own assignment. Required.
- Requirement intake: understands and summarises the requirement.
- PRD writer: writes the PRD.
- Prototype: builds the HTML prototype.
- Implementation: used by the Implementation delivery Harness.
- Checks: reflection and review steps.
Role assignments under Model providers are workspace defaults. A project can override them in its Settings tab under Project model overrides.
How keys are protected
API keys are encrypted at rest with AES-256-GCM and decrypted only when a model call is made. The interface only ever shows a masked value. To replace a key, edit the provider and paste the new one; leave the field blank to keep the current key.
Logs record usage counts such as tokens, but never prompts, model responses or keys.