diff --git a/crazy_functional.py b/crazy_functional.py index bf435be0..2a45f433 100644 --- a/crazy_functional.py +++ b/crazy_functional.py @@ -439,7 +439,7 @@ def get_crazy_functions(): "询问多个GPT模型(手动指定询问哪些模型)": { "Group": "对话", "Color": "stop", - "AsButton": False, + "AsButton": True, "AdvancedArgs": True, # 调用时,唤起高级参数输入区(默认False) "ArgsReminder": "支持任意数量的llm接口,用&符号分隔。例如chatglm&gpt-3.5-turbo&gpt-4", # 高级参数输入区的显示提示 "Function": HotReload(同时问询_指定模型), diff --git a/main.py b/main.py index a019c558..a077a20e 100644 --- a/main.py +++ b/main.py @@ -127,12 +127,12 @@ def main(): plugin_group_sel = gr.Dropdown(choices=all_plugin_groups, label='', show_label=False, value=DEFAULT_FN_GROUPS, multiselect=True, interactive=True, elem_classes='normal_mut_select').style(container=False) with gr.Row(): - for k, plugin in plugins.items(): + for index, (k, plugin) in enumerate(plugins.items()): if not plugin.get("AsButton", True): continue visible = True if match_group(plugin['Group'], DEFAULT_FN_GROUPS) else False variant = plugins[k]["Color"] if "Color" in plugin else "secondary" info = plugins[k].get("Info", k) - btn_elem_id = str(hash(k)) + btn_elem_id = f"plugin_btn_{index}" plugin['Button'] = plugins[k]['Button'] = gr.Button(k, variant=variant, visible=visible, info_str=f'函数插件区: {info}', elem_id=btn_elem_id).style(size="sm") plugin['ButtonElemId'] = btn_elem_id diff --git a/themes/common.js b/themes/common.js index b735bf07..5b69c0ce 100644 --- a/themes/common.js +++ b/themes/common.js @@ -1773,9 +1773,8 @@ async function run_classic_plugin_via_id(plugin_elem_id){ // 为了与旧插件兼容,生成菜单时,自动加载旧高级参数输入区的值 let advance_arg_input_legacy = await get_data_from_gradio_component('advance_arg_input_legacy'); if (advance_arg_input_legacy.length != 0){ - gui_args = { - "advanced_arg": advance_arg_input_legacy - } + gui_args["advanced_arg"] = {}; + gui_args["advanced_arg"].user_confirmed_value = advance_arg_input_legacy; } // execute the plugin push_data_to_gradio_component(JSON.stringify(gui_args), "invisible_current_pop_up_plugin_arg_final", "string");