@lobehub/chat 1.94.17 → 1.96.0

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/Dockerfile +2 -0
  3. package/Dockerfile.database +2 -0
  4. package/Dockerfile.pglite +2 -0
  5. package/changelog/v1.json +21 -0
  6. package/docs/self-hosting/advanced/online-search.mdx +123 -5
  7. package/docs/self-hosting/advanced/online-search.zh-CN.mdx +123 -4
  8. package/locales/ar/setting.json +1 -1
  9. package/locales/bg-BG/setting.json +1 -1
  10. package/locales/de-DE/setting.json +1 -1
  11. package/locales/en-US/setting.json +1 -1
  12. package/locales/es-ES/setting.json +1 -1
  13. package/locales/fa-IR/setting.json +1 -1
  14. package/locales/fr-FR/setting.json +1 -1
  15. package/locales/it-IT/setting.json +1 -1
  16. package/locales/ja-JP/setting.json +1 -1
  17. package/locales/ko-KR/setting.json +1 -1
  18. package/locales/nl-NL/setting.json +1 -1
  19. package/locales/pl-PL/setting.json +1 -1
  20. package/locales/pt-BR/setting.json +1 -1
  21. package/locales/ru-RU/setting.json +1 -1
  22. package/locales/tr-TR/setting.json +1 -1
  23. package/locales/vi-VN/setting.json +1 -1
  24. package/locales/zh-CN/setting.json +1 -1
  25. package/locales/zh-TW/setting.json +1 -1
  26. package/package.json +1 -1
  27. package/src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx +2 -0
  28. package/src/config/aiModels/index.ts +3 -0
  29. package/src/config/aiModels/v0.ts +63 -0
  30. package/src/config/llm.ts +6 -0
  31. package/src/config/modelProviders/index.ts +4 -0
  32. package/src/config/modelProviders/v0.ts +17 -0
  33. package/src/libs/model-runtime/runtimeMap.ts +2 -0
  34. package/src/libs/model-runtime/types/type.ts +1 -0
  35. package/src/libs/model-runtime/utils/modelParse.ts +6 -0
  36. package/src/libs/model-runtime/v0/index.ts +21 -0
  37. package/src/locales/default/setting.ts +1 -1
  38. package/src/server/services/search/impls/anspire/index.ts +132 -0
  39. package/src/server/services/search/impls/anspire/type.ts +21 -0
  40. package/src/server/services/search/impls/brave/index.ts +129 -0
  41. package/src/server/services/search/impls/brave/type.ts +58 -0
  42. package/src/server/services/search/impls/google/index.ts +129 -0
  43. package/src/server/services/search/impls/google/type.ts +53 -0
  44. package/src/server/services/search/impls/index.ts +24 -0
  45. package/src/server/services/search/impls/kagi/index.ts +111 -0
  46. package/src/server/services/search/impls/kagi/type.ts +24 -0
  47. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +25 -3
  48. package/src/types/user/settings/keyVaults.ts +1 -0
  49. package/src/utils/client/parserPlaceholder.test.ts +0 -21
  50. package/src/utils/client/parserPlaceholder.ts +2 -15
