|
- # SPDX-FileCopyrightText: 2024 Nikita Chernyi
- # SPDX-FileCopyrightText: 2024 Slavi Pantaleev
- # SPDX-FileCopyrightText: 2024 Suguru Hirahara
- #
- # SPDX-License-Identifier: AGPL-3.0-or-later
-
- ---
-
- # baibot is a bot exposing the power of Large Language Models to you.
- # Project source code URL: https://github.com/etkecc/baibot
-
- matrix_bot_baibot_enabled: true
-
- matrix_bot_baibot_container_image_self_build: false
- matrix_bot_baibot_container_repo: "https://github.com/etkecc/baibot.git"
- matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_version == 'latest' else matrix_bot_baibot_version }}"
- matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
-
- # renovate: datasource=docker depName=ghcr.io/etkecc/baibot
- matrix_bot_baibot_version: v1.25.0
- matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
- matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
- matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
- matrix_bot_baibot_container_image_registry_prefix_upstream_default: "ghcr.io/"
-
- matrix_bot_baibot_base_path: "{{ matrix_base_data_path }}/baibot"
- matrix_bot_baibot_config_path: "{{ matrix_bot_baibot_base_path }}/config"
- matrix_bot_baibot_data_path: "{{ matrix_bot_baibot_base_path }}/data"
-
- matrix_bot_baibot_container_network: ""
-
- matrix_bot_baibot_container_additional_networks: "{{ matrix_bot_baibot_container_additional_networks_auto + matrix_bot_baibot_container_additional_networks_custom }}"
- matrix_bot_baibot_container_additional_networks_auto: []
- matrix_bot_baibot_container_additional_networks_custom: []
-
- # A list of extra arguments to pass to the container
- matrix_bot_baibot_container_extra_arguments: []
-
- # List of systemd services that matrix-bot-baibot.service depends on
- matrix_bot_baibot_systemd_required_services_list: "{{ matrix_bot_baibot_systemd_required_services_list_default + matrix_bot_baibot_systemd_required_services_list_auto + matrix_bot_baibot_systemd_required_services_list_custom }}"
- matrix_bot_baibot_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
- matrix_bot_baibot_systemd_required_services_list_auto: []
- matrix_bot_baibot_systemd_required_services_list_custom: []
-
- # List of systemd services that matrix-bot-baibot.service wants
- matrix_bot_baibot_systemd_wanted_services_list: []
-
- # Controls the `homeserver.server_name` configuration setting.
- matrix_bot_baibot_config_homeserver_server_name: "{{ matrix_domain }}"
-
- # Controls the `homeserver.url` configuration setting.
- matrix_bot_baibot_config_homeserver_url: ""
-
- # Controls the `user.mxid_localpart` configuration setting.
- #
- # This affects the bot's username.
- # Changing this subsequently will require you to drop the bot's session/database (see `matrix_bot_baibot_data_path`),
- # so it can start fresh.
- matrix_bot_baibot_config_user_mxid_localpart: baibot
-
- # Authentication settings (`user.*` configuration keys).
- #
- # baibot supports 2 mutually-exclusive authentication modes.
- # Set EITHER:
- # - password authentication: `matrix_bot_baibot_config_user_password`
- # OR:
- # - access-token authentication: `matrix_bot_baibot_config_user_access_token` + `matrix_bot_baibot_config_user_device_id`
- #
- # Password authentication is recommended for most playbook-managed deployments,
- # because it integrates with the `matrix-user-creator` role and can auto-create
- # the bot account (via the `ensure-matrix-users-created` playbook tag).
- # This remains true even on many MAS-enabled deployments where the bot account
- # is local and playbook-managed.
-
- # Controls the `user.password` configuration setting.
- matrix_bot_baibot_config_user_password: null
-
- # Controls the `user.access_token` configuration setting.
- matrix_bot_baibot_config_user_access_token: null
-
- # Controls the `user.device_id` configuration setting.
- matrix_bot_baibot_config_user_device_id: null
-
- # Controls the `user.name` configuration setting.
- #
- # The name the bot uses as a display name and when it refers to itself.
- # If you leave this empty, the bot will use the default (baibot).
- #
- # Also see: `matrix_bot_baibot_config_user_mxid_localpart`
- matrix_bot_baibot_config_user_name: baibot
-
- # Controls the `user.avatar` configuration setting.
- #
- # An optional path to an image file to be used as a custom avatar image.
- # This path should be an in-container path (e.g., `/data/avatar.png`).
- # Any type of content type is supported, but stick to common image formats (PNG, JPG, ..) for better compatibility with various Matrix clients.
- #
- # To use a custom avatar:
- # - Use the auxiliary role (`aux_` variables) to upload your avatar file to the server (e.g. to {{ matrix_bot_baibot_data_path }}/avatar.png on the host),
- # or do it any other way (without Ansible) you prefer
- # - Set this variable to something like `/data/avatar.png` (the in-container path)
- #
- # Possible values:
- # - null or empty string: use the default baibot avatar
- # - "keep": don't touch the avatar, keep whatever is already set (useful if you manage the avatar via other means)
- # - any other value: path to a custom avatar image file (must be an in-container path like `/data/avatar.png`)
- matrix_bot_baibot_config_user_avatar: null
-
- # Controls the `user.encryption.recovery_passphrase` configuration setting.
- #
- # An optional passphrase to use for backing up and recovering the bot's encryption keys.
- # You can use any string here.
- #
- # If left empty, the recovery module will not be used and losing your session/database (see persistence)
- # will mean you lose access to old messages in encrypted room.
- #
- # Changing this subsequently will also cause you to lose access to old messages in encrypted rooms.
- # If you really need to change this:
- # - Set `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `true` and adjust the passphrase
- # - Remove your session file and database (see persistence)
- # - Restart the bot
- # - Then restore `matrix_bot_baibot_config_user_encryption_recovery_reset_allowed` to `false` to prevent accidental resets in the future
- matrix_bot_baibot_config_user_encryption_recovery_passphrase: null
-
- # Controls the `user.encryption.recovery_passphrase` configuration setting.
- #
- # An optional flag to reset the encryption recovery passphrase (see `matrix_bot_baibot_config_user_encryption_recovery_passphrase`).
- matrix_bot_baibot_config_user_encryption_recovery_reset_allowed: false
-
- # Controls the `command_prefix` configuration setting.
- # If you leave this empty, the bot will use the default (!bai).
- matrix_bot_baibot_config_command_prefix: "!bai"
-
- # Controls the `room.post_join_self_introduction_enabled` configuration setting.
- # Influences whether the bot should send an introduction message after joining a room.
- matrix_bot_baibot_config_room_post_join_self_introduction_enabled: true
-
- # Controls the `access.admin_patterns` configuration setting.
- # A space-separated list of MXID patterns which specify who is an admin.
- #
- # Example:
- # matrix_bot_baibot_config_access_admin_patterns:
- # - "@*:example.com"
- # - "@admin:example.net"
- matrix_bot_baibot_config_access_admin_patterns: "{{ [matrix_admin] if matrix_admin else [] }}"
-
- # Controls the `persistence.data_dir_path` configuration setting.
- #
- # The bot runs in a container, so this is the in-container path referring to the data directory on the host
- # (see `matrix_bot_baibot_data_path`).
- #
- # You generally don't need to change this.
- matrix_bot_baibot_config_persistence_data_dir_path: /data
-
- # Controls the `persistence.session_encryption_key` configuration setting.
- #
- # An optional secret for encrypting the bot's session data (see `matrix_bot_baibot_data_path`).
- # This must be 32-bytes (64 characters when HEX-encoded).
- # Generate it with: `openssl rand -hex 32`
- # Leave null or empty to avoid using encryption.
- # Changing this subsequently requires that you also throw away all data (see `matrix_bot_baibot_data_path`)
- matrix_bot_baibot_config_persistence_session_encryption_key: null
-
- # Controls the `persistence.config_encryption_key` configuration setting.
- #
- # An optional secret for encrypting bot configuration stored in Matrix's account data.
- # This must be 32-bytes (64 characters when HEX-encoded).
- # Generate it with: `openssl rand -hex 32`
- # Leave null or empty to avoid using encryption.
- # Changing this subsequently will make you lose your configuration.
- matrix_bot_baibot_config_persistence_config_encryption_key: null
-
- # Controls the `agents.static_definitions` configuration setting.
- #
- # There are some presets (e.g. `matrix_bot_baibot_config_agents_static_definitions_openai_*`) you can easily use to get started with a given provider.
- # You can also define your own agents via `matrix_bot_baibot_config_agents_static_definitions_custom`.
- matrix_bot_baibot_config_agents_static_definitions: "{{ matrix_bot_baibot_config_agents_static_definitions_auto + matrix_bot_baibot_config_agents_static_definitions_custom }}"
- matrix_bot_baibot_config_agents_static_definitions_auto: |-
- {{
- ([{
- 'id': matrix_bot_baibot_config_agents_static_definitions_anthropic_id,
- 'provider': matrix_bot_baibot_config_agents_static_definitions_anthropic_provider,
- 'config': matrix_bot_baibot_config_agents_static_definitions_anthropic_config,
- }] if matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled else [])
- +
- ([{
- 'id': matrix_bot_baibot_config_agents_static_definitions_groq_id,
- 'provider': matrix_bot_baibot_config_agents_static_definitions_groq_provider,
- 'config': matrix_bot_baibot_config_agents_static_definitions_groq_config,
- }] if matrix_bot_baibot_config_agents_static_definitions_groq_enabled else [])
- +
- ([{
- 'id': matrix_bot_baibot_config_agents_static_definitions_mistral_id,
- 'provider': matrix_bot_baibot_config_agents_static_definitions_mistral_provider,
- 'config': matrix_bot_baibot_config_agents_static_definitions_mistral_config,
- }] if matrix_bot_baibot_config_agents_static_definitions_mistral_enabled else [])
- +
- ([{
- 'id': matrix_bot_baibot_config_agents_static_definitions_openai_id,
- 'provider': matrix_bot_baibot_config_agents_static_definitions_openai_provider,
- 'config': matrix_bot_baibot_config_agents_static_definitions_openai_config,
- }] if matrix_bot_baibot_config_agents_static_definitions_openai_enabled else [])
- +
- ([{
- 'id': matrix_bot_baibot_config_agents_static_definitions_venice_id,
- 'provider': matrix_bot_baibot_config_agents_static_definitions_venice_provider,
- 'config': matrix_bot_baibot_config_agents_static_definitions_venice_config,
- }] if matrix_bot_baibot_config_agents_static_definitions_venice_enabled else [])
- }}
- matrix_bot_baibot_config_agents_static_definitions_custom: []
-
- matrix_bot_baibot_config_agents_static_definitions_prompt: "{% raw %}You are a brief, but helpful bot called {{ baibot_name }} powered by the {{ baibot_model_id }} model. The date/time of this conversation's start is: {{ baibot_conversation_start_time_utc }}.{% endraw %}"
-
- ########################################################################################
- # #
- # Anthropic agent configuration #
- # #
- ########################################################################################
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: false
- matrix_bot_baibot_config_agents_static_definitions_anthropic_id: anthropic
- matrix_bot_baibot_config_agents_static_definitions_anthropic_provider: anthropic
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension, recursive=True) }}"
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml: "{{ lookup('template', 'templates/provider/anthropic-config.yml.j2') }}"
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml | from_yaml is mapping else {} }}"
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_extension_yaml: |
- # Your custom YAML configuration for this provider's configuration goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_anthropic_config`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_config_agents_static_definitions_anthropic_config_yaml`.
- #
- # Example configuration extension follows:
- #
- # text_generation:
- # temperature: 3.5
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_base_url: https://api.anthropic.com/v1
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: ""
-
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_enabled: true
- # For valid model choices, see: https://docs.claude.com/en/docs/about-claude/models/overview
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-sonnet-4-5-20250929
- # The prompt text to use (can be null or empty to not use a prompt).
- # See: https://huggingface.co/docs/transformers/en/tasks/prompting
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
- # The temperature parameter controls the randomness of the generated text.
- # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_temperature: 1.0
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_response_tokens: 8192
- matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_max_context_tokens: 204800
-
- ########################################################################################
- # #
- # /Anthropic agent configuration #
- # #
- ########################################################################################
-
-
- ########################################################################################
- # #
- # Groq agent configuration #
- # #
- ########################################################################################
-
- matrix_bot_baibot_config_agents_static_definitions_groq_enabled: false
- matrix_bot_baibot_config_agents_static_definitions_groq_id: groq
- matrix_bot_baibot_config_agents_static_definitions_groq_provider: groq
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_groq_config_extension, recursive=True) }}"
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml: "{{ lookup('template', 'templates/provider/groq-config.yml.j2') }}"
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml | from_yaml is mapping else {} }}"
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_extension_yaml: |
- # Your custom YAML configuration for this provider's configuration goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_groq_config`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_config_agents_static_definitions_groq_config_yaml`.
- #
- # Example configuration extension follows:
- #
- # text_generation:
- # temperature: 3.5
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_base_url: https://api.groq.com/openai/v1
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_api_key: ""
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_enabled: true
- # For valid model choices, see: https://platform.groq.com/docs/models
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_model_id: ""
- # The prompt text to use (can be null or empty to not use a prompt).
- # See: https://huggingface.co/docs/transformers/en/tasks/prompting
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
- # The temperature parameter controls the randomness of the generated text.
- # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_temperature: 1.0
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_response_tokens: 4096
- matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_max_context_tokens: 131072
-
- matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_model_id: whisper-large-v3
-
- ########################################################################################
- # #
- # /Groq agent configuration #
- # #
- ########################################################################################
-
-
- ########################################################################################
- # #
- # Mistral agent configuration #
- # #
- ########################################################################################
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_enabled: false
- matrix_bot_baibot_config_agents_static_definitions_mistral_id: mistral
- matrix_bot_baibot_config_agents_static_definitions_mistral_provider: mistral
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension, recursive=True) }}"
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml: "{{ lookup('template', 'templates/provider/mistral-config.yml.j2') }}"
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml | from_yaml is mapping else {} }}"
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_extension_yaml: |
- # Your custom YAML configuration for this provider's configuration goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_mistral_config`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_config_agents_static_definitions_mistral_config_yaml`.
- #
- # Example configuration extension follows:
- #
- # text_generation:
- # temperature: 3.5
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_base_url: https://api.mistral.ai/v1
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_api_key: ""
-
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_enabled: true
- # For valid model choices, see: https://platform.mistral.com/docs/models
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_model_id: mistral-large-latest
- # The prompt text to use (can be null or empty to not use a prompt).
- # See: https://huggingface.co/docs/transformers/en/tasks/prompting
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
- # The temperature parameter controls the randomness of the generated text.
- # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_temperature: 1.0
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_max_response_tokens: 4096
- matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_max_context_tokens: 128000
-
- ########################################################################################
- # #
- # /Mistral agent configuration #
- # #
- ########################################################################################
-
-
- ########################################################################################
- # #
- # OpenAI agent configuration #
- # #
- ########################################################################################
-
- matrix_bot_baibot_config_agents_static_definitions_openai_enabled: false
- matrix_bot_baibot_config_agents_static_definitions_openai_id: openai
- matrix_bot_baibot_config_agents_static_definitions_openai_provider: openai
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_openai_config_extension, recursive=True) }}"
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml: "{{ lookup('template', 'templates/provider/openai-config.yml.j2') }}"
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml | from_yaml is mapping else {} }}"
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_extension_yaml: |
- # Your custom YAML configuration for this provider's configuration goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_openai_config`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_config_agents_static_definitions_openai_config_yaml`.
- #
- # Example configuration extension follows:
- #
- # text_generation:
- # temperature: 3.5
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_base_url: https://api.openai.com/v1
-
- # The API key is intentionally not required. Some OpenAI-compatible APIs do not require a key.
- matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
- # For valid model choices, see: https://platform.openai.com/docs/models
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-5.4
- # The prompt text to use (can be null or empty to not use a prompt).
- # See: https://huggingface.co/docs/transformers/en/tasks/prompting
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
- # The temperature parameter controls the randomness of the generated text.
- # See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature: 1.0
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: ~
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: 128000
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 400000
- # Built-in tools configuration (OpenAI only).
- # These tools extend the model's capabilities but are disabled by default following upstream defaults.
- # See: https://github.com/etkecc/baibot/blob/main/docs/features.md#%EF%B8%8F-built-in-tools-openai-only
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_web_search: false
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_tools_code_interpreter: false
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_model_id: tts-1-hd
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_voice: onyx
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_speed: 1.0
- matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
-
- matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: gpt-image-1.5
- matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: null
- matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: null
- matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality: null
-
- ########################################################################################
- # #
- # /OpenAI agent configuration #
- # #
- ########################################################################################
-
-
- ########################################################################################
- # #
- # Venice agent configuration #
- # #
- ########################################################################################
-
- matrix_bot_baibot_config_agents_static_definitions_venice_enabled: false
- matrix_bot_baibot_config_agents_static_definitions_venice_id: venice
- matrix_bot_baibot_config_agents_static_definitions_venice_provider: venice
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config: "{{ matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml | from_yaml | combine(matrix_bot_baibot_config_agents_static_definitions_venice_config_extension, recursive=True) }}"
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml: "{{ lookup('template', 'templates/provider/venice-config.yml.j2') }}"
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_extension: "{{ matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml | from_yaml if matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml | from_yaml is mapping else {} }}"
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_extension_yaml: |
- # Your custom YAML configuration for this provider's configuration goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_config_agents_static_definitions_venice_config`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_config_agents_static_definitions_venice_config_yaml`.
- #
- # The fully-commented sample config (every Venice knob, with explanations) lives at:
- # https://github.com/etkecc/baibot/blob/main/docs/sample-provider-configs/venice.yml
- #
- # Example configuration extension follows:
- #
- # text_generation:
- # venice_parameters:
- # enable_web_search: "off"
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_base_url: https://api.venice.ai/api/v1
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_api_key: ""
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_enabled: true
- # For valid model choices, see: https://docs.venice.ai/models/overview
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_model_id: kimi-k2-5
- # The prompt text to use (can be null or empty to not use a prompt).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_temperature: 1.0
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_max_response_tokens: 4096
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_max_context_tokens: 128000
- # How long Venice keeps the prompt prefix cached: "default", "extended", or "24h".
- # "24h" makes a long, stable system prompt cheap across a day of conversations.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_prompt_cache_retention: 24h
- # The optional top-level sampling and reasoning knobs below default to null, meaning the knob is
- # omitted from the request and Venice applies its own server-side default. Set a value to override.
- # Nucleus sampling, 0.0-1.0 (an alternative to temperature).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_top_p: ~
- # Penalize tokens by how often they have already appeared, -2.0-2.0.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_frequency_penalty: ~
- # Penalize tokens that have appeared at all, -2.0-2.0.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_presence_penalty: ~
- # Penalize repetition; values above 1.0 discourage repeats.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_repetition_penalty: ~
- # Reasoning budget for models that support it: "low", "medium", or "high".
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_reasoning_effort: ~
- # Append the model's reasoning below the answer as a collapsible "Reasoning" block (folded by default).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_show_reasoning: ~
-
- # Venice-specific request parameters (the `venice_parameters` bag). Each non-null knob below is sent;
- # a null knob is omitted, so Venice applies its own default. Omitting a knob is NOT the same as
- # setting it to `false` (which actively sends `false`).
- # Web search: "auto" (model decides), "on" (always), or "off".
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_search: auto
- # Strip <think></think> blocks from reasoning models so the user sees only the answer.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_strip_thinking_response: true
- # Run in TEE-only mode (works across all models) instead of end-to-end-encrypted inference (only
- # some models support it). TEE is still zero-retention private; this default keeps every model usable.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_e2ee: false
- # Render web-search sources as readable citations in the reply.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_citations: ~
- # Let web search read full page content, not just snippets.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_web_scraping: ~
- # Prepend Venice's own system prompt alongside yours.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_include_venice_system_prompt: ~
- # Include search results inline in the streamed response.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_include_search_results_in_stream: ~
- # Return search results as documents rather than inline text.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_return_search_results_as_documents: ~
- # Allow web search to query X (Twitter).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_enable_x_search: ~
- # Disable the model's thinking phase entirely.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_disable_thinking: ~
- # Response verbosity for models that support it: "low", "medium", or "high".
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_verbosity: ~
- # Use a public Venice character by its slug.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_generation_venice_parameters_character_slug: ~
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_speech_to_text_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_venice_config_speech_to_text_model_id: nvidia/parakeet-tdt-0.6b-v3
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_enabled: true
- # Other models include tts-qwen3-1-7b, tts-xai-v1, tts-elevenlabs-turbo-v2-5, tts-minimax-speech-02-hd.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_model_id: tts-kokoro
- # Voices are model-specific. Kokoro uses af_*/am_*/bf_*/bm_* (e.g. af_sky, am_adam). You can also pass
- # a cloned-voice handle (vv_<id>). An incompatible voice returns an error.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_voice: af_sky
- # Output audio format: mp3, opus, aac, flac, wav, or pcm. mp3 is the broadest Matrix-client fit.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_response_format: mp3
- # The optional knobs below default to null (omitted). Set a value to override Venice's default.
- # Playback speed, 0.25-4.0 (1.0 is normal).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_speed: ~
- # A style prompt steering emotion/delivery (e.g. "Excited and energetic."). Only Qwen 3 TTS uses it.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_prompt: ~
- # Sampling temperature, 0.0-2.0. Only Qwen 3 / Orpheus / Chatterbox HD use it.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_temperature: ~
- # Nucleus sampling, 0.0-1.0. Only Qwen 3 TTS uses it.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_text_to_speech_top_p: ~
-
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_enabled: true
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_model_id: chroma
- # The optional generation knobs below default to null (omitted). Set a value to override Venice's
- # default. Omitting a knob is NOT the same as setting it: an omitted knob lets Venice apply its own
- # default, a set value is sent verbatim.
- # A description of what should NOT appear in the image.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_negative_prompt: ~
- # CFG scale, 0-20. Higher values make the image adhere more closely to the prompt.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_cfg_scale: ~
- # Number of inference steps. Model-specific; some models ignore it.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_steps: ~
- # A named style to apply (e.g. "3D Model"). See Venice's image-styles reference.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_style_preset: ~
- # Random seed, -999999999-999999999. Fix it for reproducible results; omit for a random seed.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_seed: ~
- # Blur images classified as adult content. Defaults to true.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_safe_mode: ~
- # Hide the Venice watermark. Venice may ignore this for certain generated content. Defaults to false.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_hide_watermark: ~
- # Output format: jpeg, png, or webp. webp is smallest; png is highest-quality. Defaults to webp.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_format: ~
- # Image dimensions in pixels, each 1-1280. Default 1024x1024.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_width: ~
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_height: ~
- # Aspect ratio (used by certain models, e.g. Nano Banana): "1:1", "16:9". An alternative to width/height.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_aspect_ratio: ~
- # Resolution tier (used by certain models): "1K", "2K", "4K".
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_resolution: ~
- # Output quality for supported models (e.g. GPT Image 2): low, medium, high. Higher can cost more.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_quality: ~
- # Lora strength, 0-100. Only applies if the model uses additional Loras.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_lora_strength: ~
- # Embed the generation prompt into the image's EXIF metadata. Defaults to false.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_embed_exif_metadata: ~
- # Let the model pull the latest info from the web for the image. Model-specific; costs extra credits.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_enable_web_search: ~
- # Image editing shares this image_generation config block; only the model differs.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_model_id: firered-image-edit
- # The optional edit knobs below default to null (omitted). Set a value to override Venice's default.
- # Output format: jpeg, png, or webp. When omitted, Venice infers it (PNG at 1K, JPEG at 2K/4K).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_output_format: ~
- # Aspect ratio of the result: auto, 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5 (model-specific).
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_aspect_ratio: ~
- # Resolution tier: 1K, 2K, 4K (model-specific). Defaults to 1K.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_resolution: ~
- # Blur images classified as adult content. Defaults to true.
- matrix_bot_baibot_config_agents_static_definitions_venice_config_image_generation_edit_safe_mode: ~
-
- ########################################################################################
- # #
- # /Venice agent configuration #
- # #
- ########################################################################################
-
-
- # Controls the `initial_global_config.handler.catch_all` configuration setting.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_handler_catch_all: null
-
- # Controls the `initial_global_config.handler.text_generation` configuration setting.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_handler_text_generation: null
-
- # Controls the `initial_global_config.handler.text_to_speech` configuration setting.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_handler_text_to_speech: null
-
- # Controls the `initial_global_config.handler.speech_to_text` configuration setting.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_handler_speech_to_text: null
-
- # Controls the `initial_global_config.handler.image_generation` configuration setting.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_handler_image_generation: null
-
- # Controls the `initial_global_config.user_patterns` configuration setting.
- #
- # A space-separated list of MXID patterns which specify who can use the bot.
- # By default, we let anyone on the homeserver use the bot.
- #
- # This is an initial global configuration setting.
- # It only affects the first run of the bot. Configuration is later managed at runtime.
- matrix_bot_baibot_config_initial_global_config_user_patterns:
- - "@*:{{ matrix_bot_baibot_config_homeserver_server_name }}"
-
- # Controls the `logging` configuration setting.
- #
- # This could take a single value (e.g. `warn`) to affect all tracing targets,
- # or individual libraries (e.g. `mxlink`, `baibot`) can be configured independently of the main level.
- #
- # Below, we configure the logging level for:
- # - the bot (baibot), via `matrix_bot_baibot_config_logging_level_baibot`
- # - the bot framework that the bot is based on (mxlink), via `matrix_bot_baibot_config_logging_level_mxlink`
- # - everything else (external libraries), via `matrix_bot_baibot_config_logging_level_other_libs`
- #
- # Valid values for each level are: `trace`, `debug`, `info`, `warn`, `error`.
- # Learn more here: https://stackoverflow.com/a/73735203
- matrix_bot_baibot_config_logging: "{{ matrix_bot_baibot_config_logging_level_other_libs }},mxlink={{ matrix_bot_baibot_config_logging_level_mxlink }},baibot={{ matrix_bot_baibot_config_logging_level_baibot }}"
-
- # Adjust the logging level for other libraries used by the bot.
- matrix_bot_baibot_config_logging_level_other_libs: warn
-
- # Affects the logging level of the bot framework (mxlink) that the bot is based on.
- # Related to `matrix_bot_baibot_config_logging`
- matrix_bot_baibot_config_logging_level_mxlink: info
-
- # Affects the logging level of the bot itself.
- # Related to `matrix_bot_baibot_config_logging`
- matrix_bot_baibot_config_logging_level_baibot: info
-
- # Holds the final baibot configuration (a combination of the default and its extension).
- # You most likely don't need to touch this variable. Instead, see `matrix_bot_baibot_configuration_yaml` or `matrix_bot_baibot_configuration_extension_yaml`.
- matrix_bot_baibot_configuration: "{{ matrix_bot_baibot_configuration_yaml | from_yaml | combine(matrix_bot_baibot_configuration_extension, recursive=True) }}"
-
- # Default baibot configuration template which covers the generic use case.
- # You can customize it by controlling the various variables inside it.
- #
- # For a more advanced customization, you can extend the default (see `matrix_bot_baibot_configuration_extension_yaml`)
- # or completely replace this variable with your own template.
- matrix_bot_baibot_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
-
- matrix_bot_baibot_configuration_extension_yaml: |
- # Your custom YAML configuration for baibot goes here.
- # This configuration extends the default starting configuration (`matrix_bot_baibot_configuration_yaml`).
- #
- # You can override individual variables from the default configuration, or introduce new ones.
- #
- # If you need something more special, you can take full control by
- # completely redefining `matrix_bot_baibot_configuration_yaml`.
- #
- # Example configuration extension follows:
- #
- # user:
- # password: something
-
- matrix_bot_baibot_configuration_extension: "{{ matrix_bot_baibot_configuration_extension_yaml | from_yaml if matrix_bot_baibot_configuration_extension_yaml | from_yaml is mapping else {} }}"
-
- # Additional environment variables to pass to the baibot container.
- #
- # Environment variables take priority over settings in the configuration file.
- #
- # Example:
- # matrix_bot_baibot_environment_variables_extension: |
- # BAIBOT_USER_PASSWORD=password
- matrix_bot_baibot_environment_variables_extension: ''
-
- # matrix_bot_baibot_restart_necessary controls whether the service
- # will be restarted (when true) or merely started (when false) by the
- # systemd service manager role (when conditional restart is enabled).
- #
- # This value is automatically computed during installation based on whether
- # any configuration files, the systemd service file, or the container image changed.
- # The default of `false` means "no restart needed" — appropriate when the role's
- # installation tasks haven't run (e.g., due to --tags skipping them).
- matrix_bot_baibot_restart_necessary: false
|