新增插件分类
This commit is contained in:
		
							parent
							
								
									eb802ee975
								
							
						
					
					
						commit
						a208782049
					
				@ -67,6 +67,8 @@ WEB_PORT = -1
 | 
				
			|||||||
# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
 | 
					# 如果OpenAI不响应(网络卡顿、代理失败、KEY失效),重试的次数限制
 | 
				
			||||||
MAX_RETRY = 2
 | 
					MAX_RETRY = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 插件分类默认选项
 | 
				
			||||||
 | 
					default_plugin = ['学术优化', '多功能插件', '代码解析']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 )
 | 
					# 模型选择是 (注意: LLM_MODEL是默认选中的模型, 它*必须*被包含在AVAIL_LLM_MODELS列表中 )
 | 
				
			||||||
LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
 | 
					LLM_MODEL = "gpt-3.5-turbo" # 可选 ↓↓↓
 | 
				
			||||||
@ -100,7 +102,7 @@ AUTO_CLEAR_TXT = False
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 色彩主体,可选 ["Default", "Chuanhu-Small-and-Beautiful"]
 | 
					# 色彩主体,可选 ["Default", "Chuanhu-Small-and-Beautiful"]
 | 
				
			||||||
THEME = "Default"
 | 
					THEME = "Chuanhu-Small-and-Beautiful"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 加一个live2d装饰
 | 
					# 加一个live2d装饰
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,16 @@
 | 
				
			|||||||
from toolbox import HotReload  # HotReload 的意思是热更新,修改函数插件后,不需要重启程序,代码直接生效
 | 
					from toolbox import HotReload  # HotReload 的意思是热更新,修改函数插件后,不需要重启程序,代码直接生效
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function_plugins = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def get_crazy_functions():
 | 
					def get_crazy_functions():
 | 
				
			||||||
    from crazy_functions.读文章写摘要 import 读文章写摘要
 | 
					    get_functions_学术优化()
 | 
				
			||||||
 | 
					    get_functions_文档读取()
 | 
				
			||||||
 | 
					    get_functions_代码解析()
 | 
				
			||||||
 | 
					    get_functions_多功能插件()
 | 
				
			||||||
 | 
					    return function_plugins
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_functions_代码解析():
 | 
				
			||||||
    from crazy_functions.生成函数注释 import 批量生成函数注释
 | 
					    from crazy_functions.生成函数注释 import 批量生成函数注释
 | 
				
			||||||
    from crazy_functions.解析项目源代码 import 解析项目本身
 | 
					    from crazy_functions.解析项目源代码 import 解析项目本身
 | 
				
			||||||
    from crazy_functions.解析项目源代码 import 解析一个Python项目
 | 
					    from crazy_functions.解析项目源代码 import 解析一个Python项目
 | 
				
			||||||