package/CHANGELOG.md CHANGED
@@ -2,6 +2,64 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 1.96.0](https://github.com/lobehub/lobe-chat/compare/v1.95.0...v1.96.0)
6
+
7
+ <sup>Released on **2025-06-20**</sup>
8
+
9
+ #### ✨ Features
10
+
11
+ - **misc**: Add v0 (Vercel) provider support.
12
+
13
+ #### 🐛 Bug Fixes
14
+
15
+ - **misc**: Fix inputTemplate behavior.
16
+
17
+ <br/>
18
+
19
+ <details>
20
+ <summary><kbd>Improvements and Fixes</kbd></summary>
21
+
22
+ #### What's improved
23
+
24
+ - **misc**: Add v0 (Vercel) provider support, closes [#8235](https://github.com/lobehub/lobe-chat/issues/8235) ([5842a18](https://github.com/lobehub/lobe-chat/commit/5842a18))
25
+
26
+ #### What's fixed
27
+
28
+ - **misc**: Fix inputTemplate behavior, closes [#8204](https://github.com/lobehub/lobe-chat/issues/8204) ([61c2c3c](https://github.com/lobehub/lobe-chat/commit/61c2c3c))
29
+
30
+ </details>
31
+
32
+ <div align="right">
33
+
34
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
35
+
36
+ </div>
37
+
38
+ ## [Version 1.95.0](https://github.com/lobehub/lobe-chat/compare/v1.94.17...v1.95.0)
39
+
40
+ <sup>Released on **2025-06-20**</sup>
41
+
42
+ #### ✨ Features
43
+
44
+ - **misc**: Add Brave & Google PSE & Kagi as build-in Search Provider.
45
+
46
+ <br/>
47
+
48
+ <details>
49
+ <summary><kbd>Improvements and Fixes</kbd></summary>
50
+
51
+ #### What's improved
52
+
53
+ - **misc**: Add Brave & Google PSE & Kagi as build-in Search Provider, closes [#8172](https://github.com/lobehub/lobe-chat/issues/8172) ([16ae521](https://github.com/lobehub/lobe-chat/commit/16ae521))
54
+
55
+ </details>
56
+
57
+ <div align="right">
58
+
59
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
60
+
61
+ </div>
62
+
5
63
  ### [Version 1.94.17](https://github.com/lobehub/lobe-chat/compare/v1.94.16...v1.94.17)
6
64
 
7
65
  <sup>Released on **2025-06-20**</sup>
package/Dockerfile CHANGED
@@ -226,6 +226,8 @@ ENV \
226
226
  TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
227
227
  # Upstage
228
228
  UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
229
+ # v0 (Vercel)
230
+ V0_API_KEY="" V0_MODEL_LIST="" \
229
231
  # vLLM
230
232
  VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
231
233
  # Wenxin
@@ -270,6 +270,8 @@ ENV \
270
270
  TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
271
271
  # Upstage
272
272
  UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
273
+ # v0 (Vercel)
274
+ V0_API_KEY="" V0_MODEL_LIST="" \
273
275
  # vLLM
274
276
  VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
275
277
  # Wenxin
package/Dockerfile.pglite CHANGED
@@ -224,6 +224,8 @@ ENV \
224
224
  TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
225
225
  # Upstage
226
226
  UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
227
+ # v0 (Vercel)
228
+ V0_API_KEY="" V0_MODEL_LIST="" \
227
229
  # vLLM
228
230
  VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
229
231
  # Wenxin
package/changelog/v1.json CHANGED
@@ -1,4 +1,25 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "features": [
5
+ "Add v0 (Vercel) provider support."
6
+ ],
7
+ "fixes": [
8
+ "Fix inputTemplate behavior."
9
+ ]
10
+ },
11
+ "date": "2025-06-20",
12
+ "version": "1.96.0"
13
+ },
14
+ {
15
+ "children": {
16
+ "features": [
17
+ "Add Brave & Google PSE & Kagi as build-in Search Provider."
18
+ ]
19
+ },
20
+ "date": "2025-06-20",
21
+ "version": "1.95.0"
22
+ },
2
23
  {
3
24
  "children": {
4
25
  "improvements": [
@@ -14,16 +14,134 @@ tags:
14
14
 
15
15
  # Configuring Online Search Functionality
16
16
 
17
- LobeChat supports configuring online search functionality for AI, allowing it to access the latest web information and provide more accurate and timely responses. The online search feature is based on the [SearXNG](https://github.com/searxng/searxng) search engine, which is a privacy-respecting metasearch engine that aggregates results from multiple search engines.
17
+ LobeChat supports configuring **web search functionality** for AI, enabling it to retrieve real-time information from the internet to provide more accurate and up-to-date responses. Web search supports multiple search engine providers, including [SearXNG](https://github.com/searxng/searxng), [Search1API](https://www.search1api.com), [Google](https://programmablesearchengine.google.com), and [Brave](https://brave.com/search/api), among others.
18
18
 
19
- <Callout type={'info'}>
20
- SearXNG is an open-source metasearch engine that can be self-hosted or accessed via public
21
- instances. By configuring SearXNG, LobeChat enables AI to retrieve the latest internet
22
- information, allowing it to answer time-sensitive questions and provide up-to-date news.
19
+ <Callout type="info">
20
+ Web search allows AI to access time-sensitive content, such as the latest news, technology trends, or product information. You can deploy the open-source SearXNG yourself, or choose to integrate mainstream search services like Search1API, Google, Brave, etc., combining them freely based on your use case.
23
21
  </Callout>
24
22
 
23
+ By setting the search service environment variable `SEARCH_PROVIDERS` and the corresponding API Keys, LobeChat will query multiple sources and return the results. You can also configure crawler service environment variables such as `CRAWLER_IMPLS` (e.g., `browserless`, `firecrawl`, `tavily`, etc.) to extract webpage content, enhancing the capability of search + reading.
24
+
25
25
  # Core Environment Variables
26
26
 
27
+ ## `CRAWLER_IMPLS`
28
+
29
+ Configure available web crawlers for structured extraction of webpage content.
30
+
31
+ ```env
32
+ CRAWLER_IMPLS="native,search1api"
33
+ ```
34
+
35
+ Supported crawler types are listed below:
36
+
37
+ | Value | Description | Environment Variable |
38
+ | ------------- | ------------------------------------------------------------------------------------------------------------------- | -------------------------- |
39
+ | `browserless` | Headless browser crawler based on [Browserless](https://www.browserless.io/), suitable for rendering complex pages. | `BROWSERLESS_TOKEN` |
40
+ | `exa` | Crawler capabilities provided by [Exa](https://exa.ai/), API required. | `EXA_API_KEY` |
41
+ | `firecrawl` | [Firecrawl](https://firecrawl.dev/) headless browser API, ideal for modern websites. | `FIRECRAWL_API_KEY` |
42
+ | `jina` | Crawler service from [Jina AI](https://jina.ai/), supports fast content summarization. | `JINA_READER_API_KEY` |
43
+ | `native` | Built-in general-purpose crawler for standard web structures. | |
44
+ | `search1api` | Page crawling capabilities from [Search1API](https://www.search1api.com), great for structured content extraction. | `SEARCH1API_CRAWL_API_KEY` |
45
+ | `tavily` | Web scraping and summarization API from [Tavily](https://www.tavily.com/). | `TAVILY_API_KEY` |
46
+
47
+ > 💡 Setting multiple crawlers increases success rate; the system will try different ones based on priority.
48
+
49
+ ---
50
+
51
+ ## `SEARCH_PROVIDERS`
52
+
53
+ Configure which search engine providers to use for web search.
54
+
55
+ ```env
56
+ SEARCH_PROVIDERS="searxng"
57
+ ```
58
+
59
+ Supported search engines include:
60
+
61
+ | Value | Description | Environment Variable |
62
+ | ------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------- |
63
+ | `anspire` | Search service provided by [Anspire](https://anspire.ai/). | `ANSPIRE_API_KEY` |
64
+ | `bocha` | Search service from [Bocha](https://open.bochaai.com/). | `BOCHA_API_KEY` |
65
+ | `brave` | [Brave](https://search.brave.com/help/api), a privacy-friendly search source. | `BRAVE_API_KEY` |
66
+ | `exa` | [Exa](https://exa.ai/), a search API designed for AI. | `EXA_API_KEY` |
67
+ | `firecrawl` | Search capabilities via [Firecrawl](https://firecrawl.dev/). | `FIRECRAWL_API_KEY` |
68
+ | `google` | Uses [Google Programmable Search Engine](https://programmablesearchengine.google.com/). | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
69
+ | `jina` | Semantic search provided by [Jina AI](https://jina.ai/). | `JINA_READER_API_KEY` |
70
+ | `kagi` | Premium search API by [Kagi](https://kagi.com/), requires a subscription key. | `KAGI_API_KEY` |
71
+ | `search1api` | Aggregated search capabilities from [Search1API](https://www.search1api.com). | `SEARCH1API_CRAWL_API_KEY` |
72
+ | `searxng` | Use a self-hosted or public [SearXNG](https://searx.space/) instance. | `SEARXNG_URL` |
73
+ | `tavily` | [Tavily](https://www.tavily.com/), offers fast web summaries and answers. | `TAVILY_API_KEY` |
74
+
75
+ > ⚠️ Some search providers require you to apply for an API Key and configure it in your `.env` file.
76
+
77
+ ---
78
+
79
+ ## `BROWSERLESS_URL`
80
+
81
+ Specifies the API endpoint for [Browserless](https://www.browserless.io/), used for web crawling tasks. Browserless is a browser automation platform based on Headless Chrome, ideal for rendering dynamic pages.
82
+
83
+ ```env
84
+ BROWSERLESS_URL=https://chrome.browserless.io
85
+ ```
86
+
87
+ > 📌 Usually used together with `CRAWLER_IMPLS=browserless`.
88
+
89
+ ---
90
+
91
+ ## `GOOGLE_PSE_ENGINE_ID`
92
+
93
+ Configure the Search Engine ID for Google Programmable Search Engine (Google PSE), used to restrict the search scope. Must be used alongside `GOOGLE_PSE_API_KEY`.
94
+
95
+ ```env
96
+ GOOGLE_PSE_ENGINE_ID=your-google-cx-id
97
+ ```
98
+
99
+ > 🔑 How to get it: Visit [programmablesearchengine.google.com](https://programmablesearchengine.google.com/), create a search engine, and obtain the `cx` parameter.
100
+
101
+ ---
102
+
103
+ ## `FIRECRAWL_URL`
104
+
105
+ Sets the access URL for the [Firecrawl](https://firecrawl.dev/) API, used for web content scraping. Default value:
106
+
107
+ ```env
108
+ FIRECRAWL_URL=https://api.firecrawl.dev/v1
109
+ ```
110
+
111
+ > ⚙️ Usually does not need to be changed unless you’re using a self-hosted version or a proxy service.
112
+
113
+ ---
114
+
115
+ ## `TAVILY_SEARCH_DEPTH`
116
+
117
+ Configure the result depth for [Tavily](https://www.tavily.com/) searches.
118
+
119
+ ```env
120
+ TAVILY_SEARCH_DEPTH=basic
121
+ ```
122
+
123
+ Supported values:
124
+
125
+ * `basic`: Fast search, returns brief results;
126
+ * `advanced`: Deep search, returns more context and web page details.
127
+
128
+ ---
129
+
130
+ ## `TAVILY_EXTRACT_DEPTH`
131
+
132
+ Configure how deeply Tavily extracts content from web pages.
133
+
134
+ ```env
135
+ TAVILY_EXTRACT_DEPTH=basic
136
+ ```
137
+
138
+ Supported values:
139
+
140
+ * `basic`: Extracts basic info like title and content summary;
141
+ * `advanced`: Extracts structured data, lists, charts, and more from web pages.
142
+
143
+ ---
144
+
27
145
  ## `SEARXNG_URL`
28
146
 
29
147
  The URL of the SearXNG instance, which is a necessary configuration to enable the online search functionality. For example:
@@ -10,15 +10,134 @@ tags:
10
10
 
11
11
  # 配置联网搜索功能
12
12
 
13
- LobeChat 支持为 AI 配置联网搜索功能,这使得 AI 能够获取最新的网络信息,从而提供更准确、更及时的回答。联网搜索功能基于 [SearXNG](https://github.com/searxng/searxng) 搜索引擎,它是一个尊重隐私的元搜索引擎,可以聚合多个搜索引擎的结果。
13
+ LobeChat 支持为 AI 配置**联网搜索功能**,使其能够实时获取互联网信息,从而提供更准确、最新的回答。联网搜索支持多个搜索引擎提供商,包括 [SearXNG](https://github.com/searxng/searxng)、[Search1API](https://www.search1api.com)、[Google](https://programmablesearchengine.google.com)、[Brave](https://brave.com/search/api) 等。
14
14
 
15
- <Callout type={'info'}>
16
- SearXNG 是一个开源的元搜索引擎,可以自行部署,也可以使用公共实例。通过配置 SearXNG,LobeChat
17
- 可以让 AI 获取最新的互联网信息,从而回答时效性问题、提供最新资讯。
15
+ <Callout type="info">
16
+ 联网搜索可以让 AI 获取时效性内容,如最新新闻、技术动态或产品信息。你可以使用开源的 SearXNG 自行部署,也可以选择集成主流搜索引擎服务,如 Search1API、Google、Brave 等,根据你的使用场景自由组合。
18
17
  </Callout>
19
18
 
19
+ 通过设置搜索服务环境变量 `SEARCH_PROVIDERS` 和对应的 API Key,LobeChat 将在多个搜索源中查询并返回结果。你还可以搭配配置爬虫服务环境变量 `CRAWLER_IMPLS`(如 `browserless`、`firecrawl`、`tavily` 等)以提取网页内容,实现搜索+阅读的增强能力。
20
+
20
21
  # 核心环境变量
21
22
 
23
+ ## `CRAWLER_IMPLS`
24
+
25
+ 配置可用的网页爬虫,用于对网页进行结构化内容提取。
26
+
27
+ ```env
28
+ CRAWLER_IMPLS="native,search1api"
29
+ ```
30
+
31
+ 支持的爬虫类型如下:
32
+
33
+ | 值 | 说明 | 环境变量 |
34
+ | ------------- | -------------------------------------------------------------------------------------- | -------------------------- |
35
+ | `browserless` | 基于 [Browserless](https://www.browserless.io/) 的无头浏览器爬虫,适合渲染复杂页面。 | `BROWSERLESS_TOKEN` |
36
+ | `exa` | 使用 [Exa](https://exa.ai/) 提供的爬虫能力,需申请 API。 | `EXA_API_KEY` |
37
+ | `firecrawl` | [Firecrawl](https://firecrawl.dev/) 无头浏览器 API,适合现代网站抓取。 | `FIRECRAWL_API_KEY` |
38
+ | `jina` | 使用 [Jina AI](https://jina.ai/) 的爬虫服务,支持快速提取摘要信息。 | `JINA_READER_API_KEY` |
39
+ | `native` | 内置通用爬虫,适用于标准网页结构。 | |
40
+ | `search1api` | 利用 [Search1API](https://www.search1api.com) 提供的页面抓取能力,适合结构化内容提取。 | `SEARCH1API_CRAWL_API_KEY` |
41
+ | `tavily` | 使用 [Tavily](https://www.tavily.com/) 的网页抓取与摘要 API。 | `TAVILY_API_KEY` |
42
+
43
+ > 💡 设置多个爬虫可提升成功率,系统将根据优先级尝试不同爬虫。
44
+
45
+ ---
46
+
47
+ ## `SEARCH_PROVIDERS`
48
+
49
+ 配置联网搜索使用的搜索引擎提供商。
50
+
51
+ ```env
52
+ SEARCH_PROVIDERS="searxng"
53
+ ```
54
+
55
+ 支持的搜索引擎如下:
56
+
57
+ | 值 | 说明 | 环境变量 |
58
+ | ------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------- |
59
+ | `anspire` | 基于 [Anspire(安思派)](https://anspire.ai/) 提供的搜索服务。 | `ANSPIRE_API_KEY` |
60
+ | `bocha` | 基于 [Bocha(博查)](https://open.bochaai.com/) 提供的搜索服务。 | `BOCHA_API_KEY` |
61
+ | `brave` | [Brave](https://search.brave.com/help/api),隐私友好的搜索源。 | `BRAVE_API_KEY` |
62
+ | `exa` | [Exa](https://exa.ai/),面向 AI 的搜索 API。 | `EXA_API_KEY` |
63
+ | `firecrawl` | 支持 [Firecrawl](https://firecrawl.dev/) 提供的搜索服务。 | `FIRECRAWL_API_KEY` |
64
+ | `google` | 使用 [Google Programmable Search Engine](https://programmablesearchengine.google.com/)。 | `GOOGLE_PSE_API_KEY` `GOOGLE_PSE_ENGINE_ID` |
65
+ | `jina` | 使用 [Jina AI](https://jina.ai/) 提供的语义搜索服务。 | `JINA_READER_API_KEY` |
66
+ | `kagi` | [Kagi](https://kagi.com/) 提供的高级搜索 API,需订阅 Key。 | `KAGI_API_KEY` |
67
+ | `search1api` | 使用 [Search1API](https://www.search1api.com) 聚合搜索能力。 | `SEARCH1API_CRAWL_API_KEY` |
68
+ | `searxng` | 使用自托管或公共 [SearXNG](https://searx.space/) 实例。 | `SEARXNG_URL` |
69
+ | `tavily` | [Tavily](https://www.tavily.com/),快速网页摘要与答案返回。 | `TAVILY_API_KEY` |
70
+
71
+ > ⚠️ 某些搜索提供商需要单独申请 API Key,并在 `.env` 中配置相关凭证。
72
+
73
+ ---
74
+
75
+ ## `BROWSERLESS_URL`
76
+
77
+ 指定 [Browserless](https://www.browserless.io/) 服务的 API 地址,用于执行网页爬取任务。Browserless 是一个基于无头浏览器(Headless Chrome)的浏览器自动化平台,适合处理需要渲染的动态页面。
78
+
79
+ ```env
80
+ BROWSERLESS_URL=https://chrome.browserless.io
81
+ ```
82
+
83
+ > 📌 通常需要搭配 `CRAWLER_IMPLS=browserless` 启用。
84
+
85
+ ---
86
+
87
+ ## `GOOGLE_PSE_ENGINE_ID`
88
+
89
+ 配置 Google Programmable Search Engine(Google PSE)的搜索引擎 ID,用于限定搜索范围。需配合 `GOOGLE_PSE_API_KEY` 一起使用。
90
+
91
+ ```env
92
+ GOOGLE_PSE_ENGINE_ID=your-google-cx-id
93
+ ```
94
+
95
+ > 🔑 获取方式:访问 [programmablesearchengine.google.com](https://programmablesearchengine.google.com/),创建搜索引擎后获取 `cx` 参数值。
96
+
97
+ ---
98
+
99
+ ## `FIRECRAWL_URL`
100
+
101
+ 设置 [Firecrawl](https://firecrawl.dev/) API 的访问地址。用于网页内容抓取,默认值如下:
102
+
103
+ ```env
104
+ FIRECRAWL_URL=https://api.firecrawl.dev/v1
105
+ ```
106
+
107
+ > ⚙️ 一般无需修改,除非你使用的是自托管版本或代理服务。
108
+
109
+ ---
110
+
111
+ ## `TAVILY_SEARCH_DEPTH`
112
+
113
+ 配置 [Tavily](https://www.tavily.com/) 搜索的结果深度。
114
+
115
+ ```env
116
+ TAVILY_SEARCH_DEPTH=basic
117
+ ```
118
+
119
+ 支持的值:
120
+
121
+ * `basic`: 快速搜索,返回简要结果;
122
+ * `advanced`: 深度搜索,返回更多上下文和网页信息。
123
+
124
+ ---
125
+
126
+ ## `TAVILY_EXTRACT_DEPTH`
127
+
128
+ 配置 Tavily 在抓取网页内容时的提取深度。
129
+
130
+ ```env
131
+ TAVILY_EXTRACT_DEPTH=basic
132
+ ```
133
+
134
+ 支持的值:
135
+
136
+ * `basic`: 提取标题、正文摘要等基础信息;
137
+ * `advanced`: 提取网页的结构化信息、列表、图表等更多内容。
138
+
139
+ ---
140
+
22
141
  ## `SEARXNG_URL`
23
142
 
24
143
  SearXNG 实例的 URL 地址,这是启用联网搜索功能的必要配置。例如:
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "سيتم ملء أحدث رسالة من المستخدم في هذا القالب",
223
- "placeholder": "القالب المُعالج مسبقًا {{input_template}} سيتم استبداله بالمعلومات المُدخلة في الوقت الحقيقي",
223
+ "placeholder": "القالب المُعالج مسبقًا {{text}} سيتم استبداله بالمعلومات المُدخلة في الوقت الحقيقي",
224
224
  "title": "معالجة مُدخلات المستخدم"
225
225
  },
226
226
  "submit": "تحديث تفضيلات الدردشة",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Последното съобщение на потребителя ще бъде попълнено в този шаблон",
223
- "placeholder": "Шаблонът за предварителна обработка {{input_template}} ще бъде заменен с информация за въвеждане в реално време",
223
+ "placeholder": "Шаблонът за предварителна обработка {{text}} ще бъде заменен с информация за въвеждане в реално време",
224
224
  "title": "Предварителна обработка на потребителския вход"
225
225
  },
226
226
  "submit": "Актуализиране на предпочитанията за чат",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Die neueste Benutzernachricht wird in dieses Template eingefügt",
223
- "placeholder": "Vorlagen-{{input_template}} werden durch Echtzeit-Eingabeinformationen ersetzt",
223
+ "placeholder": "Vorlagen-{{text}} werden durch Echtzeit-Eingabeinformationen ersetzt",
224
224
  "title": "Benutzereingabe-Vorverarbeitung"
225
225
  },
226
226
  "submit": "Chat-Präferenzen aktualisieren",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "The user's latest message will be filled into this template",
223
- "placeholder": "Preprocessing template {{input_template}} will be replaced with real-time input information",
223
+ "placeholder": "Preprocessing template {{text}} will be replaced with real-time input information",
224
224
  "title": "User Input Preprocessing"
225
225
  },
226
226
  "submit": "Update Chat Preferences",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "El último mensaje del usuario se completará en esta plantilla",
223
- "placeholder": "La plantilla de preprocesamiento {{input_template}} se reemplazará por la información de entrada en tiempo real",
223
+ "placeholder": "La plantilla de preprocesamiento {{text}} se reemplazará por la información de entrada en tiempo real",
224
224
  "title": "Preprocesamiento de entrada del usuario"
225
225
  },
226
226
  "submit": "Actualizar preferencias de chat",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "آخرین پیام کاربر در این قالب پر می‌شود",
223
- "placeholder": "قالب پیش‌پردازش {{input_template}} با اطلاعات ورودی لحظه‌ای جایگزین می‌شود",
223
+ "placeholder": "قالب پیش‌پردازش {{text}} با اطلاعات ورودی لحظه‌ای جایگزین می‌شود",
224
224
  "title": "پیش‌پردازش ورودی کاربر"
225
225
  },
226
226
  "submit": "به‌روزرسانی ترجیحات چت",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Le dernier message de l'utilisateur sera rempli dans ce modèle",
223
- "placeholder": "Le modèle de prétraitement {{input_template}} sera remplacé par les informations d'entrée en temps réel",
223
+ "placeholder": "Le modèle de prétraitement {{text}} sera remplacé par les informations d'entrée en temps réel",
224
224
  "title": "Modèle de prétraitement de l'entrée utilisateur"
225
225
  },
226
226
  "submit": "Mettre à jour les préférences de chat",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Il template verrà popolato con l'ultimo messaggio dell'utente",
223
- "placeholder": "Il modello di input {{input_template}} verrà sostituito con le informazioni in tempo reale",
223
+ "placeholder": "Il modello di input {{text}} verrà sostituito con le informazioni in tempo reale",
224
224
  "title": "Pre-elaborazione dell'input dell'utente"
225
225
  },
226
226
  "submit": "Aggiorna preferenze chat",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "ユーザーの最新メッセージがこのテンプレートに埋め込まれます",
223
- "placeholder": "入力テンプレート {{input_template}} はリアルタイムの入力情報に置き換えられます",
223
+ "placeholder": "入力テンプレート {{text}} はリアルタイムの入力情報に置き換えられます",
224
224
  "title": "ユーザー入力のプリプロセス"
225
225
  },
226
226
  "submit": "チャットの好みを更新",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "사용자의 최신 메시지가이 템플릿에 채워집니다",
223
- "placeholder": "입력 템플릿 {{input_template}}은 실시간 입력 정보로 대체됩니다",
223
+ "placeholder": "입력 템플릿 {{text}}은 실시간 입력 정보로 대체됩니다",
224
224
  "title": "사용자 입력 전처리"
225
225
  },
226
226
  "submit": "채팅 선호도 업데이트",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "De meest recente gebruikersboodschap wordt ingevuld in dit sjabloon",
223
- "placeholder": "Voorbewerkingssjabloon {{input_template}} wordt vervangen door realtime invoer",
223
+ "placeholder": "Voorbewerkingssjabloon {{text}} wordt vervangen door realtime invoer",
224
224
  "title": "Voorbewerking van gebruikersinvoer"
225
225
  },
226
226
  "submit": "Chatvoorkeuren bijwerken",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Ostatnia wiadomość użytkownika zostanie wypełniona w tym szablonie",
223
- "placeholder": "Szablon wejściowy {{input_template}} zostanie zastąpiony rzeczywistą wiadomością",
223
+ "placeholder": "Szablon wejściowy {{text}} zostanie zastąpiony rzeczywistą wiadomością",
224
224
  "title": "Szablon wejściowy"
225
225
  },
226
226
  "submit": "Zaktualizuj preferencje czatu",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "A última mensagem do usuário será preenchida neste modelo",
223
- "placeholder": "O modelo de pré-processamento {{input_template}} será substituído pela entrada em tempo real",
223
+ "placeholder": "O modelo de pré-processamento {{text}} será substituído pela entrada em tempo real",
224
224
  "title": "Pré-processamento de entrada do usuário"
225
225
  },
226
226
  "submit": "Atualizar preferências de chat",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Последнее сообщение пользователя будет использовано в этом шаблоне",
223
- "placeholder": "Шаблон ввода {{input_template}} будет заменен на реальные данные",
223
+ "placeholder": "Шаблон ввода {{text}} будет заменен на реальные данные",
224
224
  "title": "Шаблон ввода пользователя"
225
225
  },
226
226
  "submit": "Обновить предпочтения чата",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Kullanıcının son mesajı bu şablona doldurulur",
223
- "placeholder": "Ön işleme şablonu {{input_template}}, gerçek zamanlı giriş bilgileri ile değiştirilir",
223
+ "placeholder": "Ön işleme şablonu {{text}}, gerçek zamanlı giriş bilgileri ile değiştirilir",
224
224
  "title": "Kullanıcı Girişi Ön İşleme"
225
225
  },
226
226
  "submit": "Sohbet tercihlerini güncelle",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "Tin nhắn mới nhất của người dùng sẽ được điền vào mẫu này",
223
- "placeholder": "Mẫu xử lý trước {{input_template}} sẽ được thay thế bằng thông tin nhập thời gian thực",
223
+ "placeholder": "Mẫu xử lý trước {{text}} sẽ được thay thế bằng thông tin nhập thời gian thực",
224
224
  "title": "Mẫu xử lý đầu vào của người dùng"
225
225
  },
226
226
  "submit": "Cập nhật sở thích trò chuyện",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "用户最新的一条消息会填充到此模板",
223
- "placeholder": "预处理模版 {{input_template}} 将替换为实时输入信息",
223
+ "placeholder": "预处理模版 {{text}} 将替换为实时输入信息",
224
224
  "title": "用户输入预处理"
225
225
  },
226
226
  "submit": "更新聊天偏好",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "inputTemplate": {
222
222
  "desc": "使用者最新的一條訊息會填充到此模板",
223
- "placeholder": "預處理模板 {{input_template}} 將替換為實時輸入資訊",
223
+ "placeholder": "預處理模板 {{text}} 將替換為實時輸入資訊",
224
224
  "title": "使用者輸入預處理"
225
225
  },
226
226
  "submit": "更新聊天偏好",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.94.17",
3
+ "version": "1.96.0",
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",
@@ -35,6 +35,7 @@ import {
35
35
  TaichuProviderCard,
36
36
  TogetherAIProviderCard,
37
37
  UpstageProviderCard,
38
+ V0ProviderCard,
38
39
  VLLMProviderCard,
39
40
  WenxinProviderCard,
40
41
  XAIProviderCard,
@@ -90,6 +91,7 @@ export const useProviderList = (): ProviderItem[] => {
90
91
  SambaNovaProviderCard,
91
92
  Search1APIProviderCard,
92
93
  CohereProviderCard,
94
+ V0ProviderCard,
93
95
  QiniuProviderCard,
94
96
  QwenProviderCard,
95
97
  WenxinProviderCard,
@@ -45,6 +45,7 @@ import { default as taichu } from './taichu';
45
45
  import { default as tencentcloud } from './tencentcloud';
46
46
  import { default as togetherai } from './togetherai';
47
47
  import { default as upstage } from './upstage';
48
+ import { default as v0 } from './v0';
48
49
  import { default as vertexai } from './vertexai';
49
50
  import { default as vllm } from './vllm';
50
51
  import { default as volcengine } from './volcengine';
@@ -119,6 +120,7 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
119
120
  tencentcloud,
120
121
  togetherai,
121
122
  upstage,
123
+ v0,
122
124
  vertexai,
123
125
  vllm,
124
126
  volcengine,
@@ -174,6 +176,7 @@ export { default as taichu } from './taichu';
174
176
  export { default as tencentcloud } from './tencentcloud';
175
177
  export { default as togetherai } from './togetherai';
176
178
  export { default as upstage } from './upstage';
179
+ export { default as v0 } from './v0';
177
180
  export { default as vertexai } from './vertexai';
178
181
  export { default as vllm } from './vllm';
179
182
  export { default as volcengine } from './volcengine';