diff --git a/modules/shared.py b/modules/shared.py index b8ab2426..a91b48b9 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -224,6 +224,7 @@ settings = { 'negative_prompt': '', 'dark_theme': True, 'paste_to_attachment': False, + 'default_extensions': [], # Character settings 'character': 'Assistant', diff --git a/modules/ui.py b/modules/ui.py index 59da5118..e716672e 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -327,6 +327,7 @@ def save_settings(state, preset, extensions_list, show_controls, theme_state): output['prompt-default'] = state['prompt_menu-default'] output['prompt-notebook'] = state['prompt_menu-notebook'] output['character'] = state['character_menu'] + output['default_extensions'] = extensions_list output['seed'] = int(output['seed']) output['show_controls'] = show_controls output['dark_theme'] = True if theme_state == 'dark' else False diff --git a/server.py b/server.py index e0e3fbe5..80cc2f18 100644 --- a/server.py +++ b/server.py @@ -249,7 +249,13 @@ if __name__ == "__main__": shared.model_config['.*'] = get_fallback_settings() shared.model_config.move_to_end('.*', last=False) # Move to the beginning + # Activate the extensions listed on settings.yaml extensions_module.available_extensions = utils.get_available_extensions() + for extension in shared.settings['default_extensions']: + shared.args.extensions = shared.args.extensions or [] + if extension not in shared.args.extensions: + shared.args.extensions.append(extension) + available_models = utils.get_available_models() # Model defined through --model