@ -14,37 +22,257 @@ def get_crazy_functions():
 | 
				
			|||||||
    from crazy_functions.解析项目源代码 import 解析一个前端项目
 | 
					    from crazy_functions.解析项目源代码 import 解析一个前端项目
 | 
				
			||||||
    from crazy_functions.高级功能函数模板 import 高阶功能模板函数
 | 
					    from crazy_functions.高级功能函数模板 import 高阶功能模板函数
 | 
				
			||||||
    from crazy_functions.代码重写为全英文_多线程 import 全项目切换英文
 | 
					    from crazy_functions.代码重写为全英文_多线程 import 全项目切换英文
 | 
				
			||||||
    from crazy_functions.Latex全文润色 import Latex英文润色
 | 
					 | 
				
			||||||
    from crazy_functions.询问多个大语言模型 import 同时问询
 | 
					 | 
				
			||||||
    from crazy_functions.解析项目源代码 import 解析一个Lua项目
 | 
					    from crazy_functions.解析项目源代码 import 解析一个Lua项目
 | 
				
			||||||
    from crazy_functions.解析项目源代码 import 解析一个CSharp项目
 | 
					    from crazy_functions.解析项目源代码 import 解析一个CSharp项目
 | 
				
			||||||
    from crazy_functions.总结word文档 import 总结word文档
 | 
					 | 
				
			||||||
    from crazy_functions.解析JupyterNotebook import 解析ipynb文件
 | 
					    from crazy_functions.解析JupyterNotebook import 解析ipynb文件
 | 
				
			||||||
    from crazy_functions.对话历史存档 import 对话历史存档
 | 
					    from crazy_functions.解析项目源代码 import 解析任意code项目
 | 
				
			||||||
    from crazy_functions.对话历史存档 import 载入对话历史存档
 | 
					 | 
				
			||||||
    from crazy_functions.对话历史存档 import 删除所有本地对话历史记录
 | 
					 | 
				
			||||||
    from crazy_functions.辅助功能 import 清除缓存
 | 
					 | 
				
			||||||
    from crazy_functions.批量Markdown翻译 import Markdown英译中
 | 
					 | 
				
			||||||
    from crazy_functions.批量总结PDF文档 import 批量总结PDF文档
 | 
					 | 
				
			||||||
    from crazy_functions.批量翻译PDF文档_多线程 import 批量翻译PDF文档
 | 
					 | 
				
			||||||
    from crazy_functions.谷歌检索小助手 import 谷歌检索小助手
 | 
					 | 
				
			||||||
    from crazy_functions.理解PDF文档内容 import 理解PDF文档内容标准文件输入
 | 
					 | 
				
			||||||
    from crazy_functions.Latex全文润色 import Latex中文润色
 | 
					 | 
				
			||||||
    from crazy_functions.Latex全文润色 import Latex英文纠错
 | 
					 | 
				
			||||||
    from crazy_functions.Latex全文翻译 import Latex中译英
 | 
					 | 
				
			||||||
    from crazy_functions.Latex全文翻译 import Latex英译中
 | 
					 | 
				
			||||||
    from crazy_functions.批量Markdown翻译 import Markdown中译英
 | 
					    from crazy_functions.批量Markdown翻译 import Markdown中译英
 | 
				
			||||||
 | 
					    function_plugins['代码解析'] = {
 | 
				
			||||||
 | 
					 | 
				
			||||||
    function_plugins = {
 | 
					 | 
				
			||||||
        "解析整个Python项目": {
 | 
					        "解析整个Python项目": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": True,
 | 
					            "AsButton": True,
 | 
				
			||||||
            "Info": "解析一个Python项目的所有源文件(.py) | 输入参数为路径",
 | 
					            "Info": "解析一个Python项目的所有源文件(.py) | 输入参数为路径",
 | 
				
			||||||
            "Function": HotReload(解析一个Python项目)
 | 
					            "Function": HotReload(解析一个Python项目)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个C++项目头文件": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个C++项目的所有头文件(.h/.hpp) | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个C项目的头文件)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个C++项目(.cpp/.hpp/.c/.h)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个C++项目的所有源文件(.cpp/.hpp/.c/.h)| 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个C项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个Go项目": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个Go项目的所有源文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个Golang项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个Rust项目": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个Rust项目的所有源文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个Rust项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个Java项目": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个Java项目的所有源文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个Java项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个前端项目(js,ts,css等)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个前端项目的所有源文件(js,ts,css等) | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个前端项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个Lua项目": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个Lua项目的所有源文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个Lua项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析整个CSharp项目": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Info": "解析一个CSharp项目的所有源文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析一个CSharp项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析Jupyter Notebook文件": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "Info": "解析Jupyter Notebook文件 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(解析ipynb文件),
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
				
			||||||
 | 
					            "ArgsReminder": "若输入0,则不解析notebook中的Markdown块",  # 高级参数输入区的显示提示
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "批量生成函数注释": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(批量生成函数注释)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "[多线程Demo] 解析此项目本身(源码自译解)": {
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(解析项目本身)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "[插件demo] 历史上的今天": {
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Function": HotReload(高阶功能模板函数)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "批量Markdown中译英(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Markdown中译英)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "解析项目源代码(手动指定和筛选源代码文件类型)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
				
			||||||
 | 
					            "ArgsReminder": "输入时用逗号隔开, *代表通配符, 加了^代表不匹配; 不输入代表全部匹配。例如: \"*.c, ^*.cpp, config.toml, ^*.toml\"",
 | 
				
			||||||
 | 
					            # 高级参数输入区的显示提示
 | 
				
			||||||
 | 
					            "Function": HotReload(解析任意code项目)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_functions_文档读取():
 | 
				
			||||||
 | 
					    from crazy_functions.读文章写摘要 import 读文章写摘要
 | 
				
			||||||
 | 
					    from crazy_functions.总结word文档 import 总结word文档
 | 
				
			||||||
 | 
					    from crazy_functions.批量总结PDF文档 import 批量总结PDF文档
 | 
				
			||||||
 | 
					    from crazy_functions.批量翻译PDF文档_多线程 import 批量翻译PDF文档
 | 
				
			||||||
 | 
					    from crazy_functions.批量Markdown翻译 import Markdown英译中
 | 
				
			||||||
 | 
					    from crazy_functions.理解PDF文档内容 import 理解PDF文档内容标准文件输入
 | 
				
			||||||
 | 
					    from crazy_functions.批量Markdown翻译 import Markdown翻译指定语言
 | 
				
			||||||
 | 
					    function_plugins['文档读取'] = {
 | 
				
			||||||
 | 
					        "批量总结PDF文档": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(批量总结PDF文档)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "理解PDF文档内容 (模仿ChatPDF)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(理解PDF文档内容标准文件输入)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "精准翻译PDF论文": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": True,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(批量翻译PDF文档)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "批量总结Word文档": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Info": "批量总结word文档 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(总结word文档)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "读Tex论文写摘要": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Function": HotReload(读文章写摘要)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "翻译README或.MD": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Info": "将Markdown翻译为中文 | 输入参数为路径或URL",
 | 
				
			||||||
 | 
					            "Function": HotReload(Markdown英译中)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "翻译Markdown或README(支持Github链接)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "Function": HotReload(Markdown英译中)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "Markdown翻译(手动指定语言)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder": "请输入要翻译成哪种语言,默认为Chinese。",
 | 
				
			||||||
 | 
					            "Function": HotReload(Markdown翻译指定语言)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_functions_学术优化():
 | 
				
			||||||
 | 
					    from crazy_functions.谷歌检索小助手 import 谷歌检索小助手
 | 
				
			||||||
 | 
					    from crazy_functions.Latex全文润色 import Latex中文润色
 | 
				
			||||||
 | 
					    from crazy_functions.Latex全文润色 import Latex英文纠错
 | 
				
			||||||
 | 
					    from crazy_functions.Latex全文翻译 import Latex中译英
 | 
				
			||||||
 | 
					    from crazy_functions.Latex全文翻译 import Latex英译中
 | 
				
			||||||
 | 
					    from crazy_functions.Latex全文润色 import Latex英文润色
 | 
				
			||||||
 | 
					    from crazy_functions.下载arxiv论文翻译摘要 import 下载arxiv论文并翻译摘要
 | 
				
			||||||
 | 
					    from crazy_functions.Latex输出PDF结果 import Latex英文纠错加PDF对比
 | 
				
			||||||
 | 
					    from crazy_functions.Latex输出PDF结果 import Latex翻译中文并重新编译PDF
 | 
				
			||||||
 | 
					    function_plugins['学术优化'] = {
 | 
				
			||||||
 | 
					        "英文Latex项目全文纠错(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex英文纠错)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "中文Latex项目全文润色(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex中文润色)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "Latex项目全文中译英(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex中译英)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "Latex项目全文英译中(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex英译中)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "谷歌学术检索助手(输入谷歌学术搜索页url)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(谷歌检索小助手)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "英文Latex项目全文润色(输入路径或上传压缩包)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex英文润色)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "Arixv论文精细翻译(输入arxivID)[需Latex]": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder":
 | 
				
			||||||
 | 
					                "如果有必要, 请在此处给出自定义翻译命令, 解决部分词汇翻译不准确的问题。 " +
 | 
				
			||||||
 | 
					                "例如当单词'agent'翻译不准确时, 请尝试把以下指令复制到高级参数区: " +
 | 
				
			||||||
 | 
					                'If the term "agent" is used in this section, it should be translated to "智能体". ',
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex翻译中文并重新编译PDF)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "Latex英文纠错+高亮修正位置 [需Latex]": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder": "如果有必要, 请在此处追加更细致的矫错指令(使用英文)。",
 | 
				
			||||||
 | 
					            "Function": HotReload(Latex英文纠错加PDF对比)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    function_plugins['学术优化'].update({
 | 
				
			||||||
 | 
					        "一键下载arxiv论文并翻译摘要(先在input输入编号,如1812.10695)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
 | 
					            "Function": HotReload(下载arxiv论文并翻译摘要)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_functions_多功能插件():
 | 
				
			||||||
 | 
					    from crazy_functions.询问多个大语言模型 import 同时问询
 | 
				
			||||||
 | 
					    from crazy_functions.对话历史存档 import 对话历史存档
 | 
				
			||||||
 | 
					    from crazy_functions.对话历史存档 import 载入对话历史存档
 | 
				
			||||||
 | 
					    from crazy_functions.对话历史存档 import 删除所有本地对话历史记录
 | 
				
			||||||
 | 
					    from crazy_functions.辅助功能 import 清除缓存
 | 
				
			||||||
 | 
					    from crazy_functions.联网的ChatGPT import 连接网络回答问题
 | 
				
			||||||
 | 
					    from crazy_functions.联网的ChatGPT_bing版 import 连接bing搜索回答问题
 | 
				
			||||||
 | 
					    from crazy_functions.询问多个大语言模型 import 同时问询_指定模型
 | 
				
			||||||
 | 
					    from crazy_functions.图片生成 import 图片生成
 | 
				
			||||||
 | 
					    from crazy_functions.总结音视频 import 总结音视频
 | 
				
			||||||
 | 
					    from crazy_functions.数学动画生成manim import 动画生成
 | 
				
			||||||
 | 
					    from crazy_functions.Langchain知识库 import 知识库问答
 | 
				
			||||||
 | 
					    from crazy_functions.Langchain知识库 import 读取知识库作答
 | 
				
			||||||
 | 
					    from crazy_functions.交互功能函数模板 import 交互功能模板函数
 | 
				
			||||||
 | 
					    from crazy_functions.语音助手 import 语音助手
 | 
				
			||||||
 | 
					    from crazy_functions.虚空终端 import 自动终端
 | 
				
			||||||
 | 
					    function_plugins['多功能插件'] = {
 | 
				
			||||||
 | 
					        "询问多个GPT模型": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Function": HotReload(同时问询)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "保存当前的对话": {
 | 
				
			||||||
 | 
					            "AsButton": True,
 | 
				
			||||||
 | 
					            "Info": "保存当前的对话 | 不需要输入参数",
 | 
				
			||||||
 | 
					            "Function": HotReload(对话历史存档)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "载入对话历史存档(先上传存档或输入路径)": {
 | 
					        "载入对话历史存档(先上传存档或输入路径)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": False,
 | 
					            "AsButton": False,
 | 
				
			||||||
            "Info": "载入对话历史存档 | 输入参数为路径",
 | 
					            "Info": "载入对话历史存档 | 输入参数为路径",
 | 
				
			||||||
            "Function": HotReload(载入对话历史存档)
 | 
					            "Function": HotReload(载入对话历史存档)
 | 
				
			||||||
@ -55,392 +283,84 @@ def get_crazy_functions():
 | 
				
			|||||||
            "Function": HotReload(删除所有本地对话历史记录)
 | 
					            "Function": HotReload(删除所有本地对话历史记录)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "清除所有缓存文件(谨慎操作)": {
 | 
					        "清除所有缓存文件(谨慎操作)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
            "Info": "清除所有缓存文件,谨慎操作 | 不需要输入参数",
 | 
					            "Info": "清除所有缓存文件,谨慎操作 | 不需要输入参数",
 | 
				
			||||||
            "Function": HotReload(清除缓存)
 | 
					            "Function": HotReload(清除缓存)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "批量总结Word文档": {
 | 
					        "连接网络回答问题(输入问题后点击该插件,需要访问谷歌)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": True,
 | 
					 | 
				
			||||||
            "Info": "批量总结word文档 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(总结word文档)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个C++项目头文件": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
            "Info": "解析一个C++项目的所有头文件(.h/.hpp) | 输入参数为路径",
 | 
					            "Function": HotReload(连接网络回答问题)
 | 
				
			||||||
            "Function": HotReload(解析一个C项目的头文件)
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "解析整个C++项目(.cpp/.hpp/.c/.h)": {
 | 
					        "连接网络回答问题(中文Bing版,输入问题后点击该插件)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					            "AsButton": False,  # 加入下拉菜单中
 | 
				
			||||||
            "Info": "解析一个C++项目的所有源文件(.cpp/.hpp/.c/.h)| 输入参数为路径",
 | 
					            "Function": HotReload(连接bing搜索回答问题)
 | 
				
			||||||
            "Function": HotReload(解析一个C项目)
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "解析整个Go项目": {
 | 
					        "询问多个GPT模型(手动指定询问哪些模型)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个Go项目的所有源文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个Golang项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个Rust项目": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个Rust项目的所有源文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个Rust项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个Java项目": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个Java项目的所有源文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个Java项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个前端项目(js,ts,css等)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个前端项目的所有源文件(js,ts,css等) | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个前端项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个Lua项目": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个Lua项目的所有源文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个Lua项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析整个CSharp项目": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Info": "解析一个CSharp项目的所有源文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析一个CSharp项目)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "解析Jupyter Notebook文件": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,
 | 
					            "AsButton": False,
 | 
				
			||||||
            "Info": "解析Jupyter Notebook文件 | 输入参数为路径",
 | 
					 | 
				
			||||||
            "Function": HotReload(解析ipynb文件),
 | 
					 | 
				
			||||||
            "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
					            "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
				
			||||||
            "ArgsReminder": "若输入0,则不解析notebook中的Markdown块",  # 高级参数输入区的显示提示
 | 
					            "ArgsReminder": "支持任意数量的llm接口,用&符号分隔。例如chatglm&gpt-3.5-turbo&api2d-gpt-4",  # 高级参数输入区的显示提示
 | 
				
			||||||
 | 
					            "Function": HotReload(同时问询_指定模型)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "读Tex论文写摘要": {
 | 
					        "图片生成(先切换模型到openai或api2d)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": True,
 | 
					 | 
				
			||||||
            "Function": HotReload(读文章写摘要)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "翻译README或.MD": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": True,
 | 
					 | 
				
			||||||
            "Info": "将Markdown翻译为中文 | 输入参数为路径或URL",
 | 
					 | 
				
			||||||
            "Function": HotReload(Markdown英译中)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "翻译Markdown或README(支持Github链接)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,
 | 
					            "AsButton": False,
 | 
				
			||||||
            "Function": HotReload(Markdown英译中)
 | 
					            "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
				
			||||||
 | 
					            "ArgsReminder": "在这里输入分辨率, 如256x256(默认)",  # 高级参数输入区的显示提示
 | 
				
			||||||
 | 
					            "Info": "图片生成 | 输入参数字符串,提供图像的内容",
 | 
				
			||||||
 | 
					            "Function": HotReload(图片生成)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "批量生成函数注释": {
 | 
					        "批量总结音视频(输入路径或上传压缩包)": {
 | 
				
			||||||
            "Color": "stop",
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					            "AsButton": False,
 | 
				
			||||||
            "Function": HotReload(批量生成函数注释)
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder": "调用openai api 使用whisper-1模型, 目前支持的格式:mp4, m4a, wav, mpga, mpeg, mp3。此处可以输入解析提示,例如:解析为简体中文(默认)。",
 | 
				
			||||||
 | 
					            "Info": "批量总结音频或视频 | 输入参数为路径",
 | 
				
			||||||
 | 
					            "Function": HotReload(总结音视频)
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "保存当前的对话": {
 | 
					        "数学动画生成(Manim)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "Function": HotReload(动画生成)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "构建知识库(请先上传文件素材)": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder": "待注入的知识库名称id, 默认为default",
 | 
				
			||||||
 | 
					            "Function": HotReload(知识库问答)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "知识库问答": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "AdvancedArgs": True,
 | 
				
			||||||
 | 
					            "ArgsReminder": "待提取的知识库名称id, 默认为default, 您需要首先调用构建知识库",
 | 
				
			||||||
 | 
					            "Function": HotReload(读取知识库作答)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "交互功能模板函数": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "Function": HotReload(交互功能模板函数)
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "实时音频采集": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
            "AsButton": True,
 | 
					            "AsButton": True,
 | 
				
			||||||
            "Info": "保存当前的对话 | 不需要输入参数",
 | 
					            "Function": HotReload(语音助手)
 | 
				
			||||||
            "Function": HotReload(对话历史存档)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "[多线程Demo] 解析此项目本身(源码自译解)": {
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(解析项目本身)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "[插件demo] 历史上的今天": {
 | 
					 | 
				
			||||||
            "AsButton": True,
 | 
					 | 
				
			||||||
            "Function": HotReload(高阶功能模板函数)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "精准翻译PDF论文": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": True,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(批量翻译PDF文档)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "询问多个GPT模型": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": True,
 | 
					 | 
				
			||||||
            "Function": HotReload(同时问询)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "批量总结PDF文档": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(批量总结PDF文档)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "谷歌学术检索助手(输入谷歌学术搜索页url)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(谷歌检索小助手)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "理解PDF文档内容 (模仿ChatPDF)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(理解PDF文档内容标准文件输入)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "英文Latex项目全文润色(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Latex英文润色)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "英文Latex项目全文纠错(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Latex英文纠错)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "中文Latex项目全文润色(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Latex中文润色)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Latex项目全文中译英(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Latex中译英)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "Latex项目全文英译中(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Latex英译中)
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        "批量Markdown中译英(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
            "Color": "stop",
 | 
					 | 
				
			||||||
            "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
            "Function": HotReload(Markdown中译英)
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "自动终端": {
 | 
				
			||||||
 | 
					            "Color": "primary",
 | 
				
			||||||
 | 
					            "AsButton": False,
 | 
				
			||||||
 | 
					            "Function": HotReload(自动终端)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # -=--=- 尚未充分测试的实验性插件 & 需要额外依赖的插件 -=--=-
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.下载arxiv论文翻译摘要 import 下载arxiv论文并翻译摘要
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "一键下载arxiv论文并翻译摘要(先在input输入编号,如1812.10695)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
                "Function": HotReload(下载arxiv论文并翻译摘要)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.联网的ChatGPT import 连接网络回答问题
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "连接网络回答问题(输入问题后点击该插件,需要访问谷歌)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
                "Function": HotReload(连接网络回答问题)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        from crazy_functions.联网的ChatGPT_bing版 import 连接bing搜索回答问题
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "连接网络回答问题(中文Bing版,输入问题后点击该插件)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,  # 加入下拉菜单中
 | 
					 | 
				
			||||||
                "Function": HotReload(连接bing搜索回答问题)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.解析项目源代码 import 解析任意code项目
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "解析项目源代码(手动指定和筛选源代码文件类型)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
					 | 
				
			||||||
                "ArgsReminder": "输入时用逗号隔开, *代表通配符, 加了^代表不匹配; 不输入代表全部匹配。例如: \"*.c, ^*.cpp, config.toml, ^*.toml\"",  # 高级参数输入区的显示提示
 | 
					 | 
				
			||||||
                "Function": HotReload(解析任意code项目)
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.询问多个大语言模型 import 同时问询_指定模型
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "询问多个GPT模型(手动指定询问哪些模型)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
					 | 
				
			||||||
                "ArgsReminder": "支持任意数量的llm接口,用&符号分隔。例如chatglm&gpt-3.5-turbo&api2d-gpt-4",  # 高级参数输入区的显示提示
 | 
					 | 
				
			||||||
                "Function": HotReload(同时问询_指定模型)
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.图片生成 import 图片生成
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "图片生成(先切换模型到openai或api2d)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,  # 调用时,唤起高级参数输入区(默认False)
 | 
					 | 
				
			||||||
                "ArgsReminder": "在这里输入分辨率, 如256x256(默认)",  # 高级参数输入区的显示提示
 | 
					 | 
				
			||||||
                "Info": "图片生成 | 输入参数字符串,提供图像的内容",
 | 
					 | 
				
			||||||
                "Function": HotReload(图片生成)
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.总结音视频 import 总结音视频
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "批量总结音视频(输入路径或上传压缩包)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder": "调用openai api 使用whisper-1模型, 目前支持的格式:mp4, m4a, wav, mpga, mpeg, mp3。此处可以输入解析提示,例如:解析为简体中文(默认)。",
 | 
					 | 
				
			||||||
                "Info": "批量总结音频或视频 | 输入参数为路径",
 | 
					 | 
				
			||||||
                "Function": HotReload(总结音视频)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.数学动画生成manim import 动画生成
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "数学动画生成(Manim)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "Function": HotReload(动画生成)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.批量Markdown翻译 import Markdown翻译指定语言
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "Markdown翻译(手动指定语言)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder": "请输入要翻译成哪种语言,默认为Chinese。",
 | 
					 | 
				
			||||||
                "Function": HotReload(Markdown翻译指定语言)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.Langchain知识库 import 知识库问答
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "构建知识库(请先上传文件素材)": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder": "待注入的知识库名称id, 默认为default",
 | 
					 | 
				
			||||||
                "Function": HotReload(知识库问答)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.Langchain知识库 import 读取知识库作答
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "知识库问答": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder": "待提取的知识库名称id, 默认为default, 您需要首先调用构建知识库",
 | 
					 | 
				
			||||||
                "Function": HotReload(读取知识库作答)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.交互功能函数模板 import 交互功能模板函数
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "交互功能模板函数": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "Function": HotReload(交互功能模板函数)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.Latex输出PDF结果 import Latex英文纠错加PDF对比
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "Latex英文纠错+高亮修正位置 [需Latex]": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder": "如果有必要, 请在此处追加更细致的矫错指令(使用英文)。",
 | 
					 | 
				
			||||||
                "Function": HotReload(Latex英文纠错加PDF对比)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        from crazy_functions.Latex输出PDF结果 import Latex翻译中文并重新编译PDF
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "Arixv论文精细翻译(输入arxivID)[需Latex]": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder":
 | 
					 | 
				
			||||||
                    "如果有必要, 请在此处给出自定义翻译命令, 解决部分词汇翻译不准确的问题。 " +
 | 
					 | 
				
			||||||
                    "例如当单词'agent'翻译不准确时, 请尝试把以下指令复制到高级参数区: " +
 | 
					 | 
				
			||||||
                    'If the term "agent" is used in this section, it should be translated to "智能体". ',
 | 
					 | 
				
			||||||
                "Function": HotReload(Latex翻译中文并重新编译PDF)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "本地Latex论文精细翻译(上传Latex项目)[需Latex]": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "AdvancedArgs": True,
 | 
					 | 
				
			||||||
                "ArgsReminder":
 | 
					 | 
				
			||||||
                    "如果有必要, 请在此处给出自定义翻译命令, 解决部分词汇翻译不准确的问题。 " +
 | 
					 | 
				
			||||||
                    "例如当单词'agent'翻译不准确时, 请尝试把以下指令复制到高级参数区: " +
 | 
					 | 
				
			||||||
                    'If the term "agent" is used in this section, it should be translated to "智能体". ',
 | 
					 | 
				
			||||||
                "Function": HotReload(Latex翻译中文并重新编译PDF)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from toolbox import get_conf
 | 
					 | 
				
			||||||
        ENABLE_AUDIO, = get_conf('ENABLE_AUDIO')
 | 
					 | 
				
			||||||
        if ENABLE_AUDIO:
 | 
					 | 
				
			||||||
            from crazy_functions.语音助手 import 语音助手
 | 
					 | 
				
			||||||
            function_plugins.update({
 | 
					 | 
				
			||||||
                "实时音频采集": {
 | 
					 | 
				
			||||||
                    "Color": "stop",
 | 
					 | 
				
			||||||
                    "AsButton": True,
 | 
					 | 
				
			||||||
                    "Function": HotReload(语音助手)
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        from crazy_functions.虚空终端 import 自动终端
 | 
					 | 
				
			||||||
        function_plugins.update({
 | 
					 | 
				
			||||||
            "自动终端": {
 | 
					 | 
				
			||||||
                "Color": "stop",
 | 
					 | 
				
			||||||
                "AsButton": False,
 | 
					 | 
				
			||||||
                "Function": HotReload(自动终端)
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    except:
 | 
					 | 
				
			||||||
        print('Load function plugin failed')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # try:
 | 
					    # try:
 | 
				
			||||||
    #     from crazy_functions.chatglm微调工具 import 微调数据集生成
 | 
					    #     from crazy_functions.chatglm微调工具 import 微调数据集生成
 | 
				
			||||||
    #     function_plugins.update({
 | 
					    #     function_plugins['多功能'].update({
 | 
				
			||||||
    #         "黑盒模型学习: 微调数据集生成 (先上传数据集)": {
 | 
					    #         "黑盒模型学习: 微调数据集生成 (先上传数据集)": {
 | 
				
			||||||
    #             "Color": "stop",
 | 
					    #             "Color": "primary",
 | 
				
			||||||
    #             "AsButton": False,
 | 
					    #             "AsButton": False,
 | 
				
			||||||
    #             "AdvancedArgs": True,
 | 
					    #             "AdvancedArgs": True,
 | 
				
			||||||
    #             "ArgsReminder": "针对数据集输入(如 绿帽子*深蓝色衬衫*黑色运动裤)给出指令,例如您可以将以下命令复制到下方: --llm_to_learn=azure-gpt-3.5 --prompt_prefix='根据下面的服装类型提示,想象一个穿着者,对这个人外貌、身处的环境、内心世界、过去经历进行描写。要求:100字以内,用第二人称。' --system_prompt=''",
 | 
					    #             "ArgsReminder": "针对数据集输入(如 绿帽子*深蓝色衬衫*黑色运动裤)给出指令,例如您可以将以下命令复制到下方: --llm_to_learn=azure-gpt-3.5 --prompt_prefix='根据下面的服装类型提示,想象一个穿着者,对这个人外貌、身处的环境、内心世界、过去经历进行描写。要求:100字以内,用第二人称。' --system_prompt=''",
 | 
				
			||||||
@ -449,4 +369,4 @@ def get_crazy_functions():
 | 
				
			|||||||
    #     })
 | 
					    #     })
 | 
				
			||||||
    # except:
 | 
					    # except:
 | 
				
			||||||
    #     print('Load function plugin failed')
 | 
					    #     print('Load function plugin failed')
 | 
				
			||||||
    return function_plugins
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										64
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								main.py
									
									
									
									
									
								
							@ -2,7 +2,7 @@ import os; os.environ['no_proxy'] = '*' # 避免代理网络产生意外污染
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    import gradio as gr
 | 
					    import gradio as gr
 | 
				
			||||||
    if gr.__version__ not in ['3.28.3','3.32.2']: assert False, "需要特殊依赖,请务必用 pip install -r requirements.txt 指令安装依赖,详情信息见requirements.txt"
 | 
					    # if gr.__version__ not in ['3.28.3','3.32.2']: assert False, "需要特殊依赖,请务必用 pip install -r requirements.txt 指令安装依赖,详情信息见requirements.txt"
 | 
				
			||||||
    from request_llm.bridge_all import predict
 | 
					    from request_llm.bridge_all import predict
 | 
				
			||||||
    from toolbox import format_io, find_free_port, on_file_uploaded, on_report_generated, get_conf, ArgsGeneralWrapper, load_chat_cookies, DummyWith
 | 
					    from toolbox import format_io, find_free_port, on_file_uploaded, on_report_generated, get_conf, ArgsGeneralWrapper, load_chat_cookies, DummyWith
 | 
				
			||||||
    # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
 | 
					    # 建议您复制一个config_private.py放自己的秘密, 如API和代理网址, 避免不小心传github被别人看到
 | 
				
			||||||
@ -34,7 +34,13 @@ def main():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # 高级函数插件
 | 
					    # 高级函数插件
 | 
				
			||||||
    from crazy_functional import get_crazy_functions
 | 
					    from crazy_functional import get_crazy_functions
 | 
				
			||||||
    crazy_fns = get_crazy_functions()
 | 
					    default_plugin, = get_conf('default_plugin')
 | 
				
			||||||
 | 
					    crazy_fns_role = get_crazy_functions()
 | 
				
			||||||
 | 
					    crazy_classification = [i for i in crazy_fns_role]
 | 
				
			||||||
 | 
					    crazy_fns = {}
 | 
				
			||||||
 | 
					    for role in crazy_fns_role:
 | 
				
			||||||
 | 
					        for k in crazy_fns_role[role]:
 | 
				
			||||||
 | 
					            crazy_fns[k] = crazy_fns_role[role][k]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # 处理markdown文本格式的转变
 | 
					    # 处理markdown文本格式的转变
 | 
				
			||||||
    gr.Chatbot.postprocess = format_io
 | 
					    gr.Chatbot.postprocess = format_io
 | 
				
			||||||
@ -86,15 +92,35 @@ def main():
 | 
				
			|||||||
                with gr.Accordion("函数插件区", open=True, elem_id="plugin-panel") as area_crazy_fn:
 | 
					                with gr.Accordion("函数插件区", open=True, elem_id="plugin-panel") as area_crazy_fn:
 | 
				
			||||||
                    with gr.Row():
 | 
					                    with gr.Row():
 | 
				
			||||||
                        gr.Markdown("插件可读取“输入区”文本/路径作为参数(上传文件自动修正路径)")
 | 
					                        gr.Markdown("插件可读取“输入区”文本/路径作为参数(上传文件自动修正路径)")
 | 
				
			||||||
 | 
					                    plugin_dropdown = gr.Dropdown(choices=crazy_classification, label='选择插件分类',
 | 
				
			||||||
 | 
					                                                       value=default_plugin,
 | 
				
			||||||
 | 
					                                                       multiselect=True, interactive=True,
 | 
				
			||||||
 | 
					                                                       elem_classes='normal_mut_select'
 | 
				
			||||||
 | 
					                                                       ).style(container=False)
 | 
				
			||||||
                    with gr.Row():
 | 
					                    with gr.Row():
 | 
				
			||||||
                        for k in crazy_fns:
 | 
					                        for role in crazy_fns_role:
 | 
				
			||||||
                            if not crazy_fns[k].get("AsButton", True): continue
 | 
					                            for k in crazy_fns_role[role]:
 | 
				
			||||||
                            variant = crazy_fns[k]["Color"] if "Color" in crazy_fns[k] else "secondary"
 | 
					                                if not crazy_fns_role[role][k].get("AsButton", True): continue
 | 
				
			||||||
                            crazy_fns[k]["Button"] = gr.Button(k, variant=variant)
 | 
					                                if role not in default_plugin:
 | 
				
			||||||
                            crazy_fns[k]["Button"].style(size="sm")
 | 
					                                    variant = crazy_fns_role[role][k]["Color"] if "Color" in crazy_fns_role[role][
 | 
				
			||||||
 | 
					                                        k] else "secondary"
 | 
				
			||||||
 | 
					                                    crazy_fns_role[role][k]['Button'] = gr.Button(k, variant=variant,
 | 
				
			||||||
 | 
					                                                                                  visible=False).style(size="sm")
 | 
				
			||||||
 | 
					                                else:
 | 
				
			||||||
 | 
					                                    variant = crazy_fns[k]["Color"] if "Color" in crazy_fns_role[role][
 | 
				
			||||||
 | 
					                                        k] else "secondary"
 | 
				
			||||||
 | 
					                                    crazy_fns_role[role][k]['Button'] = gr.Button(k, variant=variant,
 | 
				
			||||||
 | 
					                                                                                  visible=True).style(size="sm")
 | 
				
			||||||
                    with gr.Row():
 | 
					                    with gr.Row():
 | 
				
			||||||
                        with gr.Accordion("更多函数插件", open=True):
 | 
					                        with gr.Accordion("更多函数插件", open=True):
 | 
				
			||||||
                            dropdown_fn_list = [k for k in crazy_fns.keys() if not crazy_fns[k].get("AsButton", True)]
 | 
					                            dropdown_fn_list = []
 | 
				
			||||||
 | 
					                            for role in crazy_fns_role:
 | 
				
			||||||
 | 
					                                if role in default_plugin:
 | 
				
			||||||
 | 
					                                    for k in crazy_fns_role[role]:
 | 
				
			||||||
 | 
					                                        if not crazy_fns_role[role][k].get("AsButton", True):
 | 
				
			||||||
 | 
					                                            dropdown_fn_list.append(k)
 | 
				
			||||||
 | 
					                                        elif crazy_fns_role[role][k].get('AdvancedArgs', False):
 | 
				
			||||||
 | 
					                                            dropdown_fn_list.append(k)
 | 
				
			||||||
                            with gr.Row():
 | 
					                            with gr.Row():
 | 
				
			||||||
                                dropdown = gr.Dropdown(dropdown_fn_list, value=r"打开插件列表", label="", show_label=False).style(container=False)
 | 
					                                dropdown = gr.Dropdown(dropdown_fn_list, value=r"打开插件列表", label="", show_label=False).style(container=False)
 | 
				
			||||||
                            with gr.Row():
 | 
					                            with gr.Row():
 | 
				
			||||||
@ -190,6 +216,28 @@ def main():
 | 
				
			|||||||
        # 终止按钮的回调函数注册
 | 
					        # 终止按钮的回调函数注册
 | 
				
			||||||
        stopBtn.click(fn=None, inputs=None, outputs=None, cancels=cancel_handles)
 | 
					        stopBtn.click(fn=None, inputs=None, outputs=None, cancels=cancel_handles)
 | 
				
			||||||
        stopBtn2.click(fn=None, inputs=None, outputs=None, cancels=cancel_handles)
 | 
					        stopBtn2.click(fn=None, inputs=None, outputs=None, cancels=cancel_handles)
 | 
				
			||||||
 | 
					        fn_btn_dict = {crazy_fns_role[role][k]['Button']: {role: k} for role in crazy_fns_role for k in crazy_fns_role[role] if crazy_fns_role[role][k].get('Button')}
 | 
				
			||||||
 | 
					        def show_plugin_btn(plu_list):
 | 
				
			||||||
 | 
					            new_btn_list = []
 | 
				
			||||||
 | 
					            fns_list = []
 | 
				
			||||||
 | 
					            if not plu_list:
 | 
				
			||||||
 | 
					                return [*[fns.update(visible=False) for fns in fn_btn_dict], gr.Dropdown.update(choices=[])]
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                for fns in fn_btn_dict:
 | 
				
			||||||
 | 
					                    if list(fn_btn_dict[fns].keys())[0] in plu_list:
 | 
				
			||||||
 | 
					                        new_btn_list.append(fns.update(visible=True))
 | 
				
			||||||
 | 
					                    else:
 | 
				
			||||||
 | 
					                        new_btn_list.append(fns.update(visible=False))
 | 
				
			||||||
 | 
					                for role in crazy_fns_role:
 | 
				
			||||||
 | 
					                    if role in plu_list:
 | 
				
			||||||
 | 
					                        for k in crazy_fns_role[role]:
 | 
				
			||||||
 | 
					                            if not crazy_fns_role[role][k].get("AsButton", True):
 | 
				
			||||||
 | 
					                                fns_list.append(k)
 | 
				
			||||||
 | 
					                            elif crazy_fns_role[role][k].get('AdvancedArgs', False):
 | 
				
			||||||
 | 
					                                fns_list.append(k)
 | 
				
			||||||
 | 
					                return [*new_btn_list, gr.Dropdown.update(choices=fns_list)]
 | 
				
			||||||
 | 
					        plugin_dropdown.select(fn=show_plugin_btn, inputs=[plugin_dropdown],
 | 
				
			||||||
 | 
					                                    outputs=[*fn_btn_dict.keys(), dropdown])
 | 
				
			||||||
        if ENABLE_AUDIO: 
 | 
					        if ENABLE_AUDIO: 
 | 
				
			||||||
            from crazy_functions.live_audio.audio_io import RealtimeAudioDistribution
 | 
					            from crazy_functions.live_audio.audio_io import RealtimeAudioDistribution
 | 
				
			||||||
            rad = RealtimeAudioDistribution()
 | 
					            rad = RealtimeAudioDistribution()
 | 
				
			||||||
 | 
				
			|||||||
@ -16,6 +16,11 @@
 | 
				
			|||||||
.markdown-body thead th {
 | 
					.markdown-body thead th {
 | 
				
			||||||
    padding: .5em .2em;
 | 
					    padding: .5em .2em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.normal_mut_select .svelte-1gfkn6j {
 | 
				
			||||||
 | 
					    float: left;
 | 
				
			||||||
 | 
					    width: auto;
 | 
				
			||||||
 | 
					    line-height: 260% !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.markdown-body ol, .markdown-body ul {
 | 
					.markdown-body ol, .markdown-body ul {
 | 
				
			||||||
    padding-inline-start: 2em !important;
 | 
					    padding-inline-start: 2em !important;
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,11 @@ mspace {
 | 
				
			|||||||
    border-color: yellow;
 | 
					    border-color: yellow;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.normal_mut_select .svelte-1gfkn6j {
 | 
				
			||||||
 | 
					    float: left;
 | 
				
			||||||
 | 
					    width: auto;
 | 
				
			||||||
 | 
					    line-height: 260% !important;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
#highlight_update {
 | 
					#highlight_update {
 | 
				
			||||||
  animation-name: highlight;
 | 
					  animation-name: highlight;
 | 
				
			||||||
  animation-duration: 0.75s;
 | 
					  animation-duration: 0.75s;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user