├── web_json_editor ├── __init__.py ├── pyproject.toml ├── static │ └── src │ │ ├── components │ │ └── json_editor │ │ │ └── json_editor.xml │ │ └── fields │ │ └── json_field.xml ├── README.md └── __manifest__.py ├── llm_chroma ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg └── __manifest__.py ├── llm_comfyui ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── tests │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── comfyui_logo.png ├── data │ ├── llm_provider.xml │ ├── llm_prompt_category_data.xml │ ├── llm_model.xml │ └── llm_publisher.xml └── __manifest__.py ├── llm_letta ├── __init__.py ├── pyproject.toml ├── models │ ├── __init__.py │ └── mail_message.py ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── changelog.rst ├── security │ └── res_groups.xml ├── data │ ├── llm_provider.xml │ └── llm_publisher.xml └── __manifest__.py ├── llm_mistral ├── __init__.py ├── models │ ├── __init__.py │ └── llm_model.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── mistral_logo.png ├── data │ ├── llm_provider.xml │ └── llm_publisher.xml ├── changelog.rst └── __manifest__.py ├── llm_ollama ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── ollama_logo.png ├── changelog.rst ├── __manifest__.py ├── data │ └── llm_publisher.xml └── utils │ └── ollama_tool_call_id_utils.py ├── llm_qdrant ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg └── __manifest__.py ├── llm_store ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_store_architecture.png ├── security │ └── ir.model.access.csv ├── views │ └── llm_store_menu_views.xml ├── changelog.rst └── __manifest__.py ├── llm_tool ├── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_tool_architecture.png ├── tests │ ├── __init__.py │ └── common.py ├── models │ ├── __init__.py │ ├── llm_model.py │ ├── llm_tool_record_retriever.py │ └── llm_tool_record_updater.py ├── security │ └── ir.model.access.csv ├── views │ └── llm_menu_views.xml └── data │ ├── server_actions.xml │ └── llm_tool_consent_config_data.xml ├── llm_anthropic ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── anthropic_logo.png ├── data │ ├── llm_provider.xml │ └── llm_publisher.xml └── __manifest__.py ├── llm_comfy_icu ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── tests │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── comfy_icu_logo.png ├── __manifest__.py └── data │ └── llm_publisher.xml ├── llm_generate ├── __init__.py ├── tests │ └── __init__.py ├── pyproject.toml ├── static │ ├── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_generate_architecture.png │ └── src │ │ ├── components │ │ ├── message │ │ │ └── message.scss │ │ └── llm_media_form │ │ │ ├── llm_form_fields_view.js │ │ │ └── llm_media_form.scss │ │ ├── patches │ │ └── llm_chat_container_patch.js │ │ └── templates │ │ └── llm_chat_container_extension.xml ├── models │ ├── __init__.py │ ├── llm_provider.py │ ├── llm_tool_generate.py │ └── llm_model.py ├── changelog.rst ├── data │ └── llm_tool_data.xml ├── views │ └── llm_model_views.xml └── migrations │ └── 16.0.2.0.0 │ └── post-migration.py ├── llm_generate_job ├── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_generate_job_architecture.png ├── models │ └── __init__.py ├── pyproject.toml ├── security │ └── ir.model.access.csv ├── views │ └── llm_generation_menu_views.xml ├── changelog.rst ├── __manifest__.py └── tests │ └── test_model_based_queue.py ├── llm_replicate ├── __init__.py ├── models │ ├── __init__.py │ └── replicate_model.py ├── pyproject.toml ├── tests │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ ├── replicate_logo.png │ │ └── replicate_logo.svg ├── changelog.rst ├── __manifest__.py ├── data │ └── llm_publisher.xml └── views │ └── replicate_model_views.xml ├── llm_tool_demo ├── __init__.py ├── tests │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── models │ └── __init__.py ├── security │ └── ir.model.access.csv └── __manifest__.py ├── llm_training ├── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── models │ ├── __init__.py │ └── llm_provider.py ├── security │ └── ir.model.access.csv ├── views │ └── llm_training_menu_views.xml └── __manifest__.py ├── llm_knowledge_llama ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg └── __manifest__.py ├── llm_knowledge_mistral ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── screenshots │ │ ├── grocerylist.webp │ │ ├── mistral_parser.png │ │ └── mistral_ocr_models.png ├── data │ └── llm_tool_data.xml ├── __manifest__.py └── views │ └── llm_resource_views.xml ├── llm_thread ├── controllers │ └── __init__.py ├── __init__.py ├── pyproject.toml ├── models │ ├── __init__.py │ └── res_users.py ├── static │ ├── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_thread_architecture.png │ └── src │ │ ├── templates │ │ └── llm_chat_client_action.xml │ │ ├── components │ │ ├── llm_related_record │ │ │ └── llm_related_record.scss │ │ ├── llm_thread_header │ │ │ └── llm_thread_header.scss │ │ └── llm_tool_message │ │ │ └── llm_tool_message.scss │ │ ├── patches │ │ └── message_patch.xml │ │ └── client_actions │ │ └── open_chatter_action.js ├── security │ ├── ir.model.access.csv │ └── llm_thread_security.xml └── views │ └── menu.xml ├── llm_tool_knowledge ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── data │ └── llm_tool_data.xml ├── changelog.rst └── __manifest__.py ├── llm_tool_ocr_mistral ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ ├── screenshot-ocr-models.png │ │ ├── screenshot-compare-image.png │ │ └── screenshot-mistral-provider.png ├── data │ └── llm_tool_data.xml └── __manifest__.py ├── llm ├── wizards │ └── __init__.py ├── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── overview.jpg ├── models │ ├── __init__.py │ └── llm_publisher.py ├── security │ └── ir.model.access.csv ├── views │ └── llm_menu_views.xml ├── __manifest__.py ├── data │ └── mail_message_subtype.xml └── changelog.rst ├── llm_assistant ├── controllers │ └── __init__.py ├── tests │ └── __init__.py ├── wizards │ └── __init__.py ├── __init__.py ├── pyproject.toml ├── static │ ├── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── llm_assistant_architecture.png │ └── src │ │ └── patches │ │ └── llm_thread_header_patch.js ├── models │ ├── __init__.py │ ├── llm_prompt_tag.py │ └── arguments_schema.py ├── data │ ├── llm_prompt_tag_data.xml │ ├── llm_prompt_category_data.xml │ └── llm_assistant_data.xml ├── security │ └── ir.model.access.csv ├── views │ ├── llm_menu_views.xml │ └── llm_thread_views.xml ├── utils.py └── changelog.rst ├── llm_knowledge_automation ├── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── screenshots │ │ ├── automation_triggers.png │ │ └── model_domain_for_automation.png └── __manifest__.py ├── llm_assistant_account_invoice ├── __init__.py ├── models │ ├── __init__.py │ └── account_move.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ ├── screenshot-ocr-models.png │ │ ├── screenshot-press-process.png │ │ ├── screenshot-chatgpt-provider.png │ │ ├── screenshot-mistral-provider.png │ │ ├── screenshot-chat-with-assistant.png │ │ └── screenshot-filled-up-invoice.png ├── views │ └── account_move_views.xml └── __manifest__.py ├── llm_mcp_server ├── wizards │ └── __init__.py ├── controllers │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ ├── client_codex.png │ │ ├── client_cursor.png │ │ ├── client_vscode.png │ │ ├── client_windsurf.png │ │ ├── client_claude_code.png │ │ ├── llm_mcp_server_demo.gif │ │ └── client_claude_desktop.png ├── models │ ├── __init__.py │ └── res_users.py ├── __init__.py ├── data │ └── llm_mcp_server_config.xml ├── security │ └── ir.model.access.csv ├── views │ └── res_users_views.xml └── changelog.rst ├── llm_fal_ai ├── controllers │ └── __init__.py ├── __init__.py ├── models │ ├── __init__.py │ └── llm_model.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── falai_logo.png ├── data │ ├── llm_provider.xml │ └── llm_publisher.xml └── __manifest__.py ├── llm_openai ├── __init__.py ├── utils │ └── __init__.py ├── models │ └── __init__.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ ├── openai_logo.png │ │ └── openai_logo.svg ├── data │ ├── llm_provider.xml │ ├── llm_model.xml │ └── llm_publisher.xml ├── __manifest__.py └── changelog.rst ├── llm_document_page ├── wizards │ ├── __init__.py │ └── upload_resource_wizard_views.xml ├── __init__.py ├── models │ ├── __init__.py │ └── llm_resource.py ├── pyproject.toml ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── views │ └── document_page_views.xml └── __manifest__.py ├── llm_knowledge ├── __init__.py ├── pyproject.toml ├── wizards │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ ├── banner.jpeg │ │ └── screenshots │ │ ├── chunks_view.png │ │ ├── grocerylist.webp │ │ ├── mistral_parser.png │ │ ├── openai_model.png │ │ ├── qdrant_config.png │ │ ├── upload_wizard.png │ │ ├── collection_create.png │ │ ├── llm_assistant_chat.png │ │ ├── mistral_ocr_models.png │ │ ├── processing_pipeline.png │ │ ├── vector_store_list.png │ │ ├── claude_desktop_usage.png │ │ └── resources_list_and_process.png ├── views │ ├── llm_resource_menu.xml │ └── menu.xml ├── models │ ├── __init__.py │ ├── mail_thread.py │ └── llm_knowledge_domain.py ├── security │ └── ir.model.access.csv ├── migrations │ └── 16.0.1.1.0 │ │ └── post-migration.py └── __manifest__.py ├── llm_pgvector ├── pyproject.toml ├── models │ └── __init__.py ├── static │ └── description │ │ ├── icon.png │ │ └── banner.jpeg ├── __init__.py ├── views │ ├── menu_views.xml │ └── llm_store_views.xml ├── security │ └── ir.model.access.csv └── __manifest__.py ├── requirements.txt ├── .ruff.toml ├── .gitignore ├── run_tests.sh └── .claude └── commands └── fix-app-store-html.md /web_json_editor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /llm_chroma/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_comfyui/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_letta/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_mistral/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_ollama/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_qdrant/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_store/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_tool/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_anthropic/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_comfy_icu/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_generate/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_generate_job/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_replicate/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_tool_demo/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_training/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_knowledge_llama/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_knowledge_mistral/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_thread/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | from . import main 2 | -------------------------------------------------------------------------------- /llm_tool_knowledge/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm/wizards/__init__.py: -------------------------------------------------------------------------------- 1 | from . import fetch_models_wizard 2 | -------------------------------------------------------------------------------- /llm_assistant/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | from . import main 2 | -------------------------------------------------------------------------------- /llm_knowledge_automation/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import wizards 3 | -------------------------------------------------------------------------------- /llm_assistant/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Test module for llm_assistant 2 | -------------------------------------------------------------------------------- /llm_assistant/wizards/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_prompt_test 2 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | -------------------------------------------------------------------------------- /llm_chroma/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_store_chroma 2 | -------------------------------------------------------------------------------- /llm_mcp_server/wizards/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mcp_key_wizard 2 | -------------------------------------------------------------------------------- /llm_qdrant/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_store_qdrant 2 | -------------------------------------------------------------------------------- /llm_fal_ai/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | from . import webhook_controller 2 | -------------------------------------------------------------------------------- /llm_mcp_server/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mcp_controller 2 | -------------------------------------------------------------------------------- /llm_openai/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import utils 3 | -------------------------------------------------------------------------------- /llm_openai/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from . import openai_message_validator 2 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import ir_attachment 2 | -------------------------------------------------------------------------------- /llm_document_page/wizards/__init__.py: -------------------------------------------------------------------------------- 1 | from . import upload_resource_wizard 2 | -------------------------------------------------------------------------------- /llm_fal_ai/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import controllers 3 | -------------------------------------------------------------------------------- /llm_fal_ai/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import fal_ai_provider, llm_model 2 | -------------------------------------------------------------------------------- /llm_knowledge/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import wizards 3 | -------------------------------------------------------------------------------- /llm_thread/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import controllers 3 | -------------------------------------------------------------------------------- /llm_tool_demo/tests/__init__.py: -------------------------------------------------------------------------------- 1 | from . import test_decorator_registration 2 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import account_move 2 | -------------------------------------------------------------------------------- /llm_document_page/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import wizards 3 | -------------------------------------------------------------------------------- /llm_knowledge_mistral/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mistral_resource_parser 2 | -------------------------------------------------------------------------------- /llm_knowledge_llama/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_knowledge_llama_chunkers 2 | -------------------------------------------------------------------------------- /llm_tool_knowledge/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_tool_knowledge_retriever 2 | -------------------------------------------------------------------------------- /llm_mistral/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mistral_provider 2 | from . import llm_model 3 | -------------------------------------------------------------------------------- /llm_comfyui/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import http_client 2 | from . import comfyui_provider 3 | -------------------------------------------------------------------------------- /llm_ollama/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mail_message 2 | from . import ollama_provider 3 | -------------------------------------------------------------------------------- /llm_openai/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import openai_provider 2 | from . import mail_message 3 | -------------------------------------------------------------------------------- /llm_store/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_store 2 | from . import llm_store_collection 3 | -------------------------------------------------------------------------------- /llm/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_anthropic/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import anthropic_provider 2 | from . import mail_message 3 | -------------------------------------------------------------------------------- /llm_comfy_icu/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import http_client 2 | from . import comfy_icu_provider 3 | -------------------------------------------------------------------------------- /llm_document_page/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import document_page 2 | from . import llm_resource 3 | -------------------------------------------------------------------------------- /llm_generate/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Test module for llm_generate 2 | from . import test_thread_schema 3 | -------------------------------------------------------------------------------- /llm_replicate/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import replicate_provider 2 | from . import replicate_model 3 | -------------------------------------------------------------------------------- /llm_assistant/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models 2 | from . import controllers 3 | from . import wizards 4 | -------------------------------------------------------------------------------- /llm_chroma/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_comfyui/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_fal_ai/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_generate/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_letta/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_mistral/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_ollama/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_openai/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_pgvector/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_qdrant/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_store/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_thread/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_tool/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_training/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_anthropic/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_assistant/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_comfy_icu/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_comfyui/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Test module for llm_comfyui 2 | from . import test_comfyui_schema_generation 3 | -------------------------------------------------------------------------------- /llm_document_page/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_knowledge/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_mcp_server/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_replicate/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_tool_demo/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /web_json_editor/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm/static/description/icon.png -------------------------------------------------------------------------------- /llm_comfy_icu/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Test module for llm_comfy_icu 2 | from . import test_comfy_icu_schema_generation 3 | -------------------------------------------------------------------------------- /llm_knowledge_llama/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_knowledge_mistral/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_pgvector/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_store_pgvector 2 | from . import llm_knowledge_chunk_embedding 3 | -------------------------------------------------------------------------------- /llm_replicate/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Test module for llm_replicate 2 | from . import test_replicate_schema_generation 3 | -------------------------------------------------------------------------------- /llm_thread/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_thread 2 | from . import mail_message 3 | from . import res_users 4 | -------------------------------------------------------------------------------- /llm_tool_knowledge/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm/static/description/overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm/static/description/overview.jpg -------------------------------------------------------------------------------- /llm_knowledge/wizards/__init__.py: -------------------------------------------------------------------------------- 1 | from . import create_rag_resource_wizard 2 | from . import upload_resource_wizard 3 | -------------------------------------------------------------------------------- /llm_knowledge_automation/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_knowledge_collection 2 | from . import base_automation 3 | -------------------------------------------------------------------------------- /llm_knowledge_automation/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_letta/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import letta_provider 2 | from . import llm_thread 3 | from . import mail_message 4 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["whool"] 3 | build-backend = "whool.buildapi" 4 | -------------------------------------------------------------------------------- /llm_chroma/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_chroma/static/description/icon.png -------------------------------------------------------------------------------- /llm_fal_ai/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_fal_ai/static/description/icon.png -------------------------------------------------------------------------------- /llm_letta/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_letta/static/description/icon.png -------------------------------------------------------------------------------- /llm_ollama/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_ollama/static/description/icon.png -------------------------------------------------------------------------------- /llm_openai/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_openai/static/description/icon.png -------------------------------------------------------------------------------- /llm_qdrant/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_qdrant/static/description/icon.png -------------------------------------------------------------------------------- /llm_store/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_store/static/description/icon.png -------------------------------------------------------------------------------- /llm_thread/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_thread/static/description/icon.png -------------------------------------------------------------------------------- /llm_tool/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool/static/description/icon.png -------------------------------------------------------------------------------- /llm_comfyui/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfyui/static/description/icon.png -------------------------------------------------------------------------------- /llm_generate/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate/static/description/icon.png -------------------------------------------------------------------------------- /llm_letta/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_letta/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_mistral/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mistral/static/description/icon.png -------------------------------------------------------------------------------- /llm_pgvector/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_pgvector/static/description/icon.png -------------------------------------------------------------------------------- /llm_store/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_store/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_tool/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_training/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_training/static/description/icon.png -------------------------------------------------------------------------------- /llm_anthropic/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_anthropic/static/description/icon.png -------------------------------------------------------------------------------- /llm_assistant/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant/static/description/icon.png -------------------------------------------------------------------------------- /llm_chroma/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_chroma/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_comfy_icu/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfy_icu/static/description/icon.png -------------------------------------------------------------------------------- /llm_comfyui/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfyui/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_fal_ai/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_fal_ai/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_generate/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_knowledge/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/icon.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/icon.png -------------------------------------------------------------------------------- /llm_mistral/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mistral/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_ollama/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_ollama/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_openai/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_openai/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_pgvector/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_pgvector/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_qdrant/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_qdrant/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_replicate/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_replicate/static/description/icon.png -------------------------------------------------------------------------------- /llm_thread/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_thread/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_tool_demo/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_demo/static/description/icon.png -------------------------------------------------------------------------------- /llm_training/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_training_dataset 2 | from . import llm_training_job 3 | from . import llm_provider 4 | -------------------------------------------------------------------------------- /llm_training/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_training/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_anthropic/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_anthropic/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_assistant/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_comfy_icu/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfy_icu/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_document_page/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_document_page/static/description/icon.png -------------------------------------------------------------------------------- /llm_fal_ai/static/description/falai_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_fal_ai/static/description/falai_logo.png -------------------------------------------------------------------------------- /llm_generate_job/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate_job/static/description/icon.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_mcp_server/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_ollama/static/description/ollama_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_ollama/static/description/ollama_logo.png -------------------------------------------------------------------------------- /llm_openai/static/description/openai_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_openai/static/description/openai_logo.png -------------------------------------------------------------------------------- /llm_replicate/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_replicate/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_tool_demo/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_demo/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_model 2 | from . import llm_provider 3 | from . import llm_publisher 4 | from . import mail_message 5 | -------------------------------------------------------------------------------- /llm_comfyui/static/description/comfyui_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfyui/static/description/comfyui_logo.png -------------------------------------------------------------------------------- /llm_document_page/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_document_page/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_generate_job/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate_job/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_knowledge_llama/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_llama/static/description/icon.png -------------------------------------------------------------------------------- /llm_mistral/static/description/mistral_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mistral/static/description/mistral_logo.png -------------------------------------------------------------------------------- /llm_tool/tests/__init__.py: -------------------------------------------------------------------------------- 1 | from . import test_llm_tool_concurrency 2 | from . import test_llm_tool_core 3 | from . import test_llm_tool_schema 4 | -------------------------------------------------------------------------------- /llm_tool_knowledge/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_knowledge/static/description/icon.png -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_ocr_mistral/static/description/icon.png -------------------------------------------------------------------------------- /llm_knowledge_llama/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_llama/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_knowledge_mistral/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_mistral/static/description/icon.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_codex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_codex.png -------------------------------------------------------------------------------- /llm_tool_knowledge/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_knowledge/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_anthropic/static/description/anthropic_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_anthropic/static/description/anthropic_logo.png -------------------------------------------------------------------------------- /llm_comfy_icu/static/description/comfy_icu_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_comfy_icu/static/description/comfy_icu_logo.png -------------------------------------------------------------------------------- /llm_knowledge_automation/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_automation/static/description/icon.png -------------------------------------------------------------------------------- /llm_knowledge_mistral/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_mistral/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_cursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_cursor.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_vscode.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_windsurf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_windsurf.png -------------------------------------------------------------------------------- /llm_replicate/static/description/replicate_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_replicate/static/description/replicate_logo.png -------------------------------------------------------------------------------- /llm_tool/static/description/llm_tool_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool/static/description/llm_tool_architecture.png -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_ocr_mistral/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_knowledge_automation/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_automation/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_mcp_server/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_mcp_server_config 2 | from . import llm_mcp_session 3 | from . import llm_tool 4 | from . import res_users 5 | -------------------------------------------------------------------------------- /llm_store/static/description/llm_store_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_store/static/description/llm_store_architecture.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/icon.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_claude_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_claude_code.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/llm_mcp_server_demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/llm_mcp_server_demo.gif -------------------------------------------------------------------------------- /llm_thread/static/description/llm_thread_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_thread/static/description/llm_thread_architecture.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/banner.jpeg -------------------------------------------------------------------------------- /llm_generate_job/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_generation_job 2 | from . import llm_generation_queue 3 | from . import llm_provider 4 | from . import llm_thread 5 | -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/chunks_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/chunks_view.png -------------------------------------------------------------------------------- /llm_mcp_server/static/description/client_claude_desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_mcp_server/static/description/client_claude_desktop.png -------------------------------------------------------------------------------- /llm_assistant/static/description/llm_assistant_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant/static/description/llm_assistant_architecture.png -------------------------------------------------------------------------------- /llm_generate/static/description/llm_generate_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate/static/description/llm_generate_architecture.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/grocerylist.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/grocerylist.webp -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/mistral_parser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/mistral_parser.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/openai_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/openai_model.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/qdrant_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/qdrant_config.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/upload_wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/upload_wizard.png -------------------------------------------------------------------------------- /llm_mcp_server/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mcp_json_dispatcher # Register MCP JSON dispatcher 2 | from . import controllers 3 | from . import models 4 | from . import wizards 5 | -------------------------------------------------------------------------------- /llm_tool_demo/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import crm_lead 2 | from . import sale_order 3 | from . import res_users 4 | from . import ir_model 5 | from . import utility_tools 6 | -------------------------------------------------------------------------------- /llm_generate/static/src/components/message/message.scss: -------------------------------------------------------------------------------- 1 | .o_llm_media_gen_params { 2 | .border-start { 3 | border-left: 2px solid rgba(0, 0, 0, 0.1) !important; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/static/description/screenshot-ocr-models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_ocr_mistral/static/description/screenshot-ocr-models.png -------------------------------------------------------------------------------- /llm_generate/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_model 2 | from . import llm_provider 3 | from . import llm_thread 4 | from . import llm_tool_generate 5 | from . import mail_message 6 | -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/collection_create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/collection_create.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/llm_assistant_chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/llm_assistant_chat.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/mistral_ocr_models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/mistral_ocr_models.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/processing_pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/processing_pipeline.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/vector_store_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/vector_store_list.png -------------------------------------------------------------------------------- /llm_knowledge_mistral/data/llm_tool_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/static/description/screenshot-compare-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_ocr_mistral/static/description/screenshot-compare-image.png -------------------------------------------------------------------------------- /llm_generate_job/static/description/llm_generate_job_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_generate_job/static/description/llm_generate_job_architecture.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/claude_desktop_usage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/claude_desktop_usage.png -------------------------------------------------------------------------------- /llm_knowledge_mistral/static/description/screenshots/grocerylist.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_mistral/static/description/screenshots/grocerylist.webp -------------------------------------------------------------------------------- /llm_knowledge_mistral/static/description/screenshots/mistral_parser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_mistral/static/description/screenshots/mistral_parser.png -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/static/description/screenshot-mistral-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_tool_ocr_mistral/static/description/screenshot-mistral-provider.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-ocr-models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-ocr-models.png -------------------------------------------------------------------------------- /llm_knowledge/static/description/screenshots/resources_list_and_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge/static/description/screenshots/resources_list_and_process.png -------------------------------------------------------------------------------- /llm_knowledge_mistral/static/description/screenshots/mistral_ocr_models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_mistral/static/description/screenshots/mistral_ocr_models.png -------------------------------------------------------------------------------- /llm_pgvector/__init__.py: -------------------------------------------------------------------------------- 1 | from . import fields 2 | from . import models 3 | from .init_hook import pre_init_hook 4 | 5 | # Export the main classes for easier imports 6 | from .fields import PgVector 7 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-press-process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-press-process.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-chatgpt-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-chatgpt-provider.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-mistral-provider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-mistral-provider.png -------------------------------------------------------------------------------- /llm_knowledge_automation/static/description/screenshots/automation_triggers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_automation/static/description/screenshots/automation_triggers.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-chat-with-assistant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-chat-with-assistant.png -------------------------------------------------------------------------------- /llm_assistant_account_invoice/static/description/screenshot-filled-up-invoice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_assistant_account_invoice/static/description/screenshot-filled-up-invoice.png -------------------------------------------------------------------------------- /llm_knowledge_automation/static/description/screenshots/model_domain_for_automation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apexive/odoo-llm/HEAD/llm_knowledge_automation/static/description/screenshots/model_domain_for_automation.png -------------------------------------------------------------------------------- /llm_tool_demo/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_utility_tools,access_llm_utility_tools,model_llm_utility_tools,base.group_user,1,0,0,0 3 | -------------------------------------------------------------------------------- /llm_assistant/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_thread 2 | from . import llm_assistant 3 | from . import llm_assistant_action_mixin 4 | from . import llm_prompt 5 | from . import llm_prompt_tag 6 | from . import llm_prompt_category 7 | -------------------------------------------------------------------------------- /llm_letta/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.1.0.1 (2025-12-01) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [FIX] Added letta_normalize_prepend_messages() method to fix dispatch error 5 | 6 | 18.0.1.0.0 7 | ~~~~~~~~~~ 8 | 9 | * Initial release with Letta agent integration 10 | -------------------------------------------------------------------------------- /llm_store/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_store_user,llm.store.user,model_llm_store,base.group_user,1,0,0,0 3 | access_llm_store_manager,llm.store.manager,model_llm_store,llm.group_llm_manager,1,1,1,1 4 | -------------------------------------------------------------------------------- /llm_thread/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_thread_user,llm.thread.user,model_llm_thread,base.group_user,1,1,1,0 3 | access_llm_thread_manager,llm.thread.manager,model_llm_thread,llm.group_llm_manager,1,1,1,1 4 | -------------------------------------------------------------------------------- /llm_knowledge/views/llm_resource_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /llm_thread/static/src/templates/llm_chat_client_action.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /llm_pgvector/views/menu_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | -------------------------------------------------------------------------------- /llm_store/views/llm_store_menu_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /llm_replicate/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.1.1.1 (2025-10-23) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [MIGRATION] Migrated to Odoo 18.0 5 | 6 | 16.0.1.1.0 (2025-03-06) 7 | ~~~~~~~~~~~~~~~~~~~~~~~ 8 | 9 | * [ADD] Updated chat method to accept additional params 10 | 11 | 16.0.1.0.0 (2025-01-02) 12 | ~~~~~~~~~~~~~~~~~~~~~~~ 13 | 14 | * [INIT] Initial release of the module 15 | -------------------------------------------------------------------------------- /llm_letta/security/res_groups.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 365.0 8 | 9 | 10 | -------------------------------------------------------------------------------- /llm_mistral/models/llm_model.py: -------------------------------------------------------------------------------- 1 | from odoo import api, models 2 | 3 | 4 | class LLMModel(models.Model): 5 | _inherit = "llm.model" 6 | 7 | @api.model 8 | def _get_available_model_usages(self): 9 | available_model_usages = super()._get_available_model_usages() 10 | return available_model_usages + [ 11 | ("ocr", "OCR"), 12 | ] 13 | -------------------------------------------------------------------------------- /llm_store/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.1.0.0 (2025-10-23) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [MIGRATION] Migrated to Odoo 18.0 5 | * [IMP] Updated views and dependencies for compatibility 6 | 7 | 16.0.1.0.0 8 | ~~~~~~~~~~ 9 | 10 | * [INIT] Initial release 11 | * [ADD] Vector store abstraction layer 12 | * [ADD] Collection management 13 | * [ADD] Support for ChromaDB, pgvector, and Qdrant 14 | -------------------------------------------------------------------------------- /llm_fal_ai/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Fal ai 5 | fal_ai 6 | 7 | fal-ai/flux/dev 8 | 9 | 10 | -------------------------------------------------------------------------------- /llm_knowledge/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mail_thread 2 | from . import llm_resource 3 | from . import llm_resource_retriever 4 | from . import llm_resource_parser 5 | from . import llm_resource_http 6 | from . import ir_attachment 7 | from . import llm_resource_chunker 8 | from . import llm_knowledge_chunk 9 | from . import llm_knowledge_collection 10 | from . import llm_knowledge_domain 11 | -------------------------------------------------------------------------------- /llm_pgvector/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_knowledge_chunk_embedding_user,llm.knowledge.chunk.embedding.user,model_llm_knowledge_chunk_embedding,base.group_user,1,0,0,0 3 | access_llm_knowledge_chunk_embedding_manager,llm.knowledge.chunk.embedding.manager,model_llm_knowledge_chunk_embedding,llm.group_llm_manager,1,1,1,1 4 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # generated from manifests external_dependencies 2 | PyMuPDF 3 | anthropic 4 | chromadb-client 5 | emoji 6 | fal_client 7 | jinja2 8 | jsonref 9 | jsonschema 10 | letta-client 11 | llama_index 12 | markdown2 13 | markdownify 14 | mcp 15 | mistralai 16 | nltk 17 | numpy 18 | ollama 19 | openai 20 | pgvector 21 | pydantic>=2.0.0 22 | pyyaml 23 | qdrant-client 24 | replicate 25 | requests 26 | -------------------------------------------------------------------------------- /llm_anthropic/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Anthropic 5 | anthropic 6 | 7 | https://api.anthropic.com 8 | 9 | 10 | -------------------------------------------------------------------------------- /llm_comfyui/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ComfyUI 5 | comfyui 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /web_json_editor/static/src/components/json_editor/json_editor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /llm_tool/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import llm_tool 2 | from . import llm_tool_record_retriever 3 | from . import llm_provider 4 | from . import llm_model 5 | from . import llm_tool_consent_config 6 | from . import llm_tool_record_updater 7 | from . import llm_tool_record_creator 8 | from . import llm_tool_record_unlinker 9 | from . import llm_tool_model_inspector 10 | from . import llm_tool_model_method_executor 11 | from . import mail_message 12 | -------------------------------------------------------------------------------- /llm_letta/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Letta 5 | letta 6 | 7 | http://localhost:8283 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /llm_generate_job/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools", "wheel"] 3 | build-backend = "setuptools.build_meta" 4 | 5 | [project] 6 | name = "llm_generate_job" 7 | version = "16.0.1.0.0" 8 | description = "Generation Job Management and Queue System for LLM Providers" 9 | authors = [ 10 | {name = "Apexive", email = "info@apexive.com"}, 11 | ] 12 | license = {text = "LGPL-3"} 13 | dependencies = [ 14 | "odoo>=16.0,<16.1", 15 | ] 16 | -------------------------------------------------------------------------------- /llm_thread/views/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 18 | 19 | -------------------------------------------------------------------------------- /llm_mistral/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Mistral AI 5 | mistral 6 | 7 | https://api.mistral.ai/v1 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /llm_openai/data/llm_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | OpenAI 5 | openai 6 | 7 | https://api.openai.com/v1 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /llm_comfyui/data/llm_prompt_category_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ComfyUI Workflow 6 | comfyui_workflow 7 | 10 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /llm_openai/data/llm_model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | gpt-4o 5 | 6 | 7 | chat 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /llm_tool/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_tool_user,llm.tool.user,model_llm_tool,base.group_user,1,0,0,0 3 | access_llm_tool_system,llm.tool.system,model_llm_tool,base.group_system,1,1,1,1 4 | access_llm_tool_consent_config_user,llm.tool.consent.config.user,model_llm_tool_consent_config,base.group_user,1,0,0,0 5 | access_llm_tool_consent_config_system,llm.tool.consent.config.system,model_llm_tool_consent_config,base.group_system,1,1,1,1 6 | -------------------------------------------------------------------------------- /llm_tool/models/llm_model.py: -------------------------------------------------------------------------------- 1 | from odoo import models 2 | 3 | 4 | class LLMModel(models.Model): 5 | _inherit = "llm.model" 6 | 7 | def chat(self, messages, stream=False, tools=None, tool_choice="auto", **kwargs): 8 | """Send chat messages using this model""" 9 | return self.provider_id.chat( 10 | messages, 11 | model=self, 12 | stream=stream, 13 | tools=tools, 14 | tool_choice=tool_choice, 15 | **kwargs, 16 | ) 17 | -------------------------------------------------------------------------------- /llm_comfyui/data/llm_model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default ComfyUI Model 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /llm_replicate/static/description/replicate_logo.svg: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /web_json_editor/static/src/fields/json_field.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |
7 |
8 | 9 |
10 | 11 |
12 |
13 | 14 | -------------------------------------------------------------------------------- /llm_tool/views/llm_menu_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /llm_mistral/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.1.0.1 (2025-11-17) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [FIX] Removed wizard override - model fetching now handled by base provider 5 | * [IMP] Reordered OCR capability detection to check string patterns before API capabilities 6 | * [ADD] Added _determine_model_use() override for OCR model classification 7 | * [REM] Removed wizards directory and related imports 8 | 9 | 18.0.1.0.0 (2025-10-23) 10 | ~~~~~~~~~~~~~~~~~~~~~~~ 11 | 12 | * [MIGRATION] Migrated to Odoo 18.0 13 | * [IMP] Updated views and manifest for compatibility 14 | -------------------------------------------------------------------------------- /llm_training/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_training_dataset_user,llm.training.dataset.user,model_llm_training_dataset,base.group_user,1,0,0,0 3 | access_llm_training_dataset_manager,llm.training.dataset.manager,model_llm_training_dataset,llm.group_llm_manager,1,1,1,1 4 | access_llm_training_job_user,llm.training.job.user,model_llm_training_job,base.group_user,1,0,0,0 5 | access_llm_training_job_manager,llm.training.job.manager,model_llm_training_job,llm.group_llm_manager,1,1,1,1 6 | -------------------------------------------------------------------------------- /llm_assistant/models/llm_prompt_tag.py: -------------------------------------------------------------------------------- 1 | from random import randint 2 | 3 | from odoo import fields, models 4 | 5 | 6 | class LLMPromptTag(models.Model): 7 | _name = "llm.prompt.tag" 8 | _description = "LLM Prompt Tag" 9 | 10 | def _get_default_color(self): 11 | return randint(1, 11) 12 | 13 | name = fields.Char("Tag Name", required=True, translate=True) 14 | color = fields.Integer("Color", default=_get_default_color) 15 | 16 | _sql_constraints = [ 17 | ("name_uniq", "unique (name)", "Tag name already exists!"), 18 | ] 19 | -------------------------------------------------------------------------------- /llm_generate_job/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_llm_generation_job_user,llm.generation.job.user,model_llm_generation_job,base.group_user,1,1,1,1 3 | access_llm_generation_job_manager,llm.generation.job.manager,model_llm_generation_job,llm.group_llm_manager,1,1,1,1 4 | access_llm_generation_queue_user,llm.generation.queue.user,model_llm_generation_queue,base.group_user,1,0,0,0 5 | access_llm_generation_queue_manager,llm.generation.queue.manager,model_llm_generation_queue,llm.group_llm_manager,1,1,1,1 6 | -------------------------------------------------------------------------------- /llm_generate/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.2.0.0 (2025-10-23) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [MIGRATION] Migrated to Odoo 18.0 5 | * [IMP] Updated views and components for compatibility 6 | 7 | 16.0.2.0.0 8 | ~~~~~~~~~~ 9 | 10 | * [FIX] Fixed async loading issues in media form components 11 | * [IMP] Improved schema computation consistency 12 | * [IMP] Enhanced loading state management 13 | * [IMP] Better error handling and recovery 14 | * [ADD] Schema source transparency and indicators 15 | * [IMP] Enhanced form validation 16 | * [IMP] Improved streaming generation 17 | * [IMP] Better queue management 18 | -------------------------------------------------------------------------------- /web_json_editor/README.md: -------------------------------------------------------------------------------- 1 | # Web JSON Editor 2 | 3 | A JSON Editor widget for Odoo form views. 4 | 5 | ## Features 6 | 7 | - Syntax highlighting for JSON data 8 | - Schema-based validation and autocomplete 9 | - Multiple view modes (code, view) 10 | - Search functionality 11 | - Undo/redo history 12 | 13 | ## Usage 14 | 15 | ```xml 16 | 17 | ``` 18 | 19 | ## OCA Contribution 20 | 21 | This module has been submitted to the Odoo Community Association (OCA): 22 | - **PR:** https://github.com/OCA/web/pull/3380 23 | - **OCA Module:** `web_widget_json_editor` 24 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/models/account_move.py: -------------------------------------------------------------------------------- 1 | from odoo import models 2 | 3 | 4 | class AccountMove(models.Model): 5 | _name = "account.move" 6 | _inherit = ["account.move", "llm.assistant.action.mixin"] 7 | 8 | def action_process_with_ai(self): 9 | """ 10 | Parse invoice with AI assistant. 11 | Creates a fresh thread every time (no context carryover). 12 | Frontend opens AI chat for OCR parsing and follow-up questions. 13 | """ 14 | return self.action_open_llm_assistant( 15 | "odoo_invoice_data_entry_assistant", force_new_thread=True 16 | ) 17 | -------------------------------------------------------------------------------- /llm_tool/data/server_actions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Reset Input Schema 6 | 7 | 8 | list 9 | code 10 | 11 | action = records.action_reset_input_schema() 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /llm_pgvector/views/llm_store_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | llm.store.form.inherit.pgvector 5 | llm.store 6 | 7 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /llm_thread/models/res_users.py: -------------------------------------------------------------------------------- 1 | from odoo import models 2 | 3 | 4 | class ResUsers(models.Model): 5 | _inherit = "res.users" 6 | 7 | def _init_messaging(self, store): 8 | """Extend init_messaging to include LLM threads following Odoo patterns.""" 9 | super()._init_messaging(store) 10 | 11 | # Load user's recent LLM threads (similar to how discuss.channel works) 12 | llm_threads = self.env["llm.thread"].search( 13 | [("user_id", "=", self.id), ("active", "=", True)], order="write_date DESC" 14 | ) 15 | 16 | # Use inherited _thread_to_store method from mail.thread 17 | if llm_threads: 18 | llm_threads._thread_to_store(store) 19 | -------------------------------------------------------------------------------- /llm_document_page/views/document_page_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | document.page.form.inherit.llm 5 | document.page 6 | 7 | 8 | 9 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /llm_generate/static/src/components/llm_media_form/llm_form_fields_view.js: -------------------------------------------------------------------------------- 1 | /** @odoo-module **/ 2 | 3 | const { Component } = owl; 4 | 5 | export class LLMFormFieldsView extends Component { 6 | static template = "llm_thread.LLMFormFieldsView"; 7 | // Pass relevant parts of LLMMediaForm's state 8 | static props = { 9 | state: { type: Object, optional: false }, 10 | inputSchema: { type: Object, optional: true }, 11 | formFields: { type: Array, optional: false }, 12 | requiredFields: { type: Array, optional: false }, 13 | optionalFields: { type: Array, optional: false }, 14 | onInputChange: { type: Function, optional: false }, 15 | toggleAdvancedSettings: { type: Function, optional: false }, 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /llm_tool_ocr_mistral/data/llm_tool_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | llm_tool_ocr_mistral 5 | function 6 | ir.attachment 7 | llm_tool_ocr_mistral 8 | Extract text and structured data from PDF or image attachments using Mistral OCR vision model 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /llm_mcp_server/data/llm_mcp_server_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | odoo_llm_mcp_server 6 | 1.0.0 7 | 2025-06-18 8 | 9 | 10 | 11 | 12 | stateful 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /llm_training/views/llm_training_menu_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 19 | 20 | 21 | 28 | 29 | -------------------------------------------------------------------------------- /.ruff.toml: -------------------------------------------------------------------------------- 1 | 2 | target-version = "py39" 3 | fix = true 4 | 5 | [lint] 6 | extend-select = [ 7 | "B", 8 | "C90", 9 | "E501", # line too long (default 88) 10 | "I", # isort 11 | "UP", # pyupgrade 12 | ] 13 | exclude = ["setup/*"] 14 | ignore = ["E501"] 15 | 16 | [format] 17 | exclude = ["setup/*"] 18 | 19 | [lint.per-file-ignores] 20 | "__init__.py" = ["F401", "I001"] # ignore unused and unsorted imports in __init__.py 21 | "__manifest__.py" = ["B018"] # useless expression 22 | 23 | [lint.isort] 24 | section-order = ["future", "standard-library", "third-party", "odoo", "odoo-addons", "first-party", "local-folder"] 25 | 26 | [lint.isort.sections] 27 | "odoo" = ["odoo"] 28 | "odoo-addons" = ["odoo.addons"] 29 | 30 | [lint.mccabe] 31 | max-complexity = 16 32 | -------------------------------------------------------------------------------- /llm_ollama/changelog.rst: -------------------------------------------------------------------------------- 1 | 18.0.1.2.0 (2025-11-28) 2 | ~~~~~~~~~~~~~~~~~~~~~~~ 3 | 4 | * [ADD] Added ollama_normalize_prepend_messages() to convert OpenAI list format to plain strings 5 | * [FIX] Fixed Ollama compatibility with system prompts that use OpenAI's list content format 6 | * [IMP] Changed ollama_chat to use generic format_messages() and format_tools() dispatch methods 7 | * [IMP] Improved consistency with base provider dispatch pattern 8 | 9 | 18.0.1.1.0 (2025-10-23) 10 | ~~~~~~~~~~~~~~~~~~~~~~~ 11 | 12 | * [MIGRATION] Migrated to Odoo 18.0 13 | 14 | 16.0.1.1.0 (2025-03-06) 15 | ~~~~~~~~~~~~~~~~~~~~~~~ 16 | 17 | * [ADD] Updated chat method to accept additional params 18 | 19 | 16.0.1.0.0 (2025-01-02) 20 | ~~~~~~~~~~~~~~~~~~~~~~~ 21 | 22 | * [INIT] Initial release of the module 23 | -------------------------------------------------------------------------------- /llm_thread/security/llm_thread_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Personal Chat Threads 5 | 6 | [('user_id', '=', user.id)] 7 | 8 | 9 | 10 | 11 | All Chat Threads 12 | 13 | [(1, '=', 1)] 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /llm_qdrant/__manifest__.py: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LLM Qdrant Integration", 3 | "version": "18.0.1.0.0", 4 | "category": "Technical", 5 | "summary": "Integrates Qdrant vector store with the Odoo LLM framework.", 6 | "description": """ 7 | Provides an llm.store implementation using the Qdrant vector database. 8 | Requires the qdrant-client Python package. 9 | """, 10 | "author": "Apexive Solutions LLC", 11 | "website": "https://github.com/apexive/odoo-llm", 12 | "depends": ["llm_knowledge", "llm_store"], 13 | "external_dependencies": { 14 | "python": ["qdrant-client"], 15 | }, 16 | "images": ["static/description/banner.jpeg"], 17 | "installable": True, 18 | "application": False, 19 | "auto_install": False, 20 | "license": "LGPL-3", 21 | } 22 | -------------------------------------------------------------------------------- /llm_ollama/__manifest__.py: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ollama LLM Integration", 3 | "summary": "Ollama provider integration for LLM module", 4 | "description": """ 5 | Implements Ollama provider service for the LLM integration module. 6 | Supports local deployment of various open source models. 7 | """, 8 | "author": "Apexive Solutions LLC", 9 | "website": "https://github.com/apexive/odoo-llm", 10 | "category": "Technical", 11 | "version": "18.0.1.2.0", 12 | "depends": ["llm", "llm_tool"], 13 | "external_dependencies": { 14 | "python": ["ollama"], 15 | }, 16 | "data": [ 17 | "data/llm_publisher.xml", 18 | ], 19 | "images": [ 20 | "static/description/banner.jpeg", 21 | ], 22 | "license": "LGPL-3", 23 | "installable": True, 24 | } 25 | -------------------------------------------------------------------------------- /llm_generate_job/views/llm_generation_menu_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 19 | 20 | 21 | 28 | 29 | -------------------------------------------------------------------------------- /llm_assistant_account_invoice/views/account_move_views.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | account.move.form.process.ai 6 | account.move 7 | 8 | 9 | 10 |