@lobehub/chat 1.84.23 → 1.84.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/apps/desktop/src/main/controllers/__tests__/BrowserWindowsCtr.test.ts +195 -0
- package/apps/desktop/src/main/controllers/__tests__/DevtoolsCtr.test.ts +44 -0
- package/apps/desktop/src/main/controllers/__tests__/MenuCtr.test.ts +82 -0
- package/apps/desktop/src/main/controllers/__tests__/ShortcutCtr.test.ts +64 -0
- package/apps/desktop/src/main/controllers/__tests__/TrayMenuCtr.test.ts +256 -0
- package/apps/desktop/src/main/controllers/__tests__/UpdaterCtr.test.ts +82 -0
- package/apps/desktop/src/main/services/fileSrv.ts +49 -10
- package/apps/desktop/vitest.config.ts +17 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/hotkey.json +4 -0
- package/locales/ar/models.json +55 -13
- package/locales/ar/providers.json +0 -3
- package/locales/bg-BG/hotkey.json +4 -0
- package/locales/bg-BG/models.json +55 -13
- package/locales/bg-BG/providers.json +0 -3
- package/locales/de-DE/hotkey.json +4 -0
- package/locales/de-DE/models.json +55 -13
- package/locales/de-DE/providers.json +0 -3
- package/locales/en-US/hotkey.json +4 -0
- package/locales/en-US/models.json +55 -13
- package/locales/en-US/providers.json +0 -3
- package/locales/es-ES/hotkey.json +4 -0
- package/locales/es-ES/models.json +55 -13
- package/locales/es-ES/providers.json +0 -3
- package/locales/fa-IR/hotkey.json +4 -0
- package/locales/fa-IR/models.json +55 -13
- package/locales/fa-IR/providers.json +0 -3
- package/locales/fr-FR/hotkey.json +4 -0
- package/locales/fr-FR/models.json +55 -13
- package/locales/fr-FR/providers.json +0 -3
- package/locales/it-IT/hotkey.json +4 -0
- package/locales/it-IT/models.json +55 -13
- package/locales/it-IT/providers.json +0 -3
- package/locales/ja-JP/hotkey.json +4 -0
- package/locales/ja-JP/models.json +55 -13
- package/locales/ja-JP/providers.json +0 -3
- package/locales/ko-KR/hotkey.json +4 -0
- package/locales/ko-KR/models.json +55 -13
- package/locales/ko-KR/providers.json +0 -3
- package/locales/nl-NL/hotkey.json +4 -0
- package/locales/nl-NL/models.json +55 -13
- package/locales/nl-NL/providers.json +0 -3
- package/locales/pl-PL/hotkey.json +4 -0
- package/locales/pl-PL/models.json +55 -13
- package/locales/pl-PL/providers.json +0 -3
- package/locales/pt-BR/hotkey.json +4 -0
- package/locales/pt-BR/models.json +55 -13
- package/locales/pt-BR/providers.json +0 -3
- package/locales/ru-RU/hotkey.json +4 -0
- package/locales/ru-RU/models.json +55 -13
- package/locales/ru-RU/providers.json +0 -3
- package/locales/tr-TR/hotkey.json +4 -0
- package/locales/tr-TR/models.json +55 -13
- package/locales/tr-TR/providers.json +0 -3
- package/locales/vi-VN/hotkey.json +4 -0
- package/locales/vi-VN/models.json +55 -13
- package/locales/vi-VN/providers.json +0 -3
- package/locales/zh-CN/hotkey.json +4 -0
- package/locales/zh-CN/models.json +55 -13
- package/locales/zh-CN/providers.json +0 -3
- package/locales/zh-TW/hotkey.json +4 -0
- package/locales/zh-TW/models.json +55 -13
- package/locales/zh-TW/providers.json +0 -3
- package/package.json +1 -1
- package/packages/electron-server-ipc/package.json +3 -0
- package/packages/electron-server-ipc/src/ipcClient.ts +58 -21
- package/packages/electron-server-ipc/src/ipcServer.test.ts +417 -0
- package/packages/electron-server-ipc/src/ipcServer.ts +21 -16
- package/src/const/hotkeys.ts +7 -0
- package/src/const/url.ts +1 -1
- package/src/features/User/UserPanel/useMenu.tsx +2 -1
- package/src/locales/default/hotkey.ts +4 -0
- package/src/services/__tests__/_url.test.ts +23 -0
- package/src/types/hotkey.ts +1 -0
- package/vitest.config.ts +3 -2
@@ -71,6 +71,9 @@
|
|
71
71
|
"DeepSeek-V3": {
|
72
72
|
"description": "DeepSeek-V3 是一款由深度求索公司自研的MoE模型。DeepSeek-V3 多项评测成绩超越了 Qwen2.5-72B 和 Llama-3.1-405B 等其他开源模型,并在性能上和世界顶尖的闭源模型 GPT-4o 以及 Claude-3.5-Sonnet 不分伯仲。"
|
73
73
|
},
|
74
|
+
"Doubao-1.5-thinking-pro-m": {
|
75
|
+
"description": "Doubao-1.5全新深度思考模型 (m 版本自带原生多模态深度推理能力),在数学、编程、科学推理等专业领域及创意写作等通用任务中表现突出,在AIME 2024、Codeforces、GPQA等多项权威基准上达到或接近业界第一梯队水平。支持128k上下文窗口,16k输出。"
|
76
|
+
},
|
74
77
|
"Doubao-1.5-vision-pro": {
|
75
78
|
"description": "Doubao-1.5-vision-pro 全新升级的多模态大模型,支持任意分辨率和极端长宽比图像识别,增强视觉推理、文档识别、细节信息理解和指令遵循能力。"
|
76
79
|
},
|
@@ -293,6 +296,21 @@
|
|
293
296
|
"Qwen/Qwen2.5-VL-72B-Instruct": {
|
294
297
|
"description": "Qwen2.5-VL 是 Qwen2.5 系列中的视觉语言模型。该模型在多方面有显著提升:具备更强的视觉理解能力,能够识别常见物体、分析文本、图表和布局;作为视觉代理能够推理并动态指导工具使用;支持理解超过 1 小时的长视频并捕捉关键事件;能够通过生成边界框或点准确定位图像中的物体;支持生成结构化输出,尤其适用于发票、表格等扫描数据。"
|
295
298
|
},
|
299
|
+
"Qwen/Qwen3-14B": {
|
300
|
+
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
301
|
+
},
|
302
|
+
"Qwen/Qwen3-235B-A22B": {
|
303
|
+
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
304
|
+
},
|
305
|
+
"Qwen/Qwen3-30B-A3B": {
|
306
|
+
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
307
|
+
},
|
308
|
+
"Qwen/Qwen3-32B": {
|
309
|
+
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
310
|
+
},
|
311
|
+
"Qwen/Qwen3-8B": {
|
312
|
+
"description": "Qwen3是一款能力大幅提升的新一代通义千问大模型,在推理、通用、Agent和多语言等多个核心能力上均达到业界领先水平,并支持思考模式切换。"
|
313
|
+
},
|
296
314
|
"Qwen2-72B-Instruct": {
|
297
315
|
"description": "Qwen2 是 Qwen 模型的最新系列,支持 128k 上下文,对比当前最优的开源模型,Qwen2-72B 在自然语言理解、知识、代码、数学及多语言等多项能力上均显著超越当前领先的模型。"
|
298
316
|
},
|
@@ -398,9 +416,6 @@
|
|
398
416
|
"THUDM/glm-4-9b-chat": {
|
399
417
|
"description": "GLM-4-9B-Chat 是智谱 AI 推出的 GLM-4 系列预训练模型中的开源版本。该模型在语义、数学、推理、代码和知识等多个方面表现出色。除了支持多轮对话外,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理等高级功能。模型支持 26 种语言,包括中文、英文、日语、韩语和德语等。在多项基准测试中,GLM-4-9B-Chat 展现了优秀的性能,如 AlignBench-v2、MT-Bench、MMLU 和 C-Eval 等。该模型支持最大 128K 的上下文长度,适用于学术研究和商业应用"
|
400
418
|
},
|
401
|
-
"TeleAI/TeleChat2": {
|
402
|
-
"description": "TeleChat2大模型是由中国电信从0到1自主研发的生成式语义大模型,支持百科问答、代码生成、长文生成等功能,为用户提供对话咨询服务,能够与用户进行对话互动,回答问题,协助创作,高效便捷地帮助用户获取信息、知识和灵感。模型在幻觉问题、长文生成、逻辑理解等方面均有较出色表现。"
|
403
|
-
},
|
404
419
|
"Vendor-A/Qwen/Qwen2.5-72B-Instruct": {
|
405
420
|
"description": "Qwen2.5-72B-Instruct 是阿里云发布的最新大语言模型系列之一。该 72B 模型在编码和数学等领域具有显著改进的能力。该模型还提供了多语言支持,覆盖超过 29 种语言,包括中文、英文等。模型在指令跟随、理解结构化数据以及生成结构化输出(尤其是 JSON)方面都有显著提升"
|
406
421
|
},
|
@@ -800,6 +815,12 @@
|
|
800
815
|
"deepseek/deepseek-chat": {
|
801
816
|
"description": "融合通用与代码能力的全新开源模型, 不仅保留了原有 Chat 模型的通用对话能力和 Coder 模型的强大代码处理能力,还更好地对齐了人类偏好。此外,DeepSeek-V2.5 在写作任务、指令跟随等多个方面也实现了大幅提升。"
|
802
817
|
},
|
818
|
+
"deepseek/deepseek-chat-v3-0324": {
|
819
|
+
"description": "DeepSeek V3 是一个 685B 参数的专家混合模型,是 DeepSeek 团队旗舰聊天模型系列的最新迭代。\n\n它继承了 [DeepSeek V3](/deepseek/deepseek-chat-v3) 模型,并在各种任务上表现出色。"
|
820
|
+
},
|
821
|
+
"deepseek/deepseek-chat-v3-0324:free": {
|
822
|
+
"description": "DeepSeek V3 是一个 685B 参数的专家混合模型,是 DeepSeek 团队旗舰聊天模型系列的最新迭代。\n\n它继承了 [DeepSeek V3](/deepseek/deepseek-chat-v3) 模型,并在各种任务上表现出色。"
|
823
|
+
},
|
803
824
|
"deepseek/deepseek-r1": {
|
804
825
|
"description": "DeepSeek R1是DeepSeek团队发布的最新开源模型,具备非常强悍的推理性能,尤其在数学、编程和推理任务上达到了与OpenAI的o1模型相当的水平。"
|
805
826
|
},
|
@@ -851,9 +872,6 @@
|
|
851
872
|
"doubao-1.5-thinking-pro": {
|
852
873
|
"description": "Doubao-1.5全新深度思考模型,在数学、编程、科学推理等专业领域及创意写作等通用任务中表现突出,在AIME 2024、Codeforces、GPQA等多项权威基准上达到或接近业界第一梯队水平。支持128k上下文窗口,16k输出。"
|
853
874
|
},
|
854
|
-
"doubao-1.5-thinking-pro-vision": {
|
855
|
-
"description": "Doubao-1.5全新深度思考模型,在数学、编程、科学推理等专业领域及创意写作等通用任务中表现突出,在AIME 2024、Codeforces、GPQA等多项权威基准上达到或接近业界第一梯队水平。支持128k上下文窗口,16k输出。"
|
856
|
-
},
|
857
875
|
"doubao-1.5-vision-lite": {
|
858
876
|
"description": "Doubao-1.5-vision-lite 全新升级的多模态大模型,支持任意分辨率和极端长宽比图像识别,增强视觉推理、文档识别、细节信息理解和指令遵循能力。支持 128k 上下文窗口,输出长度支持最大 16k tokens。"
|
859
877
|
},
|
@@ -995,9 +1013,6 @@
|
|
995
1013
|
"gemini-2.0-flash-thinking-exp-01-21": {
|
996
1014
|
"description": "Gemini 2.0 Flash Thinking Exp 是 Google 的实验性多模态推理AI模型,能对复杂问题进行推理,拥有新的思维能力。"
|
997
1015
|
},
|
998
|
-
"gemini-2.0-pro-exp-02-05": {
|
999
|
-
"description": "Gemini 2.0 Pro Experimental 是 Google 最新的实验性多模态AI模型,与历史版本相比有一定的质量提升,特别是对于世界知识、代码和长上下文。"
|
1000
|
-
},
|
1001
1016
|
"gemini-2.5-flash-preview-04-17": {
|
1002
1017
|
"description": "Gemini 2.5 Flash Preview 是 Google 性价比最高的模型,提供全面的功能。"
|
1003
1018
|
},
|
@@ -1007,6 +1022,9 @@
|
|
1007
1022
|
"gemini-2.5-pro-preview-03-25": {
|
1008
1023
|
"description": "Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。"
|
1009
1024
|
},
|
1025
|
+
"gemini-2.5-pro-preview-05-06": {
|
1026
|
+
"description": "Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。"
|
1027
|
+
},
|
1010
1028
|
"gemma-7b-it": {
|
1011
1029
|
"description": "Gemma 7B 适合中小规模任务处理,兼具成本效益。"
|
1012
1030
|
},
|
@@ -1091,8 +1109,17 @@
|
|
1091
1109
|
"google/gemini-2.0-flash-001": {
|
1092
1110
|
"description": "Gemini 2.0 Flash 提供下一代功能和改进,包括卓越的速度、原生工具使用、多模态生成和1M令牌上下文窗口。"
|
1093
1111
|
},
|
1094
|
-
"google/gemini-2.0-
|
1095
|
-
"description": "Gemini 2.0
|
1112
|
+
"google/gemini-2.0-flash-exp:free": {
|
1113
|
+
"description": "Gemini 2.0 Flash Experimental 是 Google 最新的实验性多模态AI模型,与历史版本相比有一定的质量提升,特别是对于世界知识、代码和长上下文。"
|
1114
|
+
},
|
1115
|
+
"google/gemini-2.5-flash-preview": {
|
1116
|
+
"description": "Gemini 2.5 Flash 是 Google 最先进的主力模型,专为高级推理、编码、数学和科学任务而设计。它包含内置的“思考”能力,使其能够提供具有更高准确性和细致上下文处理的响应。\n\n注意:此模型有两个变体:思考和非思考。输出定价根据思考能力是否激活而有显著差异。如果您选择标准变体(不带“:thinking”后缀),模型将明确避免生成思考令牌。\n\n要利用思考能力并接收思考令牌,您必须选择“:thinking”变体,这将产生更高的思考输出定价。\n\n此外,Gemini 2.5 Flash 可通过“推理最大令牌数”参数进行配置,如文档中所述 (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)。"
|
1117
|
+
},
|
1118
|
+
"google/gemini-2.5-flash-preview:thinking": {
|
1119
|
+
"description": "Gemini 2.5 Flash 是 Google 最先进的主力模型,专为高级推理、编码、数学和科学任务而设计。它包含内置的“思考”能力,使其能够提供具有更高准确性和细致上下文处理的响应。\n\n注意:此模型有两个变体:思考和非思考。输出定价根据思考能力是否激活而有显著差异。如果您选择标准变体(不带“:thinking”后缀),模型将明确避免生成思考令牌。\n\n要利用思考能力并接收思考令牌,您必须选择“:thinking”变体,这将产生更高的思考输出定价。\n\n此外,Gemini 2.5 Flash 可通过“推理最大令牌数”参数进行配置,如文档中所述 (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)。"
|
1120
|
+
},
|
1121
|
+
"google/gemini-2.5-pro-preview-03-25": {
|
1122
|
+
"description": "Gemini 2.5 Pro 是 Google 最先进的 AI 模型,专为高级推理、编码、数学和科学任务而设计。它采用“思考”能力,使其能够以更高的准确性和细致的上下文处理来推理响应。Gemini 2.5 Pro 在多个基准测试中取得了顶级性能,包括在 LMArena 排行榜上排名第一,反映了卓越的人类偏好对齐和复杂问题解决能力。"
|
1096
1123
|
},
|
1097
1124
|
"google/gemini-flash-1.5": {
|
1098
1125
|
"description": "Gemini 1.5 Flash 提供了优化后的多模态处理能力,适用多种复杂任务场景。"
|
@@ -1592,6 +1619,9 @@
|
|
1592
1619
|
"mistral-large-latest": {
|
1593
1620
|
"description": "Mistral Large是旗舰大模型,擅长多语言任务、复杂推理和代码生成,是高端应用的理想选择。"
|
1594
1621
|
},
|
1622
|
+
"mistral-medium-latest": {
|
1623
|
+
"description": "Mistral Medium 3 以 8 倍的成本提供最先进的性能,并从根本上简化了企业部署。"
|
1624
|
+
},
|
1595
1625
|
"mistral-nemo": {
|
1596
1626
|
"description": "Mistral Nemo 由 Mistral AI 和 NVIDIA 合作推出,是高效性能的 12B 模型。"
|
1597
1627
|
},
|
@@ -1763,7 +1793,7 @@
|
|
1763
1793
|
"qvq-72b-preview": {
|
1764
1794
|
"description": "QVQ-72B-Preview 是由 Qwen 团队开发的实验性研究模型,专注于提升视觉推理能力。"
|
1765
1795
|
},
|
1766
|
-
"qvq-max": {
|
1796
|
+
"qvq-max-latest": {
|
1767
1797
|
"description": "通义千问QVQ视觉推理模型,支持视觉输入及思维链输出,在数学、编程、视觉分析、创作以及通用任务上都表现了更强的能力。"
|
1768
1798
|
},
|
1769
1799
|
"qwen-coder-plus-latest": {
|
@@ -2075,17 +2105,29 @@
|
|
2075
2105
|
"text-embedding-3-small": {
|
2076
2106
|
"description": "高效且经济的新一代 Embedding 模型,适用于知识检索、RAG 应用等场景"
|
2077
2107
|
},
|
2108
|
+
"thudm/glm-4-32b": {
|
2109
|
+
"description": "GLM-4-32B-0414 是一个 32B 双语(中英)开放权重语言模型,针对代码生成、函数调用和代理式任务进行了优化。它在 15T 高质量和重推理数据上进行了预训练,并使用人类偏好对齐、拒绝采样和强化学习进一步完善。该模型在复杂推理、工件生成和结构化输出任务方面表现出色,在多个基准测试中达到了与 GPT-4o 和 DeepSeek-V3-0324 相当的性能。"
|
2110
|
+
},
|
2111
|
+
"thudm/glm-4-32b:free": {
|
2112
|
+
"description": "GLM-4-32B-0414 是一个 32B 双语(中英)开放权重语言模型,针对代码生成、函数调用和代理式任务进行了优化。它在 15T 高质量和重推理数据上进行了预训练,并使用人类偏好对齐、拒绝采样和强化学习进一步完善。该模型在复杂推理、工件生成和结构化输出任务方面表现出色,在多个基准测试中达到了与 GPT-4o 和 DeepSeek-V3-0324 相当的性能。"
|
2113
|
+
},
|
2078
2114
|
"thudm/glm-4-9b-chat": {
|
2079
2115
|
"description": "智谱AI发布的GLM-4系列最新一代预训练模型的开源版本。"
|
2080
2116
|
},
|
2081
2117
|
"thudm/glm-4-9b:free": {
|
2082
2118
|
"description": "GLM-4-9B-0414 是 THUDM 开发的 GLM-4 系列中的 90 亿参数语言模型。GLM-4-9B-0414 使用与其较大的 32B 对应模型相同的强化学习和对齐策略进行训练,相对于其规模实现了高性能,使其适用于仍需要强大语言理解和生成能力的资源受限部署。"
|
2083
2119
|
},
|
2120
|
+
"thudm/glm-z1-32b": {
|
2121
|
+
"description": "GLM-Z1-32B-0414 是 GLM-4-32B 的增强推理变体,专为深度数学、逻辑和面向代码的问题解决而构建。它应用扩展强化学习(任务特定和基于通用成对偏好)来提高复杂多步骤任务的性能。与基础 GLM-4-32B 模型相比,Z1 显著提升了结构化推理和形式化领域的能力。\n\n该模型支持通过提示工程强制执行“思考”步骤,并为长格式输出提供改进的连贯性。它针对代理工作流进行了优化,并支持长上下文(通过 YaRN)、JSON 工具调用和用于稳定推理的细粒度采样配置。非常适合需要深思熟虑、多步骤推理或形式化推导的用例。"
|
2122
|
+
},
|
2123
|
+
"thudm/glm-z1-32b:free": {
|
2124
|
+
"description": "GLM-Z1-32B-0414 是 GLM-4-32B 的增强推理变体,专为深度数学、逻辑和面向代码的问题解决而构建。它应用扩展强化学习(任务特定和基于通用成对偏好)来提高复杂多步骤任务的性能。与基础 GLM-4-32B 模型相比,Z1 显著提升了结构化推理和形式化领域的能力。\n\n该模型支持通过提示工程强制执行“思考”步骤,并为长格式输出提供改进的连贯性。它针对代理工作流进行了优化,并支持长上下文(通过 YaRN)、JSON 工具调用和用于稳定推理的细粒度采样配置。非常适合需要深思熟虑、多步骤推理或形式化推导的用例。"
|
2125
|
+
},
|
2084
2126
|
"thudm/glm-z1-9b:free": {
|
2085
2127
|
"description": "GLM-Z1-9B-0414 是由 THUDM 开发的 GLM-4 系列中的 9B 参数语言模型。它采用了最初应用于更大 GLM-Z1 模型的技术,包括扩展强化学习、成对排名对齐以及对数学、代码和逻辑等推理密集型任务的训练。尽管其规模较小,但它在通用推理任务上表现出强大的性能,并在其权重级别中优于许多开源模型。"
|
2086
2128
|
},
|
2087
2129
|
"thudm/glm-z1-rumination-32b": {
|
2088
|
-
"description": "
|
2130
|
+
"description": "GLM Z1 Rumination 32B 是 GLM-4-Z1 系列中的 32B 参数深度推理模型,针对需要长时间思考的复杂、开放式任务进行了优化。它建立在 glm-4-32b-0414 的基础上,增加了额外的强化学习阶段和多阶段对齐策略,引入了旨在模拟扩展认知处理的“反思”能力。这包括迭代推理、多跳分析和工具增强的工作流程,例如搜索、检索和引文感知合成。\n\n该模型在研究式写作、比较分析和复杂问答方面表现出色。它支持用于搜索和导航原语(`search`、`click`、`open`、`finish`)的函数调用,从而可以在代理式管道中使用。反思行为由具有基于规则的奖励塑造和延迟决策机制的多轮循环控制,并以 OpenAI 内部对齐堆栈等深度研究框架为基准。此变体适用于需要深度而非速度的场景。"
|
2089
2131
|
},
|
2090
2132
|
"tngtech/deepseek-r1t-chimera:free": {
|
2091
2133
|
"description": "DeepSeek-R1T-Chimera 通过合并 DeepSeek-R1 和 DeepSeek-V3 (0324) 创建,结合了 R1 的推理能力和 V3 的令牌效率改进。它基于 DeepSeek-MoE Transformer 架构,并针对通用文本生成任务进行了优化。\n\n该模型合并了两个源模型的预训练权重,以平衡推理、效率和指令遵循任务的性能。它根据 MIT 许可证发布,旨在用于研究和商业用途。"
|
@@ -29,9 +29,6 @@
|
|
29
29
|
"deepseek": {
|
30
30
|
"description": "DeepSeek 是一家专注于人工智能技术研究和应用的公司,其最新模型 DeepSeek-V3 多项评测成绩超越 Qwen2.5-72B 和 Llama-3.1-405B 等开源模型,性能对齐领军闭源模型 GPT-4o 与 Claude-3.5-Sonnet。"
|
31
31
|
},
|
32
|
-
"doubao": {
|
33
|
-
"description": "字节跳动推出的自研大模型。通过字节跳动内部50+业务场景实践验证,每日万亿级tokens大使用量持续打磨,提供多种模态能力,以优质模型效果为企业打造丰富的业务体验。"
|
34
|
-
},
|
35
32
|
"fireworksai": {
|
36
33
|
"description": "Fireworks AI 是一家领先的高级语言模型服务商,专注于功能调用和多模态处理。其最新模型 Firefunction V2 基于 Llama-3,优化用于函数调用、对话及指令跟随。视觉语言模型 FireLLaVA-13B 支持图像和文本混合输入。其他 notable 模型包括 Llama 系列和 Mixtral 系列,提供高效的多语言指令跟随与生成支持。"
|
37
34
|
},
|
@@ -71,6 +71,9 @@
|
|
71
71
|
"DeepSeek-V3": {
|
72
72
|
"description": "DeepSeek-V3 是一款由深度求索公司自研的MoE模型。DeepSeek-V3 多項評測成績超越了 Qwen2.5-72B 和 Llama-3.1-405B 等其他開源模型,並在性能上和世界頂尖的閉源模型 GPT-4o 以及 Claude-3.5-Sonnet 不分伯仲。"
|
73
73
|
},
|
74
|
+
"Doubao-1.5-thinking-pro-m": {
|
75
|
+
"description": "Doubao-1.5 全新深度思考模型 (m 版本自帶原生多模態深度推理能力),在數學、程式設計、科學推理等專業領域及創意寫作等通用任務中表現突出,在 AIME 2024、Codeforces、GPQA 等多項權威基準上達到或接近業界第一梯隊水平。支持 128k 上下文窗口,16k 輸出。"
|
76
|
+
},
|
74
77
|
"Doubao-1.5-vision-pro": {
|
75
78
|
"description": "Doubao-1.5-vision-pro 全新升級的多模態大模型,支持任意解析度和極端長寬比圖像識別,增強視覺推理、文檔識別、細節信息理解和指令遵循能力。"
|
76
79
|
},
|
@@ -293,6 +296,21 @@
|
|
293
296
|
"Qwen/Qwen2.5-VL-72B-Instruct": {
|
294
297
|
"description": "Qwen2.5-VL 是 Qwen2.5 系列中的視覺語言模型。該模型在多方面有顯著提升:具備更強的視覺理解能力,能夠識別常見物體、分析文本、圖表和版面配置;作為視覺代理能夠推理並動態指導工具使用;支援理解超過 1 小時的長影片並捕捉關鍵事件;能夠透過生成邊界框或點準確定位圖像中的物體;支援生成結構化輸出,尤其適用於發票、表格等掃描資料。"
|
295
298
|
},
|
299
|
+
"Qwen/Qwen3-14B": {
|
300
|
+
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
301
|
+
},
|
302
|
+
"Qwen/Qwen3-235B-A22B": {
|
303
|
+
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
304
|
+
},
|
305
|
+
"Qwen/Qwen3-30B-A3B": {
|
306
|
+
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
307
|
+
},
|
308
|
+
"Qwen/Qwen3-32B": {
|
309
|
+
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
310
|
+
},
|
311
|
+
"Qwen/Qwen3-8B": {
|
312
|
+
"description": "Qwen3 是一款能力大幅提升的新一代通義千問大模型,在推理、通用、Agent 和多語言等多個核心能力上均達到業界領先水平,並支持思考模式切換。"
|
313
|
+
},
|
296
314
|
"Qwen2-72B-Instruct": {
|
297
315
|
"description": "Qwen2 是 Qwen 模型的最新系列,支持 128k 上下文,對比當前最優的開源模型,Qwen2-72B 在自然語言理解、知識、代碼、數學及多語言等多項能力上均顯著超越當前領先的模型。"
|
298
316
|
},
|
@@ -398,9 +416,6 @@
|
|
398
416
|
"THUDM/glm-4-9b-chat": {
|
399
417
|
"description": "GLM-4 9B 開放源碼版本,為會話應用提供優化後的對話體驗。"
|
400
418
|
},
|
401
|
-
"TeleAI/TeleChat2": {
|
402
|
-
"description": "TeleChat2大模型是由中國電信從0到1自主研發的生成式語義大模型,支持百科問答、代碼生成、長文生成等功能,為用戶提供對話諮詢服務,能夠與用戶進行對話互動,回答問題,協助創作,高效便捷地幫助用戶獲取信息、知識和靈感。模型在幻覺問題、長文生成、邏輯理解等方面均有較出色表現。"
|
403
|
-
},
|
404
419
|
"Vendor-A/Qwen/Qwen2.5-72B-Instruct": {
|
405
420
|
"description": "Qwen2.5-72B-Instruct 是阿里雲發布的最新大語言模型系列之一。該 72B 模型在編碼和數學等領域具有顯著改進的能力。該模型還提供了多語言支持,覆蓋超過 29 種語言,包括中文、英文等。模型在指令跟隨、理解結構化數據以及生成結構化輸出(尤其是 JSON)方面都有顯著提升"
|
406
421
|
},
|
@@ -800,6 +815,12 @@
|
|
800
815
|
"deepseek/deepseek-chat": {
|
801
816
|
"description": "融合通用與代碼能力的全新開源模型,不僅保留了原有 Chat 模型的通用對話能力和 Coder 模型的強大代碼處理能力,還更好地對齊了人類偏好。此外,DeepSeek-V2.5 在寫作任務、指令跟隨等多個方面也實現了大幅提升。"
|
802
817
|
},
|
818
|
+
"deepseek/deepseek-chat-v3-0324": {
|
819
|
+
"description": "DeepSeek V3 是一個 685B 參數的專家混合模型,是 DeepSeek 團隊旗艦聊天模型系列的最新迭代。\n\n它繼承了 [DeepSeek V3](/deepseek/deepseek-chat-v3) 模型,並在各種任務上表現出色。"
|
820
|
+
},
|
821
|
+
"deepseek/deepseek-chat-v3-0324:free": {
|
822
|
+
"description": "DeepSeek V3 是一個 685B 參數的專家混合模型,是 DeepSeek 團隊旗艦聊天模型系列的最新迭代。\n\n它繼承了 [DeepSeek V3](/deepseek/deepseek-chat-v3) 模型,並在各種任務上表現出色。"
|
823
|
+
},
|
803
824
|
"deepseek/deepseek-r1": {
|
804
825
|
"description": "DeepSeek-R1 在僅有極少標註數據的情況下,極大提升了模型推理能力。在輸出最終回答之前,模型會先輸出一段思維鏈內容,以提升最終答案的準確性。"
|
805
826
|
},
|
@@ -851,9 +872,6 @@
|
|
851
872
|
"doubao-1.5-thinking-pro": {
|
852
873
|
"description": "Doubao-1.5全新深度思考模型,在數學、程式設計、科學推理等專業領域及創意寫作等通用任務中表現突出,在AIME 2024、Codeforces、GPQA等多項權威基準上達到或接近業界第一梯隊水平。支持128k上下文窗口,16k輸出。"
|
853
874
|
},
|
854
|
-
"doubao-1.5-thinking-pro-vision": {
|
855
|
-
"description": "Doubao-1.5全新深度思考模型,在數學、程式設計、科學推理等專業領域及創意寫作等通用任務中表現突出,在AIME 2024、Codeforces、GPQA等多項權威基準上達到或接近業界第一梯隊水平。支持128k上下文窗口,16k輸出。"
|
856
|
-
},
|
857
875
|
"doubao-1.5-vision-lite": {
|
858
876
|
"description": "Doubao-1.5-vision-lite 全新升級的多模態大模型,支持任意解析度和極端長寬比圖像識別,增強視覺推理、文檔識別、細節信息理解和指令遵循能力。支持 128k 上下文窗口,輸出長度支持最大 16k tokens。"
|
859
877
|
},
|
@@ -995,9 +1013,6 @@
|
|
995
1013
|
"gemini-2.0-flash-thinking-exp-01-21": {
|
996
1014
|
"description": "Gemini 2.0 Flash Exp 是 Google 最新的實驗性多模態AI模型,擁有下一代特性,卓越的速度,原生工具調用以及多模態生成。"
|
997
1015
|
},
|
998
|
-
"gemini-2.0-pro-exp-02-05": {
|
999
|
-
"description": "Gemini 2.0 Pro Experimental 是 Google 最新的實驗性多模態AI模型,與歷史版本相比有一定的質量提升,特別是對於世界知識、代碼和長上下文。"
|
1000
|
-
},
|
1001
1016
|
"gemini-2.5-flash-preview-04-17": {
|
1002
1017
|
"description": "Gemini 2.5 Flash Preview 是 Google 性價比最高的模型,提供全面的功能。"
|
1003
1018
|
},
|
@@ -1007,6 +1022,9 @@
|
|
1007
1022
|
"gemini-2.5-pro-preview-03-25": {
|
1008
1023
|
"description": "Gemini 2.5 Pro Preview 是 Google 最先進的思維模型,能夠對程式碼、數學和STEM領域的複雜問題進行推理,以及使用長上下文分析大型數據集、程式庫和文檔。"
|
1009
1024
|
},
|
1025
|
+
"gemini-2.5-pro-preview-05-06": {
|
1026
|
+
"description": "Gemini 2.5 Pro Preview 是 Google 最先進的思維模型,能夠對程式碼、數學和 STEM 領域的複雜問題進行推理,以及使用長上下文分析大型數據集、程式庫和文檔。"
|
1027
|
+
},
|
1010
1028
|
"gemma-7b-it": {
|
1011
1029
|
"description": "Gemma 7B 適合中小規模任務處理,兼具成本效益。"
|
1012
1030
|
},
|
@@ -1091,8 +1109,17 @@
|
|
1091
1109
|
"google/gemini-2.0-flash-001": {
|
1092
1110
|
"description": "Gemini 2.0 Flash 提供下一代功能和改進,包括卓越的速度、原生工具使用、多模態生成和1M令牌上下文窗口。"
|
1093
1111
|
},
|
1094
|
-
"google/gemini-2.0-
|
1095
|
-
"description": "Gemini 2.0
|
1112
|
+
"google/gemini-2.0-flash-exp:free": {
|
1113
|
+
"description": "Gemini 2.0 Flash Experimental 是 Google 最新的實驗性多模態 AI 模型,與歷史版本相比有一定的質量提升,特別是對於世界知識、程式碼和長上下文。"
|
1114
|
+
},
|
1115
|
+
"google/gemini-2.5-flash-preview": {
|
1116
|
+
"description": "Gemini 2.5 Flash 是 Google 最先進的主力模型,專為高級推理、編碼、數學和科學任務而設計。它包含內建的「思考」能力,使其能夠提供具有更高準確性和細緻上下文處理的回應。\n\n注意:此模型有兩個變體:思考和非思考。輸出定價根據思考能力是否啟用而有顯著差異。如果您選擇標準變體(不帶「:thinking」後綴),模型將明確避免生成思考令牌。\n\n要利用思考能力並接收思考令牌,您必須選擇「:thinking」變體,這將產生更高的思考輸出定價。\n\n此外,Gemini 2.5 Flash 可通過「推理最大令牌數」參數進行配置,如文檔中所述 (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)。"
|
1117
|
+
},
|
1118
|
+
"google/gemini-2.5-flash-preview:thinking": {
|
1119
|
+
"description": "Gemini 2.5 Flash 是 Google 最先進的主力模型,專為高級推理、編碼、數學和科學任務而設計。它包含內建的「思考」能力,使其能夠提供具有更高準確性和細緻上下文處理的回應。\n\n注意:此模型有兩個變體:思考和非思考。輸出定價根據思考能力是否啟用而有顯著差異。如果您選擇標準變體(不帶「:thinking」後綴),模型將明確避免生成思考令牌。\n\n要利用思考能力並接收思考令牌,您必須選擇「:thinking」變體,這將產生更高的思考輸出定價。\n\n此外,Gemini 2.5 Flash 可通過「推理最大令牌數」參數進行配置,如文檔中所述 (https://openrouter.ai/docs/use-cases/reasoning-tokens#max-tokens-for-reasoning)。"
|
1120
|
+
},
|
1121
|
+
"google/gemini-2.5-pro-preview-03-25": {
|
1122
|
+
"description": "Gemini 2.5 Pro 是 Google 最先進的 AI 模型,專為高級推理、編碼、數學和科學任務而設計。它採用「思考」能力,使其能夠以更高的準確性和細緻的上下文處理來推理回應。Gemini 2.5 Pro 在多個基準測試中取得了頂級性能,包括在 LMArena 排行榜上排名第一,反映了卓越的人類偏好對齊和複雜問題解決能力。"
|
1096
1123
|
},
|
1097
1124
|
"google/gemini-flash-1.5": {
|
1098
1125
|
"description": "Gemini 1.5 Flash 提供了優化後的多模態處理能力,適用於多種複雜任務場景。"
|
@@ -1592,6 +1619,9 @@
|
|
1592
1619
|
"mistral-large-latest": {
|
1593
1620
|
"description": "Mistral Large 是旗艦大模型,擅長多語言任務、複雜推理和代碼生成,是高端應用的理想選擇。"
|
1594
1621
|
},
|
1622
|
+
"mistral-medium-latest": {
|
1623
|
+
"description": "Mistral Medium 3 以 8 倍的成本提供最先進的性能,並從根本上簡化了企業部署。"
|
1624
|
+
},
|
1595
1625
|
"mistral-nemo": {
|
1596
1626
|
"description": "Mistral Nemo 由 Mistral AI 和 NVIDIA 合作推出,是高效性能的 12B 模型。"
|
1597
1627
|
},
|
@@ -1763,8 +1793,8 @@
|
|
1763
1793
|
"qvq-72b-preview": {
|
1764
1794
|
"description": "QVQ模型是由 Qwen 團隊開發的實驗性研究模型,專注於提升視覺推理能力,尤其在數學推理領域。"
|
1765
1795
|
},
|
1766
|
-
"qvq-max": {
|
1767
|
-
"description": "通義千問QVQ視覺推理模型,支持視覺輸入及思維鏈輸出,在數學、程式設計、視覺分析、創作以及通用任務上都表現了更強的能力。"
|
1796
|
+
"qvq-max-latest": {
|
1797
|
+
"description": "通義千問 QVQ 視覺推理模型,支持視覺輸入及思維鏈輸出,在數學、程式設計、視覺分析、創作以及通用任務上都表現了更強的能力。"
|
1768
1798
|
},
|
1769
1799
|
"qwen-coder-plus-latest": {
|
1770
1800
|
"description": "通義千問代碼模型。"
|
@@ -2075,12 +2105,24 @@
|
|
2075
2105
|
"text-embedding-3-small": {
|
2076
2106
|
"description": "高效且經濟的新一代 Embedding 模型,適用於知識檢索、RAG 應用等場景"
|
2077
2107
|
},
|
2108
|
+
"thudm/glm-4-32b": {
|
2109
|
+
"description": "GLM-4-32B-0414 是一個 32B 雙語(中英)開放權重語言模型,針對程式碼生成、函數調用和代理式任務進行了優化。它在 15T 高質量和重推理數據上進行了預訓練,並使用人類偏好對齊、拒絕採樣和強化學習進一步完善。該模型在複雜推理、工件生成和結構化輸出任務方面表現出色,在多個基準測試中達到了與 GPT-4o 和 DeepSeek-V3-0324 相當的性能。"
|
2110
|
+
},
|
2111
|
+
"thudm/glm-4-32b:free": {
|
2112
|
+
"description": "GLM-4-32B-0414 是一個 32B 雙語(中英)開放權重語言模型,針對程式碼生成、函數調用和代理式任務進行了優化。它在 15T 高質量和重推理數據上進行了預訓練,並使用人類偏好對齊、拒絕採樣和強化學習進一步完善。該模型在複雜推理、工件生成和結構化輸出任務方面表現出色,在多個基準測試中達到了與 GPT-4o 和 DeepSeek-V3-0324 相當的性能。"
|
2113
|
+
},
|
2078
2114
|
"thudm/glm-4-9b-chat": {
|
2079
2115
|
"description": "智譜AI發布的GLM-4系列最新一代預訓練模型的開源版本。"
|
2080
2116
|
},
|
2081
2117
|
"thudm/glm-4-9b:free": {
|
2082
2118
|
"description": "GLM-4-9B-0414 是 THUDM 開發的 GLM-4 系列中的 90 億參數語言模型。GLM-4-9B-0414 使用與其較大的 32B 對應模型相同的強化學習和對齊策略進行訓練,相對於其規模實現了高性能,使其適用於仍需要強大語言理解和生成能力的資源受限部署。"
|
2083
2119
|
},
|
2120
|
+
"thudm/glm-z1-32b": {
|
2121
|
+
"description": "GLM-Z1-32B-0414 是 GLM-4-32B 的增強推理變體,專為深度數學、邏輯和面向程式碼的問題解決而構建。它應用擴展強化學習(任務特定和基於通用成對偏好)來提高複雜多步驟任務的性能。與基礎 GLM-4-32B 模型相比,Z1 顯著提升了結構化推理和形式化領域的能力。\n\n該模型支持通過提示工程強制執行「思考」步驟,並為長格式輸出提供改進的連貫性。它針對代理工作流進行了優化,並支持長上下文(通過 YaRN)、JSON 工具調用和用於穩定推理的細粒度採樣配置。非常適合需要深思熟慮、多步驟推理或形式化推導的用例。"
|
2122
|
+
},
|
2123
|
+
"thudm/glm-z1-32b:free": {
|
2124
|
+
"description": "GLM-Z1-32B-0414 是 GLM-4-32B 的增強推理變體,專為深度數學、邏輯和面向程式碼的問題解決而構建。它應用擴展強化學習(任務特定和基於通用成對偏好)來提高複雜多步驟任務的性能。與基礎 GLM-4-32B 模型相比,Z1 顯著提升了結構化推理和形式化領域的能力。\n\n該模型支持通過提示工程強制執行「思考」步驟,並為長格式輸出提供改進的連貫性。它針對代理工作流進行了優化,並支持長上下文(通過 YaRN)、JSON 工具調用和用於穩定推理的細粒度採樣配置。非常適合需要深思熟慮、多步驟推理或形式化推導的用例。"
|
2125
|
+
},
|
2084
2126
|
"thudm/glm-z1-9b:free": {
|
2085
2127
|
"description": "GLM-Z1-9B-0414 是由 THUDM 開發的 GLM-4 系列中的 9B 參數語言模型。它採用了最初應用於更大 GLM-Z1 模型的技術,包括擴展強化學習、成對排名對齊以及對數學、代碼和邏輯等推理密集型任務的訓練。儘管其規模較小,但它在通用推理任務上表現出強大的性能,並在其權重級別中優於許多開源模型。"
|
2086
2128
|
},
|
@@ -29,9 +29,6 @@
|
|
29
29
|
"deepseek": {
|
30
30
|
"description": "DeepSeek 是一家專注於人工智慧技術研究和應用的公司,其最新模型 DeepSeek-V2.5 融合了通用對話和代碼處理能力,並在人類偏好對齊、寫作任務和指令跟隨等方面實現了顯著提升。"
|
31
31
|
},
|
32
|
-
"doubao": {
|
33
|
-
"description": "字節跳動推出的自研大模型。透過字節跳動內部50+業務場景實踐驗證,每日萬億級tokens大使用量持續打磨,提供多種模態能力,以優質模型效果為企業打造豐富的業務體驗。"
|
34
|
-
},
|
35
32
|
"fireworksai": {
|
36
33
|
"description": "Fireworks AI 是一家領先的高級語言模型服務商,專注於功能調用和多模態處理。其最新模型 Firefunction V2 基於 Llama-3,優化用於函數調用、對話及指令跟隨。視覺語言模型 FireLLaVA-13B 支持圖像和文本混合輸入。其他 notable 模型包括 Llama 系列和 Mixtral 系列,提供高效的多語言指令跟隨與生成支持。"
|
37
34
|
},
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lobehub/chat",
|
3
|
-
"version": "1.84.
|
3
|
+
"version": "1.84.25",
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
5
5
|
"keywords": [
|
6
6
|
"framework",
|
@@ -192,39 +192,76 @@ export class ElectronIpcClient {
|
|
192
192
|
|
193
193
|
log('Sending request: %s %o', method, params);
|
194
194
|
return new Promise<T>((resolve, reject) => {
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
195
|
+
const id = Math.random().toString(36).slice(2, 15);
|
196
|
+
const request = { id, method, params };
|
197
|
+
log('Created request with ID: %s', id);
|
198
|
+
|
199
|
+
// eslint-disable-next-line no-undef
|
200
|
+
let requestTimeoutId: NodeJS.Timeout;
|
201
|
+
|
202
|
+
const cleanupAndResolve = (value: T) => {
|
203
|
+
clearTimeout(requestTimeoutId);
|
204
|
+
this.requestQueue.delete(id);
|
205
|
+
resolve(value);
|
206
|
+
};
|
207
|
+
|
208
|
+
const cleanupAndReject = (error: any) => {
|
209
|
+
clearTimeout(requestTimeoutId);
|
210
|
+
this.requestQueue.delete(id);
|
211
|
+
// 保留超时错误的 console.error 日志
|
212
|
+
if (
|
213
|
+
error &&
|
214
|
+
error.message &&
|
215
|
+
typeof error.message === 'string' &&
|
216
|
+
error.message.startsWith('Request timed out')
|
217
|
+
) {
|
208
218
|
console.error('Request timed out, ID: %s, method: %s', id, method);
|
209
|
-
|
210
|
-
|
219
|
+
}
|
220
|
+
reject(error);
|
221
|
+
};
|
222
|
+
|
223
|
+
this.requestQueue.set(id, { reject: cleanupAndReject, resolve: cleanupAndResolve });
|
224
|
+
log('Added request to queue, current queue size: %d', this.requestQueue.size);
|
225
|
+
|
226
|
+
requestTimeoutId = setTimeout(() => {
|
227
|
+
const pendingRequest = this.requestQueue.get(id);
|
228
|
+
if (pendingRequest) {
|
229
|
+
// 请求仍在队列中,表示超时
|
230
|
+
// 调用其专用的 reject处理器 (cleanupAndReject)
|
231
|
+
const errorMsg = `Request timed out, method: ${method}`;
|
232
|
+
// console.error 移至 cleanupAndReject 中处理
|
233
|
+
pendingRequest.reject(new Error(errorMsg));
|
234
|
+
}
|
235
|
+
// 如果 pendingRequest 不存在, 表示请求已被处理,其超时已清除
|
236
|
+
}, 5000);
|
211
237
|
|
238
|
+
try {
|
212
239
|
// 发送请求
|
213
|
-
const requestJson = JSON.stringify(request);
|
240
|
+
const requestJson = JSON.stringify(request) + '\n';
|
214
241
|
log('Writing request to socket, size: %d bytes', requestJson.length);
|
215
242
|
this.socket!.write(requestJson, (err) => {
|
216
243
|
if (err) {
|
217
|
-
|
218
|
-
|
244
|
+
// 写入失败,请求应被视为失败
|
245
|
+
// 调用其 reject 处理器 (cleanupAndReject)
|
246
|
+
const pending = this.requestQueue.get(id);
|
247
|
+
if (pending) {
|
248
|
+
pending.reject(err); // 这会调用 cleanupAndReject
|
249
|
+
} else {
|
250
|
+
// 理论上不应发生,因为写入失败通常很快
|
251
|
+
// 但为安全起见,确保原始 promise 被 reject
|
252
|
+
cleanupAndReject(err);
|
253
|
+
}
|
219
254
|
console.error('Failed to write request to socket: %o', err);
|
220
|
-
reject(err);
|
221
255
|
} else {
|
222
256
|
log('Request successfully written to socket, ID: %s', id);
|
223
257
|
}
|
224
258
|
});
|
225
259
|
} catch (err) {
|
226
|
-
console.error('Error sending request: %o', err);
|
227
|
-
|
260
|
+
console.error('Error sending request (during setup/write phase): %o', err);
|
261
|
+
// 发生在此处的错误意味着请求甚至没有机会进入队列或设置超时
|
262
|
+
// 直接调用 cleanupAndReject 以确保一致性,尽管此时 requestTimeoutId 可能未定义
|
263
|
+
// (clearTimeout(undefined)是安全的)
|
264
|
+
cleanupAndReject(err);
|
228
265
|
}
|
229
266
|
});
|
230
267
|
}
|