Tools
Lynx AI Assistant
Provider-agnostic AI dispatch service + /LynxAI power-menu command
lynx_ai_assistant
· v19.0.1.2.0
What this solves
Lynx AI Assistant
A provider-agnostic AI dispatch layer for Odoo — call from any cron, wizard, or controller, plus a /LynxAI slash command in every rich-text field.
Other Lynx modules don't talk to OpenAI or Anthropic directly; they call env['lynx.ai.service'].dispatch() and let this module handle provider selection, API keys, system prompts, JSON-mode coercion, conversation history, and failure handling. Provider can be Odoo OLG (free built-in), a hosted Lynx proxy (offload to another instance), OpenAI, Anthropic, or DeepSeek; switching providers is a one-field config change with no caller-side code touch. The bundled /LynxAI slash command surfaces the same engine inside the HTML editor power menu so users can generate, improve, or expand content in any rich-text field across Odoo.
Key Features
Callable dispatch service — env['lynx.ai.service'].dispatch() and .generate() are the public entry points; both return a structured result dict (never raise) so callers decide how to surface failures.
Multi-provider support — Odoo OLG (free, no key), Lynx Hosted (Patrii proxy), OpenAI ChatGPT, Anthropic Claude, DeepSeek; pick per install in Settings → General → AI Assistant.
/LynxAI slash command — registered in the HTML editor power menu; generate, improve, summarize, or translate selected text in any rich-text field with no separate UI to learn.
JSON mode + system prompts — callers can request JSON-shaped output and inject a system prompt without dealing with provider-specific parameter names.
Optional inbound proxy — /api/ai/v1/messages (Anthropic-shaped wire protocol) lets a Lynx host serve AI requests on behalf of other Lynx tenants for centralised quota management.
Conversation history — pass prior messages into dispatch() for multi-turn flows without re-sending the system prompt every call.
Depends on
Try Lynx AI Assistant on your team.
Free trial, no credit card. Talk to sales when you're ready.