Compare commits

...

2206 Commits

Author SHA1 Message Date
arvinxx 1eaf28e498 clean deps 2025-09-25 22:11:01 +02:00
arvinxx 5bfb876340 improve code 2025-09-25 22:10:45 +02:00
Arvin Xu 273e0277d1 🔨 chore: pre-merge group chat relative implement (#9432)
* pre-merge code

* fix tests

* fix circular

* remove redirectUri

* fix types

* improve sql

* fix docs

* fix lint

* update model runtime
2025-09-26 03:47:25 +08:00
lobehubbot 4fb18ac6a8 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-25 19:45:50 +00:00
semantic-release-bot 74c8ef2686 🔖 chore(release): v1.132.15 [skip ci]
### [Version 1.132.15](https://github.com/lobehub/lobe-chat/compare/v1.132.14...v1.132.15)
<sup>Released on **2025-09-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Add proxyUrl configuration for NEW API provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add proxyUrl configuration for NEW API provider, closes [#9426](https://github.com/lobehub/lobe-chat/issues/9426) [#9420](https://github.com/lobehub/lobe-chat/issues/9420) ([e35e378](https://github.com/lobehub/lobe-chat/commit/e35e378))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-25 19:44:50 +00:00
Maple Gao e35e3787c0 🐛 fix: add proxyUrl configuration for NEW API provider (#9426)
This fixes the missing API URL configuration field in the NEW API provider settings UI.

The showEndpoint logic requires either proxyUrl or isCustom to be true for the
configuration field to be displayed. Since NEW API is a built-in provider
(not custom), it needs the proxyUrl field defined in its configuration.

This enables users to configure the API endpoint through the UI as originally
intended, while maintaining compatibility with existing NEWAPI_PROXY_URL
environment variable configuration.

Closes #9420
2025-09-26 03:34:18 +08:00
lobehubbot c0e5a1d6e3 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-25 19:25:45 +00:00
semantic-release-bot abba6a9eff 🔖 chore(release): v1.132.14 [skip ci]
### [Version&nbsp;1.132.14](https://github.com/lobehub/lobe-chat/compare/v1.132.13...v1.132.14)
<sup>Released on **2025-09-25**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9413](https://github.com/lobehub/lobe-chat/issues/9413) ([4ea45b1](https://github.com/lobehub/lobe-chat/commit/4ea45b1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-25 19:24:40 +00:00
LobeHub Bot 4ea45b18d0 🤖 style: update i18n (#9413)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-26 03:14:36 +08:00
Guanyu Zhang a21e71833b 📝 docs: add missing environment variables in online-search docs (#9424)
docs: add missing environment variables in online-search docs (en & zh-CN)

Co-authored-by: evan <evancodeforfun@gmail.com>
2025-09-26 03:12:02 +08:00
peerless-hero dd9bbdc362 🔨 chore(config): add assetPrefix to nextConfig for environment variable support (#9427)
*  feat(config): add assetPrefix to nextConfig for environment variable support

*  feat(docs): add NEXT_PUBLIC_ASSET_PREFIX environment variable for CDN support
2025-09-26 02:57:18 +08:00
lobehubbot 1a443e8d8a 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-25 08:15:27 +00:00
semantic-release-bot 4a00672f9b 🔖 chore(release): v1.132.13 [skip ci]
### [Version&nbsp;1.132.13](https://github.com/lobehub/lobe-chat/compare/v1.132.12...v1.132.13)
<sup>Released on **2025-09-25**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-25 08:14:27 +00:00
Zhijie He 3db2a39585 👷 build: fix UNABLE_TO_GET_ISSUER_CERT_LOCALLY error with docker image (#9422)
* fix: fix `UNABLE_TO_GET_ISSUER_CERT_LOCALLY` error

* build: update node version to 24
2025-09-25 16:01:28 +08:00
lobehubbot 9a4939cca9 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-25 07:59:41 +00:00
semantic-release-bot 5c8b48efee 🔖 chore(release): v1.132.12 [skip ci]
### [Version&nbsp;1.132.12](https://github.com/lobehub/lobe-chat/compare/v1.132.11...v1.132.12)
<sup>Released on **2025-09-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Slove setting proxy page with style error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Slove setting proxy page with style error, closes [#9417](https://github.com/lobehub/lobe-chat/issues/9417) ([6d3e5d1](https://github.com/lobehub/lobe-chat/commit/6d3e5d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-25 07:58:44 +00:00
Shinji-Li 6d3e5d1a80 🐛 fix: slove setting proxy page with style error (#9417)
fix: slove setting proxy page style
2025-09-25 15:48:52 +08:00
lobehubbot 67401c07aa 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-24 21:21:43 +00:00
semantic-release-bot cf81abc909 🔖 chore(release): v1.132.11 [skip ci]
### [Version&nbsp;1.132.11](https://github.com/lobehub/lobe-chat/compare/v1.132.10...v1.132.11)
<sup>Released on **2025-09-24**</sup>

#### 💄 Styles

- **misc**: Enhanced Nvidia NIM chat experience, OpenAI models in AiHubMix use Responses API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enhanced Nvidia NIM chat experience, closes [#9408](https://github.com/lobehub/lobe-chat/issues/9408) ([13e936f](https://github.com/lobehub/lobe-chat/commit/13e936f))
* **misc**: OpenAI models in AiHubMix use Responses API, closes [#9251](https://github.com/lobehub/lobe-chat/issues/9251) ([8636fe4](https://github.com/lobehub/lobe-chat/commit/8636fe4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-24 21:20:36 +00:00
sxjeru 13e936fbe0 💄 style: Enhanced Nvidia NIM chat experience (#9408)
*  feat: 添加 DeepSeek V3.1 模型并更新思维模型处理逻辑

* feat: 更新 ollamaChatModels,添加 DeepSeek V3.1 模型及其描述,调整上下文窗口大小
2025-09-25 05:10:17 +08:00
sxjeru 8636fe45e3 💄 style: OpenAI models in AiHubMix use Responses API (#9251)
* feat: 添加预处理功能以增强聊天完成选项

* 暴露实例级预处理钩子

* feat: 更新响应API路由控制,支持模型匹配和实例覆盖

* Update index.ts

* add tests

* regex

* test: mock chat completion stream to prevent hanging in response model tests

* del Dolphin Mixtral 8x22B

* update models

* del models

* feat: 添加新的模型配置和关键词支持

*  feat: 更新音频模型和定价结构,添加 GPT Audio 和 GPT Realtime 模型支持

*  feat: 添加 Grok 4 Fast 模型支持,更新 xaiChatModels 列表

*  feat: 更新 Grok 4 Fast 定价策略为分层定价,添加非推理关键词支持

*  feat: 添加 Grok 4 Fast 和 Grok 4 Fast (Non-Reasoning) 聊天模型

*  feat: 更新 Novita 和 SiliconCloud 聊天模型,增加新模型并调整参数

* 更新 Novita 聊天模型,调整上下文窗口令牌和最大输出限制

* 更新 DeepSeek V3.1 模型,增加新参数并添加 Longcat 模型配置

* feat: 更新 Novita 和 SiliconCloud 模型,增加 maxOutput 参数并添加新聊天模型配置

* feat: 添加 GPT-5 Codex 模型,更新相关参数并调整 Deepseek 部署名称

* feat: 添加 Qwen3 VL Plus 模型,更新相关参数并优化思维预算逻辑

* feat: 添加 Qwen3 VL 模型,更新相关参数并调整 Qwen3 Coder Plus 的上下文窗口大小
2025-09-25 05:10:08 +08:00
Arvin Xu 1a77d9f9c6 🔨 chore: add api for structure output (#9382)
*  feat: 实现 structure output

* add tests

*  feat: 实现 structure output

* add support for structure output in chat completions

* add support for structure output in router runtime

* improve test

* add google generateObject

* add google generateObject tests

* add Anthropic generateObject
2025-09-25 04:51:21 +08:00
lobehubbot 8616977253 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-24 04:50:03 +00:00
semantic-release-bot 1e17da19d9 🔖 chore(release): v1.132.10 [skip ci]
### [Version&nbsp;1.132.10](https://github.com/lobehub/lobe-chat/compare/v1.132.9...v1.132.10)
<sup>Released on **2025-09-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Macos desktop sign.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Macos desktop sign, closes [#9400](https://github.com/lobehub/lobe-chat/issues/9400) ([4349ad9](https://github.com/lobehub/lobe-chat/commit/4349ad9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-24 04:49:06 +00:00
YuTengjing 4349ad955d 🐛 fix: macos desktop sign (#9400) 2025-09-24 12:38:58 +08:00
lobehubbot 7d619cc0c1 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-23 07:45:24 +00:00
semantic-release-bot af003c5efa 🔖 chore(release): v1.132.9 [skip ci]
### [Version&nbsp;1.132.9](https://github.com/lobehub/lobe-chat/compare/v1.132.8...v1.132.9)
<sup>Released on **2025-09-23**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-23 07:44:28 +00:00
Neko d54113036a 👷 build: integrated otel for instrumenting backend side of Next.js (#9073) 2025-09-23 09:34:48 +02:00
lobehubbot 652e0ff415 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-23 07:02:59 +00:00
semantic-release-bot 800528d459 🔖 chore(release): v1.132.8 [skip ci]
### [Version&nbsp;1.132.8](https://github.com/lobehub/lobe-chat/compare/v1.132.7...v1.132.8)
<sup>Released on **2025-09-23**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor all `@/types` in model runtime to `@lobechat/types`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor all `@/types` in model runtime to `@lobechat/types`, closes [#9383](https://github.com/lobehub/lobe-chat/issues/9383) ([b050bd7](https://github.com/lobehub/lobe-chat/commit/b050bd7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-23 07:02:01 +00:00
Arvin Xu b050bd7b9f ♻️ refactor: refactor all @/types in model runtime to @lobechat/types (#9383) 2025-09-23 08:51:55 +02:00
lobehubbot 0719f18af1 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-23 06:24:56 +00:00
semantic-release-bot c2dfed6f7b 🔖 chore(release): v1.132.7 [skip ci]
### [Version&nbsp;1.132.7](https://github.com/lobehub/lobe-chat/compare/v1.132.6...v1.132.7)
<sup>Released on **2025-09-23**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-23 06:23:59 +00:00
Arvin Xu 02566b1a95 👷 build: pin @aws-sdk/client-s3@3.893.0 to fix build (#9389)
* pin aws sdk client s3

* Update package.json
2025-09-23 08:13:48 +02:00
lobehubbot 8f9464acf8 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-23 03:06:01 +00:00
semantic-release-bot a21472724b 🔖 chore(release): v1.132.6 [skip ci]
### [Version&nbsp;1.132.6](https://github.com/lobehub/lobe-chat/compare/v1.132.5...v1.132.6)
<sup>Released on **2025-09-23**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-23 03:05:02 +00:00
YuTengjing 20ef12443d 👷 build: don't sign macos desktop when missing sign secrets (#9379) 2025-09-23 10:54:36 +08:00
lobehubbot 4a24df9155 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-22 11:34:04 +00:00
semantic-release-bot dbec6b6776 🔖 chore(release): v1.132.5 [skip ci]
### [Version&nbsp;1.132.5](https://github.com/lobehub/lobe-chat/compare/v1.132.4...v1.132.5)
<sup>Released on **2025-09-22**</sup>

#### ♻ Code Refactoring

- **misc**: Move the ModelProvider to model-bank.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move the ModelProvider to model-bank, closes [#9374](https://github.com/lobehub/lobe-chat/issues/9374) ([d9a4361](https://github.com/lobehub/lobe-chat/commit/d9a4361))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-22 11:33:04 +00:00
Arvin Xu d9a4361994 ♻️ refactor: move the ModelProvider to model-bank (#9374)
* move the ModelProvider to model-bank

* fix tests

* fix deps

* clean deps
2025-09-22 19:23:26 +08:00
Shinji-Li 1251548120 refactor: refactor the settings page to improve the experience & change ssr as csr (#8961) 2025-09-22 11:30:47 +08:00
lobehubbot 6b0f8eddb5 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-22 01:47:27 +00:00
semantic-release-bot 18e4c04fb9 🔖 chore(release): v1.132.4 [skip ci]
### [Version&nbsp;1.132.4](https://github.com/lobehub/lobe-chat/compare/v1.132.3...v1.132.4)
<sup>Released on **2025-09-22**</sup>

#### 💄 Styles

- **misc**: Enable thinkingBudget control for Vertex Gemini 2.5 models, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enable thinkingBudget control for Vertex Gemini 2.5 models, closes [#8223](https://github.com/lobehub/lobe-chat/issues/8223) ([c665646](https://github.com/lobehub/lobe-chat/commit/c665646))
* **misc**: Update i18n, closes [#9363](https://github.com/lobehub/lobe-chat/issues/9363) ([785d5d7](https://github.com/lobehub/lobe-chat/commit/785d5d7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-22 01:46:29 +00:00
LobeHub Bot 785d5d7647 🤖 style: update i18n (#9363) 2025-09-22 09:36:42 +08:00
afon c665646534 💄 style: Enable thinkingBudget control for Vertex Gemini 2.5 models (#8223) 2025-09-22 09:36:21 +08:00
lobehubbot ebd924c371 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 17:16:55 +00:00
semantic-release-bot b52183cdbf 🔖 chore(release): v1.132.3 [skip ci]
### [Version&nbsp;1.132.3](https://github.com/lobehub/lobe-chat/compare/v1.132.2...v1.132.3)
<sup>Released on **2025-09-21**</sup>

#### 💄 Styles

- **misc**: Added `AUTH_MICROSOFT_ENTRA_ID_BASE_URL` routing.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Added `AUTH_MICROSOFT_ENTRA_ID_BASE_URL` routing, closes [#9293](https://github.com/lobehub/lobe-chat/issues/9293) ([78a2f9e](https://github.com/lobehub/lobe-chat/commit/78a2f9e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 17:15:58 +00:00
Jim Seiwert 78a2f9e874 💄 style: Added AUTH_MICROSOFT_ENTRA_ID_BASE_URL routing (#9293)
Added AUTH_MICROSOFT_ENTRA_ID_BASE_URL routing
2025-09-22 01:05:58 +08:00
lobehubbot 8f274aeba9 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 17:02:45 +00:00
semantic-release-bot 9146362c9b 🔖 chore(release): v1.132.2 [skip ci]
### [Version&nbsp;1.132.2](https://github.com/lobehub/lobe-chat/compare/v1.132.1...v1.132.2)
<sup>Released on **2025-09-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix non stream mode in OpenAI Response API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix non stream mode in OpenAI Response API, closes [#9360](https://github.com/lobehub/lobe-chat/issues/9360) ([1c61b21](https://github.com/lobehub/lobe-chat/commit/1c61b21))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 17:01:47 +00:00
Arvin Xu 1c61b21133 🐛 fix: fix non stream mode in OpenAI Response API (#9360)
* fix

* fix non stream

*  test: add comprehensive unit tests for nonStreamToStream functions

- Add tests for transformResponseToStream covering ChatCompletion conversion, reasoning content, tool calls, and edge cases
- Add tests for transformResponseAPIToStream covering Response API conversion, missing outputs, and error cases
- Tests verify complete event arrays as requested, not partial verification
- Tests will help expose issues with tool call handling and Response API compatibility

Co-authored-by: Arvin Xu <arvinxx@users.noreply.github.com>

* 🧪 test: fix nonStreamToStream test array comparisons and TypeScript errors

- Change test assertions to use array comparisons instead of individual equals
- Add missing refusal property to ChatCompletionMessage objects
- Fix Response API object types and add missing usage properties
- Resolve all TypeScript build errors in test file

Co-authored-by: Arvin Xu <arvinxx@users.noreply.github.com>

* fix

* fix tests
2025-09-22 00:51:39 +08:00
lobehubbot c14d165124 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 16:24:44 +00:00
semantic-release-bot 69817182a0 🔖 chore(release): v1.132.1 [skip ci]
### [Version&nbsp;1.132.1](https://github.com/lobehub/lobe-chat/compare/v1.132.0...v1.132.1)
<sup>Released on **2025-09-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix missing provider in server message.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix missing provider in server message, closes [#9361](https://github.com/lobehub/lobe-chat/issues/9361) ([4099dfd](https://github.com/lobehub/lobe-chat/commit/4099dfd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 16:23:46 +00:00
Arvin Xu 4099dfd955 🐛 fix: fix missing provider in server message (#9361)
fix
2025-09-22 00:13:28 +08:00
lobehubbot 48ad272f90 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 13:47:34 +00:00
semantic-release-bot 9352a9c80e 🔖 chore(release): v1.132.0 [skip ci]
## [Version&nbsp;1.132.0](https://github.com/lobehub/lobe-chat/compare/v1.131.4...v1.132.0)
<sup>Released on **2025-09-21**</sup>

####  Features

- **misc**: Support google video understanding.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support google video understanding, closes [#8761](https://github.com/lobehub/lobe-chat/issues/8761) ([f02d43b](https://github.com/lobehub/lobe-chat/commit/f02d43b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 13:46:39 +00:00
Arvin Xu f02d43b8d3 feat: support google video understanding (#8761)
* refactor

improve upload

fix tests

clean client mode

add video

support google image understand

* update

* fix tests
2025-09-21 21:37:06 +08:00
lobehubbot 6808099ce9 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 13:29:33 +00:00
semantic-release-bot 08347bbe01 🔖 chore(release): v1.131.4 [skip ci]
### [Version&nbsp;1.131.4](https://github.com/lobehub/lobe-chat/compare/v1.131.3...v1.131.4)
<sup>Released on **2025-09-21**</sup>

#### 💄 Styles

- **misc**: Enhanced AkashChat experience.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enhanced AkashChat experience, closes [#9330](https://github.com/lobehub/lobe-chat/issues/9330) ([47ec2d8](https://github.com/lobehub/lobe-chat/commit/47ec2d8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 13:28:36 +00:00
sxjeru 47ec2d81dc 💄 style: Enhanced AkashChat experience (#9330)
* 🔧 refactor: update akashChat models to use settings and enhance payload handling

*  feat: 添加视觉支持和更新描述,增强 Mistral 模型信息
2025-09-21 21:18:15 +08:00
lobehubbot 541d0f46b2 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 11:38:24 +00:00
semantic-release-bot af3daa4022 🔖 chore(release): v1.131.3 [skip ci]
### [Version&nbsp;1.131.3](https://github.com/lobehub/lobe-chat/compare/v1.131.2...v1.131.3)
<sup>Released on **2025-09-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Update Responses search tool to web_search.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update Responses search tool to web_search, closes [#9354](https://github.com/lobehub/lobe-chat/issues/9354) ([58d34ff](https://github.com/lobehub/lobe-chat/commit/58d34ff))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 11:37:26 +00:00
sxjeru 58d34ff53f 🐛 fix: Update Responses search tool to web_search (#9354)
*  feat: 更新搜索工具为 web_search

* Update index.test.ts
2025-09-21 19:27:39 +08:00
lobehubbot b5389e44a2 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 10:23:22 +00:00
semantic-release-bot e827f286e6 🔖 chore(release): v1.131.2 [skip ci]
### [Version&nbsp;1.131.2](https://github.com/lobehub/lobe-chat/compare/v1.131.1...v1.131.2)
<sup>Released on **2025-09-21**</sup>

#### 💄 Styles

- **misc**: Use ID as name if provider name is empty.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Use ID as name if provider name is empty, closes [#9356](https://github.com/lobehub/lobe-chat/issues/9356) ([7f60544](https://github.com/lobehub/lobe-chat/commit/7f60544))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 10:22:24 +00:00
sxjeru 7f60544950 💄 style: Use ID as name if provider name is empty (#9356)
Use ID as name if provider name is empty
2025-09-21 18:11:34 +08:00
lobehubbot 116af84640 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-21 09:22:59 +00:00
semantic-release-bot 764fd4fa78 🔖 chore(release): v1.131.1 [skip ci]
### [Version&nbsp;1.131.1](https://github.com/lobehub/lobe-chat/compare/v1.131.0...v1.131.1)
<sup>Released on **2025-09-21**</sup>

#### ♻ Code Refactoring

- **misc**: Improve codebase.

#### 💄 Styles

- **misc**: Extend custom provider runtime options, Optimized modelFetch for Vercel AI Gateway, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Improve codebase, closes [#9353](https://github.com/lobehub/lobe-chat/issues/9353) ([7dc000e](https://github.com/lobehub/lobe-chat/commit/7dc000e))

#### Styles

* **misc**: Extend custom provider runtime options, closes [#9278](https://github.com/lobehub/lobe-chat/issues/9278) ([a94e881](https://github.com/lobehub/lobe-chat/commit/a94e881))
* **misc**: Optimized modelFetch for Vercel AI Gateway, closes [#9342](https://github.com/lobehub/lobe-chat/issues/9342) ([45b7a43](https://github.com/lobehub/lobe-chat/commit/45b7a43))
* **misc**: Update i18n, closes [#9338](https://github.com/lobehub/lobe-chat/issues/9338) ([d2ff75c](https://github.com/lobehub/lobe-chat/commit/d2ff75c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-21 09:21:29 +00:00
renovate[bot] f37ec1d4c2 Update dependency ts-md5 to v2 (#9348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 17:11:28 +08:00
Arvin Xu a94e8810a3 💄 style: extend custom provider runtime options (#9278)
*  support more runtimes for custom providers

* Update customProviderSdkOptions.ts
2025-09-21 17:05:33 +08:00
sxjeru 45b7a43170 💄 style: Optimized modelFetch for Vercel AI Gateway (#9342)
* Refactor VercelAIGateway integration: Enhance model card structure and error handling

*  feat(vercelaigateway): Update model card structure and change check model to GPT-5

*  feat(vercelaigateway): 添加模型设置以支持推理努力和文本详细程度参数
2025-09-21 17:03:17 +08:00
Arvin Xu 7dc000e10c ♻️ refactor: improve codebase (#9353)
refactor
2025-09-21 16:57:16 +08:00
Arvin Xu f25fda6de2 📝 docs: renamed license to LobeHub Community License (#9355)
update license
2025-09-21 16:53:12 +08:00
LobeHub Bot d2ff75cc05 🤖 style: update i18n (#9338)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-21 16:43:57 +08:00
renovate[bot] 8de927a419 Update dependency request-filtering-agent to v3 (#9346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 16:43:35 +08:00
renovate[bot] fe9d4afa05 Update dependency @types/uuid to v11 (#9345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 16:41:56 +08:00
renovate[bot] 54704b1247 Update dependency @anthropic-ai/sdk to ^0.63.0 (#9343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 16:41:44 +08:00
renovate[bot] 65d2c0c2ea Update pnpm to v10.17.0 (#9344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 16:41:03 +08:00
renovate[bot] 9f99b0bc2a Update dependency tokenx to v1 (#9347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 16:40:54 +08:00
lobehubbot a78fc1fd24 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-19 13:10:52 +00:00
semantic-release-bot 4e0e99e503 🔖 chore(release): v1.131.0 [skip ci]
## [Version&nbsp;1.131.0](https://github.com/lobehub/lobe-chat/compare/v1.130.1...v1.131.0)
<sup>Released on **2025-09-19**</sup>

####  Features

- **misc**: Qwen provider add qwen-image-edit model support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Qwen provider add qwen-image-edit model support, closes [#9311](https://github.com/lobehub/lobe-chat/issues/9311) ([a0074fc](https://github.com/lobehub/lobe-chat/commit/a0074fc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-19 13:09:57 +00:00
Maple Gao a0074fc280 feat: qwen provider add qwen-image-edit model support (#9311) 2025-09-19 21:00:09 +08:00
lobehubbot 6c01f21cec 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-18 12:58:27 +00:00
semantic-release-bot 8f4a98fed0 🔖 chore(release): v1.130.1 [skip ci]
### [Version&nbsp;1.130.1](https://github.com/lobehub/lobe-chat/compare/v1.130.0...v1.130.1)
<sup>Released on **2025-09-18**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix oidc open direct issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix oidc open direct issue, closes [#9315](https://github.com/lobehub/lobe-chat/issues/9315) ([70f52a3](https://github.com/lobehub/lobe-chat/commit/70f52a3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-18 12:57:25 +00:00
Arvin Xu 70f52a3c1f 🐛 fix: fix oidc open direct issue (#9315)
* add tests

* fix open direct

* update
2025-09-18 20:47:49 +08:00
Arvin Xu 8711ea244c 🔨 chore: fix nextjs@15.5.x runtime warning (#9063)
* update

fix tools

Update route.ts

Update next dependency version to ^15.5.0

更新 package.json

test prebuild type-check

try

* Change 'next' dependency version in package.json

Updated 'next' dependency version from ^15.5.3 to ~15.3.5.
2025-09-18 19:13:36 +08:00
lobehubbot 255a89c9f3 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-18 09:13:52 +00:00
semantic-release-bot b8c4c4e927 🔖 chore(release): v1.130.0 [skip ci]
## [Version&nbsp;1.130.0](https://github.com/lobehub/lobe-chat/compare/v1.129.4...v1.130.0)
<sup>Released on **2025-09-18**</sup>

####  Features

- **misc**: Add scroll support for pinned assistants using ScrollShadow.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add scroll support for pinned assistants using ScrollShadow, closes [#9319](https://github.com/lobehub/lobe-chat/issues/9319) [#9316](https://github.com/lobehub/lobe-chat/issues/9316) ([54c0ac4](https://github.com/lobehub/lobe-chat/commit/54c0ac4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-18 09:12:51 +00:00
Shinji-Li 54c0ac4426 feat: Add scroll support for pinned assistants using ScrollShadow (#9319)
*  feat: Add scroll support for pinned assistants using ScrollShadow

- Import ScrollShadow component from @lobehub/ui
- Wrap pinned assistants list with ScrollShadow for vertical scrolling
- Remove 9-item limitation to show all pinned assistants
- Maintain hotkey support for first 9 items
- Add proper styling and padding for consistent layout

Fixes #9316

Co-authored-by: Shinji-Li <ONLY-yours@users.noreply.github.com>

* fix: add some style

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Shinji-Li <ONLY-yours@users.noreply.github.com>
2025-09-18 17:02:43 +08:00
lobehubbot b7e7186229 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-18 05:05:00 +00:00
semantic-release-bot 0d1086fe55 🔖 chore(release): v1.129.4 [skip ci]
### [Version&nbsp;1.129.4](https://github.com/lobehub/lobe-chat/compare/v1.129.3...v1.129.4)
<sup>Released on **2025-09-18**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix svg xss issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix svg xss issue, closes [#9313](https://github.com/lobehub/lobe-chat/issues/9313) ([9f044ed](https://github.com/lobehub/lobe-chat/commit/9f044ed))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-18 05:03:52 +00:00
Arvin Xu 9f044edd07 🐛 fix: fix svg xss issue (#9313)
* fix svg xss

* fix svg xss

* update

* improve

* fix
2025-09-18 12:53:56 +08:00
YuTengjing 1762dc9148 ♻️ chore: refactor router runtime (#9306) 2025-09-17 23:30:04 +08:00
Shinji-Li 2e928cd587 fix:fixed when plugins unistall & install both take problem (#9296)
* 🐛 fix: prevent plugin re-installation bug by disabling from agent on uninstall

- Fix plugin uninstall not removing plugin from agent configuration
- Add confirmation modal warning when uninstalling enabled plugins
- Automatically disable plugin from current agent before uninstall
- Apply fix to all plugin uninstall actions (PluginList, InstalledList, McpList)

Fixes #9279

Co-authored-by: Shinji-Li <ONLY-yours@users.noreply.github.com>

* 🐛 fix: remove warning content from plugin uninstall confirmation dialog

Co-authored-by: Shinji-Li <ONLY-yours@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Shinji-Li <ONLY-yours@users.noreply.github.com>
2025-09-17 12:02:41 +08:00
lobehubbot 0ea738222d 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-17 03:35:43 +00:00
semantic-release-bot 25a5be639a 🔖 chore(release): v1.129.3 [skip ci]
### [Version&nbsp;1.129.3](https://github.com/lobehub/lobe-chat/compare/v1.129.2...v1.129.3)
<sup>Released on **2025-09-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Add qwen provider support for image-edit model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add qwen provider support for image-edit model, closes [#9277](https://github.com/lobehub/lobe-chat/issues/9277) [#9184](https://github.com/lobehub/lobe-chat/issues/9184) ([e137b33](https://github.com/lobehub/lobe-chat/commit/e137b33))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-17 03:34:44 +00:00
Maple Gao e137b33c8d 🐛 fix: add qwen provider support for image-edit model (#9277)
* 🐛 fix: add qwen provider support for image-edit model

- Register qwen provider in baseRuntimeMap
- Add qwen routing support in NewAPI provider
- Implement qwen-image-edit model with correct multimodal API
- Fix API endpoint and request format for image-to-image generation

Fixes #9184

* Update packages/model-runtime/src/providers/qwen/createImage.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-17 11:24:21 +08:00
lobehubbot 47c6e7fc17 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-17 03:19:07 +00:00
semantic-release-bot 046138b32c 🔖 chore(release): v1.129.2 [skip ci]
### [Version&nbsp;1.129.2](https://github.com/lobehub/lobe-chat/compare/v1.129.1...v1.129.2)
<sup>Released on **2025-09-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve db migrations sql.

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve db migrations sql, closes [#9295](https://github.com/lobehub/lobe-chat/issues/9295) ([96ff5aa](https://github.com/lobehub/lobe-chat/commit/96ff5aa))

#### Styles

* **misc**: Update i18n, closes [#9294](https://github.com/lobehub/lobe-chat/issues/9294) ([c018f3d](https://github.com/lobehub/lobe-chat/commit/c018f3d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-17 03:17:56 +00:00
LobeHub Bot c018f3d05b 🤖 style: update i18n (#9294)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-17 11:07:02 +08:00
Arvin Xu 96ff5aa461 🐛 fix: improve db migrations sql (#9295)
improve db migrations sql
2025-09-17 11:06:37 +08:00
lobehubbot 9f29869fd2 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-16 11:47:59 +00:00
semantic-release-bot e3afca3678 🔖 chore(release): v1.129.1 [skip ci]
### [Version&nbsp;1.129.1](https://github.com/lobehub/lobe-chat/compare/v1.129.0...v1.129.1)
<sup>Released on **2025-09-16**</sup>

#### ♻ Code Refactoring

- **misc**: Improve db sql performance.

#### 💄 Styles

- **misc**: Update SiliconCloud reasoning models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Improve db sql performance, closes [#9283](https://github.com/lobehub/lobe-chat/issues/9283) ([cee555a](https://github.com/lobehub/lobe-chat/commit/cee555a))

#### Styles

* **misc**: Update SiliconCloud reasoning models, closes [#9287](https://github.com/lobehub/lobe-chat/issues/9287) ([b47bb5b](https://github.com/lobehub/lobe-chat/commit/b47bb5b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-16 11:47:02 +00:00
WangYK b47bb5b3aa 💄 style: update SiliconCloud reasoning models (#9287)
💄 style: update siliconcloud reasoning models
2025-09-16 19:37:14 +08:00
Arvin Xu cee555a0f0 ♻️ refactor: improve db sql performance (#9283)
* improve sql

* improve db index

* improve db index

* improve db index
2025-09-16 19:33:35 +08:00
lobehubbot 28f84d5cb4 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-16 09:00:29 +00:00
semantic-release-bot d0063f809a 🔖 chore(release): v1.129.0 [skip ci]
## [Version&nbsp;1.129.0](https://github.com/lobehub/lobe-chat/compare/v1.128.10...v1.129.0)
<sup>Released on **2025-09-16**</sup>

####  Features

- **misc**: Support Vercel AI Gateway provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support Vercel AI Gateway provider, closes [#8883](https://github.com/lobehub/lobe-chat/issues/8883) ([5a4b0fd](https://github.com/lobehub/lobe-chat/commit/5a4b0fd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-16 08:59:32 +00:00
WangYK 5a4b0fd344 feat: support Vercel AI Gateway provider (#8883)
*  feat: support Vercel AI Gateway provider

* fix: add `vercelaigateway` to package.json.exports

* chore: 把 runtime 挪到 providers 目录下
2025-09-16 16:49:54 +08:00
lobehubbot 47874ac6c7 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-16 07:37:32 +00:00
semantic-release-bot dfdcdce298 🔖 chore(release): v1.128.10 [skip ci]
### [Version&nbsp;1.128.10](https://github.com/lobehub/lobe-chat/compare/v1.128.9...v1.128.10)
<sup>Released on **2025-09-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix azure ai runtime error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix azure ai runtime error, closes [#9276](https://github.com/lobehub/lobe-chat/issues/9276) ([c21c14e](https://github.com/lobehub/lobe-chat/commit/c21c14e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-16 07:36:28 +00:00
Arvin Xu 72443783a1 🔨 chore: update dbschema workflow (#9282)
update workflow
2025-09-16 15:25:55 +08:00
Arvin Xu c21c14e715 🐛 fix: fix azure ai runtime error (#9276)
* fix azure ai

* improve agent schema

* improve agent schema

* improve header size

* remove sentry

* remove sentry

* fix

* clean

* fix tests
2025-09-16 15:19:55 +08:00
huangkairan 46f2a28ee7 🔨 chore: lint error (#9268)
fix: lint error
2025-09-15 15:40:10 +08:00
CanisMinor 11ceb8b346 🔧 chore: Migrating from Sentry NextJS SDK 7.x to 10.x (#9264)
* 🔧 chore: Migrating from Sentry JavaScript SDK 7.x to 8.x

* 🔧 chore: Migrating from Sentry JavaScript SDK 7.x to 8.x

* 🔧 chore: Migrate sentry v10
2025-09-15 15:35:36 +08:00
lobehubbot 01103e7d1f 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-15 05:21:12 +00:00
semantic-release-bot 37f7028c4c 🔖 chore(release): v1.128.9 [skip ci]
### [Version&nbsp;1.128.9](https://github.com/lobehub/lobe-chat/compare/v1.128.8...v1.128.9)
<sup>Released on **2025-09-15**</sup>

#### 💄 Styles

- **misc**: Improve error handle with agent config, support `.doc` file parse.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve error handle with agent config, closes [#9263](https://github.com/lobehub/lobe-chat/issues/9263) ([6656217](https://github.com/lobehub/lobe-chat/commit/6656217))
* **misc**: Support `.doc` file parse, closes [#8182](https://github.com/lobehub/lobe-chat/issues/8182) ([ed42753](https://github.com/lobehub/lobe-chat/commit/ed42753))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-15 05:20:07 +00:00
Arvin Xu d1f68c5b9f test: fix tests (#9265)
fix
2025-09-15 13:10:05 +08:00
bbbugg 9568eafd76 🐛Fix: non streaming not displaying token usage and thinking content (#9087)
* 🐛 fix: add usage data to chat completion chunk for stream = false

* 🐛 fix: ensure reasoning_content is included in chat completion chunks for non-stream responses

* 🐛 fix: include reasoning content and usage data in non-streaming chat completion responses

* 🐛 fix: test

* 🐛 fix: non stream Deeply Thought stop correctly

* 🐛 fix: test

* 🐛 fix: test
2025-09-15 11:28:28 +08:00
Arvin Xu 66562170ac 💄 style: improve error handle with agent config (#9263)
fix
2025-09-15 11:23:13 +08:00
copialot ed42753fe5 💄 style: support .doc file parse (#8182)
*  feat: support .doc file parse

*  feat: support .doc file parse

---------

Co-authored-by: admin <admin@punch.local>
2025-09-15 11:22:00 +08:00
lobehubbot cc67b5443d 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-15 03:10:05 +00:00
semantic-release-bot 20e026c9f1 🔖 chore(release): v1.128.8 [skip ci]
### [Version&nbsp;1.128.8](https://github.com/lobehub/lobe-chat/compare/v1.128.7...v1.128.8)
<sup>Released on **2025-09-15**</sup>

#### 💄 Styles

- **misc**: Enable toggling search on/off via search button click & historyCount button.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enable toggling search on/off via search button click & historyCount button, closes [#9173](https://github.com/lobehub/lobe-chat/issues/9173) ([240c7b7](https://github.com/lobehub/lobe-chat/commit/240c7b7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-15 03:09:01 +00:00
sxjeru 240c7b7f4f 💄 style: Enable toggling search on/off via search button click & historyCount button (#9173)
*  feat: Enhance Search Action with mobile support and update agent chat config

*  feat: Update History component to support mobile interactions and enhance Controls with form handling
2025-09-15 10:59:27 +08:00
Arvin Xu b73d0972b2 ️ perf: fix search agent slow (#9261)
* try to fix search agent issue

* Update session.ts
2025-09-15 10:56:03 +08:00
Arvin Xu d942a635b3 🔨 chore: add agent-runtime (#9206)
* add agent runtime

* add agent runtime

* support finish reason

* update workflow

* 支持中断

* 支持 token usage 统计

* refactor

* add example

* add docs

* update
2025-09-14 17:29:19 +08:00
renovate[bot] a47ec04f20 Update dependency electron to v38 (#9248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 16:42:44 +08:00
lobehubbot 20eb99534c 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-14 04:52:52 +00:00
semantic-release-bot 96b9c9705a 🔖 chore(release): v1.128.7 [skip ci]
### [Version&nbsp;1.128.7](https://github.com/lobehub/lobe-chat/compare/v1.128.6...v1.128.7)
<sup>Released on **2025-09-14**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-14 04:51:56 +00:00
Arvin Xu 3f42ee3dfe 👷 build: fix electron build (#9250)
Remove linting from prebuild:electron script
2025-09-14 12:41:44 +08:00
semantic-release-bot 0f9755bbd7 🔖 chore(release): v1.128.6 [skip ci]
### [Version&nbsp;1.128.6](https://github.com/lobehub/lobe-chat/compare/v1.128.5...v1.128.6)
<sup>Released on **2025-09-14**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9243](https://github.com/lobehub/lobe-chat/issues/9243) ([04764ad](https://github.com/lobehub/lobe-chat/commit/04764ad))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-14 04:40:46 +00:00
renovate[bot] 87ae85f7c7 Update dependency fix-path to v5 (#9249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 12:30:41 +08:00
LobeHub Bot 04764ad1cb 🤖 style: update i18n (#9243)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-14 12:27:38 +08:00
renovate[bot] e8044e3eca Update dependency @vercel/functions to v3 (#9247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 12:27:21 +08:00
renovate[bot] e9412f146c Update pnpm to v10.16.1 (#9246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 12:27:03 +08:00
renovate[bot] 6c72681b26 Update dependency @anthropic-ai/sdk to ^0.62.0 (#9244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 12:26:55 +08:00
renovate[bot] 31d2cb8fd7 Update dependency lucide-react to ^0.544.0 (#9245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 12:26:44 +08:00
lobehubbot 1cf371f418 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-13 16:12:02 +00:00
semantic-release-bot ebc205a8ae 🔖 chore(release): v1.128.5 [skip ci]
### [Version&nbsp;1.128.5](https://github.com/lobehub/lobe-chat/compare/v1.128.4...v1.128.5)
<sup>Released on **2025-09-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Google stream error unable to abort request.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Google stream error unable to abort request, closes [#9180](https://github.com/lobehub/lobe-chat/issues/9180) ([78eaead](https://github.com/lobehub/lobe-chat/commit/78eaead))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-13 16:11:00 +00:00
sxjeru 78eaead0d2 🐛 fix: Google stream error unable to abort request (#9180)
* 🐛 fix: 优化 Gemini 流处理中的错误注入和终止事件管理

* 🐛 fix: 在流处理过程中注入提供者信息以增强错误报告

* 提取 lobe_error;添加单测

* fix test

* 修复单元测试

* 优化 LobeGoogleAI 中的错误日志记录,使用 debug 替代 console.log;更新单元测试以验证流处理的错误和数据块

* 增强 createSSEProtocolTransformer,添加 requireTerminalEvent 选项以控制终端事件的强制要求;更新相关单元测试以验证新行为

* revert tests

* fix test
2025-09-14 00:00:31 +08:00
bbbugg 45fa4e01ae 🐛fix: update check model and mark deprecated models (#9214)
🐛fix: update checkModel values and remove deprecated models
2025-09-13 18:29:10 +08:00
lobehubbot 504b14dd3f 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-13 09:56:31 +00:00
semantic-release-bot d753169b69 🔖 chore(release): v1.128.4 [skip ci]
### [Version&nbsp;1.128.4](https://github.com/lobehub/lobe-chat/compare/v1.128.3...v1.128.4)
<sup>Released on **2025-09-13**</sup>

#### 💄 Styles

- **misc**: Fix discover plugin link.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix discover plugin link, closes [#9240](https://github.com/lobehub/lobe-chat/issues/9240) ([cfb2246](https://github.com/lobehub/lobe-chat/commit/cfb2246))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-13 09:55:30 +00:00
keep cfb2246492 💄 style: fix discover plugin link (#9240)
修复Discover
2025-09-13 17:45:24 +08:00
renovate[bot] 3a0b0d2173 Update dependency @formkit/auto-animate to ^0.9.0 (#9149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 17:45:14 +08:00
Neko 7f1b631c35 🔨 chore(model-runtime): openai stream error not inherited correctly (#9102)
* fix(model-runtime,utils): openai stream error not inherited correctly

* fix: test
2025-09-13 17:37:29 +08:00
lobehubbot eca41d33bf 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-13 09:14:21 +00:00
semantic-release-bot c8dea6322d 🔖 chore(release): v1.128.3 [skip ci]
### [Version&nbsp;1.128.3](https://github.com/lobehub/lobe-chat/compare/v1.128.2...v1.128.3)
<sup>Released on **2025-09-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix open chat page with float link modal.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix open chat page with float link modal, closes [#9235](https://github.com/lobehub/lobe-chat/issues/9235) ([2c677e5](https://github.com/lobehub/lobe-chat/commit/2c677e5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-13 09:13:24 +00:00
Arvin Xu 2c677e597a 🐛 fix: fix open chat page with float link modal (#9235)
* refactor @lobechat/database

* move config/file and llm to envs

* move config/auth to envs

* refactor

* fix tests

* fix tests

* upgrade
2025-09-13 17:03:10 +08:00
lobehubbot a1f7bff302 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-13 04:06:34 +00:00
semantic-release-bot e00ee6c6d1 🔖 chore(release): v1.128.2 [skip ci]
### [Version&nbsp;1.128.2](https://github.com/lobehub/lobe-chat/compare/v1.128.1...v1.128.2)
<sup>Released on **2025-09-13**</sup>

#### 💄 Styles

- **misc**: Update i18n, Update model configs.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9237](https://github.com/lobehub/lobe-chat/issues/9237) ([642dc3b](https://github.com/lobehub/lobe-chat/commit/642dc3b))
* **misc**: Update model configs, closes [#9170](https://github.com/lobehub/lobe-chat/issues/9170) ([f89b730](https://github.com/lobehub/lobe-chat/commit/f89b730))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-13 04:05:34 +00:00
sxjeru f89b73059d 💄 style: Update model configs (#9170)
* 🐛 fix: 更新深度寻求和谷歌模型的定价,修复模型显示名称

* 🐛 fix: 更新模型配置,增加最大输出限制并移除冗余模型信息

* 🐛 fix: 更新谷歌模型定价策略,将缓存读取的定价从固定改为分层定价

* 🐛 fix: 更新 Kimi K2 模型信息,增加新版本及定价策略,修正显示名称

* 🐛 fix: 更新深度寻求和谷歌模型的定价,修复模型显示名称

* 🐛 fix: 更新模型配置,增加最大输出限制并移除冗余模型信息

* 🐛 fix: 更新谷歌模型定价策略,将缓存读取的定价从固定改为分层定价

* 🐛 fix: 添加新模型 Qwen MT Plus 和 Ling Mini 2.0,更新定价策略

* 🐛 fix: 更新模型配置,调整上下文窗口大小并添加最大输出限制

*  feat: 添加新的聊天模型 Qwen3 Next 80B A3B Thinking 和 Qwen3 Next 80B A3B Instruct

*  feat: 添加 GLM-4.5 和 GLM-4.5-Air 聊天模型,支持推理能力和定价策略

*  feat: 更新聊天模型配置,添加 Qwen3 Next 80B A3B Thinking 和 Qwen3 Next 80B A3B Instruct,调整 Kimi K2 部署名称及参数
2025-09-13 11:54:58 +08:00
LobeHub Bot 642dc3b6c9 🤖 style: update i18n (#9237)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-13 11:52:21 +08:00
lobehubbot e33c84bcae 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-12 16:24:17 +00:00
semantic-release-bot fd84da415b 🔖 chore(release): v1.128.1 [skip ci]
### [Version&nbsp;1.128.1](https://github.com/lobehub/lobe-chat/compare/v1.128.0...v1.128.1)
<sup>Released on **2025-09-12**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor message proccesser to the context engine.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor message proccesser to the context engine, closes [#9230](https://github.com/lobehub/lobe-chat/issues/9230) ([dacfffd](https://github.com/lobehub/lobe-chat/commit/dacfffd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-12 16:23:15 +00:00
Arvin Xu dacfffdb63 ♻️ refactor: refactor message proccesser to the context engine (#9230)
* init context engine

* refactor

* refactor

* move

* refactor

* refactor PlaceholderVariables

* refactor name

* refactor

* update

* fix tests

* update workflow

* clean code

* add test

* move from store into service

* implement the HistoryTruncate and Input Template into context engine

* fix history truncate

* clean
2025-09-13 00:12:53 +08:00
Arvin Xu c38079d36f 🔨 chore: improve build process (#9227)
* update

* update
2025-09-12 19:11:42 +08:00
Arvin Xu cf0272cc1b 🔨 chore: upgrade deps (#9228)
upgrade deps
2025-09-12 16:04:05 +08:00
lobehubbot 35da7651b7 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-12 06:57:14 +00:00
semantic-release-bot b2c1209eb7 🔖 chore(release): v1.128.0 [skip ci]
## [Version&nbsp;1.128.0](https://github.com/lobehub/lobe-chat/compare/v1.127.4...v1.128.0)
<sup>Released on **2025-09-12**</sup>

####  Features

- **misc**: ChatInput support resize.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: ChatInput support resize, closes [#9215](https://github.com/lobehub/lobe-chat/issues/9215) ([5e814e0](https://github.com/lobehub/lobe-chat/commit/5e814e0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-12 06:56:07 +00:00
CanisMinor 5e814e017d feat: ChatInput support resize (#9215)
*  feat: ChatInput support resize

* 💄 style: Update resizeMaxHeightOffset

* 💄 style: Update ChatInput and fix some issues

* 📝 docs: Fix i18n
2025-09-12 14:45:06 +08:00
yliu7949 9a804b5df5 💄 style: add Qwen3-Next-80B-A3B models  (#9223)
update qwen.ts
2025-09-12 12:48:39 +08:00
lobehubbot 0d4264e9ad 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-11 16:31:00 +00:00
semantic-release-bot 419557a2df 🔖 chore(release): v1.127.4 [skip ci]
### [Version&nbsp;1.127.4](https://github.com/lobehub/lobe-chat/compare/v1.127.3...v1.127.4)
<sup>Released on **2025-09-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve OpenAIStream processing to emit usage data for chunks lacking choices.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve OpenAIStream processing to emit usage data for chunks lacking choices, closes [#9220](https://github.com/lobehub/lobe-chat/issues/9220) ([8ba662c](https://github.com/lobehub/lobe-chat/commit/8ba662c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-11 16:29:56 +00:00
Arvin Xu 8ba662c9de 🐛 fix: Improve OpenAIStream processing to emit usage data for chunks lacking choices (#9220)
* add

* update
2025-09-12 00:19:51 +08:00
Arvin Xu 43a455549c 🔨 chore: Update vite version to ^7.1.5 (#9211)
Update vite version to ^7.1.5
2025-09-11 13:20:34 +08:00
Arvin Xu 58f1a52eb9 🔨 chore(model-runtime): improve export type (#9213)
* improve exports

* improve provider
2025-09-11 13:13:04 +08:00
lobehubbot 4b134968bf 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-11 03:41:15 +00:00
semantic-release-bot 937dd85c6b 🔖 chore(release): v1.127.3 [skip ci]
### [Version&nbsp;1.127.3](https://github.com/lobehub/lobe-chat/compare/v1.127.2...v1.127.3)
<sup>Released on **2025-09-11**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor model runtime folder structure and add more tests.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor model runtime folder structure and add more tests, closes [#9210](https://github.com/lobehub/lobe-chat/issues/9210) ([7fe17e4](https://github.com/lobehub/lobe-chat/commit/7fe17e4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-11 03:40:13 +00:00
Neko bed591c559 👷 chore: added docker-compose configuration files for Grafana, Prometheus, and Tempo, Otel stacks (#9071)
* feat: added docker-compose configuration files for Grafana, Prometheus, and Tempo, Otel stacks

* fix: datasource uid
2025-09-11 11:27:24 +08:00
Neko 9089e2683e 📝 docs: added docs for deploying production level Grafana stack (#9072)
* docs: added docs for deploying production level Grafana stack

* fix: use absolute path
2025-09-11 11:25:52 +08:00
Arvin Xu 7fe17e4028 ♻️ refactor: refactor model runtime folder structure and add more tests (#9210)
* add test

* fix tests

* fix tests

* revert tests

* refactor model runtime folder

* refactor model runtime folder and remove @/libs/model-runtime

* fix lint

* move

* fix tests
2025-09-11 11:22:05 +08:00
lobehubbot 6ace931e52 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-11 03:18:49 +00:00
semantic-release-bot 76de2a20c1 🔖 chore(release): v1.127.2 [skip ci]
### [Version&nbsp;1.127.2](https://github.com/lobehub/lobe-chat/compare/v1.127.1...v1.127.2)
<sup>Released on **2025-09-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Delete files should delete chunks、embedings、fileChunk.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Delete files should delete chunks、embedings、fileChunk, closes [#9196](https://github.com/lobehub/lobe-chat/issues/9196) ([4ee1d29](https://github.com/lobehub/lobe-chat/commit/4ee1d29))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-11 03:17:54 +00:00
Shinji-Li 4ee1d292ff 🐛 fix: delete files should delete chunks、embedings、fileChunk (#9196)
* fix: delete files should delete chunk and documentChunks,embeddings

* feat: add try catch

* feat: add files test

* fix: change chunkid to uuid

* fix: change test embeddings to 1024w

* fix: delete documentchunk
2025-09-11 10:47:22 +08:00
lobehubbot b6aad3b1bc 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-11 01:24:32 +00:00
semantic-release-bot b980c3d702 🔖 chore(release): v1.127.1 [skip ci]
### [Version&nbsp;1.127.1](https://github.com/lobehub/lobe-chat/compare/v1.127.0...v1.127.1)
<sup>Released on **2025-09-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix not remove message with server mode.

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix not remove message with server mode, closes [#9207](https://github.com/lobehub/lobe-chat/issues/9207) ([790af5f](https://github.com/lobehub/lobe-chat/commit/790af5f))

#### Styles

* **misc**: Update i18n, closes [#9208](https://github.com/lobehub/lobe-chat/issues/9208) ([987fbf2](https://github.com/lobehub/lobe-chat/commit/987fbf2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-11 01:23:30 +00:00
LobeHub Bot 987fbf2adf 🤖 style: update i18n (#9208)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-11 09:12:03 +08:00
Arvin Xu 790af5ff40 🐛 fix: fix not remove message with server mode (#9207)
* fix remove message

* make wideScreen default false

* improve topic generate and add tests for delete

* refactor

* fix tests
2025-09-11 09:11:36 +08:00
Maple Gao 3eaeb6c531 📝 docs: consolidate image generation docs with server database setup (#9096)
♻️ refactor: consolidate image generation docs with server database setup

- Merge image-generation-setup content into work-with-server-side-database docs
- Remove duplicate image-generation-setup documentation files
- Add server-side database links to setup-development guides
- Add missing .env.development copy step to setup instructions
- Add .env.development to .gitignore for security

The setup script approach has been replaced by Docker Compose configuration
with .env.example.development file, eliminating documentation duplication
and providing a unified server-side development workflow.
2025-09-11 01:16:58 +08:00
lobehubbot aa841a3879 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-10 13:27:08 +00:00
semantic-release-bot a49422b322 🔖 chore(release): v1.127.0 [skip ci]
## [Version&nbsp;1.127.0](https://github.com/lobehub/lobe-chat/compare/v1.126.3...v1.127.0)
<sup>Released on **2025-09-10**</sup>

####  Features

- **misc**: Seedream 4.0.

#### 💄 Styles

- **misc**: Add hotkey tooltip to typobar actions.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Seedream 4.0, closes [#9198](https://github.com/lobehub/lobe-chat/issues/9198) ([26a743f](https://github.com/lobehub/lobe-chat/commit/26a743f))

#### Styles

* **misc**: Add hotkey tooltip to typobar actions, closes [#9203](https://github.com/lobehub/lobe-chat/issues/9203) ([e372875](https://github.com/lobehub/lobe-chat/commit/e372875))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-10 13:26:06 +00:00
CanisMinor e3728750af 💄 style: Add hotkey tooltip to typobar actions (#9203)
* 💄 style: Add hotkey tooltip to typobar actions

* 💄 style: Udpate input style

* 💄 style: Add toggleExpandInputActionbar to GlobalStore
2025-09-10 21:15:57 +08:00
YuTengjing 26a743f3bd feat: Seedream 4.0 (#9198) 2025-09-10 19:51:43 +08:00
lobehubbot bfbf38d106 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-10 02:45:00 +00:00
semantic-release-bot f8eb891d3b 🔖 chore(release): v1.126.3 [skip ci]
### [Version&nbsp;1.126.3](https://github.com/lobehub/lobe-chat/compare/v1.126.2...v1.126.3)
<sup>Released on **2025-09-10**</sup>

#### 💄 Styles

- **misc**: Add CometAPI model provider and chat models, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add CometAPI model provider and chat models, closes [#9065](https://github.com/lobehub/lobe-chat/issues/9065) ([575e334](https://github.com/lobehub/lobe-chat/commit/575e334))
* **misc**: Update i18n, closes [#9146](https://github.com/lobehub/lobe-chat/issues/9146) ([e6fc02e](https://github.com/lobehub/lobe-chat/commit/e6fc02e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-10 02:43:57 +00:00
renovate[bot] 52ec64dfd4 Update dependency @anthropic-ai/sdk to ^0.61.0 (#9148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 10:33:28 +08:00
LobeHub Bot e6fc02eb9d 🤖 style: update i18n (#9146)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-10 10:26:40 +08:00
TensorNull 575e334d7f 💄 style: Add CometAPI model provider and chat models (#9065)
*  feat: 添加 CometAPI 模型支持及相关配置

* 🐛 fix: 移除 CometAPI 中的 chatModels 列表以简化配置
2025-09-10 10:26:20 +08:00
lobehubbot a4ed5a053f 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-09 15:23:51 +00:00
semantic-release-bot dbb49337b4 🔖 chore(release): v1.126.2 [skip ci]
### [Version&nbsp;1.126.2](https://github.com/lobehub/lobe-chat/compare/v1.126.1...v1.126.2)
<sup>Released on **2025-09-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix editor key handling.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix editor key handling, closes [#9189](https://github.com/lobehub/lobe-chat/issues/9189) ([8be822b](https://github.com/lobehub/lobe-chat/commit/8be822b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-09 15:22:49 +00:00
CanisMinor 8be822b0b7 🐛 fix: Fix editor key handling (#9189)
* 🐛 fix: Fix editor send key handling

* 🐛 fix: Fix editor key handle
2025-09-09 23:12:02 +08:00
renovate[bot] 5a999c0fbc Update pnpm to v10.15.1 (#9147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 11:35:34 +08:00
lobehubbot 9abeb7b545 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-09 03:23:18 +00:00
semantic-release-bot 8751141c7c 🔖 chore(release): v1.126.1 [skip ci]
### [Version&nbsp;1.126.1](https://github.com/lobehub/lobe-chat/compare/v1.126.0...v1.126.1)
<sup>Released on **2025-09-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix Assistant List error message.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix Assistant List error message, closes [#9178](https://github.com/lobehub/lobe-chat/issues/9178) ([3519cb2](https://github.com/lobehub/lobe-chat/commit/3519cb2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-09 03:22:23 +00:00
Arvin Xu 3519cb20d9 🐛 fix: fix Assistant List error message (#9178)
* fix

* fix tests
2025-09-09 11:12:53 +08:00
lobehubbot e135e2bb87 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-08 15:58:41 +00:00
semantic-release-bot a494af8e7f 🔖 chore(release): v1.126.0 [skip ci]
## [Version&nbsp;1.126.0](https://github.com/lobehub/lobe-chat/compare/v1.125.0...v1.126.0)
<sup>Released on **2025-09-08**</sup>

####  Features

- **image**: Implement model selection memory functionality.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **image**: Implement model selection memory functionality, closes [#9160](https://github.com/lobehub/lobe-chat/issues/9160) ([b00e6d7](https://github.com/lobehub/lobe-chat/commit/b00e6d7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-08 15:57:35 +00:00
YuTengjing ea819a3421 feat: support mac intel desktop (#9136) 2025-09-08 23:46:57 +08:00
YuTengjing b00e6d7817 feat(image): implement model selection memory functionality (#9160) 2025-09-08 23:46:47 +08:00
lobehubbot 58378fd10f 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-08 11:46:52 +00:00
semantic-release-bot c0736ead54 🔖 chore(release): v1.125.0 [skip ci]
## [Version&nbsp;1.125.0](https://github.com/lobehub/lobe-chat/compare/v1.124.4...v1.125.0)
<sup>Released on **2025-09-08**</sup>

####  Features

- **misc**: Add Math and TaskList to Editor.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Math and TaskList to Editor, closes [#9165](https://github.com/lobehub/lobe-chat/issues/9165) ([9e0621f](https://github.com/lobehub/lobe-chat/commit/9e0621f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-08 11:45:52 +00:00
CanisMinor 9e0621f873 feat: Add Math and TaskList to Editor (#9165)
*  feat: Add Math and TaskList to Editor

* 🔧 chore: Update editor version

* 🐛 fix: Fix code plugin
2025-09-08 19:35:32 +08:00
René Wang 082898825c 🔨 chore: Branching input component for incoming group chat (#9163)
feat: Branching input component
2025-09-08 12:13:01 +08:00
lobehubbot 7832287abd 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-06 16:32:27 +00:00
semantic-release-bot 5fe229c600 🔖 chore(release): v1.124.4 [skip ci]
### [Version&nbsp;1.124.4](https://github.com/lobehub/lobe-chat/compare/v1.124.3...v1.124.4)
<sup>Released on **2025-09-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Revert V1 Mobile.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Revert V1 Mobile, closes [#9143](https://github.com/lobehub/lobe-chat/issues/9143) ([b385602](https://github.com/lobehub/lobe-chat/commit/b385602))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-06 16:31:26 +00:00
bbbugg 6b9337b8ae 🐛fix: Qwen 3 Max Preview model with search capability (#9132)
fix: Qwen 3 Max Preview with search capability
2025-09-07 00:21:17 +08:00
Arvin Xu b3856026d2 🐛 fix: revert V1 Mobile (#9143)
revert V1 Mobile
2025-09-07 00:20:24 +08:00
bbbugg 8dbcbd8c4b 🐛fix: update back navigation logic for provider settings in mobile view (#9141)
🐛 fix: update back navigation logic for provider settings in mobile view
2025-09-06 23:57:02 +08:00
lobehubbot a5b6aadc1f 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-06 10:55:25 +00:00
semantic-release-bot 3690724751 🔖 chore(release): v1.124.3 [skip ci]
### [Version&nbsp;1.124.3](https://github.com/lobehub/lobe-chat/compare/v1.124.2...v1.124.3)
<sup>Released on **2025-09-06**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor to remove edge runtime and add more tests.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor to remove edge runtime and add more tests, closes [#9133](https://github.com/lobehub/lobe-chat/issues/9133) ([6f87034](https://github.com/lobehub/lobe-chat/commit/6f87034))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-06 10:54:26 +00:00
Arvin Xu 6f87034303 ♻️ refactor: refactor to remove edge runtime and add more tests (#9133)
* refactor to add more tests

* refactor the add

* update

* remove edge runtime

* improve types

* remove edge runtime

* fix

* revert auth part

* revert auth part

* revert auth part
2025-09-06 18:44:19 +08:00
Arvin Xu ae28f1794c ️ build : Revert "support mac intel chip" (#9134)
Revert "feat(desktop): support mac intel chip (#9084)"

This reverts commit 1a75f4a6b5.
2025-09-06 16:14:42 +08:00
lobehubbot 68783fd2f7 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-06 07:10:23 +00:00
semantic-release-bot 9e43c1d6e0 🔖 chore(release): v1.124.2 [skip ci]
### [Version&nbsp;1.124.2](https://github.com/lobehub/lobe-chat/compare/v1.124.1...v1.124.2)
<sup>Released on **2025-09-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix ChatInput send command switch.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix ChatInput send command switch, closes [#9131](https://github.com/lobehub/lobe-chat/issues/9131) ([4d5246a](https://github.com/lobehub/lobe-chat/commit/4d5246a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-06 07:09:17 +00:00
Arvin Xu 4d5246acd8 🐛 fix: fix ChatInput send command switch (#9131)
fix command enter switch
2025-09-06 14:59:26 +08:00
Arvin Xu f813d0c429 test: add model runtime tests (#9128)
* fix

* refactor to remove model runtime alias in tests
2025-09-06 14:57:14 +08:00
YuTengjing 1a75f4a6b5 feat(desktop): support mac intel chip (#9084) 2025-09-06 14:03:16 +08:00
Arvin Xu f4c3002b55 test: refactor to improve utils tests and add more tests (#9124)
* refactor to improve utils code

* refactor to improve const code

* refactor to improve types code

* add web crawler tests

* refactor citation item

* add electron server ipc tests

* fix tests

* add more tests

* add timeout
2025-09-06 12:21:58 +08:00
lobehubbot e3aacfcdce 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-06 03:42:14 +00:00
semantic-release-bot 67ad3c42cc 🔖 chore(release): v1.124.1 [skip ci]
### [Version&nbsp;1.124.1](https://github.com/lobehub/lobe-chat/compare/v1.124.0...v1.124.1)
<sup>Released on **2025-09-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Enhance NewAPI with environment variables and fix routers compatibility.

#### 💄 Styles

- **misc**: Update doubao-seed-1.6-vision models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Enhance NewAPI with environment variables and fix routers compatibility, closes [#9110](https://github.com/lobehub/lobe-chat/issues/9110) ([a66856d](https://github.com/lobehub/lobe-chat/commit/a66856d))

#### Styles

* **misc**: Update doubao-seed-1.6-vision models, closes [#9052](https://github.com/lobehub/lobe-chat/issues/9052) ([df2d001](https://github.com/lobehub/lobe-chat/commit/df2d001))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-06 03:41:13 +00:00
sxjeru df2d001336 💄 style: Update doubao-seed-1.6-vision models (#9052)
*  feat: 更新 Hunyuan、Novita 和 VolcEngine 模型的参数和描述

*  feat: 添加 DeepSeek V3.1 的思考模式和非思考模式模型,更新描述和显示名称

*  feat: 更新 Groq 模型的描述和显示名称,调整 ID 格式

*  feat: 更新 Novita 模型的上下文窗口令牌和定价策略

*  feat: 添加 Gemma 3 12B 和 Seed OSS 36B Instruct 模型,更新描述、定价和上下文窗口令牌

*  feat: 更新 Novita 模型的定价策略,调整输入和输出的费率

*  feat: 移除 Gemini 2.5 Flash 实验模型,更新模型列表

*  feat: 添加 Kimi K2 0905 模型,更新上下文窗口令牌和定价策略

* update groq

*  feat: 添加 Kimi K2 0905 模型,更新上下文窗口令牌和定价策略

*  feat: 更新 Doubao Seed 模型的部署名称和最大输出,调整上下文窗口令牌

*  feat: 添加 Qwen3 Max Preview 模型,更新上下文窗口令牌和定价策略
2025-09-06 11:30:46 +08:00
Maple Gao a66856dc83 🐛 fix: enhance NewAPI with environment variables and fix routers compatibility (#9110)
 feat: enhance NewAPI with environment variables and fix routers compatibility

- Add NEWAPI_API_KEY and NEWAPI_PROXY_URL environment variable support
- Update documentation for NewAPI configuration options
- Fix routers baseURL handling to prevent duplicate version paths
- Remove /v1 baseURL requirement to avoid SDK compatibility issues
- Auto-detect model capabilities based on provider detection
- Support dynamic routing to correct provider endpoints

This resolves URL duplication issues like /v1beta/v1beta/ and ensures
proper routing to Anthropic, Google, OpenAI, and XAI endpoints.
2025-09-06 11:30:12 +08:00
Arvin Xu e7036af61e test: add test for v2 genai (#9123)
* add more tests

* update tests

* improve
2025-09-06 11:16:30 +08:00
lobehubbot 86ff95ff15 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-06 02:03:08 +00:00
semantic-release-bot 926577302e 🔖 chore(release): v1.124.0 [skip ci]
## [Version&nbsp;1.124.0](https://github.com/lobehub/lobe-chat/compare/v1.123.4...v1.124.0)
<sup>Released on **2025-09-06**</sup>

####  Features

- **misc**: ChatInput support rich text and support parallel send.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: ChatInput support rich text and support parallel send, closes [#8964](https://github.com/lobehub/lobe-chat/issues/8964) ([38d9d98](https://github.com/lobehub/lobe-chat/commit/38d9d98))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-06 02:02:12 +00:00
CanisMinor 38d9d98b97 feat: ChatInput support rich text and support parallel send (#8964)
*  feat: Add LobeEditor

* fix tests

* fix mobile

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-09-06 09:51:52 +08:00
lobehubbot e2448eb091 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-05 14:23:34 +00:00
semantic-release-bot 5747239625 🔖 chore(release): v1.123.4 [skip ci]
### [Version&nbsp;1.123.4](https://github.com/lobehub/lobe-chat/compare/v1.123.3...v1.123.4)
<sup>Released on **2025-09-05**</sup>

#### ♻ Code Refactoring

- **misc**: Remove edge runtime.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Remove edge runtime, closes [#9085](https://github.com/lobehub/lobe-chat/issues/9085) ([d3544f9](https://github.com/lobehub/lobe-chat/commit/d3544f9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-05 14:22:34 +00:00
Arvin Xu d3544f90d3 ♻️ refactor: remove edge runtime (#9085)
* remove edge runtime

* refactor
2025-09-05 22:12:34 +08:00
Arvin Xu 3e537cd01d ♻️ refactor: refactor to use trpc client link chain (#9107)
* refactor

* Update lambda.ts
2025-09-05 21:53:31 +08:00
lobehubbot 72e77b497c 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-05 09:58:40 +00:00
semantic-release-bot 285e2f35f7 🔖 chore(release): v1.123.3 [skip ci]
### [Version&nbsp;1.123.3](https://github.com/lobehub/lobe-chat/compare/v1.123.2...v1.123.3)
<sup>Released on **2025-09-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix mobile header title to loog not ellipsis.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix mobile header title to loog not ellipsis, closes [#9109](https://github.com/lobehub/lobe-chat/issues/9109) ([9b8435b](https://github.com/lobehub/lobe-chat/commit/9b8435b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-05 09:57:45 +00:00
Shinji-Li 9b8435b024 🐛 fix: fix mobile header title to loog not ellipsis (#9109)
fix: fix mobile header title to loog not ellipsis
2025-09-05 17:47:37 +08:00
lobehubbot c7c4ab55b1 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-05 06:58:09 +00:00
semantic-release-bot 350e66a320 🔖 chore(release): v1.123.2 [skip ci]
### [Version&nbsp;1.123.2](https://github.com/lobehub/lobe-chat/compare/v1.123.1...v1.123.2)
<sup>Released on **2025-09-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Not use branch topic when this topic is not save.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Not use branch topic when this topic is not save, closes [#9083](https://github.com/lobehub/lobe-chat/issues/9083) ([f534d19](https://github.com/lobehub/lobe-chat/commit/f534d19))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-05 06:57:16 +00:00
Shinji-Li f534d19338 🐛 fix: not use branch topic when this topic is not save (#9083)
fix: not use branch topic when this topic is not save
2025-09-05 14:47:34 +08:00
lobehubbot b15e90e1ae 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-05 02:34:26 +00:00
semantic-release-bot 55079fc321 🔖 chore(release): v1.123.1 [skip ci]
### [Version&nbsp;1.123.1](https://github.com/lobehub/lobe-chat/compare/v1.123.0...v1.123.1)
<sup>Released on **2025-09-05**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9095](https://github.com/lobehub/lobe-chat/issues/9095) ([1080ff3](https://github.com/lobehub/lobe-chat/commit/1080ff3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-05 02:33:30 +00:00
LobeHub Bot 1080ff33aa 🤖 style: update i18n (#9095)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-05 10:23:31 +08:00
lobehubbot 837065f08a 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 15:58:10 +00:00
semantic-release-bot 305e910e98 🔖 chore(release): v1.123.0 [skip ci]
## [Version&nbsp;1.123.0](https://github.com/lobehub/lobe-chat/compare/v1.122.7...v1.123.0)
<sup>Released on **2025-09-04**</sup>

####  Features

- **misc**: Add NewAPI as a router provider for multi-model aggregation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add NewAPI as a router provider for multi-model aggregation, closes [#9041](https://github.com/lobehub/lobe-chat/issues/9041) [/github.com/lobehub/lobe-chat/pull/9041#pullrequestreview-3183464594](https://github.com//github.com/lobehub/lobe-chat/pull/9041/issues/pullrequestreview-3183464594) ([7e291c2](https://github.com/lobehub/lobe-chat/commit/7e291c2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 15:57:02 +00:00
Maple Gao 7e291c23f7 feat: add NewAPI as a router provider for multi-model aggregation (#9041)
*  feat: add NewAPI as a router provider for multi-model aggregation

* Update packages/model-runtime/src/newapi/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/model-runtime/src/newapi/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/model-runtime/src/newapi/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/model-runtime/src/newapi/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* 🐛 fix: correct baseURL configuration and add comprehensive tests for NewAPI

- Fix baseURL handling to avoid double /v1 path
- Add url-join for proper URL concatenation
- Simplify router models functions using Array.from and filter
- Add comprehensive test coverage with 100% branch coverage
- Fix TypeScript type issues in tests

* 🧪 test: implement 100% branch coverage for NewAPI runtime

- Add comprehensive test suite with 44 test cases
- Achieve 100% branch coverage for all conditional logic
- Test all provider detection, pricing calculation, and data handling branches
- Fix TypeScript type errors with proper type annotations
- Maintain all 44 tests passing with zero errors
- Cover handlePayload, getProviderFromOwnedBy, and models function branches
- No business code modifications - test-only changes

* 🔨 fix: adjust for review comment https://github.com/lobehub/lobe-chat/pull/9041#pullrequestreview-3183464594

* 🐛 fix: resolve NewAPI baseURL transmission issue with dynamic routers configuration

- Extend RouterRuntime to support dynamic routers: RouterInstance[] | ((options) => RouterInstance[])
- Refactor NewAPI from IIFE closure to dynamic configuration function
- Fix timing issue where routers were configured before baseURL was available
- Add comprehensive tests for dynamic routers functionality
- Resolve 'Invalid URL input: v1/models' error by ensuring user baseURL propagates correctly
- Maintain backward compatibility with static routers arrays

Tests: NewAPI (44→45), RouterRuntime (15→17), all passing
2025-09-04 23:47:18 +08:00
lobehubbot 7634f511bf 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 13:54:41 +00:00
semantic-release-bot 5e611f2fba 🔖 chore(release): v1.122.7 [skip ci]
### [Version&nbsp;1.122.7](https://github.com/lobehub/lobe-chat/compare/v1.122.6...v1.122.7)
<sup>Released on **2025-09-04**</sup>

#### ♻ Code Refactoring

- **misc**: Make LobeNextAuthDBAdapter Edge Compatible.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Make LobeNextAuthDBAdapter Edge Compatible, closes [#9088](https://github.com/lobehub/lobe-chat/issues/9088) ([411f88e](https://github.com/lobehub/lobe-chat/commit/411f88e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 13:53:39 +00:00
Rylan Cai 411f88eca1 ♻️ refactor: make LobeNextAuthDBAdapter Edge Compatible (#9088)
* ♻️ refactor: make adapter edge compatible

* ♻️ refactor: cascade changes

* 🐛 fix: default callbackUrl

* ♻️ refactor: use adapter & strategy control

* ♻️ refactor: migreate

* ♻️ refactor: immediate return

* ♻️ refactor: improve codes & remove tests

*  test: update auth test

* 🐛 fix: date conversation err

* 🐛 fix: naming

* ♻️ refactor: cascade changes

*  test: no longer need not impl err

* 🐛 fix: only init db adapter in server service
2025-09-04 21:42:39 +08:00
Arvin Xu 0e38ce159e 🔨 chore: rename example development (#9090)
rename example development
2025-09-04 20:51:59 +08:00
lobehubbot 27bcf18c4c 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 11:49:14 +00:00
semantic-release-bot 298cd4f8c9 🔖 chore(release): v1.122.6 [skip ci]
### [Version&nbsp;1.122.6](https://github.com/lobehub/lobe-chat/compare/v1.122.5...v1.122.6)
<sup>Released on **2025-09-04**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 11:48:19 +00:00
Arvin Xu 7bd25d96fe 👷 build: Revert "♻️ refactor: make LobeNextAuthDBAdapter Edge Compatible" (#9086)
Revert "♻️ refactor: make LobeNextAuthDBAdapter Edge Compatible (#8188)"

This reverts commit f456e91d7b.
2025-09-04 19:36:03 +08:00
lobehubbot 3d7ce4a18a 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 11:24:06 +00:00
semantic-release-bot 56f55da260 🔖 chore(release): v1.122.5 [skip ci]
### [Version&nbsp;1.122.5](https://github.com/lobehub/lobe-chat/compare/v1.122.4...v1.122.5)
<sup>Released on **2025-09-04**</sup>

#### ♻ Code Refactoring

- **misc**: Make LobeNextAuthDBAdapter Edge Compatible.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Make LobeNextAuthDBAdapter Edge Compatible, closes [#8188](https://github.com/lobehub/lobe-chat/issues/8188) ([f456e91](https://github.com/lobehub/lobe-chat/commit/f456e91))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 11:23:12 +00:00
Rylan Cai f456e91d7b ♻️ refactor: make LobeNextAuthDBAdapter Edge Compatible (#8188)
* ♻️ refactor: make adapter edge compatible

* ♻️ refactor: cascade changes

* 🐛 fix: default callbackUrl

* ♻️ refactor: use adapter & strategy control

* ♻️ refactor: migreate

* ♻️ refactor: immediate return

* ♻️ refactor: improve codes & remove tests

*  test: update auth test

* 🐛 fix: date conversation err

* 🐛 fix: naming

* ♻️ refactor: cascade changes

*  test: no longer need not impl err
2025-09-04 17:32:20 +08:00
lobehubbot 2fa57ff557 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 08:53:43 +00:00
semantic-release-bot 3d671740a3 🔖 chore(release): v1.122.4 [skip ci]
### [Version&nbsp;1.122.4](https://github.com/lobehub/lobe-chat/compare/v1.122.3...v1.122.4)
<sup>Released on **2025-09-04**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9062](https://github.com/lobehub/lobe-chat/issues/9062) ([970ece0](https://github.com/lobehub/lobe-chat/commit/970ece0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 08:52:45 +00:00
LobeHub Bot 970ece0498 🤖 style: update i18n (#9062)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-04 16:41:20 +08:00
Arvin Xu c5ed5fdf2e test: add more tests (#9074)
* fix

try to fix

add v2 test

try to fix docker build issue

fix lint

add tests

replace

* fix

* fix
2025-09-04 16:41:10 +08:00
lobehubbot e8db8b9b99 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 08:06:05 +00:00
semantic-release-bot 759f30e5b7 🔖 chore(release): v1.122.3 [skip ci]
### [Version&nbsp;1.122.3](https://github.com/lobehub/lobe-chat/compare/v1.122.2...v1.122.3)
<sup>Released on **2025-09-04**</sup>

#### 🐛 Bug Fixes

- **misc**: Support base64 image from markdown image syntax.

#### 💄 Styles

- **misc**: Update the price of the o3 model in OpenRouter.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Support base64 image from markdown image syntax, closes [#9054](https://github.com/lobehub/lobe-chat/issues/9054) ([d013a16](https://github.com/lobehub/lobe-chat/commit/d013a16))

#### Styles

* **misc**: Update the price of the o3 model in OpenRouter, closes [#9075](https://github.com/lobehub/lobe-chat/issues/9075) ([43ef47c](https://github.com/lobehub/lobe-chat/commit/43ef47c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 08:05:04 +00:00
Lumia 43ef47c522 💄 style: Update the price of the o3 model in OpenRouter (#9075)
Update openrouter o3 price
2025-09-04 15:51:47 +08:00
sxjeru d013a166ce 🐛 fix: Support base64 image from markdown image syntax (#9054)
*  feat: add support for handling base64 images in markdown content within OpenAI stream

*  feat: 支持在非思考模式下解析 markdown 中的 base64 图片并按顺序输出

* fix: 从结果中去除 markdown data:image

*  feat: 合并提取和清理 markdown 中 base64 图片的功能

* fix test
2025-09-04 15:51:18 +08:00
lobehubbot 86fc3912e0 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 07:50:29 +00:00
semantic-release-bot 6d438262b0 🔖 chore(release): v1.122.2 [skip ci]
### [Version&nbsp;1.122.2](https://github.com/lobehub/lobe-chat/compare/v1.122.1...v1.122.2)
<sup>Released on **2025-09-04**</sup>

#### 🐛 Bug Fixes

- **modelProvider**: Add lmstudio to provider whitelist to enable fetchOnClient toggle.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **modelProvider**: Add lmstudio to provider whitelist to enable fetchOnClient toggle, closes [#9067](https://github.com/lobehub/lobe-chat/issues/9067) ([e58864f](https://github.com/lobehub/lobe-chat/commit/e58864f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 07:49:16 +00:00
wano e58864f361 🐛 fix(modelProvider): add lmstudio to provider whitelist to enable fetchOnClient toggle (#9067)
- Add 'lmstudio' to providerWhitelist in both user and aiInfra store selectors
- Fix issue where LMStudio's client fetch mode toggle was non-functional
- Users can now properly control client/server request mode for LMStudio
- Resolves forced client mode when only baseURL is configured

Fixes client request mode control for LMStudio provider
2025-09-04 15:37:52 +08:00
Arvin Xu 9c2b411493 📝 docs: update README (#9079)
update docs
2025-09-04 15:37:31 +08:00
lobehubbot da2c0a2c57 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 07:19:58 +00:00
semantic-release-bot 14ac6d1515 🔖 chore(release): v1.122.1 [skip ci]
### [Version&nbsp;1.122.1](https://github.com/lobehub/lobe-chat/compare/v1.122.0...v1.122.1)
<sup>Released on **2025-09-04**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 07:19:03 +00:00
Arvin Xu 8b9fced111 👷 build: fix docker build issue (#9070)
* try to fix docker build issue

* replace

* fix build
2025-09-04 15:08:27 +08:00
lobehubbot eea96605cf 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-04 05:09:08 +00:00
semantic-release-bot 612866dea1 🔖 chore(release): v1.122.0 [skip ci]
## [Version&nbsp;1.122.0](https://github.com/lobehub/lobe-chat/compare/v1.121.1...v1.122.0)
<sup>Released on **2025-09-04**</sup>

####  Features

- **misc**: Refactor to speed up send message in server mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Refactor to speed up send message in server mode, closes [#9046](https://github.com/lobehub/lobe-chat/issues/9046) ([4813b6d](https://github.com/lobehub/lobe-chat/commit/4813b6d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-04 05:08:10 +00:00
Arvin Xu a9c660c26e 🔨 chore: fix webpack build OOM (#9066)
fix build
2025-09-04 12:57:50 +08:00
Arvin Xu 4813b6df27 feat: refactor to speed up send message in server mode (#9046)
* refactor send message

* support message rag data

* fix

* fix tests

* fix lint

* add tests

* fix bug
2025-09-04 12:53:55 +08:00
lobehubbot 0a1dcf943e 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-03 10:40:14 +00:00
semantic-release-bot 9eec81c551 🔖 chore(release): v1.121.1 [skip ci]
### [Version&nbsp;1.121.1](https://github.com/lobehub/lobe-chat/compare/v1.121.0...v1.121.1)
<sup>Released on **2025-09-03**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix socks5 proxy not work problem, fix virtuaso minheight was null.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix socks5 proxy not work problem, closes [#9053](https://github.com/lobehub/lobe-chat/issues/9053) ([b13563c](https://github.com/lobehub/lobe-chat/commit/b13563c))
* **misc**: Fix virtuaso minheight was null, closes [#9055](https://github.com/lobehub/lobe-chat/issues/9055) ([ef79721](https://github.com/lobehub/lobe-chat/commit/ef79721))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-03 10:39:16 +00:00
Shinji-Li b13563cb34 🐛 fix: fix socks5 proxy not work problem (#9053) 2025-09-03 18:28:55 +08:00
Shinji-Li ef79721828 🐛 fix: fix virtuaso minheight was null (#9055) 2025-09-03 18:28:32 +08:00
lobehubbot 20a53cbd34 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-03 08:39:57 +00:00
semantic-release-bot a76ad2344d 🔖 chore(release): v1.121.0 [skip ci]
## [Version&nbsp;1.121.0](https://github.com/lobehub/lobe-chat/compare/v1.120.7...v1.121.0)
<sup>Released on **2025-09-03**</sup>

####  Features

- **misc**: Add nano banana Chinese prompt notify.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add nano banana Chinese prompt notify, closes [#9038](https://github.com/lobehub/lobe-chat/issues/9038) ([58e19f8](https://github.com/lobehub/lobe-chat/commit/58e19f8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-03 08:39:00 +00:00
YuTengjing 58e19f856c feat: add nano banana Chinese prompt notify (#9038) 2025-09-03 16:29:13 +08:00
Asuka109 d1c5645517 🔨 chore: add docker compose to setup local services for development (#8608)
* 👷 build: add docker compose to setup local services for development

* 👷 build: setup dotenv-expand for all the npm scripts

* 🐛 fix: remove useless comments

* 📚 docs: add server-side database setup guide with i18n support

- Add comprehensive server-side database setup documentation
- Include step-by-step Docker service configuration
- Add Chinese localization for better developer experience
- Cover environment setup, database migration, and verification steps
2025-09-02 17:06:01 +08:00
lobehubbot 0884747bb3 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-02 03:38:26 +00:00
semantic-release-bot 8169eae189 🔖 chore(release): v1.120.7 [skip ci]
### [Version&nbsp;1.120.7](https://github.com/lobehub/lobe-chat/compare/v1.120.6...v1.120.7)
<sup>Released on **2025-09-02**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9033](https://github.com/lobehub/lobe-chat/issues/9033) ([650e552](https://github.com/lobehub/lobe-chat/commit/650e552))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-02 03:37:29 +00:00
LobeHub Bot 650e552aa8 🤖 style: update i18n (#9033)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-09-02 11:25:39 +08:00
lobehubbot 11b27e5bf7 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-01 06:23:49 +00:00
semantic-release-bot a6367a5166 🔖 chore(release): v1.120.6 [skip ci]
### [Version&nbsp;1.120.6](https://github.com/lobehub/lobe-chat/compare/v1.120.5...v1.120.6)
<sup>Released on **2025-09-01**</sup>

#### 💄 Styles

- **misc**: Add upload hint for non-visual model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add upload hint for non-visual model, closes [#7969](https://github.com/lobehub/lobe-chat/issues/7969) ([1224f4e](https://github.com/lobehub/lobe-chat/commit/1224f4e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-01 06:22:54 +00:00
Arvin Xu 1224f4e4a7 💄 style: add upload hint for non-visual model (#7969)
* add upload hint

* fix tests
2025-09-01 14:11:41 +08:00
lobehubbot 1e1dbb7829 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-01 04:12:35 +00:00
semantic-release-bot 49fd419b72 🔖 chore(release): v1.120.5 [skip ci]
### [Version&nbsp;1.120.5](https://github.com/lobehub/lobe-chat/compare/v1.120.4...v1.120.5)
<sup>Released on **2025-09-01**</sup>

#### 🐛 Bug Fixes

- **ai-image**: Save config.imageUrl with fullUrl instead of key.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **ai-image**: Save config.imageUrl with fullUrl instead of key, closes [#9016](https://github.com/lobehub/lobe-chat/issues/9016) ([bad009a](https://github.com/lobehub/lobe-chat/commit/bad009a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-01 04:11:34 +00:00
YuTengjing bad009a43c 🐛 fix(ai-image): save config.imageUrl with fullUrl instead of key (#9016) 2025-09-01 11:59:51 +08:00
renovate[bot] 987e87ad8b Update dependency gpt-tokenizer to v3 (#9009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-01 10:44:00 +08:00
lobehubbot b36d8c7466 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-01 02:08:53 +00:00
semantic-release-bot 2590d72ae3 🔖 chore(release): v1.120.4 [skip ci]
### [Version&nbsp;1.120.4](https://github.com/lobehub/lobe-chat/compare/v1.120.3...v1.120.4)
<sup>Released on **2025-09-01**</sup>

#### 💄 Styles

- **misc**: Adjust ControlsForm component to adapt to mobile phone display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Adjust ControlsForm component to adapt to mobile phone display, closes [#9013](https://github.com/lobehub/lobe-chat/issues/9013) ([c6038c0](https://github.com/lobehub/lobe-chat/commit/c6038c0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-01 02:07:56 +00:00
bbbugg c6038c0670 💄 style: adjust ControlsForm component to adapt to mobile phone display (#9013)
* 🐛 fix: adjust ControlsForm component to use responsive widths for descriptions

* 🐛 fix: update ControlsForm component for responsive description widths on narrow screens
2025-09-01 09:56:23 +08:00
lobehubbot 4ccf4c341b 📝 docs(bot): Auto sync agents & plugin to readme 2025-09-01 01:51:29 +00:00
semantic-release-bot c922ff2d68 🔖 chore(release): v1.120.3 [skip ci]
### [Version&nbsp;1.120.3](https://github.com/lobehub/lobe-chat/compare/v1.120.2...v1.120.3)
<sup>Released on **2025-09-01**</sup>

#### 💄 Styles

- **misc**: Support new provider Nebius.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support new provider Nebius, closes [#8903](https://github.com/lobehub/lobe-chat/issues/8903) ([c15791d](https://github.com/lobehub/lobe-chat/commit/c15791d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-09-01 01:50:34 +00:00
sxjeru c15791d852 💄 style: Support new provider Nebius (#8903)
* feat: add Nebius model support and configuration

* feat(nebius): enhance model definitions and add support for image and embedding models

* Implement code changes to enhance functionality and improve performance

* feat(nebius): remove 'created' field from model standardization

* feat(novita): format model pricing and enhance model data structure

* feat: 更新模型处理逻辑,优化模型字段和定价格式

* feat(openrouter): 更新模型接口,优化价格格式和上下文窗口大小

* feat: 添加定价格式化功能,更新模型接口以支持新的定价结构

* fix test

* feat: 添加Hermes-4-70B和Hermes-4-405B模型,更新定价结构

* feat: add functionCall, reasoning, and vision properties to model list

* 拆分 pr

* Delete src/config/aiModels/nebius.ts

* Delete src/config/aiModels/index.ts

* Delete src/config/aiModels/openrouter.ts

* add change

* 添加 nebius 模型的导出路径

* Update providers.tsx

* 更新 Gemini 2.5 Flash Image Preview 模型名称为 "Nano Banana"

* fix

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-09-01 09:38:59 +08:00
lobehubbot 7ffb30713e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-31 16:42:21 +00:00
semantic-release-bot 18d2e6d50b 🔖 chore(release): v1.120.2 [skip ci]
### [Version&nbsp;1.120.2](https://github.com/lobehub/lobe-chat/compare/v1.120.1...v1.120.2)
<sup>Released on **2025-08-31**</sup>

#### ♻ Code Refactoring

- **misc**: Remove base path.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Remove base path, closes [#9015](https://github.com/lobehub/lobe-chat/issues/9015) ([2a5f8d7](https://github.com/lobehub/lobe-chat/commit/2a5f8d7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-31 16:41:22 +00:00
Arvin Xu 2a5f8d712f ♻️ refactor: remove base path (#9015)
* clean

* remove

* fix

* move config to envs

* remove envs
2025-09-01 00:30:13 +08:00
renovate[bot] 82f5abf83b Update dependency file-type to v21 (#9008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 20:05:38 +08:00
renovate[bot] 332e06ee6b Update dependency happy-dom to v18 (#9010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 20:04:51 +08:00
lobehubbot f1cddf9802 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-31 11:54:19 +00:00
semantic-release-bot 2525740b9d 🔖 chore(release): v1.120.1 [skip ci]
### [Version&nbsp;1.120.1](https://github.com/lobehub/lobe-chat/compare/v1.120.0...v1.120.1)
<sup>Released on **2025-08-31**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#9005](https://github.com/lobehub/lobe-chat/issues/9005) ([63760f9](https://github.com/lobehub/lobe-chat/commit/63760f9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-31 11:53:25 +00:00
renovate[bot] a6b2a19b0e Update dependency lucide-react to ^0.542.0 (#9006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 16:37:51 +08:00
LobeHub Bot 63760f9059 🤖 style: update i18n (#9005)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-31 16:37:28 +08:00
lobehubbot 043e7da368 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 17:42:29 +00:00
semantic-release-bot f594fe16b1 🔖 chore(release): v1.120.0 [skip ci]
## [Version&nbsp;1.120.0](https://github.com/lobehub/lobe-chat/compare/v1.119.2...v1.120.0)
<sup>Released on **2025-08-30**</sup>

#### ♻ Code Refactoring

- **misc**: Remove webrtc sync feature flag.

####  Features

- **misc**: Rename Gemini 2.5 flash image to Nano Banana.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Remove webrtc sync feature flag, closes [#9002](https://github.com/lobehub/lobe-chat/issues/9002) ([0924d98](https://github.com/lobehub/lobe-chat/commit/0924d98))

#### What's improved

* **misc**: Rename Gemini 2.5 flash image to Nano Banana, closes [#9004](https://github.com/lobehub/lobe-chat/issues/9004) ([dac5a6f](https://github.com/lobehub/lobe-chat/commit/dac5a6f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 17:41:09 +00:00
Arvin Xu 0924d98f5e ♻️ refactor: remove webrtc sync feature flag (#9002)
* refactor to clean code

* clean yjs

* upgrade icons

* Update package.json

* fix tests

* fix tests

* fix tests
2025-08-31 01:28:44 +08:00
YuTengjing dac5a6f22d feat: rename Gemini 2.5 flash image to Nano Banana (#9004) 2025-08-31 01:26:01 +08:00
bbbugg 44ffe14b9f 🐛fix: Qwen & SiliconCloud DeepSeek V3.1 Model Ability (#8999)
* 🐛 fix: remove functionCall ability from Qwen DeepSeek V3.1 models

* 🐛 fix: add 'deepseek-v3.1' to model keyword checks and extend parameters for reasoning

* 🐛 fix: add reasoning to 'DeepSeek-V3.1'
2025-08-31 01:21:58 +08:00
lobehubbot ddba451027 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 16:24:23 +00:00
semantic-release-bot bd5fb75efc 🔖 chore(release): v1.119.2 [skip ci]
### [Version&nbsp;1.119.2](https://github.com/lobehub/lobe-chat/compare/v1.119.1...v1.119.2)
<sup>Released on **2025-08-30**</sup>

#### ♻ Code Refactoring

- **model-runtime**: Refactor model-runtime dependencies and clean code.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **model-runtime**: Refactor model-runtime dependencies and clean code, closes [#8997](https://github.com/lobehub/lobe-chat/issues/8997) ([9f7677d](https://github.com/lobehub/lobe-chat/commit/9f7677d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 16:23:22 +00:00
Arvin Xu d7294ddebc 🔨 chore: fix types (#9003)
fix types
2025-08-31 00:11:37 +08:00
sxjeru b0e163cb2b 🔨 chore: Optimized model owner parse (#9000)
* Update modelParse.ts

* Update modelParse.test.ts
2025-08-30 23:53:12 +08:00
Arvin Xu 9f7677d560 ♻️ refactor(model-runtime): refactor model-runtime dependencies and clean code (#8997)
* refactor and clean code

* refactor to remove circular deps

* refactor to clean code

* refactor to clean code

* refactor model-runtime

* refactor image const

* refactor model-runtime import

* fix lint circular

* refactor the @/lib/model-runtime

* fix tests

* refactor to clean code
2025-08-30 23:52:42 +08:00
lobehubbot 999a63f648 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 12:28:34 +00:00
semantic-release-bot d8531ab120 🔖 chore(release): v1.119.1 [skip ci]
### [Version&nbsp;1.119.1](https://github.com/lobehub/lobe-chat/compare/v1.119.0...v1.119.1)
<sup>Released on **2025-08-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Update enableStreaming name.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update enableStreaming name, closes [#8995](https://github.com/lobehub/lobe-chat/issues/8995) ([7c7de40](https://github.com/lobehub/lobe-chat/commit/7c7de40))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 12:27:35 +00:00
Rylan Cai 099965a78f 🔨 chore(model-runtime): add ChatMethods ChatMethodOptions merge helper (#8998)
* :recyel: refactor: add ChatMethodOptions merger

* 📝 docs: expose methods
2025-08-30 20:16:20 +08:00
bbbugg 7c7de40007 🐛 fix: update enableStreaming name (#8995) 2025-08-30 20:15:58 +08:00
lobehubbot 5b043d81b1 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 11:06:25 +00:00
semantic-release-bot f326e8989e 🔖 chore(release): v1.119.0 [skip ci]
## [Version&nbsp;1.119.0](https://github.com/lobehub/lobe-chat/compare/v1.118.8...v1.119.0)
<sup>Released on **2025-08-30**</sup>

####  Features

- **misc**: Added support for Azure OpenAI Image Generation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Added support for Azure OpenAI Image Generation, closes [#8898](https://github.com/lobehub/lobe-chat/issues/8898) ([6042340](https://github.com/lobehub/lobe-chat/commit/6042340))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 11:05:32 +00:00
Jamie Stivala 604234029c feat: Added support for Azure OpenAI Image Generation (#8898) 2025-08-30 18:54:00 +08:00
lobehubbot a6d929bc2d 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 05:28:26 +00:00
semantic-release-bot 54b6062c2e 🔖 chore(release): v1.118.8 [skip ci]
### [Version&nbsp;1.118.8](https://github.com/lobehub/lobe-chat/compare/v1.118.7...v1.118.8)
<sup>Released on **2025-08-30**</sup>

#### 💄 Styles

- **misc**: Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models, closes [#8878](https://github.com/lobehub/lobe-chat/issues/8878) ([5d538a2](https://github.com/lobehub/lobe-chat/commit/5d538a2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 05:27:24 +00:00
sxjeru 5d538a235a 💄 style: update DeepSeek V3.1 & Gemini 2.5 Flash Image Preview models (#8878)
* 🔨 refactor: update DeepSeek model configurations and processing logic

* 🔨 feat: 添加 DeepSeek V3.1 聊天模型配置

* 🔨 feat: 添加 DeepSeek V3.1 聊天模型到 openrouter 配置

* update

* 🔨 feat: 更新 DeepSeek V3.1 模型配置,添加新模型并调整描述

* 🔨 feat: 更新 DeepSeek V3.1 模型配置,增加描述和定价信息,调整上下文窗口大小

* Update qwen.ts

* 🔨 feat: 添加 DeepSeek V3.1 聊天模型,更新模型描述和定价信息

* fix

* Update deepseek.ts

* 🔨 feat(google): 添加 Gemini 2.5 Flash 实验模型,支持图像生成

* 🔨 feat(aihubmix): 添加 Gemini 2.5 Flash 实验模型,支持图像生成

* 🔨 feat(aihubmix): 添加 Grok 4 模型,增强自然语言处理和推理能力

* 🔨 feat(qwen): 调整 textInput_cacheRead 定价策略,优化定价计算

* 🔨 feat(google): 添加 gemini-2.5-flash-image-preview 模型到模型集合中,更新思考配置逻辑

* 🔨 feat(vertexai): 添加 Gemini 2.5 Flash 实验模型,支持图像生成

* 🔨 feat(google): 增强 Google 生成 AI 流处理,兼容性改进文本提取逻辑
🔨 feat(xai): 添加 Grok Code Fast 1 模型,优化逻辑任务处理能力

* 🔨 feat(google): 增强 Google 生成 AI 流处理,支持文本和图像数据的返回

* 去除重复

* pull main

* ♻️ fix: avoid duplicate 'stop' chunk in Google AI stream; handle missing usage metadata

* update novita

* ♻️ fix: update  snapshot

* Update xai.ts

* Update modelParse.ts

* fix: update snapshot
2025-08-30 13:16:22 +08:00
lobehubbot 33050d6abe 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-30 03:31:17 +00:00
semantic-release-bot 00822ef502 🔖 chore(release): v1.118.7 [skip ci]
### [Version&nbsp;1.118.7](https://github.com/lobehub/lobe-chat/compare/v1.118.6...v1.118.7)
<sup>Released on **2025-08-30**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8990](https://github.com/lobehub/lobe-chat/issues/8990) ([136bc5a](https://github.com/lobehub/lobe-chat/commit/136bc5a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-30 03:30:22 +00:00
LobeHub Bot 136bc5a917 🤖 style: update i18n (#8990) 2025-08-30 11:18:24 +08:00
lobehubbot 3e1b360186 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 18:58:54 +00:00
semantic-release-bot cc882be4ef 🔖 chore(release): v1.118.6 [skip ci]
### [Version&nbsp;1.118.6](https://github.com/lobehub/lobe-chat/compare/v1.118.5...v1.118.6)
<sup>Released on **2025-08-29**</sup>

#### 💄 Styles

- **misc**: Support non-stream mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support non-stream mode, closes [#8751](https://github.com/lobehub/lobe-chat/issues/8751) ([ce623bb](https://github.com/lobehub/lobe-chat/commit/ce623bb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 18:57:50 +00:00
Arvin Xu ce623bb280 💄 style: support non-stream mode (#8751)
* support non-stream mode

* improve streaming part

* fix tests
2025-08-30 02:46:06 +08:00
lobehubbot e56e475331 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 18:00:57 +00:00
semantic-release-bot 41d7efcf54 🔖 chore(release): v1.118.5 [skip ci]
### [Version&nbsp;1.118.5](https://github.com/lobehub/lobe-chat/compare/v1.118.4...v1.118.5)
<sup>Released on **2025-08-29**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor the `model-bank` package from `src/config/aiModels`.

#### 💄 Styles

- **misc**: Fix clerk scrollBox style, ModelFetcher support getting prices.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor the `model-bank` package from `src/config/aiModels`, closes [#8983](https://github.com/lobehub/lobe-chat/issues/8983) ([c65eb09](https://github.com/lobehub/lobe-chat/commit/c65eb09))

#### Styles

* **misc**: Fix clerk scrollBox style, closes [#8989](https://github.com/lobehub/lobe-chat/issues/8989) ([b25b5a0](https://github.com/lobehub/lobe-chat/commit/b25b5a0))
* **misc**: ModelFetcher support getting prices, closes [#8985](https://github.com/lobehub/lobe-chat/issues/8985) ([58b73ec](https://github.com/lobehub/lobe-chat/commit/58b73ec))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 17:59:53 +00:00
sxjeru 58b73ecc95 💄 style: ModelFetcher support getting prices (#8985)
* 拆分

* fix test
2025-08-30 01:47:48 +08:00
Arvin Xu b25b5a0657 💄 style: fix clerk scrollBox style (#8989)
fix clerk scrollBox style
2025-08-30 01:36:13 +08:00
Arvin Xu c65eb095ba ♻️ refactor: refactor the model-bank package from src/config/aiModels (#8983)
* move

* refactor with model banks

* refactor with model banks

* refactor @/config/aiModels to model-bank

* refactor @/config/aiModels to model-bank

* fix model bank exports

* clean

* add test workflow

* try again

* fix

* add exports tests

* fix model bank alias

* Update tsconfig.json

* fix import issue

* clean unused code

* fix tests
2025-08-30 01:28:16 +08:00
lobehubbot 323425bd90 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 16:02:07 +00:00
semantic-release-bot 4cb831c15a 🔖 chore(release): v1.118.4 [skip ci]
### [Version&nbsp;1.118.4](https://github.com/lobehub/lobe-chat/compare/v1.118.3...v1.118.4)
<sup>Released on **2025-08-29**</sup>

#### 💄 Styles

- **misc**: Fix chat session part switch theme issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix chat session part switch theme issue, closes [#8987](https://github.com/lobehub/lobe-chat/issues/8987) ([b7111be](https://github.com/lobehub/lobe-chat/commit/b7111be))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 16:01:08 +00:00
Arvin Xu b7111be400 💄 style: fix chat session part switch theme issue (#8987)
fix theme issue
2025-08-29 23:49:05 +08:00
lobehubbot 548c4e2ac2 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 13:41:16 +00:00
semantic-release-bot 1dc82d0184 🔖 chore(release): v1.118.3 [skip ci]
### [Version&nbsp;1.118.3](https://github.com/lobehub/lobe-chat/compare/v1.118.2...v1.118.3)
<sup>Released on **2025-08-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Correct totalOutputTokens calculation for XAI provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Correct totalOutputTokens calculation for XAI provider, closes [#8984](https://github.com/lobehub/lobe-chat/issues/8984) ([09ce90a](https://github.com/lobehub/lobe-chat/commit/09ce90a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 13:40:22 +00:00
bbbugg 09ce90a35a 🐛 fix: correct totalOutputTokens calculation for XAI provider (#8984) 2025-08-29 21:28:41 +08:00
孤独豹猫 2071d27335 🐛 fix: improve ollama capability and improve search config (#8848)
* fix(model): 修复 Ollama 模型卡片信息

- 修复Zod schema 的 search 能力的可选布尔字段
- 修正 Ollama 模型运行时中 vision 能力的选项重复/错误

* Update index.ts
2025-08-29 20:49:02 +08:00
lobehubbot c4fd337288 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 12:34:08 +00:00
semantic-release-bot 276e7d7bb4 🔖 chore(release): v1.118.2 [skip ci]
### [Version&nbsp;1.118.2](https://github.com/lobehub/lobe-chat/compare/v1.118.1...v1.118.2)
<sup>Released on **2025-08-29**</sup>

#### 💄 Styles

- **misc**: Add Grok Code Fast 1 model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Grok Code Fast 1 model, closes [#8982](https://github.com/lobehub/lobe-chat/issues/8982) ([dbcec3d](https://github.com/lobehub/lobe-chat/commit/dbcec3d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 12:33:14 +00:00
bbbugg dbcec3d07e 💄 style: add Grok Code Fast 1 model (#8982)
*  feat: add Grok Code Fast 1 model

* 🐛 fix(xai): comment out unsupported settings for reasoningEffort parameter
2025-08-29 20:21:58 +08:00
lobehubbot 85f9ca5c40 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 09:35:24 +00:00
semantic-release-bot 34f88cdaab 🔖 chore(release): v1.118.1 [skip ci]
### [Version&nbsp;1.118.1](https://github.com/lobehub/lobe-chat/compare/v1.118.0...v1.118.1)
<sup>Released on **2025-08-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Add Content-Security-Policy env.

#### 💄 Styles

- **misc**: Support Gemini URL context tool.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add Content-Security-Policy env, closes [#8752](https://github.com/lobehub/lobe-chat/issues/8752) ([9250540](https://github.com/lobehub/lobe-chat/commit/9250540))

#### Styles

* **misc**: Support Gemini URL context tool, closes [#8731](https://github.com/lobehub/lobe-chat/issues/8731) ([5d4ed11](https://github.com/lobehub/lobe-chat/commit/5d4ed11))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 09:34:26 +00:00
sxjeru 5d4ed11ad6 💄 style: Support Gemini URL context tool (#8731)
* feat: 添加 urlContext 支持到多个模型和配置接口

* feat: 在 googleChatModels 中添加 urlContext 参数支持

* feat: 调整 ControlsForm 中的最小宽度,更新 urlContext 标签样式,优化 LobeGoogleAI 中的工具调用逻辑

* feat: 调整 ControlsForm 中思维预算滑块和 urlContext 的最小宽度及样式

* fix

*  feat: 添加 URL 上下文提取功能描述

* i18n

* Update chat.ts

* update i18n

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-29 17:23:09 +08:00
Shinji-Li 9250540912 🐛 fix: add Content-Security-Policy env (#8752)
* fix: add Content-Security-Policy

* feat: add env to control csp open or not

* update env
2025-08-29 17:14:04 +08:00
lobehubbot 0220e81a92 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 08:06:46 +00:00
semantic-release-bot d9024085ed 🔖 chore(release): v1.118.0 [skip ci]
## [Version&nbsp;1.118.0](https://github.com/lobehub/lobe-chat/compare/v1.117.1...v1.118.0)
<sup>Released on **2025-08-29**</sup>

####  Features

- **misc**: Add new provider AkashChat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add new provider AkashChat, closes [#8923](https://github.com/lobehub/lobe-chat/issues/8923) ([2f3bf0f](https://github.com/lobehub/lobe-chat/commit/2f3bf0f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 08:05:49 +00:00
sxjeru 2f3bf0fedf feat: Add new provider AkashChat (#8923)
* feat: 添加 AkashChat 模型及相关配置

* feat: 更新 AkashChat 模型处理逻辑,添加嵌入模型关键词支持

* fix test

* Update akashchat.ts
2025-08-29 15:53:57 +08:00
René Wang 30bb028a09 📝 docs: add agents md (#8971)
* build: Add agents.md

* feat: Add agents md

* 📝 docs: address tjx666's review comments on AGENTS.md

- Fix build tools description to reflect actual Next.js setup (Turbopack/Webpack)
- Remove incorrect Turborepo reference
- Improve TypeScript practices description for clarity

Co-authored-by: René Wang <RiverTwilight@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: René Wang <RiverTwilight@users.noreply.github.com>
2025-08-29 15:52:02 +08:00
lobehubbot 3ac3b8304e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 03:13:13 +00:00
semantic-release-bot d6a3a26e4d 🔖 chore(release): v1.117.1 [skip ci]
### [Version&nbsp;1.117.1](https://github.com/lobehub/lobe-chat/compare/v1.117.0...v1.117.1)
<sup>Released on **2025-08-29**</sup>

#### ♻ Code Refactoring

- **misc**: Move chat item into chat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move chat item into chat, closes [#8970](https://github.com/lobehub/lobe-chat/issues/8970) ([e09817e](https://github.com/lobehub/lobe-chat/commit/e09817e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 03:12:18 +00:00
Arvin Xu e09817e7a6 ♻️ refactor: move chat item into chat (#8970)
move chat item into
2025-08-29 11:00:25 +08:00
lobehubbot df5d0d07f9 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-29 02:51:19 +00:00
semantic-release-bot eafe75bc20 🔖 chore(release): v1.117.0 [skip ci]
## [Version&nbsp;1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
<sup>Released on **2025-08-29**</sup>

####  Features

- **misc**: Ai image support Gemini 2.5 Flash Image, Support Gemini 2.5 Flash Image Preview in OpenRouter.

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))
* **misc**: Support Gemini 2.5 Flash Image Preview in OpenRouter, closes [#8944](https://github.com/lobehub/lobe-chat/issues/8944) ([23dcf4c](https://github.com/lobehub/lobe-chat/commit/23dcf4c))

#### Styles

* **misc**: Update i18n, closes [#8975](https://github.com/lobehub/lobe-chat/issues/8975) ([6872798](https://github.com/lobehub/lobe-chat/commit/6872798))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 02:50:13 +00:00
sxjeru 23dcf4c617 feat: Support Gemini 2.5 Flash Image Preview in OpenRouter (#8944)
* feat: 添加 Gemini 2.5 Flash 图像生成模型并支持 OpenRouter 的 base64_image 处理

* feat: 更新 Gemini 2.5 Flash 模型的图像输出定价和发布日期

* add tests

* 修复 usage

* feat: 重构对 Gemini 2.5 Flash 模型图像输出的支持,更新相关 usage 计费逻辑

* feat: 更新 Gemini AI 流的输出令牌计算,支持图像和文本的分离统计

* add test

* fix test

* fix: 更新 GoogleGenerativeAIStream 测试用例,添加输出图像令牌统计
2025-08-29 10:38:26 +08:00
semantic-release-bot 3fa2573207 🔖 chore(release): v1.117.0 [skip ci]
## [Version&nbsp;1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
<sup>Released on **2025-08-29**</sup>

####  Features

- **misc**: Ai image support Gemini 2.5 Flash Image.

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))

#### Styles

* **misc**: Update i18n, closes [#8975](https://github.com/lobehub/lobe-chat/issues/8975) ([6872798](https://github.com/lobehub/lobe-chat/commit/6872798))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-29 00:42:45 +00:00
LobeHub Bot 68727985d1 🤖 style: update i18n (#8975)
💄 style: update i18n

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-29 08:31:01 +08:00
semantic-release-bot d3dad7973d 🔖 chore(release): v1.117.0 [skip ci]
## [Version&nbsp;1.117.0](https://github.com/lobehub/lobe-chat/compare/v1.116.4...v1.117.0)
<sup>Released on **2025-08-28**</sup>

####  Features

- **misc**: Ai image support Gemini 2.5 Flash Image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Ai image support Gemini 2.5 Flash Image, closes [#8966](https://github.com/lobehub/lobe-chat/issues/8966) ([64b969e](https://github.com/lobehub/lobe-chat/commit/64b969e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-28 17:59:29 +00:00
YuTengjing 64b969ec35 feat: ai image support Gemini 2.5 Flash Image (#8966) 2025-08-29 01:48:01 +08:00
Arvin Xu 3336dca328 🔨 chore: upgrade xlsx to latest (#8973)
upgrade xlsx
2025-08-29 01:44:06 +08:00
lobehubbot 8737f675f4 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-28 16:38:25 +00:00
semantic-release-bot 836546f235 🔖 chore(release): v1.116.4 [skip ci]
### [Version&nbsp;1.116.4](https://github.com/lobehub/lobe-chat/compare/v1.116.3...v1.116.4)
<sup>Released on **2025-08-28**</sup>

#### 💄 Styles

- **misc**: Support html preview.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support html preview, closes [#8969](https://github.com/lobehub/lobe-chat/issues/8969) ([82abf6d](https://github.com/lobehub/lobe-chat/commit/82abf6d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-28 16:37:12 +00:00
Arvin Xu 7164b4c9ab 🔨 chore: update workflow (#8972)
fix ci token
2025-08-29 00:25:35 +08:00
Arvin Xu 82abf6d7d0 💄 style: support html preview (#8969)
* support preview html

* add html

* refactor some code
2025-08-28 23:12:56 +08:00
renovate[bot] 4b3f8d4abb Update dependency dotenv to v17 (#8909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 21:02:17 +08:00
renovate[bot] 5989a022dd Update dependency cross-env to v10 (#8821)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 20:53:32 +08:00
renovate[bot] de9d479f28 Update dependency diff to v8 (#8822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 20:53:02 +08:00
Arvin Xu f900f7ce4e test: add unit tests for @lobechat/prompts (#8967)
* add test and refactor

* update

* move

* fix test

* improve config

* refactor utils server import

* move

* refactor @/utils/server to @lobechat/utils/server

* improve config

* fix tests
2025-08-28 20:44:28 +08:00
lobehubbot d847e44ef7 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-28 11:01:24 +00:00
semantic-release-bot 4872cc1c41 🔖 chore(release): v1.116.3 [skip ci]
### [Version&nbsp;1.116.3](https://github.com/lobehub/lobe-chat/compare/v1.116.2...v1.116.3)
<sup>Released on **2025-08-28**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop route error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop route error, closes [#8962](https://github.com/lobehub/lobe-chat/issues/8962) ([27a4b34](https://github.com/lobehub/lobe-chat/commit/27a4b34))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-28 11:00:30 +00:00
Arvin Xu 27a4b34612 🐛 fix: fix desktop route error (#8962)
* fix issue

* add test
2025-08-28 18:48:23 +08:00
lobehubbot dbeca5da70 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-28 06:53:27 +00:00
semantic-release-bot b836d0398d 🔖 chore(release): v1.116.2 [skip ci]
### [Version&nbsp;1.116.2](https://github.com/lobehub/lobe-chat/compare/v1.116.1...v1.116.2)
<sup>Released on **2025-08-28**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-28 06:52:31 +00:00
Shinji-Li ccdbbb927e ️ perf: Improve settings page rendering performance to prevent re-rendering (#8877) 2025-08-28 14:41:11 +08:00
lobehubbot 8d479074fd 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-27 16:02:06 +00:00
semantic-release-bot 5cbf9136ff 🔖 chore(release): v1.116.1 [skip ci]
### [Version&nbsp;1.116.1](https://github.com/lobehub/lobe-chat/compare/v1.116.0...v1.116.1)
<sup>Released on **2025-08-27**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-27 16:00:45 +00:00
René Wang 17472aa7a5 👷 build: add group chat db schema (#8916)
* feat: merge database changes from group-chat feature

* fix

* fix

* fix

* fix tests

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-08-27 23:49:22 +08:00
Arvin Xu 0778fb5548 🔨 chore: fix import warning (#8952)
fix import warning
2025-08-27 23:22:16 +08:00
YuTengjing 2eeab57c1e docs: update bfl doc cover image url (#8951) 2025-08-27 22:20:18 +08:00
René Wang a397a4eed7 🔨 chore: Revert claude model specification in claude workflow (#8946) 2025-08-27 16:40:06 +08:00
Aloxaf 885fbbe024 fix: non-Latin characters in PDF viewer (#8927) 2025-08-27 16:18:32 +08:00
sxjeru 26c2dd68de chore: modelParse support Millisecond time stamp (#8939) 2025-08-27 16:00:52 +08:00
lobehubbot be388b8433 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-27 07:51:51 +00:00
semantic-release-bot afd05a2364 🔖 chore(release): v1.116.0 [skip ci]
## [Version&nbsp;1.116.0](https://github.com/lobehub/lobe-chat/compare/v1.115.0...v1.116.0)
<sup>Released on **2025-08-27**</sup>

####  Features

- **misc**: Add gemini 2.5 flash image for vertex ai.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add gemini 2.5 flash image for vertex ai, closes [#8943](https://github.com/lobehub/lobe-chat/issues/8943) ([74d9bb5](https://github.com/lobehub/lobe-chat/commit/74d9bb5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-27 07:50:40 +00:00
YuTengjing 74d9bb5b6a feat: add gemini 2.5 flash image for vertex ai (#8943) 2025-08-27 15:38:19 +08:00
afon c9a65f78c5 🐛 chrore: fix qwen-image model and standardize image size format (#8935) 2025-08-27 15:29:51 +08:00
YuTengjing 9832bf758b feat: add gemini 2.5 flash image model (#8940) 2025-08-27 12:42:16 +08:00
YuTengjing 9a6657e52e 📝 docs(workflow): optimize documentation structure and development setup (#8934) 2025-08-26 18:21:22 +08:00
YuTengjing 45f05a0169 📝 docs: add BFL provider documentation (#8933) 2025-08-26 17:26:45 +08:00
lobehubbot 29137c74d1 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-26 08:02:38 +00:00
semantic-release-bot 1eb64328e8 🔖 chore(release): v1.115.0 [skip ci]
## [Version&nbsp;1.115.0](https://github.com/lobehub/lobe-chat/compare/v1.114.6...v1.115.0)
<sup>Released on **2025-08-26**</sup>

####  Features

- **image**: Polish ai image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **image**: Polish ai image, closes [#8915](https://github.com/lobehub/lobe-chat/issues/8915) ([0efe28d](https://github.com/lobehub/lobe-chat/commit/0efe28d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-26 08:01:40 +00:00
YuTengjing 0efe28d122 feat(image): polish ai image (#8915) 2025-08-25 22:38:41 +08:00
renovate[bot] 33611397b2 Update dependency lucide-react to ^0.541.0 (#8907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 14:16:02 +08:00
lobehubbot 0a398a8f82 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-22 16:45:00 +00:00
semantic-release-bot 1a2aa249fb 🔖 chore(release): v1.114.6 [skip ci]
### [Version&nbsp;1.114.6](https://github.com/lobehub/lobe-chat/compare/v1.114.5...v1.114.6)
<sup>Released on **2025-08-22**</sup>

#### 🐛 Bug Fixes

- **files**: Remove force-static rendering to enable session access.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **files**: Remove force-static rendering to enable session access, closes [#8900](https://github.com/lobehub/lobe-chat/issues/8900) ([6100d21](https://github.com/lobehub/lobe-chat/commit/6100d21))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-22 16:44:01 +00:00
YuTengjing 6100d21038 🐛 fix(files): remove force-static rendering to enable session access (#8900) 2025-08-23 00:33:36 +08:00
YuTengjing ccc733dac5 chore: support set more image constrints (#8896) 2025-08-22 22:04:51 +08:00
lobehubbot c7e94e7446 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-22 06:35:49 +00:00
semantic-release-bot d4eb117b0c 🔖 chore(release): v1.114.5 [skip ci]
### [Version&nbsp;1.114.5](https://github.com/lobehub/lobe-chat/compare/v1.114.4...v1.114.5)
<sup>Released on **2025-08-22**</sup>

#### 💄 Styles

- **misc**: Update mistral model vision ability.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update mistral model vision ability, closes [#8885](https://github.com/lobehub/lobe-chat/issues/8885) ([915c0ff](https://github.com/lobehub/lobe-chat/commit/915c0ff))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-22 06:34:55 +00:00
番茄摔成番茄酱 915c0ff5d7 💄 style: Update mistral model vision ability (#8885)
Update mistral.ts

Mistral Small与Mistral Medium模型具有图片识别能力
2025-08-22 14:24:31 +08:00
lobehubbot a47347d95a 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-22 06:16:24 +00:00
semantic-release-bot c9163bc9e8 🔖 chore(release): v1.114.4 [skip ci]
### [Version&nbsp;1.114.4](https://github.com/lobehub/lobe-chat/compare/v1.114.3...v1.114.4)
<sup>Released on **2025-08-22**</sup>

#### ♻ Code Refactoring

- **misc**: Move database to packages.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move database to packages, closes [#8874](https://github.com/lobehub/lobe-chat/issues/8874) ([af1f715](https://github.com/lobehub/lobe-chat/commit/af1f715))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-22 06:15:28 +00:00
Arvin Xu 8dedc2d3e1 ♻️ refactor: move utils to separate package (#8889)
* move utils

* move utils

* move utils

* update

* update

* update

* update

* update

* refactor to clean the tests

* fix release workflow

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* try to fix client db migration issue

* fix tests
2025-08-22 14:05:01 +08:00
Arvin Xu af1f71572f ♻️ refactor: move database to packages (#8874)
* move db

* refactor db import

* refactor eval types

* fix tests

* fix tests

* fix tests

* fix db migration issues

* fix docker issue

* fix tests

* update alias

* fix tests

* update db test for client and server

* refactor db

* update codecov

* update codecov

* update codecov

* add docker pr comments
2025-08-22 11:09:03 +08:00
lobehubbot 7e68cc5b5a 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-21 15:57:59 +00:00
semantic-release-bot 91e081885c 🔖 chore(release): v1.114.3 [skip ci]
### [Version&nbsp;1.114.3](https://github.com/lobehub/lobe-chat/compare/v1.114.2...v1.114.3)
<sup>Released on **2025-08-21**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-21 15:57:01 +00:00
Maple Gao 3ae5134984 📝 docs: Add image generation development environment setup (#8859)
* 🔨 chore: add image generation development environment setup

- Add setup-image-generation-dev.sh script for automated environment configuration
- Add English and Chinese documentation for image generation development setup
- Configure PostgreSQL and MinIO for local development with automatic bucket creation
- Include database migration and S3 environment variable configuration

* Update scripts/setup-image-generation-dev.sh
2025-08-21 23:44:21 +08:00
Maple Gao df97d76c36 👷 build(desktop): add comprehensive Linux package format support (#8867)
 feat(desktop): add comprehensive Linux package format support

- Add rpm and tar.gz targets to electron-builder configuration
- Update GitHub Actions workflows to upload all Linux package formats
- Support for Ubuntu/Debian (.deb), Snap (.snap), RPM-based distributions (.rpm)
- Include universal tar.gz archives for maximum Linux distribution compatibility
- Ensure proper artifact collection and release publishing for all formats

This enables desktop app distribution across major Linux ecosystems including
Ubuntu, CentOS, openSUSE, Arch Linux, and Chinese domestic OS like UOS and Kylin.
2025-08-21 23:40:05 +08:00
lobehubbot 95246c5ee2 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-21 14:57:47 +00:00
semantic-release-bot 133fd564f1 🔖 chore(release): v1.114.2 [skip ci]
### [Version&nbsp;1.114.2](https://github.com/lobehub/lobe-chat/compare/v1.114.1...v1.114.2)
<sup>Released on **2025-08-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Can't load custom provider config.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Can't load custom provider config, closes [#8880](https://github.com/lobehub/lobe-chat/issues/8880) ([9ec3315](https://github.com/lobehub/lobe-chat/commit/9ec3315))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-21 14:56:45 +00:00
YuTengjing 9ec3315595 🐛 fix: can't load custom provider config (#8880) 2025-08-21 22:43:55 +08:00
Arvin Xu d07e2acae8 🔨 chore: improve test workflow (#8876)
* test workflow

* test workflow

* add test workflow

* add test workflow

* add test config

* add test config

* add test config

* add test config

* add test config

* update

* refactor tests

* fix tests

* fix tests

* exclude packages

* improve test

* fix test

* add a new package
2025-08-21 20:39:29 +08:00
lobehubbot 499a9ca53e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-21 11:12:14 +00:00
semantic-release-bot 9f1069a51f 🔖 chore(release): v1.114.1 [skip ci]
### [Version&nbsp;1.114.1](https://github.com/lobehub/lobe-chat/compare/v1.114.0...v1.114.1)
<sup>Released on **2025-08-21**</sup>

#### ♻ Code Refactoring

- **misc**: Move chain into `@lobechat/prompts`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move chain into `@lobechat/prompts`, closes [#8875](https://github.com/lobehub/lobe-chat/issues/8875) ([c576b97](https://github.com/lobehub/lobe-chat/commit/c576b97))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-21 11:11:11 +00:00
Arvin Xu c576b971ad ♻️ refactor: move chain into @lobechat/prompts (#8875)
* move chains

* move usage

* move and replace

* refactor import and usage
2025-08-21 18:55:52 +08:00
renovate[bot] 1a71188a1d Update actions/checkout action to v5 (#8818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 11:18:37 +08:00
Maple Gao 79c81bb954 🔨 chore: update lint and TypeScript configs to exclude temporary directories (#8856)
- Add tmp, temp, .temp directories to .eslintignore
- Add .local, .cache, .claude, .serena directories to .eslintignore
- Create .stylelintignore with same ignore patterns
- Update tsconfig.json to exclude temporary directories from type checking
- Prevents linting and type checking of temporary and AI tool directories
2025-08-20 11:06:24 +08:00
Arvin Xu 1ee6724168 🔨 chore: update github workflow (#8808)
* Update docker/build-push-action action to v6

* update

* fix workflow

* fix workflow

* fix workflow

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 02:40:25 +08:00
lobehubbot f36f6f7724 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-19 14:10:24 +00:00
semantic-release-bot 6d214d7bef 🔖 chore(release): v1.114.0 [skip ci]
## [Version&nbsp;1.114.0](https://github.com/lobehub/lobe-chat/compare/v1.113.3...v1.114.0)
<sup>Released on **2025-08-19**</sup>

####  Features

- **models**: Add Qwen Image Edit model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **models**: Add Qwen Image Edit model, closes [#8851](https://github.com/lobehub/lobe-chat/issues/8851) ([4d7a060](https://github.com/lobehub/lobe-chat/commit/4d7a060))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-19 14:09:23 +00:00
YuTengjing 4d7a060268 feat(models): Add Qwen Image Edit model (#8851) 2025-08-19 21:54:12 +08:00
YuTengjing 64a5d51f87 fix: image models support for aihubmix (#8838) 2025-08-19 14:44:55 +08:00
YuTengjing 88c8c2dc12 🐛 chore: fix provider data fetch time (#8844) 2025-08-19 14:05:52 +08:00
lobehubbot ce4969698b 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-19 05:55:54 +00:00
semantic-release-bot 3c408e444b 🔖 chore(release): v1.113.3 [skip ci]
### [Version&nbsp;1.113.3](https://github.com/lobehub/lobe-chat/compare/v1.113.2...v1.113.3)
<sup>Released on **2025-08-19**</sup>

#### 🐛 Bug Fixes

- **misc**: Support Grok thinking models in AiHubMix, The 'stream_options' parameter is only allowed when 'stream' is enabled.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Support Grok thinking models in AiHubMix, closes [#8713](https://github.com/lobehub/lobe-chat/issues/8713) ([ffa9b1b](https://github.com/lobehub/lobe-chat/commit/ffa9b1b))
* **misc**: The 'stream_options' parameter is only allowed when 'stream' is enabled, closes [#8778](https://github.com/lobehub/lobe-chat/issues/8778) ([fcc32d5](https://github.com/lobehub/lobe-chat/commit/fcc32d5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-19 05:54:48 +00:00
sxjeru ffa9b1b909 🐛 fix: Support Grok thinking models in AiHubMix (#8713)
* 🐛 fix: 添加对 xai 模型的支持到 baseRuntimeMap 和 LobeAiHubMixAI

* 添加 GLM-4.5V 视觉语言模型到 siliconcloud

* update Qwen

* fix lint

* 更新 Qwen VL Plus 模型配置,调整部署名称和上下文窗口令牌数,优化定价策略

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-19 13:38:04 +08:00
sxjeru fcc32d5e0a 🐛 fix: The 'stream_options' parameter is only allowed when 'stream' is enabled (#8778)
*  feat: add support for service tier flex in OpenAI model handling

* 移除 responsesAPIModels 中的 gpt-5 和 gpt-5-mini 模型

* update groq
2025-08-19 13:37:44 +08:00
Arvin Xu 07a9b341b4 🔨 chore: reducing the tracing scope (#8846)
* fix workflow

* fix

* Update discover.ts
2025-08-19 13:37:24 +08:00
lobehubbot b4b00f7c70 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-18 09:21:57 +00:00
semantic-release-bot 78a6483630 🔖 chore(release): v1.113.2 [skip ci]
### [Version&nbsp;1.113.2](https://github.com/lobehub/lobe-chat/compare/v1.113.1...v1.113.2)
<sup>Released on **2025-08-18**</sup>

#### 🐛 Bug Fixes

- **mcp**: Use customParams for environment settings fallback.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **mcp**: Use customParams for environment settings fallback, closes [#8814](https://github.com/lobehub/lobe-chat/issues/8814) ([ab043d4](https://github.com/lobehub/lobe-chat/commit/ab043d4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-18 09:21:01 +00:00
Coooolfan ab043d45f2 🐛 fix(mcp): use customParams for environment settings fallback (#8814) 2025-08-18 17:06:03 +08:00
lobehubbot 1b8b86d8a5 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-18 03:09:08 +00:00
Shinji-Li 927055871b 📝 docs: change the default modal provider list rank (#8833)
docs: change the default modal provider list rank
2025-08-18 10:53:50 +08:00
lobehubbot 7562bf4acf 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-17 11:16:47 +00:00
semantic-release-bot 2564ebd6d5 🔖 chore(release): v1.113.1 [skip ci]
### [Version&nbsp;1.113.1](https://github.com/lobehub/lobe-chat/compare/v1.113.0...v1.113.1)
<sup>Released on **2025-08-17**</sup>

#### 🐛 Bug Fixes

- **db**: Desktop local db can't vectorization.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **db**: Desktop local db can't vectorization, closes [#8830](https://github.com/lobehub/lobe-chat/issues/8830) ([a00fd9d](https://github.com/lobehub/lobe-chat/commit/a00fd9d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-17 11:15:51 +00:00
YuTengjing a00fd9d236 🐛 fix(db): desktop local db can't vectorization (#8830) 2025-08-17 19:01:02 +08:00
renovate[bot] 24a5e0d419 Update dependency @anthropic-ai/sdk to ^0.60.0 (#8817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-17 18:28:00 +08:00
lobehubbot a7b9bcd78f 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-17 06:06:15 +00:00
semantic-release-bot 5689dd8656 🔖 chore(release): v1.113.0 [skip ci]
## [Version&nbsp;1.113.0](https://github.com/lobehub/lobe-chat/compare/v1.112.5...v1.113.0)
<sup>Released on **2025-08-17**</sup>

####  Features

- **provider**: Add BFL provider support for image generation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **provider**: Add BFL provider support for image generation, closes [#8806](https://github.com/lobehub/lobe-chat/issues/8806) ([519e03e](https://github.com/lobehub/lobe-chat/commit/519e03e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-17 06:05:20 +00:00
YuTengjing 519e03e87a feat(provider): add BFL provider support for image generation (#8806) 2025-08-17 13:50:05 +08:00
lobehubbot 6ac6ca59da 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-17 05:38:19 +00:00
semantic-release-bot 4d164ae083 🔖 chore(release): v1.112.5 [skip ci]
### [Version&nbsp;1.112.5](https://github.com/lobehub/lobe-chat/compare/v1.112.4...v1.112.5)
<sup>Released on **2025-08-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve mcp tracing with user config.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve mcp tracing with user config, closes [#8827](https://github.com/lobehub/lobe-chat/issues/8827) ([5cab2ee](https://github.com/lobehub/lobe-chat/commit/5cab2ee))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-17 05:37:26 +00:00
Arvin Xu 5cab2ee5b5 🐛 fix: improve mcp tracing with user config (#8827)
* improve plugin result report

* improve plugin result report
2025-08-17 13:22:36 +08:00
lobehubbot 65dddfa47f 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-16 16:26:17 +00:00
semantic-release-bot dfa2a2c279 🔖 chore(release): v1.112.4 [skip ci]
### [Version&nbsp;1.112.4](https://github.com/lobehub/lobe-chat/compare/v1.112.3...v1.112.4)
<sup>Released on **2025-08-16**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor prompts folder to the `@lobechat/prompts` pacakge.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor prompts folder to the `@lobechat/prompts` pacakge, closes [#8810](https://github.com/lobehub/lobe-chat/issues/8810) ([d82e7bb](https://github.com/lobehub/lobe-chat/commit/d82e7bb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-16 16:25:24 +00:00
Arvin Xu d82e7bb9b0 ♻️ refactor: refactor prompts folder to the @lobechat/prompts pacakge (#8810)
* move prompts

* refactor prompts
2025-08-17 00:10:28 +08:00
lobehubbot 3fbbfc6d96 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-16 12:20:08 +00:00
semantic-release-bot faefe71c9a 🔖 chore(release): v1.112.3 [skip ci]
### [Version&nbsp;1.112.3](https://github.com/lobehub/lobe-chat/compare/v1.112.2...v1.112.3)
<sup>Released on **2025-08-16**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor const folder to a new package.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor const folder to a new package, closes [#8756](https://github.com/lobehub/lobe-chat/issues/8756) ([30a4734](https://github.com/lobehub/lobe-chat/commit/30a4734))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-16 12:19:14 +00:00
Arvin Xu 30a4734577 ♻️ refactor: refactor const folder to a new package (#8756)
* refactor

* update

* refactor
2025-08-16 20:04:21 +08:00
lobehubbot 9e7bea6d88 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-16 10:50:25 +00:00
semantic-release-bot d0ceab9dd6 🔖 chore(release): v1.112.2 [skip ci]
### [Version&nbsp;1.112.2](https://github.com/lobehub/lobe-chat/compare/v1.112.1...v1.112.2)
<sup>Released on **2025-08-16**</sup>

#### ♻ Code Refactoring

- **misc**: 重构 ArgsInput 组件.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: 重构 ArgsInput 组件, closes [#8765](https://github.com/lobehub/lobe-chat/issues/8765) ([0905559](https://github.com/lobehub/lobe-chat/commit/0905559))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-16 10:49:27 +00:00
Coooolfan 09055595e4 ♻️ refactor: 重构ArgsInput组件 (#8765)
* ♻️ refactor(utils): extract args parsing logic from ArgsInput component
- Extract parseArgs and argsToString functions to src/utils/args.ts
- Add comprehensive test suite with 19 test cases covering edge cases
- Fix escaped quote handling in parseArgs function
- Replace String.replace() with String.replaceAll() for better readability
- Improve code reusability and maintainability following project best practices

* 📝 docs(utils): improve JSDoc comments and clean up redundant comments
- Add comprehensive JSDoc with @param and @returns for args functions
- Translate inline comments to English for consistency
- Remove redundant comments in ArgsInput component
- Keep only essential comments and improve code clarity
- Improve code documentation quality and IDE support

* ♻️ refactor(ArgsInput): completely redesign as array editor
- Replace single input with individual argument inputs
- Add visual array structure with add/remove buttons
- Support keyboard shortcuts (Enter to add, Backspace to delete)
- Improve UX with proper array operations and indexing
- Remove dependency on args parsing utils for better performance

* 🌐 i18n: add ArgsInput internationalization support
- Add ArgsInput translations for en-US and zh-CN
- Add TypeScript type definitions for new translation keys
- Support dynamic placeholder with argument index
- Fix TypeScript error for missing translation keys
2025-08-16 18:34:14 +08:00
renovate[bot] 86a28d9615 Update dependency dbdocs to ^0.16.0 (#7572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 18:31:57 +08:00
lobehubbot 164c8b344e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-16 10:13:42 +00:00
semantic-release-bot 9b354af18c 🔖 chore(release): v1.112.1 [skip ci]
### [Version&nbsp;1.112.1](https://github.com/lobehub/lobe-chat/compare/v1.112.0...v1.112.1)
<sup>Released on **2025-08-16**</sup>

#### 💄 Styles

- **misc**: Add Imagen 4 GA models, style improve auth sign in box loading.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Imagen 4 GA models, closes [#8799](https://github.com/lobehub/lobe-chat/issues/8799) ([2e9ad20](https://github.com/lobehub/lobe-chat/commit/2e9ad20))
* **misc**: Style improve auth sign in box loading, closes [#8805](https://github.com/lobehub/lobe-chat/issues/8805) ([62f5a1b](https://github.com/lobehub/lobe-chat/commit/62f5a1b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-16 10:12:44 +00:00
Arvin Xu 62f5a1b93c 💄 style: style improve auth sign in box loading (#8805) 2025-08-16 17:57:44 +08:00
afon 2e9ad20675 💄 style: add Imagen 4 GA models (#8799)
* add Google Imagen 4 GA models

* address review comments
2025-08-16 17:56:34 +08:00
lobehubbot 15e15e84ca 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-15 04:16:49 +00:00
semantic-release-bot 05cb6bb7de 🔖 chore(release): v1.112.0 [skip ci]
## [Version&nbsp;1.112.0](https://github.com/lobehub/lobe-chat/compare/v1.111.12...v1.112.0)
<sup>Released on **2025-08-15**</sup>

####  Features

- **feature-flags**: Add ai_image flag to control AI painting UI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **feature-flags**: Add ai_image flag to control AI painting UI, closes [#8797](https://github.com/lobehub/lobe-chat/issues/8797) ([a1c66c8](https://github.com/lobehub/lobe-chat/commit/a1c66c8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-15 04:15:54 +00:00
YuTengjing a1c66c81fc feat(feature-flags): add ai_image flag to control AI painting UI (#8797) 2025-08-15 12:01:18 +08:00
lobehubbot c1ddb6fa23 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-14 12:31:11 +00:00
semantic-release-bot 439fb6eb9d 🔖 chore(release): v1.111.12 [skip ci]
### [Version&nbsp;1.111.12](https://github.com/lobehub/lobe-chat/compare/v1.111.11...v1.111.12)
<sup>Released on **2025-08-14**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-14 12:30:08 +00:00
YuTengjing 27d48e89e9 👷 build: optimize claude action workflow and add vscode settings (#8796) 2025-08-14 20:14:54 +08:00
YuTengjing 54b08fd139 🐛 chore: upload image generated by ai painting failed (#8792) 2025-08-14 14:14:55 +08:00
huangkairan 8e2d47d595 🐛 chore: update gpt-5, gpt-5-nano imageOutput (#8782) 2025-08-14 11:50:31 +08:00
lobehubbot 75bde54d95 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-13 10:12:00 +00:00
semantic-release-bot b69e75cfca 🔖 chore(release): v1.111.11 [skip ci]
### [Version&nbsp;1.111.11](https://github.com/lobehub/lobe-chat/compare/v1.111.10...v1.111.11)
<sup>Released on **2025-08-13**</sup>

#### 💄 Styles

- **misc**: Update Mistral AI models & Optimize many model providers fetching.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Mistral AI models & Optimize many model providers fetching, closes [#8644](https://github.com/lobehub/lobe-chat/issues/8644) ([1d466e5](https://github.com/lobehub/lobe-chat/commit/1d466e5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-13 10:10:57 +00:00
sxjeru 1d466e514f 💄 style: Update Mistral AI models & Optimize many model providers fetching (#8644)
*  feat(models): 添加新的模型和更新现有模型的描述与定价

*  feat(models): 添加 Kimi K2 Turbo 模型及其定价信息

*  feat(models): 添加 Qwen3 Coder 30B A3B Instruct 模型及其定价信息,更新模型解析设置

*  feat(models): 更新 Mistral 模型的上下文窗口和显示名称,添加 Magistral Medium 模型,调整 Codestral 模型的显示名称和发布日期

*  feat(types): 添加模型设置属性到 AiFullModelCard 和 ChatModelCard 接口

* Revert " feat(types): 添加模型设置属性到 AiFullModelCard 和 ChatModelCard 接口"

This reverts commit fccd6acc6f.

*  feat(mistral): 添加禁用浏览器请求设置;优化思维块内容处理逻辑

*  feat(modelProviders): 优化模型标签添加;优化 AiHubMix 模型抓取处理逻辑

* Update index.ts

*  feat(modelParse): 优化模型查找逻辑以支持本地特定提供商模型配置

* fix

*  feat(createRuntime): 支持函数式模型配置并优化模型显示名称处理,支持模型名称获取

* fix test

*  feat(aihubmix): 更新模型配置,增加新模型并优化现有模型描述和能力

*  feat: 更新多个模型配置抓取逻辑,优化模型处理逻辑,增加 releasedAt 字段处理,更新快照

*  feat: 更新 GithubModelCard 接口,优化模型处理逻辑,增加模型描述和能力处理

* fix test

*  feat: 更新 aihubmix 模型配置,增加推理能力和新模型,优化描述及能力处理;更新 handlePayload 函数以简化代码结构;添加图像模型关键词配置

*  feat: 更新 aihubmix 模型配置

* fix: 更新模型默认启用处理逻辑;使用最后一个 runtime 的 client 进行函数调用

* fix test

* feat: 为多个模型处理函数添加提供商 ID 参数

* fix test

* feat: 更新 siliconcloud 模型,添加 Step 3 多模态推理模型并修改发布日期

* fix: Anthropic model fetch

* fix: 移除 zhipu 部分模型 search 能力

* update groq

* update aihubmix

* feat: 更新 Qwen 模型,调整上下文窗口令牌数量并添加新模型 Qwen Flash

* update openai

* update groq

*  feat(pricing): Update pricing structure for AI models to use tiered and fixed units

* update groq

* fix lint

* update

* add GLM-4.5V chat model and update vision keywords

* update v0
2025-08-13 17:55:42 +08:00
YuTengjing a51b33f154 📝 docs: fix eslint irregular whitespace issues (#8777) 2025-08-12 23:30:40 +08:00
YuTengjing 485e6cf47e chore: update some models pricing (#8764) 2025-08-12 16:18:37 +08:00
lobehubbot b0d59f8b1b 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-12 04:48:21 +00:00
semantic-release-bot 8ceb25f8c2 🔖 chore(release): v1.111.10 [skip ci]
### [Version&nbsp;1.111.10](https://github.com/lobehub/lobe-chat/compare/v1.111.9...v1.111.10)
<sup>Released on **2025-08-12**</sup>

#### 💄 Styles

- **misc**: Adjust near bottom size on thinking scroll.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Adjust near bottom size on thinking scroll, closes [#8772](https://github.com/lobehub/lobe-chat/issues/8772) ([1fae490](https://github.com/lobehub/lobe-chat/commit/1fae490))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-12 04:47:26 +00:00
CanisMinor 1fae49042d 💄 style: Adjust near bottom size on thinking scroll (#8772) 2025-08-12 12:32:15 +08:00
lobehubbot 96ae8034fb 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-12 02:10:30 +00:00
semantic-release-bot b3120167ce 🔖 chore(release): v1.111.9 [skip ci]
### [Version&nbsp;1.111.9](https://github.com/lobehub/lobe-chat/compare/v1.111.8...v1.111.9)
<sup>Released on **2025-08-12**</sup>

#### 💄 Styles

- **misc**: Improve Gemini error display with promptFeedback.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve Gemini error display with promptFeedback, closes [#8707](https://github.com/lobehub/lobe-chat/issues/8707) ([51ad399](https://github.com/lobehub/lobe-chat/commit/51ad399))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-12 02:09:35 +00:00
sxjeru 51ad3998e4 💄 style: improve Gemini error display with promptFeedback (#8707)
* 增加对带有阻止原因(PROHIBITED_CONTENT)的 promptFeedback 的处理

* update

* 增加对 Google AI 阻止原因的本地化处理,更新错误消息以提供更友好的用户反馈
2025-08-12 09:52:05 +08:00
lobehubbot 6435935f10 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-11 18:16:03 +00:00
semantic-release-bot 45f71478c4 🔖 chore(release): v1.111.8 [skip ci]
### [Version&nbsp;1.111.8](https://github.com/lobehub/lobe-chat/compare/v1.111.7...v1.111.8)
<sup>Released on **2025-08-11**</sup>

#### 💄 Styles

- **misc**: Support new GPT-5 Verbosity params.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support new GPT-5 Verbosity params, closes [#8715](https://github.com/lobehub/lobe-chat/issues/8715) ([0a724aa](https://github.com/lobehub/lobe-chat/commit/0a724aa))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-11 18:15:08 +00:00
sxjeru 0a724aae32 💄 style: Support new GPT-5 Verbosity params (#8715)
*  feat: add GPT-5 reasoning effort slider and update related configurations

*  feat: 添加 GPT-5 推理强度和文本详细程度控制选项

* fix lint

* fix

* i18n
2025-08-12 01:59:59 +08:00
lobehubbot 1cf4355e94 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-11 16:35:43 +00:00
semantic-release-bot 74a702a5ff 🔖 chore(release): v1.111.7 [skip ci]
### [Version&nbsp;1.111.7](https://github.com/lobehub/lobe-chat/compare/v1.111.6...v1.111.7)
<sup>Released on **2025-08-11**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor model-runtime to a seperated package.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor model-runtime to a seperated package, closes [#8763](https://github.com/lobehub/lobe-chat/issues/8763) ([e5eb7a2](https://github.com/lobehub/lobe-chat/commit/e5eb7a2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-11 16:34:34 +00:00
Rylan Cai 6c83807218 🔨 chore: Migrate self-hosting auth to Casdoor@v2 (#8767)
* 🔨 chore: update casdoor to v2

* 🐛 fix: enable signin

* 🐛 fix: webhook hostname diag failed
2025-08-12 00:19:29 +08:00
Arvin Xu e5eb7a280d ♻️ refactor: refactor model-runtime to a seperated package (#8763)
* move model-runtime

* refactor import from @/libs/model-runtime to @lobechat/model-runtime

* move deps

* refactor types
2025-08-12 00:08:52 +08:00
renovate[bot] a21c05bf64 Update dependency @anthropic-ai/sdk to ^0.59.0 (#8735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 13:51:47 +08:00
lobehubbot 1e61e79034 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-11 04:07:12 +00:00
semantic-release-bot 4556bdf1c2 🔖 chore(release): v1.111.6 [skip ci]
### [Version&nbsp;1.111.6](https://github.com/lobehub/lobe-chat/compare/v1.111.5...v1.111.6)
<sup>Released on **2025-08-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Solve the cache problem caused by the same dom id when sharing pictures.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Solve the cache problem caused by the same dom id when sharing pictures, closes [#8704](https://github.com/lobehub/lobe-chat/issues/8704) ([68aad95](https://github.com/lobehub/lobe-chat/commit/68aad95))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-11 04:06:14 +00:00
Arvin Xu dbc4b10837 Add Claude Code GitHub Workflow (#8753)
* Claude PR Assistant workflow

* Claude Code Review workflow
2025-08-11 11:51:04 +08:00
renovate[bot] 0f10efcb5d Update pnpm to v10.14.0 (#8739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 11:48:47 +08:00
Shinji-Li 68aad95c04 🐛 fix: Solve the cache problem caused by the same dom id when sharing pictures (#8704) 2025-08-11 11:22:24 +08:00
lobehubbot 7b12e54646 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-10 16:22:31 +00:00
semantic-release-bot e10a433610 🔖 chore(release): v1.111.5 [skip ci]
### [Version&nbsp;1.111.5](https://github.com/lobehub/lobe-chat/compare/v1.111.4...v1.111.5)
<sup>Released on **2025-08-10**</sup>

#### 💄 Styles

- **misc**: Add mask effect to thinking scroll, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add mask effect to thinking scroll, closes [#8729](https://github.com/lobehub/lobe-chat/issues/8729) ([4cefafd](https://github.com/lobehub/lobe-chat/commit/4cefafd))
* **misc**: Update i18n, closes [#8734](https://github.com/lobehub/lobe-chat/issues/8734) ([327a564](https://github.com/lobehub/lobe-chat/commit/327a564))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-10 16:21:23 +00:00
LobeHub Bot 327a56474e 💄 style: update i18n (#8734)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-11 00:05:59 +08:00
renovate[bot] abb93a6f79 Update dependency lucide-react to ^0.539.0 (#8736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 00:05:46 +08:00
renovate[bot] d861bb0421 Update dependency react-scan to ^0.4.0 (#8738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 00:05:33 +08:00
Arvin Xu 7f00b530fa 👷 build: pin swr@2.3.4 to fix next build (#8746) 2025-08-11 00:02:49 +08:00
CanisMinor 4cefafd5c5 💄 style: Add mask effect to thinking scroll (#8729) 2025-08-09 18:13:56 +08:00
lobehubbot 135c9bea7f 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-09 06:23:28 +00:00
semantic-release-bot 862ab713e1 🔖 chore(release): v1.111.4 [skip ci]
### [Version&nbsp;1.111.4](https://github.com/lobehub/lobe-chat/compare/v1.111.3...v1.111.4)
<sup>Released on **2025-08-09**</sup>

#### 🐛 Bug Fixes

- **pricing**: Adjust cachedInput values for GPT-5 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **pricing**: Adjust cachedInput values for GPT-5 models, closes [#8723](https://github.com/lobehub/lobe-chat/issues/8723) ([652bf08](https://github.com/lobehub/lobe-chat/commit/652bf08))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-09 06:22:33 +00:00
Morax e1424ad797 📝 docs: add info callout for desktop client access in Cloudflare R2 configuration (#8728) 2025-08-09 14:07:28 +08:00
bbbugg 652bf08ab8 🐛 fix(pricing): adjust cachedInput values for GPT-5 models (#8723) 2025-08-09 14:01:14 +08:00
lobehubbot 025d00202c 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-09 05:10:04 +00:00
semantic-release-bot 04db9c59ff 🔖 chore(release): v1.111.3 [skip ci]
### [Version&nbsp;1.111.3](https://github.com/lobehub/lobe-chat/compare/v1.111.2...v1.111.3)
<sup>Released on **2025-08-09**</sup>

#### 💄 Styles

- **misc**: Improve thinking auto scroll style, Support session switch shortcut key, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve thinking auto scroll style, closes [#8719](https://github.com/lobehub/lobe-chat/issues/8719) ([acec55f](https://github.com/lobehub/lobe-chat/commit/acec55f))
* **misc**: Support session switch shortcut key, closes [#8626](https://github.com/lobehub/lobe-chat/issues/8626) ([efc7eaf](https://github.com/lobehub/lobe-chat/commit/efc7eaf))
* **misc**: Update i18n, closes [#8725](https://github.com/lobehub/lobe-chat/issues/8725) ([d9642fc](https://github.com/lobehub/lobe-chat/commit/d9642fc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-09 05:09:02 +00:00
LobeHub Bot d9642fc6c5 💄 style: update i18n (#8725)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-09 12:54:00 +08:00
𝑾𝒖𝒙𝒉 efc7eaf537 💄 style: Support session switch shortcut key (#8626)
*  feat: Support session switch shortcut key

Duplicate of https://github.com/lobehub/lobe-chat/pull/8366

* chore: update
2025-08-09 12:43:28 +08:00
Arvin Xu acec55f605 💄 style: improve thinking auto scroll style (#8719)
* improve thinking auto scroll style

* improve style
2025-08-09 12:39:05 +08:00
lobehubbot e96750cff3 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-08 16:37:24 +00:00
semantic-release-bot 4eee917d45 🔖 chore(release): v1.111.2 [skip ci]
### [Version&nbsp;1.111.2](https://github.com/lobehub/lobe-chat/compare/v1.111.1...v1.111.2)
<sup>Released on **2025-08-08**</sup>

#### ♻ Code Refactoring

- **pricing**: Introduce new pricing system.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **pricing**: Introduce new pricing system, closes [#8681](https://github.com/lobehub/lobe-chat/issues/8681) ([96b7508](https://github.com/lobehub/lobe-chat/commit/96b7508))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-08 16:36:30 +00:00
YuTengjing 96b7508e01 refactor(pricing): Introduce new pricing system (#8681) 2025-08-09 00:21:07 +08:00
lobehubbot f44bf9180b 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-08 16:08:29 +00:00
semantic-release-bot 18eee1f75d 🔖 chore(release): v1.111.1 [skip ci]
### [Version&nbsp;1.111.1](https://github.com/lobehub/lobe-chat/compare/v1.111.0...v1.111.1)
<sup>Released on **2025-08-08**</sup>

#### 💄 Styles

- **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add descriptions for the FLUX.1 Krea and Qwen Image, closes [#8678](https://github.com/lobehub/lobe-chat/issues/8678) ([769fda0](https://github.com/lobehub/lobe-chat/commit/769fda0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-08 16:07:33 +00:00
ExDragine 769fda060d 💄 style: Add descriptions for the FLUX.1 Krea and Qwen Image (#8678) 2025-08-08 23:52:01 +08:00
lobehubbot 8a88bd099b 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-08 03:00:57 +00:00
semantic-release-bot 6b0a411caf 🔖 chore(release): v1.111.0 [skip ci]
## [Version&nbsp;1.111.0](https://github.com/lobehub/lobe-chat/compare/v1.110.7...v1.111.0)
<sup>Released on **2025-08-08**</sup>

####  Features

- **misc**: Add GPT-5 series models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add GPT-5 series models, closes [#8711](https://github.com/lobehub/lobe-chat/issues/8711) ([600c29b](https://github.com/lobehub/lobe-chat/commit/600c29b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-08 03:00:02 +00:00
Arvin Xu 600c29b13f feat: add GPT-5 series models (#8711)
* add gpt 5

* fix tests

* fix tests

* update models

* fix tests

* add reasoningEffort

* make gpt-5 response api

* add models

* fix tests
2025-08-08 10:44:31 +08:00
lobehubbot 2b93efff5a 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-07 19:05:36 +00:00
semantic-release-bot 05b99d6c97 🔖 chore(release): v1.110.7 [skip ci]
### [Version&nbsp;1.110.7](https://github.com/lobehub/lobe-chat/compare/v1.110.6...v1.110.7)
<sup>Released on **2025-08-07**</sup>

#### 🐛 Bug Fixes

- **misc**: Missing languages it-IT, pl-PL, nl-NL.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Missing languages it-IT, pl-PL, nl-NL, closes [#8710](https://github.com/lobehub/lobe-chat/issues/8710) ([b46fa8e](https://github.com/lobehub/lobe-chat/commit/b46fa8e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-07 19:04:43 +00:00
Arvin Xu b46fa8ee99 🐛 fix: missing languages it-IT, pl-PL, nl-NL (#8710)
* fix: missing languages it-IT, pl-PL, nl-NL

* fix tests

---------

Co-authored-by: Daniele Sarnari <daniele.sarnari@beliven.com>
2025-08-08 02:49:14 +08:00
lobehubbot b764c4258d 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-07 17:31:16 +00:00
semantic-release-bot 7b726f2846 🔖 chore(release): v1.110.6 [skip ci]
### [Version&nbsp;1.110.6](https://github.com/lobehub/lobe-chat/compare/v1.110.5...v1.110.6)
<sup>Released on **2025-08-07**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-07 17:30:05 +00:00
Arvin Xu ff94ef0fea ️ perf: support no animation mode (#8705)
* support no animation mode

* support update animation

* clean code

* fix lint

* fix tests
2025-08-08 01:14:10 +08:00
renovate[bot] dfe300622e Update dependency electron to ^37.2.0 (#8415)
* Update dependency electron to ~37.2.0

* Update package.json

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-07 14:15:30 +08:00
renovate[bot] 2b4d657f28 Update dependency tsx to ^4.20.0 (#8246)
* Update dependency tsx to ~4.20.0

* Update package.json

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-07 13:56:37 +08:00
renovate[bot] 47227cc486 Update dependency i18next to v25 (#7485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 13:36:09 +08:00
renovate[bot] 0ee89ff96f Update dependency @auth/core to ^0.40.0 (#7569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 13:31:38 +08:00
renovate[bot] 0b37014c95 Update dependency @t3-oss/env-nextjs to ^0.13.0 (#7571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 13:31:06 +08:00
lobehubbot 6cc49259c2 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-07 05:01:55 +00:00
semantic-release-bot 8e8505702e 🔖 chore(release): v1.110.5 [skip ci]
### [Version&nbsp;1.110.5](https://github.com/lobehub/lobe-chat/compare/v1.110.4...v1.110.5)
<sup>Released on **2025-08-07**</sup>

#### 🐛 Bug Fixes

- **misc**: Optimize Gemini error message display & Filter empty messages.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Optimize Gemini error message display & Filter empty messages, closes [#8489](https://github.com/lobehub/lobe-chat/issues/8489) ([5b409cc](https://github.com/lobehub/lobe-chat/commit/5b409cc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-07 05:01:00 +00:00
sxjeru 5b409ccfa2 🐛 fix: Optimize Gemini error message display & Filter empty messages (#8489)
* Update index.ts

* 修剪错误消息换行符

* 筛除空消息

* 修复错误类型判断逻辑以正确处理无效API密钥错误

* fix

* fix test

* fix test

* fix

* 提取 Google 错误解析功能并添加相关单元测试
2025-08-07 12:45:29 +08:00
lobehubbot b525728da9 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 17:57:54 +00:00
semantic-release-bot 76d8d502e9 🔖 chore(release): v1.110.4 [skip ci]
### [Version&nbsp;1.110.4](https://github.com/lobehub/lobe-chat/compare/v1.110.3...v1.110.4)
<sup>Released on **2025-08-06**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor trace type.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor trace type, closes [#8699](https://github.com/lobehub/lobe-chat/issues/8699) ([4e71af7](https://github.com/lobehub/lobe-chat/commit/4e71af7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 17:57:00 +00:00
Arvin Xu 4e71af77f5 ♻️ refactor: refactor trace type (#8699)
* refactor trace type

* refactor lobechat type

* refactor types
2025-08-07 01:41:22 +08:00
lobehubbot 7abeee2416 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 16:51:22 +00:00
semantic-release-bot f7effe92a2 🔖 chore(release): v1.110.3 [skip ci]
### [Version&nbsp;1.110.3](https://github.com/lobehub/lobe-chat/compare/v1.110.2...v1.110.3)
<sup>Released on **2025-08-06**</sup>

#### 💄 Styles

- **misc**: Fix provider setting page hydration error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix provider setting page hydration error, closes [#8695](https://github.com/lobehub/lobe-chat/issues/8695) ([88e7d2a](https://github.com/lobehub/lobe-chat/commit/88e7d2a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 16:50:20 +00:00
Arvin Xu 88e7d2ada1 💄 style: fix provider setting page hydration error (#8695)
* fix layout

goback

尝试开启生产环境react debug 模式

try to fix scroll issue

try to log settings layout pathname

try skip path

Revert "尝试移除 modal"

This reverts commit 7ffac36dcb680d5a9fdda6c675ad0adb66ed13d2.

remove debug

try to fix again

use InnerLink

fix

add InnerLink.tsx

add debug

* clean code

* fix modal cancel issue
2025-08-07 00:34:36 +08:00
huangkairan 8c0101e67c 🔨 chore: fix MenuCtr test type error (#8696) 2025-08-06 19:41:47 +08:00
huangkairan d796b85ee8 🔨 chore: update author github url (#8694) 2025-08-06 17:44:24 +08:00
lobehubbot 641dfca67c 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 09:08:52 +00:00
semantic-release-bot aa126fe06f 🔖 chore(release): v1.110.2 [skip ci]
### [Version&nbsp;1.110.2](https://github.com/lobehub/lobe-chat/compare/v1.110.1...v1.110.2)
<sup>Released on **2025-08-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix fail to fetch aihubmix model on client mode.

#### 💄 Styles

- **misc**: Add context menu for desktop, support different model tabs.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix fail to fetch aihubmix model on client mode, closes [#8689](https://github.com/lobehub/lobe-chat/issues/8689) ([3dcc5da](https://github.com/lobehub/lobe-chat/commit/3dcc5da))

#### Styles

* **misc**: Add context menu for desktop, closes [#8691](https://github.com/lobehub/lobe-chat/issues/8691) ([0b30d05](https://github.com/lobehub/lobe-chat/commit/0b30d05))
* **misc**: Support different model tabs, closes [#8693](https://github.com/lobehub/lobe-chat/issues/8693) ([6d531d7](https://github.com/lobehub/lobe-chat/commit/6d531d7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 09:07:52 +00:00
Arvin Xu 3dcc5da11a 🐛 fix: fix fail to fetch aihubmix model on client mode (#8689)
* fix dockerfile

* update gitignore

* refactor some @/types to @lobechat/types

* improve apikey url

* fix aihubmix provider
2025-08-06 16:52:21 +08:00
Arvin Xu 6d531d7cc1 💄 style: support different model tabs (#8693) 2025-08-06 16:49:12 +08:00
Arvin Xu 0b30d05aaa 💄 style: add context menu for desktop (#8691)
* update state

* clean code

* improve menu
2025-08-06 15:39:03 +08:00
lobehubbot c13e11ce3f 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 07:10:03 +00:00
semantic-release-bot 8777a4e42a 🔖 chore(release): v1.110.1 [skip ci]
### [Version&nbsp;1.110.1](https://github.com/lobehub/lobe-chat/compare/v1.110.0...v1.110.1)
<sup>Released on **2025-08-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix remote avatar broken in desktop again.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix remote avatar broken in desktop again, closes [#8688](https://github.com/lobehub/lobe-chat/issues/8688) ([41b4363](https://github.com/lobehub/lobe-chat/commit/41b4363))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 07:09:09 +00:00
Bryan 41b4363802 🐛 fix: fix remote avatar broken in desktop again (#8688) 2025-08-06 14:53:44 +08:00
lobehubbot d34ba6496e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 05:40:28 +00:00
semantic-release-bot 6bdc75781f 🔖 chore(release): v1.110.0 [skip ci]
## [Version&nbsp;1.110.0](https://github.com/lobehub/lobe-chat/compare/v1.109.1...v1.110.0)
<sup>Released on **2025-08-06**</sup>

####  Features

- **misc**: Support mcp plugin install from web.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support mcp plugin install from web, closes [#8680](https://github.com/lobehub/lobe-chat/issues/8680) ([022d858](https://github.com/lobehub/lobe-chat/commit/022d858))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 05:39:32 +00:00
Arvin Xu 022d858cbc feat: support mcp plugin install from web (#8680)
* refactor modal

* improve mcp plugin display

* fix marketplace modal

* refactor install modal

* support official install

* fix types

* clean

* clean

* clean

* fix types

* fix protocol condition

* update state
2025-08-06 13:23:27 +08:00
lobehubbot f7302b5886 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-06 02:31:31 +00:00
semantic-release-bot 2077251a16 🔖 chore(release): v1.109.1 [skip ci]
### [Version&nbsp;1.109.1](https://github.com/lobehub/lobe-chat/compare/v1.109.0...v1.109.1)
<sup>Released on **2025-08-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix ollama model output without thinking.

#### 💄 Styles

- **misc**: Add Claude Opus 4.1 model, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix ollama model output without thinking, closes [#8686](https://github.com/lobehub/lobe-chat/issues/8686) ([d95c7f4](https://github.com/lobehub/lobe-chat/commit/d95c7f4))

#### Styles

* **misc**: Add Claude Opus 4.1 model, closes [#8683](https://github.com/lobehub/lobe-chat/issues/8683) ([ceb5289](https://github.com/lobehub/lobe-chat/commit/ceb5289))
* **misc**: Update i18n, closes [#8684](https://github.com/lobehub/lobe-chat/issues/8684) ([926fa9a](https://github.com/lobehub/lobe-chat/commit/926fa9a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-06 02:30:32 +00:00
Arvin Xu d95c7f4142 🐛 fix: fix ollama model output without thinking (#8686) 2025-08-06 10:15:13 +08:00
sxjeru ceb5289d57 💄 style: Add Claude Opus 4.1 model (#8683)
* Update anthropic.ts

* Update anthropic.ts

* Update aihubmix.ts

* fix: `temperature` and `top_p` cannot both be specified for this model. Please use only one.

* update

* 更新 Groq 模型
2025-08-06 10:14:51 +08:00
LobeHub Bot 926fa9a1a2 💄 style: update i18n (#8684)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-06 10:14:28 +08:00
lobehubbot d2fba0fb7f 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-05 18:16:27 +00:00
semantic-release-bot c883ad1a13 🔖 chore(release): v1.109.0 [skip ci]
## [Version&nbsp;1.109.0](https://github.com/lobehub/lobe-chat/compare/v1.108.2...v1.109.0)
<sup>Released on **2025-08-05**</sup>

####  Features

- **misc**: Support gpt-oss in ollama provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support gpt-oss in ollama provider, closes [#8682](https://github.com/lobehub/lobe-chat/issues/8682) ([6e0c386](https://github.com/lobehub/lobe-chat/commit/6e0c386))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-05 18:15:34 +00:00
Arvin Xu 6e0c386090 feat: support gpt-oss in ollama provider (#8682)
* add gpt-oss models

* update gpt-oss models
2025-08-06 02:00:24 +08:00
lobehubbot ef599cff43 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-05 13:53:25 +00:00
semantic-release-bot 151e75ef60 🔖 chore(release): v1.108.2 [skip ci]
### [Version&nbsp;1.108.2](https://github.com/lobehub/lobe-chat/compare/v1.108.1...v1.108.2)
<sup>Released on **2025-08-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Provider config checker uses outdated API key.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Provider config checker uses outdated API key, closes [#8666](https://github.com/lobehub/lobe-chat/issues/8666) ([3a3e73e](https://github.com/lobehub/lobe-chat/commit/3a3e73e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-05 13:52:28 +00:00
YuTengjing 3a3e73e419 🐛 fix: provider config checker uses outdated API key (#8666) 2025-08-05 21:36:07 +08:00
Tsuki 539932af69 🔨 chore: Add ga4 analytics provider (#8672) 2025-08-05 19:43:38 +08:00
lobehubbot de94b3ecd0 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-05 09:57:23 +00:00
semantic-release-bot 2a7e8a89e0 🔖 chore(release): v1.108.1 [skip ci]
### [Version&nbsp;1.108.1](https://github.com/lobehub/lobe-chat/compare/v1.108.0...v1.108.1)
<sup>Released on **2025-08-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix remote avatar broken in desktop.

#### 💄 Styles

- **misc**: Update mask style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix remote avatar broken in desktop, closes [#8673](https://github.com/lobehub/lobe-chat/issues/8673) ([7eae430](https://github.com/lobehub/lobe-chat/commit/7eae430))

#### Styles

* **misc**: Update mask style, closes [#8555](https://github.com/lobehub/lobe-chat/issues/8555) ([b4ac89d](https://github.com/lobehub/lobe-chat/commit/b4ac89d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-05 09:55:16 +00:00
Bryan 7eae4308ec 🐛 fix: fix remote avatar broken in desktop (#8673) 2025-08-05 17:39:47 +08:00
CanisMinor b4ac89d281 💄 style: Update mask style (#8555)
* 💄 style: Update mask style

* Update antdOverride.ts

* Update antdOverride.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-05 17:28:06 +08:00
renovate[bot] 223b0c7fa9 Update dependency drizzle-orm to ^0.44.0 (#7483)
* Update dependency drizzle-orm to ^0.44.0

* refactor drizzle orm

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-08-05 17:25:27 +08:00
huangkairan 9ed268cd36 🔨 chore: clean desktop trpc log (#8677) 2025-08-05 17:19:51 +08:00
lobehubbot 7c33ccaf53 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-05 08:06:24 +00:00
semantic-release-bot 0a5ae9f1a8 🔖 chore(release): v1.108.0 [skip ci]
## [Version&nbsp;1.108.0](https://github.com/lobehub/lobe-chat/compare/v1.107.6...v1.108.0)
<sup>Released on **2025-08-05**</sup>

####  Features

- **misc**: Support 302ai provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support 302ai provider, closes [#8362](https://github.com/lobehub/lobe-chat/issues/8362) ([e172055](https://github.com/lobehub/lobe-chat/commit/e172055))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-05 08:05:31 +00:00
JI4JUN e172055a52 feat: support 302ai provider (#8362)
*  feat: support 302.AI provider

* 📝 docs: update docs of 302.AI

* 🐛 fix: error 404 of images in ai302.mdx and ai302.zh-CN.mdx

* 🐛 fix: fix issue of failing tests
2025-08-05 15:50:13 +08:00
lobehubbot db57461337 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-05 03:56:04 +00:00
semantic-release-bot 2c6df10136 🔖 chore(release): v1.107.6 [skip ci]
### [Version&nbsp;1.107.6](https://github.com/lobehub/lobe-chat/compare/v1.107.5...v1.107.6)
<sup>Released on **2025-08-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Break line for Gemini Artifacts.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Break line for Gemini Artifacts, closes [#8627](https://github.com/lobehub/lobe-chat/issues/8627) ([65609dd](https://github.com/lobehub/lobe-chat/commit/65609dd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-05 03:55:02 +00:00
AmAzing- 65609dd1e9 🐛 fix: Break line for Gemini Artifacts (#8627)
* 🐛 fix: Break line for Gemini Artifacts

* 🔧 chore: Add an idempotency test to processWithArtifact
2025-08-05 11:39:34 +08:00
YuTengjing f97c62e196 chore: improve plugin result rendering with smart content detection (#8664) 2025-08-04 21:37:21 +08:00
YuTengjing 526e0bf473 🐛 chore: clear prompt input after successful image creation (#8663) 2025-08-04 21:35:12 +08:00
lobehubbot 0a3ff2ce9e 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-04 10:04:30 +00:00
semantic-release-bot e208b01472 🔖 chore(release): v1.107.5 [skip ci]
### [Version&nbsp;1.107.5](https://github.com/lobehub/lobe-chat/compare/v1.107.4...v1.107.5)
<sup>Released on **2025-08-04**</sup>

#### 💄 Styles

- **misc**: Update models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update models, closes [#8657](https://github.com/lobehub/lobe-chat/issues/8657) ([904ee13](https://github.com/lobehub/lobe-chat/commit/904ee13))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-04 10:03:31 +00:00
Arvin Xu 904ee138ba 💄 style: update models (#8657) 2025-08-04 17:48:09 +08:00
lobehubbot 1e3597200b 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-04 09:46:20 +00:00
semantic-release-bot 89b93b396d 🔖 chore(release): v1.107.4 [skip ci]
### [Version&nbsp;1.107.4](https://github.com/lobehub/lobe-chat/compare/v1.107.3...v1.107.4)
<sup>Released on **2025-08-04**</sup>

#### 🐛 Bug Fixes

- **misc**: When s3 files not exist , global files should delete.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: When s3 files not exist , global files should delete ([7c1ca41](https://github.com/lobehub/lobe-chat/commit/7c1ca41))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-04 09:45:20 +00:00
Shinji-Li 9c28a88561 Revert "fix: when s3 files not exist , global files should delete" (#8661) 2025-08-04 17:29:49 +08:00
Shinji-Li 7c1ca41c53 🐛 fix: when s3 files not exist , global files should delete
fix: when s3 files not exist , global files should delete
2025-08-04 17:25:21 +08:00
ONLY-yours 740a28e4aa fix: merge main 2025-08-04 11:05:00 +08:00
Maple Gao ddddb1e881 🔨 chore: improve gitignore for Ubuntu Dev Env (#8655) 2025-08-04 10:16:22 +08:00
lobehubbot bba3179b47 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-03 14:01:39 +00:00
semantic-release-bot ce159a33f0 🔖 chore(release): v1.107.3 [skip ci]
### [Version&nbsp;1.107.3](https://github.com/lobehub/lobe-chat/compare/v1.107.2...v1.107.3)
<sup>Released on **2025-08-03**</sup>

#### 🐛 Bug Fixes

- **misc**: Aihubmix provider request headers.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Aihubmix provider request headers, closes [#8654](https://github.com/lobehub/lobe-chat/issues/8654) ([af07101](https://github.com/lobehub/lobe-chat/commit/af07101))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-03 14:00:40 +00:00
renovate[bot] b0be9be7c0 Update dependency lucide-react to ^0.536.0 (#8648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 21:45:07 +08:00
renovate[bot] 6db157ed64 Update dependency @anthropic-ai/sdk to ^0.57.0 (#8647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 21:43:37 +08:00
Arvin Xu af071015d0 🐛 fix: aihubmix provider request headers (#8654)
* fix headers issue

* update provider
2025-08-03 21:43:20 +08:00
lobehubbot 0458190d16 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-02 16:40:34 +00:00
semantic-release-bot 4306558781 🔖 chore(release): v1.107.2 [skip ci]
### [Version&nbsp;1.107.2](https://github.com/lobehub/lobe-chat/compare/v1.107.1...v1.107.2)
<sup>Released on **2025-08-02**</sup>

#### ♻ Code Refactoring

- **misc**: Move types to separate package.

#### 🐛 Bug Fixes

- **desktop**: Settings window can't exit when fullscreen.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move types to separate package, closes [#8635](https://github.com/lobehub/lobe-chat/issues/8635) ([3cc4a54](https://github.com/lobehub/lobe-chat/commit/3cc4a54))

#### What's fixed

* **desktop**: Settings window can't exit when fullscreen, closes [#8633](https://github.com/lobehub/lobe-chat/issues/8633) ([954eb2c](https://github.com/lobehub/lobe-chat/commit/954eb2c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-02 16:39:38 +00:00
YuTengjing 954eb2cb18 🐛 fix(desktop): settings window can't exit when fullscreen (#8633)
* 🐛 fix: settings window can't exit when fullscreen

* 🐛 fix: refactor macOS fullscreen hide to prevent black screen

- Unified fullscreen handling in Browser.hide() method
- Fixed black screen issue when hiding fullscreen windows on macOS
- Simplified close event handler by removing duplicate logic
- Updated toggleVisible() to use consistent hide() method
- Added platform check to only apply fix on macOS

Fixes: https://github.com/electron/electron/issues/20263

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-03 00:23:40 +08:00
Arvin Xu 3cc4a54d6f ♻️ refactor: move types to separate package (#8635)
* move types

* fix tests

* fix tests
2025-08-03 00:22:49 +08:00
ONLY-yours bb1a3d9a08 fix: 修复单元测试失败的问题 2025-08-01 17:07:59 +08:00
lobehubbot adcedf41ca 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-01 05:03:51 +00:00
semantic-release-bot d79f2f99fd 🔖 chore(release): v1.107.1 [skip ci]
### [Version&nbsp;1.107.1](https://github.com/lobehub/lobe-chat/compare/v1.107.0...v1.107.1)
<sup>Released on **2025-08-01**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8629](https://github.com/lobehub/lobe-chat/issues/8629) ([3b87fe7](https://github.com/lobehub/lobe-chat/commit/3b87fe7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-01 05:02:49 +00:00
LobeHub Bot 3b87fe70b2 💄 style: update i18n (#8629)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-08-01 12:47:28 +08:00
Arvin Xu 29417d5e18 🔨 chore: fix type in some scripts (#8631)
* upgrade types

* fix types

* fix types
2025-08-01 12:42:55 +08:00
lobehubbot 9b74e172a0 📝 docs(bot): Auto sync agents & plugin to readme 2025-08-01 02:08:20 +00:00
semantic-release-bot 0c00c89374 🔖 chore(release): v1.107.0 [skip ci]
## [Version&nbsp;1.107.0](https://github.com/lobehub/lobe-chat/compare/v1.106.8...v1.107.0)
<sup>Released on **2025-08-01**</sup>

####  Features

- **misc**: Support aihubmix provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support aihubmix provider, closes [#8038](https://github.com/lobehub/lobe-chat/issues/8038) ([4db6485](https://github.com/lobehub/lobe-chat/commit/4db6485))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-08-01 02:07:27 +00:00
hedeqiang 4db6485410 feat: support aihubmix provider (#8038)
* feata: support aihubmix provider

* style: update aihubmix

* style: update LobeOpenAICompatibleFactory

* Delete docs/usage/providers/aihubmix.mdx

* style: update model list

* style: i18n

* Update aihubmix.zh-CN.mdx

* Update aihubmix.ts

* ♻️ refactor: rename agent runtime to model runtime

*  feat: support aihubmix as router runtime

* update App header

* update

* update models

* update models link

* update i18n

* fix

* fix

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-08-01 09:52:11 +08:00
lobehubbot 1257d905c7 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-31 03:37:39 +00:00
semantic-release-bot 896020a7ba 🔖 chore(release): v1.106.8 [skip ci]
### [Version&nbsp;1.106.8](https://github.com/lobehub/lobe-chat/compare/v1.106.7...v1.106.8)
<sup>Released on **2025-07-31**</sup>

#### 💄 Styles

- **misc**: Support SenseNova V6.5 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support SenseNova V6.5 models, closes [#8569](https://github.com/lobehub/lobe-chat/issues/8569) ([411ed7e](https://github.com/lobehub/lobe-chat/commit/411ed7e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-31 03:36:45 +00:00
sxjeru 411ed7eac1 💄 style: Support SenseNova V6.5 models (#8569)
*  feat: 添加 SenseNova V6.5 Pro 和 V6.5 Turbo 模型,并更新聊天处理逻辑以支持思考参数

*  feat: 更新模型 ID 格式并添加 Qwen3 模型,增强聊天处理能力
2025-07-31 11:21:04 +08:00
lobehubbot c36ec9bdbd 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-31 02:44:15 +00:00
semantic-release-bot b8d51a9c87 🔖 chore(release): v1.106.7 [skip ci]
### [Version&nbsp;1.106.7](https://github.com/lobehub/lobe-chat/compare/v1.106.6...v1.106.7)
<sup>Released on **2025-07-31**</sup>

#### 💄 Styles

- **misc**: Update Aliyun Bailian models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Aliyun Bailian models, closes [#8612](https://github.com/lobehub/lobe-chat/issues/8612) ([433e679](https://github.com/lobehub/lobe-chat/commit/433e679))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-31 02:43:18 +00:00
sxjeru 433e679844 💄 style: update Aliyun Bailian models (#8612)
* Update qwen.ts

*  feat: 添加 Qwen3-30B-A3B-Instruct-2507 聊天模型

*  feat: 更新 Qwen 模型配置,添加新能力和调整参数

*  feat: 更新推理预算令牌的处理逻辑,支持在未启用推理时使用
2025-07-31 10:28:06 +08:00
lobehubbot fe7062f796 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-31 02:19:56 +00:00
semantic-release-bot b278458f2d 🔖 chore(release): v1.106.6 [skip ci]
### [Version&nbsp;1.106.6](https://github.com/lobehub/lobe-chat/compare/v1.106.5...v1.106.6)
<sup>Released on **2025-07-31**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix oidc oauth callback pages 404.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix oidc oauth callback pages 404, closes [#8620](https://github.com/lobehub/lobe-chat/issues/8620) ([d136b6e](https://github.com/lobehub/lobe-chat/commit/d136b6e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-31 02:19:02 +00:00
Arvin Xu d136b6eb55 🐛 fix: fix oidc oauth callback pages 404 (#8620) 2025-07-31 10:03:42 +08:00
lobehubbot ef42644d03 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-30 16:32:39 +00:00
semantic-release-bot dfb8687f0e 🔖 chore(release): v1.106.5 [skip ci]
### [Version&nbsp;1.106.5](https://github.com/lobehub/lobe-chat/compare/v1.106.4...v1.106.5)
<sup>Released on **2025-07-30**</sup>

#### 💄 Styles

- **misc**: Improve mcp plugin calling and display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve mcp plugin calling and display, closes [#8619](https://github.com/lobehub/lobe-chat/issues/8619) ([14c41c4](https://github.com/lobehub/lobe-chat/commit/14c41c4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-30 16:31:46 +00:00
Arvin Xu 14c41c488f 💄 style: improve mcp plugin calling and display (#8619)
* improve mcp tools calling loading state

* improve Arguments display

* improve mcp display

* improve close delay
2025-07-31 00:16:14 +08:00
lobehubbot bc984529a6 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-30 11:17:10 +00:00
semantic-release-bot f72eadee09 🔖 chore(release): v1.106.4 [skip ci]
### [Version&nbsp;1.106.4](https://github.com/lobehub/lobe-chat/compare/v1.106.3...v1.106.4)
<sup>Released on **2025-07-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix mcp calling missing array content.

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix mcp calling missing array content, closes [#8615](https://github.com/lobehub/lobe-chat/issues/8615) ([b7f8e6e](https://github.com/lobehub/lobe-chat/commit/b7f8e6e))

#### Styles

* **misc**: Update i18n, closes [#8609](https://github.com/lobehub/lobe-chat/issues/8609) ([21cac39](https://github.com/lobehub/lobe-chat/commit/21cac39))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-30 11:16:14 +00:00
LobeHub Bot 21cac39e72 💄 style: update i18n (#8609)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-30 19:00:55 +08:00
Arvin Xu b7f8e6e521 🐛 fix: fix mcp calling missing array content (#8615) 2025-07-30 19:00:48 +08:00
lobehubbot 6e7035e1e5 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 18:03:49 +00:00
semantic-release-bot 0dd157b2f6 🔖 chore(release): v1.106.3 [skip ci]
### [Version&nbsp;1.106.3](https://github.com/lobehub/lobe-chat/compare/v1.106.2...v1.106.3)
<sup>Released on **2025-07-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Moonshot assistant messages must not be empty.

#### 💄 Styles

- **misc**: Add volcengine kimi-k2 model, Add Zhipu GLM-4.5 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Moonshot assistant messages must not be empty, closes [#8419](https://github.com/lobehub/lobe-chat/issues/8419) ([a796495](https://github.com/lobehub/lobe-chat/commit/a796495))

#### Styles

* **misc**: Add volcengine kimi-k2 model, closes [#8591](https://github.com/lobehub/lobe-chat/issues/8591) ([9630167](https://github.com/lobehub/lobe-chat/commit/9630167))
* **misc**: Add Zhipu GLM-4.5 models, closes [#8590](https://github.com/lobehub/lobe-chat/issues/8590) ([4f4620c](https://github.com/lobehub/lobe-chat/commit/4f4620c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 18:02:42 +00:00
sxjeru a796495e1c 🐛 fix: moonshot assistant messages must not be empty (#8419)
* 🔧 fix(moonshot): 处理空的 assistant 消息并添加浏览器请求禁用设置

* 🔧 feat(siliconcloud): 添加 Kimi K2 Instruct 模型及其相关信息

* 🔧 feat(hunyuan): 添加 Hunyuan T1 模型及其相关信息
🔧 fix(moonshot): 为 assistant 空消息添加一个空格以优化消息处理

* 🔧 feat(siliconcloud): 添加 Kimi K2 Instruct 模型及其相关信息

* 🔧 feat(groq): 添加 Kimi K2 Instruct 模型及其相关信息

* 🔧 refactor(stepfun): 移除过时的模型配置

*  feat(moonshot): 添加流式响应处理以支持特殊响应格式

* fix

* 移除模型内置搜索

*  feat(qwen): 添加 Kimi K2 Instruct 模型并更新现有模型的部署名称和输出限制

* remove gemini-2.5-flash-preview-04-17

*  feat(qwen): 添加多个基于Qwen3的模型,增强代码生成能力和描述信息

*  feat: 添加 Qwen3 235B A22B Instruct 2507 模型及更新定价信息

*  feat: 添加 Qwen3 235B Thinking 2507 模型及更新 Qwen3 A22B Instruct 2507 描述

* fix Gemini 2.5 Flash-Lite

*  feat: 添加 GLM-4.5、GLM-4.5-Air 和 Qwen3 235B A22B Thinking 2507 模型到 siliconcloudChatModels

*  feat: 为 qwen3-coder-plus 模型添加 functionCall 能力

* opti
2025-07-30 01:46:56 +08:00
sxjeru 4f4620c3c3 💄 style: Add Zhipu GLM-4.5 models (#8590)
*  feat(zhipu): 添加多个GLM-4.5模型并更新模型参数

* add

*  feat(zhipu): 添加流处理功能以修正智谱模型的工具调用索引

* Update index.ts
2025-07-30 01:35:43 +08:00
hedeqiang 96301670c4 💄 style: add volcengine kimi-k2 model (#8591) 2025-07-30 01:31:56 +08:00
lobehubbot d7763c38c5 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 16:33:37 +00:00
semantic-release-bot b1e01d377a 🔖 chore(release): v1.106.2 [skip ci]
### [Version&nbsp;1.106.2](https://github.com/lobehub/lobe-chat/compare/v1.106.1...v1.106.2)
<sup>Released on **2025-07-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop auth redirect url error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop auth redirect url error, closes [#8597](https://github.com/lobehub/lobe-chat/issues/8597) ([0ed7368](https://github.com/lobehub/lobe-chat/commit/0ed7368))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 16:32:35 +00:00
Arvin Xu 0ed73685dc 🐛 fix: fix desktop auth redirect url error (#8597)
* try to fix cloudflare issue

* fix 0.0.0.0

* fix route

* fix desktop callback

* update pkg

* try to fix again

* try to fix route again
2025-07-30 00:17:23 +08:00
lobehubbot f92b86b194 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 14:11:44 +00:00
semantic-release-bot 1cf58899d8 🔖 chore(release): v1.106.1 [skip ci]
### [Version&nbsp;1.106.1](https://github.com/lobehub/lobe-chat/compare/v1.106.0...v1.106.1)
<sup>Released on **2025-07-29**</sup>

#### 💄 Styles

- **misc**: Support Minimax T2I models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Minimax T2I models, closes [#8583](https://github.com/lobehub/lobe-chat/issues/8583) ([f8a01aa](https://github.com/lobehub/lobe-chat/commit/f8a01aa))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 14:10:47 +00:00
YuTengjing c1dfa7ab49 style: none login user access ai image page error (#8605) 2025-07-29 21:55:13 +08:00
Zhijie He f8a01aacb0 💄 style: support Minimax T2I models (#8583) 2025-07-29 21:54:56 +08:00
lobehubbot c29559cb2e 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 13:09:02 +00:00
semantic-release-bot 16dd71b5e9 🔖 chore(release): v1.106.0 [skip ci]
## [Version&nbsp;1.106.0](https://github.com/lobehub/lobe-chat/compare/v1.105.6...v1.106.0)
<sup>Released on **2025-07-29**</sup>

####  Features

- **misc**: Add support for Okta Authentication.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add support for Okta Authentication, closes [#8547](https://github.com/lobehub/lobe-chat/issues/8547) ([67abdfe](https://github.com/lobehub/lobe-chat/commit/67abdfe))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 13:08:05 +00:00
Arvin Xu ad8f5e451b 📝 docs: add chinese docs for okta provider (#8607)
Reverted a micro-change which was changed during some testing (back to original)

Removed Okta Test

Removed deprecated env variables

Add Okta support to auth config and tests
2025-07-29 20:52:02 +08:00
Jamie Stivala 67abdfe153 feat: Add support for Okta Authentication (#8547)
* Add Okta support to auth config and tests

* Added documentation

* Removed deprecated env variables

* Added Okta as SSO Provider

* Removed Okta Test

* Reverted a micro-change which was changed during some testing (back to original)

* Added Okta to SSO providers list
2025-07-29 20:48:52 +08:00
lobehubbot 672580737f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 12:21:49 +00:00
semantic-release-bot 778152f966 🔖 chore(release): v1.105.6 [skip ci]
### [Version&nbsp;1.105.6](https://github.com/lobehub/lobe-chat/compare/v1.105.5...v1.105.6)
<sup>Released on **2025-07-29**</sup>

#### 💄 Styles

- **misc**: Open new topic by tap Just Chat again.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Open new topic by tap Just Chat again, closes [#8426](https://github.com/lobehub/lobe-chat/issues/8426) ([018ca75](https://github.com/lobehub/lobe-chat/commit/018ca75))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 12:20:56 +00:00
René Wang 018ca7598c 💄 style: Open new topic by tap Just Chat again (#8426) 2025-07-29 20:05:29 +08:00
lobehubbot 6bfba72dce 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 11:28:43 +00:00
semantic-release-bot b7dbcfd310 🔖 chore(release): v1.105.5 [skip ci]
### [Version&nbsp;1.105.5](https://github.com/lobehub/lobe-chat/compare/v1.105.4...v1.105.5)
<sup>Released on **2025-07-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Reorder AppTheme and Locale to fix modal i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Reorder AppTheme and Locale to fix modal i18n, closes [#8600](https://github.com/lobehub/lobe-chat/issues/8600) ([3264cf2](https://github.com/lobehub/lobe-chat/commit/3264cf2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 11:27:39 +00:00
Zhaker 3264cf2106 🐛 fix: reorder AppTheme and Locale to fix modal i18n (#8600) 2025-07-29 19:12:09 +08:00
lobehubbot 9a372f622d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 10:36:16 +00:00
semantic-release-bot de05d4165f 🔖 chore(release): v1.105.4 [skip ci]
### [Version&nbsp;1.105.4](https://github.com/lobehub/lobe-chat/compare/v1.105.3...v1.105.4)
<sup>Released on **2025-07-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Revert jose to ^5 to fix auth issue on desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Revert jose to ^5 to fix auth issue on desktop, closes [#8603](https://github.com/lobehub/lobe-chat/issues/8603) ([57118b0](https://github.com/lobehub/lobe-chat/commit/57118b0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 10:35:23 +00:00
Arvin Xu 57118b031e 🐛 fix: revert jose to ^5 to fix auth issue on desktop (#8603) 2025-07-29 18:20:16 +08:00
lobehubbot c4b2bb59c3 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 09:57:47 +00:00
semantic-release-bot 2211cd7632 🔖 chore(release): v1.105.3 [skip ci]
### [Version&nbsp;1.105.3](https://github.com/lobehub/lobe-chat/compare/v1.105.2...v1.105.3)
<sup>Released on **2025-07-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix subscription plan tag display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix subscription plan tag display, closes [#8599](https://github.com/lobehub/lobe-chat/issues/8599) ([2a3754a](https://github.com/lobehub/lobe-chat/commit/2a3754a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 09:56:53 +00:00
Arvin Xu 2a3754a436 🐛 fix: fix subscription plan tag display (#8599) 2025-07-29 17:41:42 +08:00
lobehubbot e448d52d5c 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 07:12:06 +00:00
semantic-release-bot 04edfca6e0 🔖 chore(release): v1.105.2 [skip ci]
### [Version&nbsp;1.105.2](https://github.com/lobehub/lobe-chat/compare/v1.105.1...v1.105.2)
<sup>Released on **2025-07-29**</sup>

#### ♻ Code Refactoring

- **misc**: Clean mcp sitemap, refactor jose-JWT to xor obfuscation.

#### 💄 Styles

- **misc**: Add more OpenAI SDK Text2Image providers, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Clean mcp sitemap, closes [#8596](https://github.com/lobehub/lobe-chat/issues/8596) ([b9e3e66](https://github.com/lobehub/lobe-chat/commit/b9e3e66))
* **misc**: Refactor jose-JWT to xor obfuscation, closes [#8595](https://github.com/lobehub/lobe-chat/issues/8595) ([be98d56](https://github.com/lobehub/lobe-chat/commit/be98d56))

#### Styles

* **misc**: Add more OpenAI SDK Text2Image providers, closes [#8573](https://github.com/lobehub/lobe-chat/issues/8573) ([403aebd](https://github.com/lobehub/lobe-chat/commit/403aebd))
* **misc**: Update i18n, closes [#8593](https://github.com/lobehub/lobe-chat/issues/8593) ([356cf0c](https://github.com/lobehub/lobe-chat/commit/356cf0c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 07:11:05 +00:00
Arvin Xu b9e3e6633e ♻️ refactor: clean mcp sitemap (#8596) 2025-07-29 14:55:46 +08:00
Zhijie He 403aebd52e 💄 style: add more OpenAI SDK Text2Image providers (#8573) 2025-07-29 14:45:19 +08:00
LobeHub Bot 356cf0c392 💄 style: update i18n (#8593)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-29 14:37:29 +08:00
Arvin Xu be98d56ef4 ♻️ refactor: refactor jose-JWT to xor obfuscation (#8595)
* refactor jose-jwt to xor obfuscation

* rename JWTPayload type to ClientSecretPayload

* fix tests

* revert next version
2025-07-29 14:37:01 +08:00
lobehubbot 3fae1b2638 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-29 04:07:54 +00:00
semantic-release-bot ee4cc6c2e0 🔖 chore(release): v1.105.1 [skip ci]
### [Version&nbsp;1.105.1](https://github.com/lobehub/lobe-chat/compare/v1.105.0...v1.105.1)
<sup>Released on **2025-07-29**</sup>

#### 💄 Styles

- **misc**: Support more Text2Image from Qwen.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support more Text2Image from Qwen, closes [#8574](https://github.com/lobehub/lobe-chat/issues/8574) ([b8c0e2d](https://github.com/lobehub/lobe-chat/commit/b8c0e2d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-29 04:07:02 +00:00
Zhijie He b8c0e2d639 💄 style: support more Text2Image from Qwen (#8574) 2025-07-29 11:51:40 +08:00
lobehubbot 74d20bdbe8 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-28 09:12:32 +00:00
semantic-release-bot 7bab44e74c 🔖 chore(release): v1.105.0 [skip ci]
## [Version&nbsp;1.105.0](https://github.com/lobehub/lobe-chat/compare/v1.104.5...v1.105.0)
<sup>Released on **2025-07-28**</sup>

####  Features

- **misc**: Implement API Key management functionality.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Implement API Key management functionality, closes [#8535](https://github.com/lobehub/lobe-chat/issues/8535) ([fdaa725](https://github.com/lobehub/lobe-chat/commit/fdaa725))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-28 09:11:38 +00:00
Zephyr fdaa72564c feat: Implement API Key management functionality (#8535)
*  feat: Implement API Key management functionality

- Added new components for API Key management including creation, deletion, and display.
- Introduced a new database schema for storing API Keys.
- Implemented server and client services for API Key operations.
- Integrated API Key management into the profile section with appropriate routing and feature flags.
- Enhanced localization support for API Key related UI elements.

This commit lays the groundwork for managing API Keys within the application, allowing users to create, view, and manage their keys effectively.

* fix: server config unit test

*  feat(database): Create api_keys table with conditional existence check

- Added a conditional check to create the "api_keys" table only if it does not already exist.
- Ensured the foreign key constraint for "user_id" references the "users" table remains intact.

This change enhances the migration process by preventing errors during table creation if the table already exists.

* feat: Implement API Key management interface

- Introduced a new Client component for managing API keys, including creation, updating, and deletion functionalities.
- Replaced the previous page component with the new Client component in the API key management page.
- Removed obsolete client and server service files related to API key management, streamlining the service layer.

This update enhances the user experience by providing a dedicated interface for API key operations.
2025-07-28 16:55:57 +08:00
lobehubbot 7d85151cb6 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-28 08:53:48 +00:00
semantic-release-bot 23ef2eea59 🔖 chore(release): v1.104.5 [skip ci]
### [Version&nbsp;1.104.5](https://github.com/lobehub/lobe-chat/compare/v1.104.4...v1.104.5)
<sup>Released on **2025-07-28**</sup>

#### 💄 Styles

- **misc**: Fix setting window layout when in desktop was disappear.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix setting window layout when in desktop was disappear, closes [#8585](https://github.com/lobehub/lobe-chat/issues/8585) ([74ab822](https://github.com/lobehub/lobe-chat/commit/74ab822))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-28 08:52:59 +00:00
Shinji-Li 74ab822140 💄 style: fix setting window layout when in desktop was disappear (#8585) 2025-07-28 16:37:45 +08:00
lobehubbot d726ff108d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-28 02:37:48 +00:00
semantic-release-bot dd7b661140 🔖 chore(release): v1.104.4 [skip ci]
### [Version&nbsp;1.104.4](https://github.com/lobehub/lobe-chat/compare/v1.104.3...v1.104.4)
<sup>Released on **2025-07-28**</sup>

#### 💄 Styles

- **misc**: Fix setting window layout size, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix setting window layout size, closes [#8483](https://github.com/lobehub/lobe-chat/issues/8483) ([4902341](https://github.com/lobehub/lobe-chat/commit/4902341))
* **misc**: Update i18n, closes [#8579](https://github.com/lobehub/lobe-chat/issues/8579) ([2eccbc7](https://github.com/lobehub/lobe-chat/commit/2eccbc7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-28 02:36:53 +00:00
Shinji-Li 49023419cf 💄 style: fix setting window layout size (#8483) 2025-07-28 10:21:30 +08:00
LobeHub Bot 2eccbc79eb 💄 style: update i18n (#8579)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-28 10:19:46 +08:00
lobehubbot 3527cb65f1 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-26 09:48:50 +00:00
semantic-release-bot 1731c841d8 🔖 chore(release): v1.104.3 [skip ci]
### [Version&nbsp;1.104.3](https://github.com/lobehub/lobe-chat/compare/v1.104.2...v1.104.3)
<sup>Released on **2025-07-26**</sup>

#### 💄 Styles

- **misc**: Add Gemini 2.5 Flash-Lite GA model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Gemini 2.5 Flash-Lite GA model, closes [#8539](https://github.com/lobehub/lobe-chat/issues/8539) ([404ac21](https://github.com/lobehub/lobe-chat/commit/404ac21))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-26 09:47:57 +00:00
afon 404ac21229 💄 style: Add Gemini 2.5 Flash-Lite GA model (#8539) 2025-07-26 17:32:34 +08:00
Arvin Xu 2eaa2dbea0 🔨 chore: add react scan debugger and bump deps (#8576)
* add REACT_SCAN debug

* upgrade lobehub/ui

* clean

* head

* update
2025-07-26 16:32:55 +08:00
lobehubbot 50c0ed168d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-26 07:32:43 +00:00
semantic-release-bot 780e231afa 🔖 chore(release): v1.104.2 [skip ci]
### [Version&nbsp;1.104.2](https://github.com/lobehub/lobe-chat/compare/v1.104.1...v1.104.2)
<sup>Released on **2025-07-26**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix update hotkey invalid when input mod in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix update hotkey invalid when input mod in desktop, closes [#8572](https://github.com/lobehub/lobe-chat/issues/8572) ([07f3e6a](https://github.com/lobehub/lobe-chat/commit/07f3e6a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-26 07:31:53 +00:00
Arvin Xu 07f3e6a4c4 🐛 fix: fix update hotkey invalid when input mod in desktop (#8572)
* fix hotkey with mod

* fix invalid hotkeys

* add tests
2025-07-26 15:16:45 +08:00
lobehubbot 3c35edced5 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-25 09:59:34 +00:00
semantic-release-bot 15770f188f 🔖 chore(release): v1.104.1 [skip ci]
### [Version&nbsp;1.104.1](https://github.com/lobehub/lobe-chat/compare/v1.104.0...v1.104.1)
<sup>Released on **2025-07-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider, closes [#8557](https://github.com/lobehub/lobe-chat/issues/8557) ([d1e4a54](https://github.com/lobehub/lobe-chat/commit/d1e4a54))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-25 09:58:34 +00:00
YuTengjing 9d7c6014fd chore: improve image display quality (#8571) 2025-07-25 17:42:23 +08:00
sxjeru d1e4a54b01 🐛 fix: update convertUsage to handle XAI provider and adjust OpenAIStream to pass provider (#8557) 2025-07-25 16:16:54 +08:00
lobehubbot 1bc8815fb4 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-24 17:20:43 +00:00
semantic-release-bot 284826bed0 🔖 chore(release): v1.104.0 [skip ci]
## [Version&nbsp;1.104.0](https://github.com/lobehub/lobe-chat/compare/v1.103.2...v1.104.0)
<sup>Released on **2025-07-24**</sup>

####  Features

- **misc**: Support custom hotkey on desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support custom hotkey on desktop, closes [#8559](https://github.com/lobehub/lobe-chat/issues/8559) ([b50f121](https://github.com/lobehub/lobe-chat/commit/b50f121))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-24 17:19:53 +00:00
Arvin Xu b50f1212cb feat: support custom hotkey on desktop (#8559)
* support custom hotkey

* update tests

* clean

* fix tests
2025-07-25 01:04:18 +08:00
lobehubbot 946517a52e 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-24 04:20:29 +00:00
semantic-release-bot d30cc62acf 🔖 chore(release): v1.103.2 [skip ci]
### [Version&nbsp;1.103.2](https://github.com/lobehub/lobe-chat/compare/v1.103.1...v1.103.2)
<sup>Released on **2025-07-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix chat stream in desktop and update shortcut.

#### 💄 Styles

- **misc**: Add cached token count to usage of GoogleAI and VertexAI, fix desktop titlebar style in window, fix sub topic width in md responsive.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix chat stream in desktop and update shortcut, closes [#8520](https://github.com/lobehub/lobe-chat/issues/8520) ([0192140](https://github.com/lobehub/lobe-chat/commit/0192140))

#### Styles

* **misc**: Add cached token count to usage of GoogleAI and VertexAI, closes [#8545](https://github.com/lobehub/lobe-chat/issues/8545) ([66dbb24](https://github.com/lobehub/lobe-chat/commit/66dbb24))
* **misc**: Fix desktop titlebar style in window, closes [#8439](https://github.com/lobehub/lobe-chat/issues/8439) ([fd7662c](https://github.com/lobehub/lobe-chat/commit/fd7662c))
* **misc**: Fix sub topic width in md responsive, closes [#8443](https://github.com/lobehub/lobe-chat/issues/8443) ([9bae13b](https://github.com/lobehub/lobe-chat/commit/9bae13b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-24 04:19:17 +00:00
Arvin Xu 0192140909 🐛 fix: fix chat stream in desktop and update shortcut (#8520)
* disable nginx chunk buffering

* make setting keep alive

* update shortcut

* update shortcut

* fix lint
2025-07-24 12:04:06 +08:00
Shinji-Li 9bae13b6c1 💄 style: fix sub topic width in md responsive (#8443) 2025-07-24 11:02:38 +08:00
CanisMinor fd7662c3ac 💄 style: fix desktop titlebar style in window (#8439)
* 💄 style: Fix win electron style

📝 docs: Update readme

💄 style: Update useWatchThemeUpdate

💄 style: Update Tray icon

🔧 chore: Update windows

🔧 chore: Update filetree

🔧 chore: Update core

💄 style: Fix desktop draw style

💄 style: Update style

💄 style: Fix backgroundColor

💄 style: Update titlebar style

* 💄 style: Fix windows icon

* 🔧 chore: Clean

* update theme

* 💄 style: Update broswer

* 💄 style: HandleAppThemeChange

* clean

* fix memory leak

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-07-24 11:02:07 +08:00
afon 66dbb246d9 💄 style: Add cached token count to usage of GoogleAI and VertexAI (#8545) 2025-07-24 10:56:03 +08:00
Jamie Stivala 3a2935a6e3 🔨 chore: fix an issue where some tests were failing if Branding items were updated (#8549)
* Update test data for plugin action to use avatar icon path (rather than hard coded)

* Update tests to use BRANDING_NAME constant instead of hardcoded 'LobeChat' and update avatar icon path in chat message tests

* Update tests to replace hardcoded avatar paths with constants for inbox and user avatars

* Update plugin action tests to use DEFAULT_INBOX_AVATAR constant instead of hardcoded path
2025-07-24 10:54:42 +08:00
ONLY-yours 17a289066e fix: merge main 2025-07-23 17:07:41 +08:00
YuTengjing 82ca0074d4 🔨 chore: some ai image optimization (#8543) 2025-07-23 15:33:20 +08:00
lobehubbot 225d3b6ed5 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-23 05:34:17 +00:00
semantic-release-bot 66984d9418 🔖 chore(release): v1.103.1 [skip ci]
### [Version&nbsp;1.103.1](https://github.com/lobehub/lobe-chat/compare/v1.103.0...v1.103.1)
<sup>Released on **2025-07-23**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8537](https://github.com/lobehub/lobe-chat/issues/8537) ([b16f19b](https://github.com/lobehub/lobe-chat/commit/b16f19b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-23 05:33:24 +00:00
LobeHub Bot b16f19bfed 💄 style: update i18n (#8537)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-23 13:17:56 +08:00
huangkairan f61b222e9e 📝 docs: fix desktop & mcp mdx (#8541) 2025-07-23 13:17:30 +08:00
lobehubbot 368f7dbbc1 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-22 14:59:13 +00:00
semantic-release-bot 9c2350e643 🔖 chore(release): v1.103.0 [skip ci]
## [Version&nbsp;1.103.0](https://github.com/lobehub/lobe-chat/compare/v1.102.4...v1.103.0)
<sup>Released on **2025-07-22**</sup>

####  Features

- **misc**: Add Qwen image generation capabilities.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Qwen image generation capabilities, closes [#8534](https://github.com/lobehub/lobe-chat/issues/8534) ([7e8e5ef](https://github.com/lobehub/lobe-chat/commit/7e8e5ef))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-22 14:58:22 +00:00
YuTengjing 7e8e5ef5b2 feat: add Qwen image generation capabilities (#8534) 2025-07-22 22:43:10 +08:00
lobehubbot 0ed9e7d947 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-22 06:02:40 +00:00
semantic-release-bot 19cc6e8562 🔖 chore(release): v1.102.4 [skip ci]
### [Version&nbsp;1.102.4](https://github.com/lobehub/lobe-chat/compare/v1.102.3...v1.102.4)
<sup>Released on **2025-07-22**</sup>

#### ♻ Code Refactoring

- **misc**: Add badge and improve document.

#### 💄 Styles

- **misc**: Update tray icon.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add badge and improve document, closes [#8528](https://github.com/lobehub/lobe-chat/issues/8528) ([9fb4b0d](https://github.com/lobehub/lobe-chat/commit/9fb4b0d))

#### Styles

* **misc**: Update tray icon, closes [#8530](https://github.com/lobehub/lobe-chat/issues/8530) ([2696de4](https://github.com/lobehub/lobe-chat/commit/2696de4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-22 06:01:46 +00:00
Arvin Xu 2696de4078 💄 style: Update tray icon (#8530)
Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-07-22 13:46:39 +08:00
Arvin Xu 9fb4b0dfc3 ♻️ refactor: add badge and improve document (#8528)
* update readme

* 📝 docs: Update readme

* 💄 style: Update PlanIcon

* improve tooltip placement

* improve tray

---------

Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-07-22 13:43:57 +08:00
lobehubbot caffbbd384 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-22 03:38:51 +00:00
semantic-release-bot 8a89b1a14e 🔖 chore(release): v1.102.3 [skip ci]
### [Version&nbsp;1.102.3](https://github.com/lobehub/lobe-chat/compare/v1.102.2...v1.102.3)
<sup>Released on **2025-07-22**</sup>

#### 🐛 Bug Fixes

- **misc**: Remove debug logging from ModelRuntime and async caller.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove debug logging from ModelRuntime and async caller, closes [#8525](https://github.com/lobehub/lobe-chat/issues/8525) ([dd1a635](https://github.com/lobehub/lobe-chat/commit/dd1a635))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-22 03:37:59 +00:00
YuTengjing dd1a6356b7 🐛 fix: remove debug logging from ModelRuntime and async caller (#8525) 2025-07-22 11:23:05 +08:00
LovelyGuYiMeng d87919eba2 👷 build: add default app url for docker image to avoid building error (#8526) 2025-07-22 11:17:43 +08:00
lobehubbot 4bcf9822f7 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-22 03:12:31 +00:00
semantic-release-bot 9f2eea3d2f 🔖 chore(release): v1.102.2 [skip ci]
### [Version&nbsp;1.102.2](https://github.com/lobehub/lobe-chat/compare/v1.102.1...v1.102.2)
<sup>Released on **2025-07-22**</sup>

#### 💄 Styles

- **misc**: Add notification for desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add notification for desktop, closes [#8523](https://github.com/lobehub/lobe-chat/issues/8523) ([4917d17](https://github.com/lobehub/lobe-chat/commit/4917d17))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-22 03:11:41 +00:00
Arvin Xu 4917d175bb 💄 style: add notification for desktop (#8523)
* add notification for desktop

* update i18n

* fix tests
2025-07-22 10:56:17 +08:00
lobehubbot 5b53773dc6 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-21 16:01:39 +00:00
semantic-release-bot 46bdf21f37 🔖 chore(release): v1.102.1 [skip ci]
### [Version&nbsp;1.102.1](https://github.com/lobehub/lobe-chat/compare/v1.102.0...v1.102.1)
<sup>Released on **2025-07-21**</sup>

#### 🐛 Bug Fixes

- **groq**: Enable streaming for tool calls and add Kimi K2 model.

#### 💄 Styles

- **misc**: Modal list header sticky style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **groq**: Enable streaming for tool calls and add Kimi K2 model, closes [#8510](https://github.com/lobehub/lobe-chat/issues/8510) ([60739bc](https://github.com/lobehub/lobe-chat/commit/60739bc))

#### Styles

* **misc**: Modal list header sticky style, closes [#8514](https://github.com/lobehub/lobe-chat/issues/8514) ([75273d5](https://github.com/lobehub/lobe-chat/commit/75273d5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-21 16:00:42 +00:00
afon 60739bc903 🐛 fix(groq): Enable streaming for tool calls and add Kimi K2 model (#8510) 2025-07-21 23:45:30 +08:00
Innei 75273d5497 💄 style: modal list header sticky style (#8514) 2025-07-21 23:43:25 +08:00
Innei 22e2de2b00 🔨 chore(typo): fix redirectUrl typo (#8513) 2025-07-21 23:42:53 +08:00
lobehubbot cbddf3ed25 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-21 15:28:30 +00:00
semantic-release-bot 14fd4bb2e7 🔖 chore(release): v1.102.0 [skip ci]
## [Version&nbsp;1.102.0](https://github.com/lobehub/lobe-chat/compare/v1.101.2...v1.102.0)
<sup>Released on **2025-07-21**</sup>

####  Features

- **misc**: Add image generation capabilities using Google AI Imagen API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add image generation capabilities using Google AI Imagen API, closes [#8503](https://github.com/lobehub/lobe-chat/issues/8503) ([cef8208](https://github.com/lobehub/lobe-chat/commit/cef8208))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-21 15:27:38 +00:00
YuTengjing cef8208457 feat: add image generation capabilities using Google AI Imagen API (#8503) 2025-07-21 23:11:31 +08:00
lobehubbot 7d85a772db 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-21 06:00:46 +00:00
semantic-release-bot 83dd2865f0 🔖 chore(release): v1.101.2 [skip ci]
### [Version&nbsp;1.101.2](https://github.com/lobehub/lobe-chat/compare/v1.101.1...v1.101.2)
<sup>Released on **2025-07-21**</sup>

#### 💄 Styles

- **misc**: Fix lobehub provider `/chat` in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix lobehub provider `/chat` in desktop, closes [#8508](https://github.com/lobehub/lobe-chat/issues/8508) ([c801f9c](https://github.com/lobehub/lobe-chat/commit/c801f9c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-21 05:59:47 +00:00
Arvin Xu c04507e34f 🔨 chore: fix model runtime test issue (#8511) 2025-07-21 13:44:54 +08:00
Arvin Xu c801f9ce58 💄 style: fix lobehub provider /chat in desktop (#8508) 2025-07-21 11:43:20 +08:00
vual ac2a83a3ce 👷 build: add default APP_URL for docker image to avoid building error (#8507) 2025-07-21 11:39:59 +08:00
lobehubbot 7bdda9bab4 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-19 17:19:58 +00:00
semantic-release-bot e8321355f8 🔖 chore(release): v1.101.1 [skip ci]
### [Version&nbsp;1.101.1](https://github.com/lobehub/lobe-chat/compare/v1.101.0...v1.101.1)
<sup>Released on **2025-07-19**</sup>

#### 🐛 Bug Fixes

- **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Try fix authorization code exchange & pin next-auto to `beta.29`, closes [#8496](https://github.com/lobehub/lobe-chat/issues/8496) ([27c4881](https://github.com/lobehub/lobe-chat/commit/27c4881))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-19 17:19:05 +00:00
Rylan Cai 27c4881205 🐛 fix: Try fix authorization code exchange & pin next-auto to beta.29 (#8496)
* 📌 pin: next-auth@beta.29

* 🐛 fix: infinite redirection
2025-07-20 01:03:35 +08:00
lobehubbot 472c40e969 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-19 07:32:42 +00:00
semantic-release-bot c98e7f8032 🔖 chore(release): v1.101.0 [skip ci]
## [Version&nbsp;1.101.0](https://github.com/lobehub/lobe-chat/compare/v1.100.2...v1.101.0)
<sup>Released on **2025-07-19**</sup>

####  Features

- **misc**: Add zhipu cogview4.

#### 🐛 Bug Fixes

- **misc**: Some ai image bugs.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add zhipu cogview4, closes [#8486](https://github.com/lobehub/lobe-chat/issues/8486) ([0b1557d](https://github.com/lobehub/lobe-chat/commit/0b1557d))

#### What's fixed

* **misc**: Some ai image bugs, closes [#8490](https://github.com/lobehub/lobe-chat/issues/8490) ([5d852be](https://github.com/lobehub/lobe-chat/commit/5d852be))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-19 07:31:47 +00:00
YuTengjing 0b1557d6ad feat: add zhipu cogview4 (#8486) 2025-07-18 23:01:12 +08:00
YuTengjing 5d852be8a2 🐛 fix: some ai image bugs (#8490) 2025-07-18 23:00:56 +08:00
ONLY-yours 5e99b815f7 feat: 统一 files trpc message 为 enum 2025-07-18 14:27:36 +08:00
lobehubbot 993b0fa81f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-18 05:13:35 +00:00
semantic-release-bot 83783b4650 🔖 chore(release): v1.100.2 [skip ci]
### [Version&nbsp;1.100.2](https://github.com/lobehub/lobe-chat/compare/v1.100.1...v1.100.2)
<sup>Released on **2025-07-18**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix webapi proxy with clerk.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix webapi proxy with clerk, closes [#8479](https://github.com/lobehub/lobe-chat/issues/8479) ([7dd65f0](https://github.com/lobehub/lobe-chat/commit/7dd65f0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-18 05:12:40 +00:00
Arvin Xu 7dd65f0cb4 🐛 fix: fix webapi proxy with clerk (#8479)
* fix webapi proxy with clerk

* Update jwt.ts
2025-07-18 12:56:55 +08:00
lobehubbot ecf1fdc2f7 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-17 18:57:38 +00:00
semantic-release-bot 71c33300cf 🔖 chore(release): v1.100.1 [skip ci]
### [Version&nbsp;1.100.1](https://github.com/lobehub/lobe-chat/compare/v1.100.0...v1.100.1)
<sup>Released on **2025-07-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Use server env config image models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Use server env config image models, closes [#8478](https://github.com/lobehub/lobe-chat/issues/8478) ([768ee2b](https://github.com/lobehub/lobe-chat/commit/768ee2b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-17 18:56:46 +00:00
YuTengjing 768ee2bf23 🐛 fix: use server env config image models (#8478)
* docs: update fal provider invalid image links

* docs: add FAL model provider environment variables documentation

* 🐛 fix: update model type assignment in parseModels.ts to use dynamic lookup

* 📝 docs: add FAQ for resolving AI image generation timeout issues on Vercel

*  feat: implement getModelPropertyWithFallback utility for dynamic model property retrieval

* 📝 docs: expand testing guide with best practices for mock data strategies, error handling, and module pollution prevention

* 🐛 fix: update model type in LobeOpenAICompatibleFactory tests to 'chat'
2025-07-18 02:41:27 +08:00
lobehubbot d23d8f1c29 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-17 05:25:51 +00:00
semantic-release-bot 7eadecd340 🔖 chore(release): v1.100.0 [skip ci]
## [Version&nbsp;1.100.0](https://github.com/lobehub/lobe-chat/compare/v1.99.6...v1.100.0)
<sup>Released on **2025-07-17**</sup>

####  Features

- **misc**: Refactor desktop oauth and use JWTs token to support remote chat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Refactor desktop oauth and use JWTs token to support remote chat, closes [#8446](https://github.com/lobehub/lobe-chat/issues/8446) ([054ca5f](https://github.com/lobehub/lobe-chat/commit/054ca5f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-17 05:24:42 +00:00
Arvin Xu 785406be9a 🔨 chore: improve code (#8469) 2025-07-17 13:09:41 +08:00
Arvin Xu 054ca5fd97 feat: refactor desktop oauth and use JWTs token to support remote chat (#8446)
* refactor the oauth

* refactor the oauth

* refactor the oauth

* improve oauth status

* fix desktop auth

* fix tests

* improve clean handoff

* try to fix handoff public issue

* fix route protection

* refactor anim

* refactor

* update to access token to jwt

* update to access token to jwt

* improve config

* refactor for JWKs token

* fix auto refresh issue

*  feat: support webapi proxy

* wip: 完成新流式接口

* wip: 跑通流式框架

* fix webhooks

* fix network proxy

* try to fix workflow

* fix proxy in remote sync

* fix tests

* fix tests

* fix oauth bypass route

* fix webapi proxy
2025-07-17 12:54:37 +08:00
lobehubbot 5d3a4ad460 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-16 18:05:16 +00:00
semantic-release-bot 8eb257bb2e 🔖 chore(release): v1.99.6 [skip ci]
### [Version&nbsp;1.99.6](https://github.com/lobehub/lobe-chat/compare/v1.99.5...v1.99.6)
<sup>Released on **2025-07-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Desktop local db can't upload image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Desktop local db can't upload image, closes [#8459](https://github.com/lobehub/lobe-chat/issues/8459) ([25bfc80](https://github.com/lobehub/lobe-chat/commit/25bfc80))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-16 18:04:24 +00:00
YuTengjing 25bfc802b5 🐛 fix: desktop local db can't upload image (#8459) 2025-07-17 01:49:11 +08:00
lobehubbot 752e576b80 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-16 13:57:35 +00:00
semantic-release-bot 166f3e2400 🔖 chore(release): v1.99.5 [skip ci]
### [Version&nbsp;1.99.5](https://github.com/lobehub/lobe-chat/compare/v1.99.4...v1.99.5)
<sup>Released on **2025-07-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix page error when url is not defined in web search plugin.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix page error when url is not defined in web search plugin, closes [#8441](https://github.com/lobehub/lobe-chat/issues/8441) ([a55b65b](https://github.com/lobehub/lobe-chat/commit/a55b65b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-16 13:56:43 +00:00
vual a55b65b0b1 🐛 fix: fix page error when url is not defined in web search plugin (#8441)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-07-16 21:41:14 +08:00
lobehubbot 3359b3f237 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-16 13:22:45 +00:00
semantic-release-bot 8ba8e8217b 🔖 chore(release): v1.99.4 [skip ci]
### [Version&nbsp;1.99.4](https://github.com/lobehub/lobe-chat/compare/v1.99.3...v1.99.4)
<sup>Released on **2025-07-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix apikey issue on server log.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix apikey issue on server log, closes [#8457](https://github.com/lobehub/lobe-chat/issues/8457) ([43be2d1](https://github.com/lobehub/lobe-chat/commit/43be2d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-16 13:21:54 +00:00
Arvin Xu 43be2d1905 🐛 fix: fix apikey issue on server log (#8457) 2025-07-16 21:06:51 +08:00
lobehubbot 53e0b51cbd 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-16 08:52:28 +00:00
semantic-release-bot c530000334 🔖 chore(release): v1.99.3 [skip ci]
### [Version&nbsp;1.99.3](https://github.com/lobehub/lobe-chat/compare/v1.99.2...v1.99.3)
<sup>Released on **2025-07-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Chat model list should not show image model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Chat model list should not show image model, closes [#8448](https://github.com/lobehub/lobe-chat/issues/8448) ([2bb1506](https://github.com/lobehub/lobe-chat/commit/2bb1506))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-16 08:51:36 +00:00
YuTengjing 2bb1506ea2 🐛 fix: chat model list should not show image model (#8448) 2025-07-16 16:36:43 +08:00
YuTengjing c8f32c301e ✏️ docs: replace all 'Language Model' with 'Al Service Provider' in provider docs (#8444) 2025-07-15 17:23:09 +08:00
lobehubbot 1261cee35d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-15 08:36:44 +00:00
semantic-release-bot 8c99c5dfd4 🔖 chore(release): v1.99.2 [skip ci]
### [Version&nbsp;1.99.2](https://github.com/lobehub/lobe-chat/compare/v1.99.1...v1.99.2)
<sup>Released on **2025-07-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Some ai image generation feedback issues.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Some ai image generation feedback issues, closes [#8440](https://github.com/lobehub/lobe-chat/issues/8440) ([bc41329](https://github.com/lobehub/lobe-chat/commit/bc41329))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-15 08:35:52 +00:00
YuTengjing bc413299ba 🐛 fix: some ai image generation feedback issues (#8440) 2025-07-15 16:20:41 +08:00
lobehubbot f8369e1e3d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-15 08:00:07 +00:00
semantic-release-bot 8e4f59c25b 🔖 chore(release): v1.99.1 [skip ci]
### [Version&nbsp;1.99.1](https://github.com/lobehub/lobe-chat/compare/v1.99.0...v1.99.1)
<sup>Released on **2025-07-15**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-15 07:59:14 +00:00
Arvin Xu 28c1fe060a ️ perf: improve memory usage in desktop (#8431)
* improve usage of memory

* try to improve
2025-07-15 15:44:10 +08:00
YuTengjing 9557d79e33 🐛 fix: some ai image bugs (#8432) 2025-07-14 23:11:02 +08:00
lobehubbot 876df9ca08 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-14 12:51:05 +00:00
semantic-release-bot 025529d94f 🔖 chore(release): v1.99.0 [skip ci]
## [Version&nbsp;1.99.0](https://github.com/lobehub/lobe-chat/compare/v1.98.2...v1.99.0)
<sup>Released on **2025-07-14**</sup>

####  Features

- **plugin**: Support Streamable HTTP MCP Server Auth.
- **misc**:  support AI Image.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **plugin**: Support Streamable HTTP MCP Server Auth, closes [#8425](https://github.com/lobehub/lobe-chat/issues/8425) ([853a09a](https://github.com/lobehub/lobe-chat/commit/853a09a))
* **misc**:  support AI Image, closes [#8312](https://github.com/lobehub/lobe-chat/issues/8312) ([095de57](https://github.com/lobehub/lobe-chat/commit/095de57))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-14 12:50:05 +00:00
Arvin Xu 853a09af1b feat(plugin): support Streamable HTTP MCP Server Auth (#8425)
*  feat: support http streamable auth and headers

*  feat: support http streamable auth and headers

* improve

* improve token

* add i18n

* update i18n
2025-07-14 20:34:39 +08:00
YuTengjing 095de57675 feat: support AI Image (#8312)
Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-07-14 20:29:57 +08:00
lobehubbot c98860e6cf 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-14 05:50:19 +00:00
semantic-release-bot f64f00fd6d 🔖 chore(release): v1.98.2 [skip ci]
### [Version&nbsp;1.98.2](https://github.com/lobehub/lobe-chat/compare/v1.98.1...v1.98.2)
<sup>Released on **2025-07-14**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8422](https://github.com/lobehub/lobe-chat/issues/8422) ([5b89ec8](https://github.com/lobehub/lobe-chat/commit/5b89ec8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-14 05:49:30 +00:00
LobeHub Bot 5b89ec8bd9 💄 style: update i18n (#8422)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-14 13:35:27 +08:00
lobehubbot 3b37094dfb 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-14 03:01:40 +00:00
semantic-release-bot b2a2fe3617 🔖 chore(release): v1.98.1 [skip ci]
### [Version&nbsp;1.98.1](https://github.com/lobehub/lobe-chat/compare/v1.98.0...v1.98.1)
<sup>Released on **2025-07-14**</sup>

#### 💄 Styles

- **misc**: Fix discover translation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix discover translation, closes [#8423](https://github.com/lobehub/lobe-chat/issues/8423) ([15ae35c](https://github.com/lobehub/lobe-chat/commit/15ae35c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-14 03:00:53 +00:00
René Wang 15ae35ca2a 💄 style: fix discover translation (#8423) 2025-07-14 10:46:57 +08:00
lobehubbot e9e11cbbed 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-13 05:45:45 +00:00
semantic-release-bot 1c9c8d75ee 🔖 chore(release): v1.98.0 [skip ci]
## [Version&nbsp;1.98.0](https://github.com/lobehub/lobe-chat/compare/v1.97.17...v1.98.0)
<sup>Released on **2025-07-13**</sup>

####  Features

- **misc**: Add network proxy for desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add network proxy for desktop, closes [#7848](https://github.com/lobehub/lobe-chat/issues/7848) ([46d2509](https://github.com/lobehub/lobe-chat/commit/46d2509))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-13 05:44:37 +00:00
renovate[bot] 95ac795573 Update dependency @anthropic-ai/sdk to ^0.56.0 (#8412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-13 13:30:10 +08:00
renovate[bot] a173f6e401 Update dependency lucide-react to ^0.525.0 (#8413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-13 13:29:05 +08:00
Arvin Xu 37bb8ba2b7 🔨 chore: fix settings in desktop (#8414) 2025-07-13 13:26:22 +08:00
Arvin Xu 46d25092a4 feat: add network proxy for desktop (#7848)
* add network proxy

* update network proxy

* refactor network proxy

* support network proxy

* fix types

* fix lint

* fix lint
2025-07-13 13:19:21 +08:00
lobehubbot 88c86179ba 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-13 05:07:12 +00:00
semantic-release-bot 127d38d702 🔖 chore(release): v1.97.17 [skip ci]
### [Version&nbsp;1.97.17](https://github.com/lobehub/lobe-chat/compare/v1.97.16...v1.97.17)
<sup>Released on **2025-07-13**</sup>

#### 💄 Styles

- **misc**: Support Hunyuan A13B thinking model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Hunyuan A13B thinking model, closes [#8278](https://github.com/lobehub/lobe-chat/issues/8278) ([09ca978](https://github.com/lobehub/lobe-chat/commit/09ca978))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-13 05:06:26 +00:00
sxjeru 09ca978f9c 💄 style: Support Hunyuan A13B thinking model (#8278)
* Update novita.ts

* feat: 添加新的混元模型并更新处理负载逻辑

* fix

* free Gemini 2.5 Pro

* 添加 ERNIE 4.5 300B A47B 模型到 siliconcloudChatModels

* novita

* 添加 GLM-4.1V-Thinking 系列模型到 zhipuChatModels,并更新现有模型的上下文窗口和最大输出设置

* 更新 zhipuChatModels,添加视觉能力并启用新模型;修改 ZhiPu 的检查模型 ID

* 移除多个 siliconcloud 废弃模型

* fix

* 移除 groq Qwen QwQ 32B 模型配置

* 更新 siliconcloud 模型

* 更新 novita/qwen 模型

* update siliconcloud model

* add Pangu Pro MoE 72B A16B

* Update novita.ts

* Update novita.ts

* update novita

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-07-13 12:52:39 +08:00
lobehubbot 1696bf114b 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-13 03:48:21 +00:00
semantic-release-bot feb42fcc9e 🔖 chore(release): v1.97.16 [skip ci]
### [Version&nbsp;1.97.16](https://github.com/lobehub/lobe-chat/compare/v1.97.15...v1.97.16)
<sup>Released on **2025-07-13**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8410](https://github.com/lobehub/lobe-chat/issues/8410) ([2515875](https://github.com/lobehub/lobe-chat/commit/2515875))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-13 03:47:33 +00:00
LobeHub Bot 25158750c0 💄 style: update i18n (#8410)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-13 11:33:28 +08:00
lobehubbot d3d7a158fc 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-12 17:17:24 +00:00
semantic-release-bot 2212ea98ac 🔖 chore(release): v1.97.15 [skip ci]
### [Version&nbsp;1.97.15](https://github.com/lobehub/lobe-chat/compare/v1.97.14...v1.97.15)
<sup>Released on **2025-07-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Add vision support to Grok 4.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add vision support to Grok 4, closes [#8386](https://github.com/lobehub/lobe-chat/issues/8386) ([8512f5a](https://github.com/lobehub/lobe-chat/commit/8512f5a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-12 17:16:32 +00:00
bbbugg 8512f5a9ae 🐛 fix: add vision support to Grok 4 (#8386)
*  feat: add vision support to Grok 4

*  feat: disable Grok 2 Vision 1212 model
2025-07-13 01:02:02 +08:00
lobehubbot a2d40643c7 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-12 17:00:04 +00:00
semantic-release-bot 2ef77567f7 🔖 chore(release): v1.97.14 [skip ci]
### [Version&nbsp;1.97.14](https://github.com/lobehub/lobe-chat/compare/v1.97.13...v1.97.14)
<sup>Released on **2025-07-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Revert "💄 style: Open new topic by tap Just Chat again".

#### 💄 Styles

- **misc**: Add Kimi K2 model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Revert "💄 style: Open new topic by tap Just Chat again", closes [#8402](https://github.com/lobehub/lobe-chat/issues/8402) ([55462b9](https://github.com/lobehub/lobe-chat/commit/55462b9))

#### Styles

* **misc**: Add Kimi K2 model, closes [#8401](https://github.com/lobehub/lobe-chat/issues/8401) ([4cb1a18](https://github.com/lobehub/lobe-chat/commit/4cb1a18))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-12 16:59:10 +00:00
Arvin Xu 755e878a44 🔨 chore: fix lint (#8407) 2025-07-13 00:45:15 +08:00
sxjeru 4cb1a185ff 💄 style: Add Kimi K2 model (#8401) 2025-07-13 00:10:22 +08:00
Arvin Xu 55462b95ff 🐛 fix: Revert "💄 style: Open new topic by tap Just Chat again" (#8402)
This reverts commit 7e2f4ce5dd.
2025-07-12 23:04:10 +08:00
lobehubbot 9a95886fe7 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-12 05:04:50 +00:00
semantic-release-bot fd44b088d6 🔖 chore(release): v1.97.13 [skip ci]
### [Version&nbsp;1.97.13](https://github.com/lobehub/lobe-chat/compare/v1.97.12...v1.97.13)
<sup>Released on **2025-07-12**</sup>

#### 💄 Styles

- **misc**: Support new Doubao thinking models, update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support new Doubao thinking models, closes [#8174](https://github.com/lobehub/lobe-chat/issues/8174) ([637d75c](https://github.com/lobehub/lobe-chat/commit/637d75c))
* **misc**: Update i18n, closes [#8400](https://github.com/lobehub/lobe-chat/issues/8400) ([790eeb8](https://github.com/lobehub/lobe-chat/commit/790eeb8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-12 05:03:58 +00:00
LobeHub Bot 790eeb86c3 💄 style: update i18n (#8400) 2025-07-12 12:49:42 +08:00
sxjeru 637d75cde0 💄 style: Support new Doubao thinking models (#8174) 2025-07-12 12:49:21 +08:00
lobehubbot 526b93470d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-11 06:18:11 +00:00
semantic-release-bot 4963c599c9 🔖 chore(release): v1.97.12 [skip ci]
### [Version&nbsp;1.97.12](https://github.com/lobehub/lobe-chat/compare/v1.97.11...v1.97.12)
<sup>Released on **2025-07-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Grok-4 reasoning model universal matching.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Grok-4 reasoning model universal matching, closes [#8390](https://github.com/lobehub/lobe-chat/issues/8390) ([d6f17f8](https://github.com/lobehub/lobe-chat/commit/d6f17f8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-11 06:17:05 +00:00
Arvin Xu 09f921d531 ️ perf: add database autovacuum sql (#8395)
* remove ai sdk

* add autovacuum tuning sql
2025-07-11 14:03:05 +08:00
sxjeru d6f17f8246 🐛 fix: Grok-4 reasoning model universal matching (#8390)
* Update index.ts

* Update xai.ts
2025-07-11 14:02:08 +08:00
lobehubbot efb9311e6f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-11 03:39:38 +00:00
semantic-release-bot 1353d208e9 🔖 chore(release): v1.97.11 [skip ci]
### [Version&nbsp;1.97.11](https://github.com/lobehub/lobe-chat/compare/v1.97.10...v1.97.11)
<sup>Released on **2025-07-11**</sup>

#### 💄 Styles

- **misc**: Open new topic by tap Just Chat again.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Open new topic by tap Just Chat again, closes [#8311](https://github.com/lobehub/lobe-chat/issues/8311) ([7e2f4ce](https://github.com/lobehub/lobe-chat/commit/7e2f4ce))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-11 03:38:50 +00:00
René Wang 7e2f4ce5dd 💄 style: Open new topic by tap Just Chat again (#8311)
* feat: Open new topic by tap Just Chat again

* feat: Prevent re-render of message update

* fix: Import loop
2025-07-11 11:24:43 +08:00
lobehubbot ca5432ea6d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-11 03:02:49 +00:00
semantic-release-bot 86ff384587 🔖 chore(release): v1.97.10 [skip ci]
### [Version&nbsp;1.97.10](https://github.com/lobehub/lobe-chat/compare/v1.97.9...v1.97.10)
<sup>Released on **2025-07-11**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8387](https://github.com/lobehub/lobe-chat/issues/8387) ([00215c0](https://github.com/lobehub/lobe-chat/commit/00215c0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-11 03:01:58 +00:00
LobeHub Bot 00215c02eb 💄 style: update i18n (#8387) 2025-07-11 10:47:51 +08:00
lobehubbot 72d6287b70 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 12:23:52 +00:00
semantic-release-bot 04cad62627 🔖 chore(release): v1.97.9 [skip ci]
### [Version&nbsp;1.97.9](https://github.com/lobehub/lobe-chat/compare/v1.97.8...v1.97.9)
<sup>Released on **2025-07-10**</sup>

#### 💄 Styles

- **misc**: Integrate Amazon Cognito for user authentication.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Integrate Amazon Cognito for user authentication, closes [#7472](https://github.com/lobehub/lobe-chat/issues/7472) ([56f4e98](https://github.com/lobehub/lobe-chat/commit/56f4e98))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 12:22:58 +00:00
Ethan Liu 56f4e98b97 💄 style: integrate Amazon Cognito for user authentication (#7472)
* feat: integrate Amazon Cognito for user authentication

* fix

---------

Co-authored-by: Liu, Yijun <liuyijun@amazon.com>
2025-07-10 20:08:18 +08:00
renovate[bot] 7ddf3a0040 Update dependency drizzle-kit to ^0.31.0 (#7482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 19:55:56 +08:00
lobehubbot 9c4c91019d 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 11:35:29 +00:00
semantic-release-bot 91022bfa04 🔖 chore(release): v1.97.8 [skip ci]
### [Version&nbsp;1.97.8](https://github.com/lobehub/lobe-chat/compare/v1.97.7...v1.97.8)
<sup>Released on **2025-07-10**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 11:34:36 +00:00
Arvin Xu 8dc2aef559 ️ perf: make most pages static to improve performance (#8383)
* perf settings

* fix settings

* try to make settings provider static

* ️ perf: make repos static

* fix lint

* fix issue

* repos and settings provider/id static

* fix style

* fix content

* test force static

* test force static
2025-07-10 19:19:55 +08:00
lobehubbot 02932330c3 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 10:38:13 +00:00
semantic-release-bot fc99fc3fa9 🔖 chore(release): v1.97.7 [skip ci]
### [Version&nbsp;1.97.7](https://github.com/lobehub/lobe-chat/compare/v1.97.6...v1.97.7)
<sup>Released on **2025-07-10**</sup>

#### 💄 Styles

- **misc**: Add google search grounding for Vertex AI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add google search grounding for Vertex AI, closes [#8313](https://github.com/lobehub/lobe-chat/issues/8313) ([afd5900](https://github.com/lobehub/lobe-chat/commit/afd5900))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 10:37:19 +00:00
Arvin Xu 34f061b51a Revert " 🔨 chore: Add Codecov Bundle Analysis (#6698)" (#8384)
This reverts commit b2e6777c81.
2025-07-10 18:22:55 +08:00
Katia b2e6777c81 🔨 chore: Add Codecov Bundle Analysis (#6698)
* Add Codecov Bundle Analysis integration

- Add @codecov/webpack-plugin for bundle size tracking
- Configure bundle analysis settings in codecov.yml
- Update CI workflow to include bundle analysis step
- Set bundle change threshold to 10KB

* Use nextjs-webpack-plugin

* Seperate workflow

Move the Build with Bundle Analysis step to its own GitHub Actions workflow file.

* Revert line additon change

---------

Co-authored-by: katia-sentry <katia.al-amir@sentry.com>
2025-07-10 18:18:15 +08:00
afon afd59004f9 💄 style: add google search grounding for Vertex AI (#8313)
* add google search grounding for Vertex AI

* fix test for google search grounding

---------
2025-07-10 18:07:40 +08:00
lobehubbot 390d0b807f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 10:04:43 +00:00
semantic-release-bot f3fa286f25 🔖 chore(release): v1.97.6 [skip ci]
### [Version&nbsp;1.97.6](https://github.com/lobehub/lobe-chat/compare/v1.97.5...v1.97.6)
<sup>Released on **2025-07-10**</sup>

#### ♻ Code Refactoring

- **misc**: Replace `utility-types` with `type-fest`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Replace `utility-types` with `type-fest`, closes [#8370](https://github.com/lobehub/lobe-chat/issues/8370) ([a072b53](https://github.com/lobehub/lobe-chat/commit/a072b53))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 10:03:56 +00:00
YuTengjing a072b53311 ♻️ refactor: replace utility-types with type-fest (#8370) 2025-07-10 17:50:01 +08:00
lobehubbot fa8f4ff83a 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 09:39:30 +00:00
semantic-release-bot eaf7f1b9c1 🔖 chore(release): v1.97.5 [skip ci]
### [Version&nbsp;1.97.5](https://github.com/lobehub/lobe-chat/compare/v1.97.4...v1.97.5)
<sup>Released on **2025-07-10**</sup>

#### 💄 Styles

- **misc**: Fix: solve the loading was strange spin when switch show.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix: solve the loading was strange spin when switch show, closes [#8333](https://github.com/lobehub/lobe-chat/issues/8333) ([07197e7](https://github.com/lobehub/lobe-chat/commit/07197e7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 09:38:37 +00:00
Shinji-Li 07197e7a51 💄 style: fix: solve the loading was strange spin when switch show (#8333)
* fix: solve when switch show,the loading was strange spin

* fix: delete switch disable way
2025-07-10 17:24:29 +08:00
小钟 bf032dde07 📝 docs: fix two missing sentences translation in the README.zh-CN.md (#8382) 2025-07-10 17:23:38 +08:00
lobehubbot 7f37f29411 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 08:02:56 +00:00
semantic-release-bot eb45ed8647 🔖 chore(release): v1.97.4 [skip ci]
### [Version&nbsp;1.97.4](https://github.com/lobehub/lobe-chat/compare/v1.97.3...v1.97.4)
<sup>Released on **2025-07-10**</sup>

#### 💄 Styles

- **misc**: Add `grok-4-0709` model from xAI, fix theme issue in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `grok-4-0709` model from xAI, closes [#8379](https://github.com/lobehub/lobe-chat/issues/8379) ([b7ca447](https://github.com/lobehub/lobe-chat/commit/b7ca447))
* **misc**: Fix theme issue in desktop, closes [#8380](https://github.com/lobehub/lobe-chat/issues/8380) ([c7ae78b](https://github.com/lobehub/lobe-chat/commit/c7ae78b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 08:02:03 +00:00
Arvin Xu c7ae78bfb7 💄 style: fix theme issue in desktop (#8380)
* 💄 style: fix theme issue

* fix

* fix
2025-07-10 15:47:53 +08:00
Zhijie He b7ca447946 💄 style: add grok-4-0709 model from xAI (#8379)
* 💄 style: add `grok-4-0709` model from xAI

* 🐛 fix: fix model calling

* 🐛 fix: remove `reasoning_effort` support for Grok 4
2025-07-10 15:40:50 +08:00
lobehubbot e11bf29d0f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 04:41:55 +00:00
semantic-release-bot 53f9c3b279 🔖 chore(release): v1.97.3 [skip ci]
### [Version&nbsp;1.97.3](https://github.com/lobehub/lobe-chat/compare/v1.97.2...v1.97.3)
<sup>Released on **2025-07-10**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 04:41:05 +00:00
Maple Gao 9e980cbf28 👷 build: pin minio version (#8378)
* 🔨  chore: fix MiniO image version
* fix: MiniO disabled web admin panel in latest version

* 🔨  chore: fix Relay Mode mis-report
* fix: Relay mode should check localhost under network_mode: service:network-service itself, but if failed, should notice user check relay URL

* 🔨  chore: fix Relay Mode mis-report
* fix: Relay mode should check localhost under network_mode: service:network-service itself, but if failed, should notice user check relay URL

* 🔨  chore: fix Relay Mode mis-report
* fix: Relay mode should check localhost under network_mode: service:network-service itself, but if failed, should notice user check relay URL

* 🔨  chore: fix Relay Mode mis-report
* fix: Relay mode should check localhost under network_mode: service:network-service itself, but if failed, should notice user check relay URL

* Revert "🔨  chore: fix MiniO image version"

This reverts commit 1d6c2cd334.

* Revert "🔨  chore: fix Relay Mode mis-report * fix: Relay mode should check localhost under network_mode: service:network-service itself, but if failed, should notice user check relay URL"

This reverts commit 7bc8a47b

* 🔨  chore: fix MiniO Version
* fix: MiniO new version do not have web admin panel
2025-07-10 12:26:41 +08:00
lobehubbot 7d718b2fe3 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 03:48:42 +00:00
semantic-release-bot ed716c27f2 🔖 chore(release): v1.97.2 [skip ci]
### [Version&nbsp;1.97.2](https://github.com/lobehub/lobe-chat/compare/v1.97.1...v1.97.2)
<sup>Released on **2025-07-10**</sup>

#### 💄 Styles

- **misc**: Implement data analytics event tracking framework.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Implement data analytics event tracking framework, closes [#8352](https://github.com/lobehub/lobe-chat/issues/8352) ([f433aca](https://github.com/lobehub/lobe-chat/commit/f433aca))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 03:47:53 +00:00
Tsuki f433aca05f 💄 style: implement data analytics event tracking framework (#8352) 2025-07-10 11:33:35 +08:00
lobehubbot 13e1cafb62 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-10 02:01:45 +00:00
semantic-release-bot e02e74c9a4 🔖 chore(release): v1.97.1 [skip ci]
### [Version&nbsp;1.97.1](https://github.com/lobehub/lobe-chat/compare/v1.97.0...v1.97.1)
<sup>Released on **2025-07-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix locale hydration error in SSR.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix locale hydration error in SSR, closes [#8365](https://github.com/lobehub/lobe-chat/issues/8365) ([63f482a](https://github.com/lobehub/lobe-chat/commit/63f482a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-10 02:00:50 +00:00
Arvin Xu 63f482a132 🐛 fix: fix locale hydration error in SSR (#8365)
* fix locale

* update readme

* Update README.zh-CN.md

* update readme

* update README

* fix locales

* add docs
2025-07-10 09:46:30 +08:00
YuTengjing 160678e7e0 🔨 chore: remove async router max duration limit (#8374)
* fix: disable async router trpc batch feature

* fix: remove async router max duration limit
2025-07-09 15:37:26 +08:00
YuTengjing a89c2ec1bc 🔨 chore(database): add missing junction table relations for Drizzle Studio (#8368)
- Add filesToSessionsRelations for files-sessions relationship
- Add agentsFilesRelations for agents-files relationship
- Add messagesFilesRelations for messages-files relationship
- Add fileChunksRelations for files-chunks relationship

Resolves Drizzle Studio relation inference errors
2025-07-09 10:26:16 +08:00
lobehubbot 1225f12e1a 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-08 12:06:19 +00:00
semantic-release-bot e1481e60fb 🔖 chore(release): v1.97.0 [skip ci]
## [Version&nbsp;1.97.0](https://github.com/lobehub/lobe-chat/compare/v1.96.20...v1.97.0)
<sup>Released on **2025-07-08**</sup>

####  Features

- **misc**: Add MCP marketplace and mcp plugin one-click installation in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add MCP marketplace and mcp plugin one-click installation in desktop, closes [#8334](https://github.com/lobehub/lobe-chat/issues/8334) ([416a4b1](https://github.com/lobehub/lobe-chat/commit/416a4b1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-08 12:05:32 +00:00
Arvin Xu 416a4b1212 feat: Add MCP marketplace and mcp plugin one-click installation in desktop (#8334)
* move plugin Component

*  feat(wip): Add MCP Discover Market

*  test: Fix test

*  test: Fix test

* 🐛 fix: Fix build

* 🐛 fix: Fix build

* 💄 style: update plugin store

* 💄 style: Update plugin store

*  feat: Update cache control headers and optimize Next.js config for performance

* 💄 style: Update discover markdown

* 💄 style: Update scroes step

* 优化 list 细节

* 优化 list 细节

* 优化 list 细节

* 完成基础 mcp 安装实现

* 完成安装上报

* 新增安装过程

* fix

* 优化插件设置页面配置

* 💄 style: update official icon

* 完善安装错误状态

* 支持取消安装

* fix types

* fix types

* 完成系统依赖检查流程

* 完成系统依赖安装流程上报

* try to fix suspense

* try to fix suspense

* try to fix suspense

* try to fix tests

* upgrade electron

* fix suspense

* fix tool name issue

* fix test

* add i18n

* fix tool call

*  test: fix tests

* move

* fix tests

* refactor plugin install store

* improve old plugin install

* fix

* fix header link

* fix plugin detail

* fix oldPlugin detail

* fix tests

* update i18n

* fix i18n

* 💄 style: improve style

* add debug log

* fix link

* improve

* fix link

* 🚚 refactor: refactor the market runtime to nodejs

* 移除 props.searchParams 调用

*  test: fix tests

* 尝试静态化 discover page

* ♻️ refactor: refactor config to nodejs runtime

* fix min width

* 修正自定义插件的编辑展示区域

* fix i18n

* 调整部分组件目录结构

* 完善 MCP 市场安装流程

* 完善安装上报事件

* test: fix test

*  feat: 实现 m2m oauth 请求

*  feat: 完善 m2m 注册链路

*  feat: 完善 m2m 注册链路

* 🐛 fix: 优化 debug 日志输出问题

*  feat: 支持 call 上报

* 💄 style: 使用更大的版本

* 🐛 fix: tools calling report

* 🐛 fix: try to fix call report

* 🐛 fix: try to use expires cookies

* 🐛 fix: fix cookies expires issue

* test: fix customPluginInfo report

* 🐛 fix: fix connection issue

* 🐛 fix: fix platform report

* 🐛 fix: fix version issue

---------

Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-07-08 19:51:22 +08:00
lobehubbot 580961e6e4 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-08 05:03:08 +00:00
semantic-release-bot 35d3577af7 🔖 chore(release): v1.96.20 [skip ci]
### [Version&nbsp;1.96.20](https://github.com/lobehub/lobe-chat/compare/v1.96.19...v1.96.20)
<sup>Released on **2025-07-08**</sup>

#### 💄 Styles

- **misc**: Add `MCP_TOOL_TIMEOUT` env and improve debug usage guide.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `MCP_TOOL_TIMEOUT` env and improve debug usage guide, closes [#8357](https://github.com/lobehub/lobe-chat/issues/8357) ([d4baae5](https://github.com/lobehub/lobe-chat/commit/d4baae5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-08 05:02:21 +00:00
wangjifeng d4baae5df0 💄 style: add MCP_TOOL_TIMEOUT env and improve debug usage guide (#8357)
* feat: add MCP_TOOL_TIMEOUT config and doc, and improve debug usage guide

* feat: add MCP_TOOL_TIMEOUT config and doc, remove connect timeout

* feat: add MCP_TOOL_TIMEOUT config and doc, remove connect timeout

* docs: update .env.example, comment out MCP_TOOL_TIMEOUT and improve env parsing in client

* docs: update .env.example MCP_TOOL_TIMEOUT default value to 60000 to match code
2025-07-08 12:48:31 +08:00
lobehubbot be476a5b29 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-07 06:37:28 +00:00
semantic-release-bot 4ed67f39f7 🔖 chore(release): v1.96.19 [skip ci]
### [Version&nbsp;1.96.19](https://github.com/lobehub/lobe-chat/compare/v1.96.18...v1.96.19)
<sup>Released on **2025-07-07**</sup>

#### 🐛 Bug Fixes

- **misc**: Pin `officeparser@5.1.1` to fix server error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Pin `officeparser@5.1.1` to fix server error, closes [#8354](https://github.com/lobehub/lobe-chat/issues/8354) ([3f4e935](https://github.com/lobehub/lobe-chat/commit/3f4e935))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-07 06:36:41 +00:00
Arvin Xu 3f4e935301 🐛 fix: pin officeparser@5.1.1 to fix server error (#8354)
* test: fix test

* test: fix test
2025-07-07 14:22:20 +08:00
lobehubbot 7eb4a7f173 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-06 18:41:25 +00:00
semantic-release-bot 9d0bb1f230 🔖 chore(release): v1.96.18 [skip ci]
### [Version&nbsp;1.96.18](https://github.com/lobehub/lobe-chat/compare/v1.96.17...v1.96.18)
<sup>Released on **2025-07-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Change the wrong github checkmodel name.

#### 💄 Styles

- **misc**: Files hello pages should scroll.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Change the wrong github checkmodel name, closes [#8339](https://github.com/lobehub/lobe-chat/issues/8339) ([f07d912](https://github.com/lobehub/lobe-chat/commit/f07d912))

#### Styles

* **misc**: Files hello pages should scroll, closes [#8340](https://github.com/lobehub/lobe-chat/issues/8340) ([df9b7df](https://github.com/lobehub/lobe-chat/commit/df9b7df))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-06 18:40:31 +00:00
Shinji-Li f07d9122c5 🐛 fix: change the wrong github checkmodel name (#8339) 2025-07-07 02:26:28 +08:00
Shinji-Li df9b7df385 💄 style: files hello pages should scroll (#8340) 2025-07-07 02:25:11 +08:00
Arvin Xu 987b633336 📝 docs: add some cursor rules (#8338) 2025-07-04 19:07:16 +08:00
ONLY-yours 07472e0555 fix: when s3 files not exist in origin file, but db still have this file, should delete 2025-07-04 10:30:03 +08:00
lobehubbot b7042b6542 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-03 17:15:55 +00:00
semantic-release-bot b346d4bcbf 🔖 chore(release): v1.96.17 [skip ci]
### [Version&nbsp;1.96.17](https://github.com/lobehub/lobe-chat/compare/v1.96.16...v1.96.17)
<sup>Released on **2025-07-03**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-03 17:15:08 +00:00
YuTengjing 780ee82b12 ️ build: integrate tsgo to validate ts (#8331)
* ️ build: integrate tsgo to validate ts

* 📝 docs: add code comment to @ts-ignore

* Update package.json

* Update apps/desktop/package.json

* Update package.json

* Update package.json
2025-07-04 01:01:11 +08:00
lobehubbot 31c6a51d7f 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-03 00:36:14 +00:00
semantic-release-bot dfe4699769 🔖 chore(release): v1.96.16 [skip ci]
### [Version&nbsp;1.96.16](https://github.com/lobehub/lobe-chat/compare/v1.96.15...v1.96.16)
<sup>Released on **2025-07-03**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8322](https://github.com/lobehub/lobe-chat/issues/8322) ([0c6b885](https://github.com/lobehub/lobe-chat/commit/0c6b885))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-03 00:35:07 +00:00
LobeHub Bot 0c6b8858eb 💄 style: update i18n (#8322)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-03 08:20:59 +08:00
lobehubbot 24ae38aae4 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-02 07:14:16 +00:00
semantic-release-bot d40d7e0c00 🔖 chore(release): v1.96.15 [skip ci]
### [Version&nbsp;1.96.15](https://github.com/lobehub/lobe-chat/compare/v1.96.14...v1.96.15)
<sup>Released on **2025-07-02**</sup>

#### 🐛 Bug Fixes

- **misc**: Wrong Gemini 2.5 Pro thinkbudget.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Wrong Gemini 2.5 Pro thinkbudget, closes [#8296](https://github.com/lobehub/lobe-chat/issues/8296) ([18920c5](https://github.com/lobehub/lobe-chat/commit/18920c5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-02 07:13:04 +00:00
sxjeru 18920c579b 🐛 fix: Wrong Gemini 2.5 Pro thinkbudget (#8296)
* Update index.ts

* 添加新的 AI 聊天模型到 novita 和 siliconcloud 配置

* 添加 Hunyuan A13B Instruct 聊天模型到 siliconcloud 配置

* Update novita.ts
2025-07-02 14:58:01 +08:00
lobehubbot 155d5804b9 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-01 16:58:59 +00:00
semantic-release-bot 82d11b45a6 🔖 chore(release): v1.96.14 [skip ci]
### [Version&nbsp;1.96.14](https://github.com/lobehub/lobe-chat/compare/v1.96.13...v1.96.14)
<sup>Released on **2025-07-01**</sup>

#### ♻ Code Refactoring

- **misc**: Migrate to `@google/genai` SDK for Google Gemini API and Vertex AI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Migrate to `@google/genai` SDK for Google Gemini API and Vertex AI, closes [#7884](https://github.com/lobehub/lobe-chat/issues/7884) ([fef3e5f](https://github.com/lobehub/lobe-chat/commit/fef3e5f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-01 16:57:42 +00:00
afon fef3e5f9f3 ♻️ refactor: Migrate to @google/genai SDK for Google Gemini API and Vertex AI (#7884)
* ♻️ refactor: Migrate to `@google/genai` SDK for Google Gemini API and Vertex AI

* fix google-ai test

* fix google model-runtime test
2025-07-02 00:43:13 +08:00
lobehubbot 0fe7319b6a 📝 docs(bot): Auto sync agents & plugin to readme 2025-07-01 02:59:51 +00:00
semantic-release-bot c3cb37498a 🔖 chore(release): v1.96.13 [skip ci]
### [Version&nbsp;1.96.13](https://github.com/lobehub/lobe-chat/compare/v1.96.12...v1.96.13)
<sup>Released on **2025-07-01**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8306](https://github.com/lobehub/lobe-chat/issues/8306) ([80aad1d](https://github.com/lobehub/lobe-chat/commit/80aad1d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-07-01 02:58:43 +00:00
LobeHub Bot 80aad1de42 💄 style: update i18n (#8306)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-07-01 10:44:23 +08:00
lobehubbot 86f7e8b64e 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-30 15:05:19 +00:00
semantic-release-bot c215384cb3 🔖 chore(release): v1.96.12 [skip ci]
### [Version&nbsp;1.96.12](https://github.com/lobehub/lobe-chat/compare/v1.96.11...v1.96.12)
<sup>Released on **2025-06-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Pin `antd@5.26.2` to fix build error.

#### 💄 Styles

- **misc**: Add DeepResearch models from OpenAI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Pin `antd@5.26.2` to fix build error, closes [#8303](https://github.com/lobehub/lobe-chat/issues/8303) ([44b6b01](https://github.com/lobehub/lobe-chat/commit/44b6b01))

#### Styles

* **misc**: Add DeepResearch models from OpenAI, closes [#8291](https://github.com/lobehub/lobe-chat/issues/8291) ([87a5cbc](https://github.com/lobehub/lobe-chat/commit/87a5cbc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-30 15:04:04 +00:00
Zhijie He 87a5cbc5c9 💄 style: add DeepResearch models from OpenAI (#8291)
* 💄 style: add web search support from o3 & o4 series

* 💄 style: add DeepResearch models from oAI

* 💄 style: sort models, disable as default

* 🐛 fix: fix model calling

* 🐛 fix: reasoning model calling

* 🐛 fix: fix deepresearch model calling

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-06-30 22:49:48 +08:00
Arvin Xu 44b6b01ca5 🐛 fix: pin antd@5.26.2 to fix build error (#8303) 2025-06-30 21:10:59 +08:00
lobehubbot c8a8c7be3d 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-28 05:32:16 +00:00
semantic-release-bot f5e5465981 🔖 chore(release): v1.96.11 [skip ci]
### [Version&nbsp;1.96.11](https://github.com/lobehub/lobe-chat/compare/v1.96.10...v1.96.11)
<sup>Released on **2025-06-28**</sup>

#### 🐛 Bug Fixes

- **mermaid**: Firefox mermaid show error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **mermaid**: Firefox mermaid show error, closes [#8270](https://github.com/lobehub/lobe-chat/issues/8270) ([d9c5e7b](https://github.com/lobehub/lobe-chat/commit/d9c5e7b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-28 05:31:02 +00:00
Kingsword d9c5e7b142 🐛 fix(mermaid): firefox mermaid show error (#8270) 2025-06-28 13:16:45 +08:00
lobehubbot 2d6b9ae6b3 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-28 03:42:30 +00:00
semantic-release-bot 35fd5ce705 🔖 chore(release): v1.96.10 [skip ci]
### [Version&nbsp;1.96.10](https://github.com/lobehub/lobe-chat/compare/v1.96.9...v1.96.10)
<sup>Released on **2025-06-28**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop chunk issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop chunk issue, closes [#8280](https://github.com/lobehub/lobe-chat/issues/8280) ([c193e65](https://github.com/lobehub/lobe-chat/commit/c193e65))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-28 03:41:20 +00:00
YuTengjing c193e657fb 🐛 fix: fix desktop chunk issue (#8280)
* 🐛 fix: desktop version can't chunk

* docs: add some comments

* chore: try fix provider page 500
2025-06-28 11:27:08 +08:00
lobehubbot 176e49ab6a 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-23 15:40:32 +00:00
semantic-release-bot 07e2b063e2 🔖 chore(release): v1.96.9 [skip ci]
### [Version&nbsp;1.96.9](https://github.com/lobehub/lobe-chat/compare/v1.96.8...v1.96.9)
<sup>Released on **2025-06-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Google Gemini tools declarations.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Google Gemini tools declarations, closes [#8256](https://github.com/lobehub/lobe-chat/issues/8256) ([08f5d73](https://github.com/lobehub/lobe-chat/commit/08f5d73))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-23 15:39:13 +00:00
afon 08f5d733cd 🐛 fix: Google Gemini tools declarations (#8256)
* fix: Include 'tools' with 'tool_calls' to fix "MALFORMED_FUNCTION_CALL" error

* feat: Convert OpenAI tool responses to Google GenAI function responses

* Ensure unique tool call IDs by adding random suffix

* use nanoid; fix tests
2025-06-23 23:24:12 +08:00
lobehubbot 2d8338b044 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-23 11:31:18 +00:00
semantic-release-bot 5c90905fbb 🔖 chore(release): v1.96.8 [skip ci]
### [Version&nbsp;1.96.8](https://github.com/lobehub/lobe-chat/compare/v1.96.7...v1.96.8)
<sup>Released on **2025-06-23**</sup>

#### 💄 Styles

- **misc**: Optimized Gemini thinkingBudget configuration.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Optimized Gemini thinkingBudget configuration, closes [#8224](https://github.com/lobehub/lobe-chat/issues/8224) ([03625e8](https://github.com/lobehub/lobe-chat/commit/03625e8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-23 11:30:10 +00:00
sxjeru 03625e8c29 💄 style: Optimized Gemini thinkingBudget configuration (#8224) 2025-06-23 19:16:00 +08:00
lobehubbot b1c72fd476 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-23 07:10:55 +00:00
semantic-release-bot e971ff3110 🔖 chore(release): v1.96.7 [skip ci]
### [Version&nbsp;1.96.7](https://github.com/lobehub/lobe-chat/compare/v1.96.6...v1.96.7)
<sup>Released on **2025-06-23**</sup>

#### 💄 Styles

- **misc**: Add `blockAds` & `stealth` params for Browserless.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `blockAds` & `stealth` params for Browserless, closes [#8255](https://github.com/lobehub/lobe-chat/issues/8255) ([2ff3efa](https://github.com/lobehub/lobe-chat/commit/2ff3efa))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-23 07:09:45 +00:00
Zhijie He 2ff3efa630 💄 style: add blockAds & stealth params for Browserless (#8255)
*  feat: add blockAds & stealth params for Browserless

* Apply `sourcery-ai` suggestion

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* 📝 docs: add docs for `BROWSERLESS_BLOCK_ADS` & `BROWSERLESS_STEALTH_MODE`

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-06-23 14:55:17 +08:00
lobehubbot f63b137428 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-23 02:27:23 +00:00
semantic-release-bot 0c5c975c6f 🔖 chore(release): v1.96.6 [skip ci]
### [Version&nbsp;1.96.6](https://github.com/lobehub/lobe-chat/compare/v1.96.5...v1.96.6)
<sup>Released on **2025-06-23**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8253](https://github.com/lobehub/lobe-chat/issues/8253) ([b86dc9b](https://github.com/lobehub/lobe-chat/commit/b86dc9b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-23 02:26:11 +00:00
LobeHub Bot b86dc9bbf9 💄 style: update i18n (#8253)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-06-23 10:11:45 +08:00
lobehubbot 01db0b634c 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-22 12:58:30 +00:00
semantic-release-bot b064fe3f98 🔖 chore(release): v1.96.5 [skip ci]
### [Version&nbsp;1.96.5](https://github.com/lobehub/lobe-chat/compare/v1.96.4...v1.96.5)
<sup>Released on **2025-06-22**</sup>

#### 🐛 Bug Fixes

- **misc**: Remove unsupported parameters of Hunyuan.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove unsupported parameters of Hunyuan, closes [#8247](https://github.com/lobehub/lobe-chat/issues/8247) ([826d724](https://github.com/lobehub/lobe-chat/commit/826d724))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-22 12:57:12 +00:00
sxjeru 826d724ce7 🐛 fix: Remove unsupported parameters of Hunyuan (#8247)
* 🐛 fix: 去除 hunyuan 频率和存在惩罚参数

* 去除重复的 ESLint no-unused-vars

* Revert "去除重复的 ESLint no-unused-vars"

This reverts commit e6edece8b9.
2025-06-22 20:42:37 +08:00
lobehubbot f016058af5 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-22 07:10:44 +00:00
semantic-release-bot 5babf02460 🔖 chore(release): v1.96.4 [skip ci]
### [Version&nbsp;1.96.4](https://github.com/lobehub/lobe-chat/compare/v1.96.3...v1.96.4)
<sup>Released on **2025-06-22**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-22 07:09:35 +00:00
Arvin Xu ca417f86d5 ️ perf: refactor Typography to Text (#8250) 2025-06-22 14:55:26 +08:00
lobehubbot ec094d06d9 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-22 06:21:51 +00:00
semantic-release-bot 6a9e4f6f45 🔖 chore(release): v1.96.3 [skip ci]
### [Version&nbsp;1.96.3](https://github.com/lobehub/lobe-chat/compare/v1.96.2...v1.96.3)
<sup>Released on **2025-06-22**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-22 06:20:40 +00:00
Arvin Xu 4514081f3a ️ perf: refactor Typography to Text (#8249) 2025-06-22 14:06:37 +08:00
Arvin Xu 8bf3eedacf 📝 docs: add Vercel OSS Program Badge (#8248)
* Update README.md

* Update README.md
2025-06-22 13:58:36 +08:00
lobehubbot f948631edf 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-22 04:01:21 +00:00
semantic-release-bot 3feebb4827 🔖 chore(release): v1.96.2 [skip ci]
### [Version&nbsp;1.96.2](https://github.com/lobehub/lobe-chat/compare/v1.96.1...v1.96.2)
<sup>Released on **2025-06-22**</sup>

#### 💄 Styles

- **openrouter**: Add stable versions of Gemini 2.5 models.
- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **openrouter**: Add stable versions of Gemini 2.5 models, closes [#8239](https://github.com/lobehub/lobe-chat/issues/8239) ([d34ecab](https://github.com/lobehub/lobe-chat/commit/d34ecab))
* **misc**: Update i18n, closes [#8242](https://github.com/lobehub/lobe-chat/issues/8242) ([2d1babc](https://github.com/lobehub/lobe-chat/commit/2d1babc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-22 04:00:05 +00:00
LobeHub Bot 2d1babc11e 💄 style: update i18n (#8242)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-06-22 11:45:38 +08:00
Max Brauer d34ecab318 💄 style(openrouter): add stable versions of Gemini 2.5 models (#8239)
Signed-off-by: Max Brauer <mbrauer@vmware.com>
2025-06-22 11:45:19 +08:00
renovate[bot] c7d4399949 Update dependency lucide-react to ^0.522.0 (#8245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-22 11:44:53 +08:00
lobehubbot fab795e549 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-21 17:55:33 +00:00
semantic-release-bot a1e1681321 🔖 chore(release): v1.96.1 [skip ci]
### [Version&nbsp;1.96.1](https://github.com/lobehub/lobe-chat/compare/v1.96.0...v1.96.1)
<sup>Released on **2025-06-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix `MiniMax-M1` reasoning tag missing.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix `MiniMax-M1` reasoning tag missing, closes [#8240](https://github.com/lobehub/lobe-chat/issues/8240) ([ea76c11](https://github.com/lobehub/lobe-chat/commit/ea76c11))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-21 17:54:24 +00:00
Zhijie He ea76c1170d 🐛 fix: fix MiniMax-M1 reasoning tag missing (#8240) 2025-06-22 01:39:58 +08:00
lobehubbot 89f9df7199 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-20 16:42:39 +00:00
semantic-release-bot d49e442dee 🔖 chore(release): v1.96.0 [skip ci]
## [Version&nbsp;1.96.0](https://github.com/lobehub/lobe-chat/compare/v1.95.0...v1.96.0)
<sup>Released on **2025-06-20**</sup>

####  Features

- **misc**: Add v0 (Vercel) provider support.

#### 🐛 Bug Fixes

- **misc**: Fix inputTemplate behavior.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **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))

#### What's fixed

* **misc**: Fix inputTemplate behavior, closes [#8204](https://github.com/lobehub/lobe-chat/issues/8204) ([61c2c3c](https://github.com/lobehub/lobe-chat/commit/61c2c3c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-20 16:41:25 +00:00
Zhijie He 5842a1858e feat: add v0 (Vercel) provider support (#8235)
*  feat: add v0 (Vercel) provider support

* ♻️ refactor: rebrand to `v0`

* 🔨 chore: update Dockerfile ENV

* 🔨 chore: fix desc

* 💄 style: support model fetch

* 💄 style: fix reasoning tag

* 🐛 fix: fix build error

* 💄 style: better branding
2025-06-21 00:27:11 +08:00
Zhijie He 61c2c3c361 🐛 fix: fix inputTemplate behavior (#8204) 2025-06-21 00:20:49 +08:00
lobehubbot 64fe6d9dc6 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-20 16:12:05 +00:00
semantic-release-bot 7f77a5ca0e 🔖 chore(release): v1.95.0 [skip ci]
## [Version&nbsp;1.95.0](https://github.com/lobehub/lobe-chat/compare/v1.94.17...v1.95.0)
<sup>Released on **2025-06-20**</sup>

####  Features

- **misc**: Add Brave & Google PSE & Kagi as build-in Search Provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **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))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-20 16:10:52 +00:00
Zhijie He 16ae521659 feat: add Brave & Google PSE & Kagi as build-in Search Provider (#8172)
*  feat: add Brave Search as build-in Search Provider

* 🐛 fix: fix build error

*  feat: add Kagi as build-in Search Provider

* 🐛 fix: fix build error

*  feat: add Google PSE as build-in Search Provider

*  feat: add Anspire (安思派) as build-in Search Provider

* 🐛 fix: fix build error

* 📝 docs: update `online-search` docs
2025-06-20 23:56:05 +08:00
lobehubbot ad47d4d553 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-20 03:49:25 +00:00
semantic-release-bot cb9bf10562 🔖 chore(release): v1.94.17 [skip ci]
### [Version&nbsp;1.94.17](https://github.com/lobehub/lobe-chat/compare/v1.94.16...v1.94.17)
<sup>Released on **2025-06-20**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8233](https://github.com/lobehub/lobe-chat/issues/8233) ([88c4362](https://github.com/lobehub/lobe-chat/commit/88c4362))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-20 03:48:15 +00:00
LobeHub Bot 88c4362768 💄 style: update i18n (#8233)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-06-20 11:33:57 +08:00
lobehubbot 4f6eb27b3d 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-19 18:05:13 +00:00
semantic-release-bot a0c062fa99 🔖 chore(release): v1.94.16 [skip ci]
### [Version&nbsp;1.94.16](https://github.com/lobehub/lobe-chat/compare/v1.94.15...v1.94.16)
<sup>Released on **2025-06-19**</sup>

#### 🐛 Bug Fixes

- **misc**: Correctly pass `reasoning.summary`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Correctly pass `reasoning.summary`, closes [#8221](https://github.com/lobehub/lobe-chat/issues/8221) ([da79815](https://github.com/lobehub/lobe-chat/commit/da79815))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-19 18:03:58 +00:00
sxjeru da79815faa 🐛 fix: Correctly pass reasoning.summary (#8221)
* Update index.ts

* 📝 refactor: Update reasoning handling in OpenAI model runtime

* groq

* update models

* Update index.ts
2025-06-20 01:49:50 +08:00
lobehubbot 7ebf981567 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-19 11:51:49 +00:00
Arvin Xu accbc7c5a1 🔨 chore: improve dev speed (#8228) 2025-06-19 19:37:58 +08:00
lobehubbot 935343e11e 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-19 10:20:32 +00:00
semantic-release-bot 6bd13d890f 🔖 chore(release): v1.94.15 [skip ci]
### [Version&nbsp;1.94.15](https://github.com/lobehub/lobe-chat/compare/v1.94.14...v1.94.15)
<sup>Released on **2025-06-19**</sup>

#### 💄 Styles

- **misc**: Update model card for Gemini 2.5 Pro via OpenRouter.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update model card for Gemini 2.5 Pro via OpenRouter, closes [#8129](https://github.com/lobehub/lobe-chat/issues/8129) ([c96d9ef](https://github.com/lobehub/lobe-chat/commit/c96d9ef))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-19 10:19:24 +00:00
Max Brauer c96d9effeb 💄 style: update model card for Gemini 2.5 Pro via OpenRouter (#8129)
Signed-off-by: Max Brauer <mbrauer@vmware.com>
2025-06-19 18:05:05 +08:00
lobehubbot 55a1a49dc0 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-19 03:23:44 +00:00
semantic-release-bot c05ba4ff9e 🔖 chore(release): v1.94.14 [skip ci]
### [Version&nbsp;1.94.14](https://github.com/lobehub/lobe-chat/compare/v1.94.13...v1.94.14)
<sup>Released on **2025-06-19**</sup>

#### 💄 Styles

- **misc**: Update i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update i18n, closes [#8225](https://github.com/lobehub/lobe-chat/issues/8225) ([53e1784](https://github.com/lobehub/lobe-chat/commit/53e1784))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-19 03:22:36 +00:00
LobeHub Bot 53e17841fa 💄 style: update i18n (#8225)
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-06-19 11:08:26 +08:00
lobehubbot ee96f02130 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-18 12:32:59 +00:00
semantic-release-bot b39df20840 🔖 chore(release): v1.94.13 [skip ci]
### [Version&nbsp;1.94.13](https://github.com/lobehub/lobe-chat/compare/v1.94.12...v1.94.13)
<sup>Released on **2025-06-18**</sup>

#### 💄 Styles

- **misc**: Update Gemini 2.5 Pro, Flash GA models. Add Gemini 2.5 Flash-Lite Preview model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Gemini 2.5 Pro, Flash GA models. Add Gemini 2.5 Flash-Lite Preview model, closes [#8213](https://github.com/lobehub/lobe-chat/issues/8213) ([39ef8be](https://github.com/lobehub/lobe-chat/commit/39ef8be))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-18 12:31:50 +00:00
afon 39ef8be0c7 💄 style: Update Gemini 2.5 Pro, Flash GA models. Add Gemini 2.5 Flash-Lite Preview model (#8213) 2025-06-18 20:17:25 +08:00
lobehubbot 6a55be3ed8 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-18 11:24:12 +00:00
semantic-release-bot 0545de3cb5 🔖 chore(release): v1.94.12 [skip ci]
### [Version&nbsp;1.94.12](https://github.com/lobehub/lobe-chat/compare/v1.94.11...v1.94.12)
<sup>Released on **2025-06-18**</sup>

#### 💄 Styles

- **misc**: Add MiniMax-M1 model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add MiniMax-M1 model, closes [#8209](https://github.com/lobehub/lobe-chat/issues/8209) ([41a0178](https://github.com/lobehub/lobe-chat/commit/41a0178))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-18 11:23:01 +00:00
sxjeru 41a017808d 💄 style: Add MiniMax-M1 model (#8209)
* Update minimax.ts

* Update minimax.ts

* Update siliconcloud.ts

* Update novita.ts

* Update novita.ts
2025-06-18 19:08:56 +08:00
Arvin Xu 01d6bcf99f 📝 docs: improve README.md (#8212)
* Update README.md

* Update README.md

* Update README.md
2025-06-18 10:35:03 +08:00
lobehubbot e45e31c810 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-17 02:38:45 +00:00
semantic-release-bot 84af825d24 🔖 chore(release): v1.94.11 [skip ci]
### [Version&nbsp;1.94.11](https://github.com/lobehub/lobe-chat/compare/v1.94.10...v1.94.11)
<sup>Released on **2025-06-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Enhance the multi-display window opening experience.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Enhance the multi-display window opening experience, closes [#8176](https://github.com/lobehub/lobe-chat/issues/8176) ([b132e66](https://github.com/lobehub/lobe-chat/commit/b132e66))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-17 02:37:30 +00:00
𝑾𝒖𝒙𝒉 b132e66248 🐛 fix: enhance the multi-display window opening experience (#8176) 2025-06-17 10:23:10 +08:00
CanisMinor 9c4e2c08a4 🔨 chore(ci): improve i18n workflow (#8199) (#8200)
* 🔨 chore(ci): improve i18n workflow (#8199)

* 🔧 chore: Fix i18n workflow

* 🔧 chore: Fix i18n workflow

* 💄 style: update i18n (#8201)

Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>

---------

Co-authored-by: 𝑾𝒖𝒙𝒉 <wxh1220@gmail.com>
Co-authored-by: LobeHub Bot <i@lobehub.com>
Co-authored-by: canisminor1990 <17870709+canisminor1990@users.noreply.github.com>
2025-06-16 16:53:20 +08:00
lobehubbot 3e35924313 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-15 18:01:16 +00:00
semantic-release-bot 60f649d4f2 🔖 chore(release): v1.94.10 [skip ci]
### [Version&nbsp;1.94.10](https://github.com/lobehub/lobe-chat/compare/v1.94.9...v1.94.10)
<sup>Released on **2025-06-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve chat selectors and enhance topic handling logic.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve chat selectors and enhance topic handling logic, closes [#8133](https://github.com/lobehub/lobe-chat/issues/8133) [#8117](https://github.com/lobehub/lobe-chat/issues/8117) ([15b24f1](https://github.com/lobehub/lobe-chat/commit/15b24f1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-15 18:00:04 +00:00
𝑾𝒖𝒙𝒉 15b24f1f34 🐛 fix: improve chat selectors and enhance topic handling logic (#8133)
* ♻️ refactor: improve chat selectors and enhance topic handling logic

fix #8117

* chore: update

* chore: update
2025-06-16 01:46:03 +08:00
lobehubbot f4b8561cee 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-15 17:37:32 +00:00
semantic-release-bot 366337f4ac 🔖 chore(release): v1.94.9 [skip ci]
### [Version&nbsp;1.94.9](https://github.com/lobehub/lobe-chat/compare/v1.94.8...v1.94.9)
<sup>Released on **2025-06-15**</sup>

#### 💄 Styles

- **misc**: Add `kimi-thinking-preview` model from Moonshot.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `kimi-thinking-preview` model from Moonshot, closes [#8171](https://github.com/lobehub/lobe-chat/issues/8171) ([93d677c](https://github.com/lobehub/lobe-chat/commit/93d677c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-15 17:36:24 +00:00
Zhijie He 93d677c925 💄 style: add kimi-thinking-preview model from Moonshot (#8171)
* 💄 style: add `kimi-thinking-preview` model from Moonshot

* ♻️ refactor: support model fetch reasoning tag
2025-06-16 01:22:16 +08:00
lobehubbot 7a061084cb 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-15 11:07:02 +00:00
semantic-release-bot bf85be2f68 🔖 chore(release): v1.94.8 [skip ci]
### [Version&nbsp;1.94.8](https://github.com/lobehub/lobe-chat/compare/v1.94.7...v1.94.8)
<sup>Released on **2025-06-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Correctly handle `reasoning_effort`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Correctly handle `reasoning_effort`, closes [#8180](https://github.com/lobehub/lobe-chat/issues/8180) ([1c04736](https://github.com/lobehub/lobe-chat/commit/1c04736))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-15 11:05:46 +00:00
sxjeru 1c04736225 🐛 fix: Correctly handle reasoning_effort (#8180) 2025-06-15 18:51:27 +08:00
renovate[bot] 619ce9fc8b Update dependency @anthropic-ai/sdk to ^0.54.0 (#8186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-15 14:55:11 +08:00
lobehubbot a7d254dece 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-12 17:19:32 +00:00
semantic-release-bot 4c083e6768 🔖 chore(release): v1.94.7 [skip ci]
### [Version&nbsp;1.94.7](https://github.com/lobehub/lobe-chat/compare/v1.94.6...v1.94.7)
<sup>Released on **2025-06-12**</sup>

#### 💄 Styles

- **misc**: Add Doubao Seed 1.6 model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Doubao Seed 1.6 model, closes [#8167](https://github.com/lobehub/lobe-chat/issues/8167) ([bdfa44b](https://github.com/lobehub/lobe-chat/commit/bdfa44b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-12 17:18:22 +00:00
hedeqiang bdfa44bb56 💄 style: add Doubao Seed 1.6 model (#8167) 2025-06-13 01:03:57 +08:00
lobehubbot 747ea363a7 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-12 16:41:31 +00:00
semantic-release-bot 8df955888c 🔖 chore(release): v1.94.6 [skip ci]
### [Version&nbsp;1.94.6](https://github.com/lobehub/lobe-chat/compare/v1.94.5...v1.94.6)
<sup>Released on **2025-06-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Abort the Gemini request correctly & Add openai o3-pro.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Abort the Gemini request correctly & Add openai o3-pro, closes [#8135](https://github.com/lobehub/lobe-chat/issues/8135) ([c79f1b9](https://github.com/lobehub/lobe-chat/commit/c79f1b9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-12 16:40:18 +00:00
sxjeru c79f1b989d 🐛 fix: Abort the Gemini request correctly & Add openai o3-pro (#8135)
* add AbortSignal

* 处理输出流截断

* opti

* add models

* Update openai.ts

* Update openai.ts
2025-06-13 00:25:47 +08:00
lobehubbot c786e41a6c 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-12 13:18:41 +00:00
semantic-release-bot 828dcdf842 🔖 chore(release): v1.94.5 [skip ci]
### [Version&nbsp;1.94.5](https://github.com/lobehub/lobe-chat/compare/v1.94.4...v1.94.5)
<sup>Released on **2025-06-12**</sup>

#### 🐛 Bug Fixes

- **chat**: Improve response animation merging logic.

#### 💄 Styles

- **misc**: Support `web_search_preview` & fix some bug form OpenAI Response API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **chat**: Improve response animation merging logic, closes [#8160](https://github.com/lobehub/lobe-chat/issues/8160) ([9d81cdc](https://github.com/lobehub/lobe-chat/commit/9d81cdc))

#### Styles

* **misc**: Support `web_search_preview` & fix some bug form OpenAI Response API, closes [#8131](https://github.com/lobehub/lobe-chat/issues/8131) ([b2983f0](https://github.com/lobehub/lobe-chat/commit/b2983f0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-12 13:17:18 +00:00
Zhijie He b2983f062e 💄 style: support web_search_preview & fix some bug form OpenAI Response API (#8131)
* 💄 style: support `web_search_preview` for OpenAI Response API

* ♻️ refactor: refactor annotation handling

* 🐛 fix: fix `reasoning_effort` error in response api

* 🐛 fix: fix `o` series calling in Response API

* 🐛 fix: fix ci test

* 💄 style: update `gpt-4o` ability tags

* 💄 style: update `gpt-4o-mini` ability tags

* ♻️ refactor: add `responsesAPIModels` to store responses api only

* 🐛 fix: fix `computer-use-preview` calling

* 🐛 fix: fix ci error

* 🐛 fix: fix citations

* 💄 style: add `o3-pro` rules, disable Stream & use Responses API

* 🔨 chore: comment `o3-pro` from `disableStreamModels`
2025-06-12 21:03:05 +08:00
𝑾𝒖𝒙𝒉 9d81cdca36 🐛 fix(chat): Improve response animation merging logic (#8160)
* 🔧 chore: Refactor responseAnimation handling in ChatService

* ​
Co-authored-by: sxjeru <sxjeru@users.noreply.github.com>
2025-06-12 21:01:09 +08:00
lobehubbot af37bf7a9a 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-12 07:08:06 +00:00
𝑾𝒖𝒙𝒉 8953523575 🔧 chore: improve i18n workflow diff script (#8153)
* 🔧 chore: Add writeJSONWithPrettier utility and update locale generation scripts

* 🔧 chore: Implement genRemoveDiff utility for locale diff analysis and update workflow

* chore: update script

* chore: revert

* 🔧 chore: Refactor genDiff to improve diff analysis and streamline locale processing
2025-06-12 14:54:05 +08:00
lobehubbot ac4b61af91 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-11 15:31:25 +00:00
semantic-release-bot 8106426980 🔖 chore(release): v1.94.4 [skip ci]
### [Version&nbsp;1.94.4](https://github.com/lobehub/lobe-chat/compare/v1.94.3...v1.94.4)
<sup>Released on **2025-06-11**</sup>

#### 💄 Styles

- **misc**: Transition animation switch.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Transition animation switch, closes [#7981](https://github.com/lobehub/lobe-chat/issues/7981) ([dd4ab3f](https://github.com/lobehub/lobe-chat/commit/dd4ab3f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-11 15:29:56 +00:00
𝑾𝒖𝒙𝒉 dd4ab3fc88 💄 style: Transition animation switch (#7981)
*  feat: Transition animation switch

* chore: update schema

(cherry picked from commit 4e364817c835f87d7e26487e99a6953d7e93b309)

# Conflicts:
#	src/types/aiProvider.ts

* 🌐 chore: Translation
2025-06-11 23:15:30 +08:00
CanisMinor b52a94ae01 🔧 chore: Fix Check Pull Request Status (#8149) 2025-06-11 14:06:10 +08:00
CanisMinor 066f11a8b4 🔧 chore: Fix no actual differences left (#8147) 2025-06-11 14:01:35 +08:00
CanisMinor 0996be513a 🔧 chore: Fix deprecation deps (#8144) 2025-06-11 12:42:34 +08:00
CanisMinor 9b671d0698 🔧 chore: Update i18n actions (#8143)
* 🔧 chore: Update i18n actions

* 🔧 chore: Update i18n workflow
2025-06-11 12:39:00 +08:00
CanisMinor a26499f0bf 🔧 chore: Update i18n actions (#8142) 2025-06-11 12:33:41 +08:00
CanisMinor 17431106bb 🔧 chore: Add auto i18n github action (#4226) 2025-06-11 12:17:55 +08:00
lobehubbot 8ead7c5437 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-11 04:09:37 +00:00
semantic-release-bot c931c5218b 🔖 chore(release): v1.94.3 [skip ci]
### [Version&nbsp;1.94.3](https://github.com/lobehub/lobe-chat/compare/v1.94.2...v1.94.3)
<sup>Released on **2025-06-11**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-11 04:08:29 +00:00
Arvin Xu 602e10faca 👷 build: pin tsx@4.19.x to fix build (#8141) 2025-06-11 11:54:31 +08:00
lobehubbot c751f932a9 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-11 03:02:24 +00:00
semantic-release-bot edb62cecc5 🔖 chore(release): v1.94.2 [skip ci]
### [Version&nbsp;1.94.2](https://github.com/lobehub/lobe-chat/compare/v1.94.1...v1.94.2)
<sup>Released on **2025-06-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Update Gemini range of thinkingBudget.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update Gemini range of thinkingBudget, closes [#8122](https://github.com/lobehub/lobe-chat/issues/8122) ([7331e8a](https://github.com/lobehub/lobe-chat/commit/7331e8a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-11 03:01:15 +00:00
sxjeru 7331e8a70e 🐛 fix: Update Gemini range of thinkingBudget (#8122) 2025-06-11 10:47:06 +08:00
lobehubbot 261e2ca0bf 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-10 17:34:37 +00:00
semantic-release-bot 61dc847589 🔖 chore(release): v1.94.1 [skip ci]
### [Version&nbsp;1.94.1](https://github.com/lobehub/lobe-chat/compare/v1.94.0...v1.94.1)
<sup>Released on **2025-06-10**</sup>

#### 💄 Styles

- **ModelSelect**: Improve mobile layout and text overflow handling.
- **misc**: Update pplx abilities tags, support `vision`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **ModelSelect**: Improve mobile layout and text overflow handling, closes [#8118](https://github.com/lobehub/lobe-chat/issues/8118) ([d97aa49](https://github.com/lobehub/lobe-chat/commit/d97aa49))
* **misc**: Update pplx abilities tags, support `vision`, closes [#8119](https://github.com/lobehub/lobe-chat/issues/8119) ([5c2e5f7](https://github.com/lobehub/lobe-chat/commit/5c2e5f7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-10 17:33:22 +00:00
Kingsword d97aa49ddd 💄 style(ModelSelect): improve mobile layout and text overflow handling (#8118) 2025-06-11 01:19:11 +08:00
Zhijie He 5c2e5f7288 💄 style: update pplx abilities tags, support vision (#8119)
* 💄 style: update pplx abilities tags, support `vision` & `reasoningEffort`

* 💄 style: add vision tag for `r1-1776`
2025-06-11 01:18:46 +08:00
lobehubbot 2d82fccf3f 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-10 09:06:03 +00:00
semantic-release-bot f91db428ed 🔖 chore(release): v1.94.0 [skip ci]
## [Version&nbsp;1.94.0](https://github.com/lobehub/lobe-chat/compare/v1.93.3...v1.94.0)
<sup>Released on **2025-06-10**</sup>

####  Features

- **misc**: Support google sso as auth provider.

#### 🐛 Bug Fixes

- **misc**: Restore reasoningEffort in setting.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support google sso as auth provider, closes [#8074](https://github.com/lobehub/lobe-chat/issues/8074) ([43ab03a](https://github.com/lobehub/lobe-chat/commit/43ab03a))

#### What's fixed

* **misc**: Restore reasoningEffort in setting, closes [#8123](https://github.com/lobehub/lobe-chat/issues/8123) ([3be609c](https://github.com/lobehub/lobe-chat/commit/3be609c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-10 09:04:47 +00:00
beliven-daniele-sarnari 43ab03a261 feat: support google sso as auth provider (#8074)
* feat: add google sso

* chore: remove authEnv reference

* chore: remove AUTH_GOOGLE secrets in auth.ts as not needed anymore

* chore: removed not used authEnv reference
2025-06-10 16:50:36 +08:00
sxjeru 3be609c3aa 🐛 fix: Restore reasoningEffort in setting (#8123)
* restore reasoningEffort setting

*  feat: update reasoning effort handling in AgentModal

* i18n

* i18n
2025-06-10 13:38:53 +08:00
lobehubbot f405b03fa4 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-10 04:02:46 +00:00
semantic-release-bot 2a56269c4d 🔖 chore(release): v1.93.3 [skip ci]
### [Version&nbsp;1.93.3](https://github.com/lobehub/lobe-chat/compare/v1.93.2...v1.93.3)
<sup>Released on **2025-06-10**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor branding info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor branding info, closes [#8134](https://github.com/lobehub/lobe-chat/issues/8134) ([3baa966](https://github.com/lobehub/lobe-chat/commit/3baa966))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-10 04:01:35 +00:00
Arvin Xu 3baa966235 ♻️ refactor: refactor branding info (#8134) 2025-06-10 11:47:12 +08:00
lobehubbot 7b9d8a1db0 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-09 13:50:22 +00:00
semantic-release-bot b835c84d79 🔖 chore(release): v1.93.2 [skip ci]
### [Version&nbsp;1.93.2](https://github.com/lobehub/lobe-chat/compare/v1.93.1...v1.93.2)
<sup>Released on **2025-06-09**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor `<think>` & `</think>` handling.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor `<think>` & `</think>` handling, closes [#8121](https://github.com/lobehub/lobe-chat/issues/8121) ([04ac353](https://github.com/lobehub/lobe-chat/commit/04ac353))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-09 13:49:01 +00:00
Zhijie He 04ac3535e0 ♻️ refactor: refactor <think> & </think> handling (#8121) 2025-06-09 21:34:32 +08:00
lobehubbot 04ca9f4672 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-08 17:08:40 +00:00
semantic-release-bot 97a90f5b43 🔖 chore(release): v1.93.1 [skip ci]
### [Version&nbsp;1.93.1](https://github.com/lobehub/lobe-chat/compare/v1.93.0...v1.93.1)
<sup>Released on **2025-06-08**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix openai default Responses API issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix openai default Responses API issue, closes [#8124](https://github.com/lobehub/lobe-chat/issues/8124) ([7f6ccf2](https://github.com/lobehub/lobe-chat/commit/7f6ccf2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-08 17:07:32 +00:00
Arvin Xu 7f6ccf2922 🐛 fix: fix openai default Responses API issue (#8124)
* fix issue

* fix tests
2025-06-09 00:53:16 +08:00
lobehubbot d5b94eaf8f 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-08 09:08:59 +00:00
semantic-release-bot 7c001eb91e 🔖 chore(release): v1.93.0 [skip ci]
## [Version&nbsp;1.93.0](https://github.com/lobehub/lobe-chat/compare/v1.92.3...v1.93.0)
<sup>Released on **2025-06-08**</sup>

####  Features

- **misc**: Support OpenAI Responses API mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support OpenAI Responses API mode, closes [#8048](https://github.com/lobehub/lobe-chat/issues/8048) ([5bf0921](https://github.com/lobehub/lobe-chat/commit/5bf0921))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-08 09:07:51 +00:00
Arvin Xu 5bf0921246 feat: support OpenAI Responses API mode (#8048)
*  feat: support response api mode

* update

* support openai stream o series thinking

* add ui config for response api mode

* improve ui config for responses api mode

* update locale

* fix tests

* fix update issue

* update db schema

* fix openai Response Inputs

* fix tests
2025-06-08 16:53:46 +08:00
lobehubbot fc7c579e55 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-08 07:28:46 +00:00
semantic-release-bot 6cb41eb888 🔖 chore(release): v1.92.3 [skip ci]
### [Version&nbsp;1.92.3](https://github.com/lobehub/lobe-chat/compare/v1.92.2...v1.92.3)
<sup>Released on **2025-06-08**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix client s3 getObject throw error.

#### 💄 Styles

- **misc**: Support OpenRouter Claude 4 reasoning.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix client s3 getObject throw error, closes [#8009](https://github.com/lobehub/lobe-chat/issues/8009) ([b91ca8c](https://github.com/lobehub/lobe-chat/commit/b91ca8c))

#### Styles

* **misc**: Support OpenRouter Claude 4 reasoning, closes [#8087](https://github.com/lobehub/lobe-chat/issues/8087) ([039be1d](https://github.com/lobehub/lobe-chat/commit/039be1d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-08 07:27:33 +00:00
renovate[bot] 4b11e5ae33 Update dependency @anthropic-ai/sdk to ^0.53.0 (#8112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-08 15:13:09 +08:00
Koell 039be1d1b6 💄 style: Support OpenRouter Claude 4 reasoning (#8087)
* Add Claude Sonnet 4 and Claude Opus 4 to OpenRouter provider

* Calculate budget_token count
2025-06-08 15:12:30 +08:00
vual b91ca8c903 🐛 fix: fix client s3 getObject throw error (#8009)
* 修改client s3 getObject 方法,去掉抛出错误,改成直接打印报错,返回undefined,因为该方法调用的地方都没有捕获报错,只是判断是否获取到文件。

* 修改client s3 getObject 方法,去掉抛出错误,改成直接打印报错,返回undefined,因为该方法调用的地方都没有捕获报错,只是判断是否获取到文件。
2025-06-08 10:40:24 +08:00
lobehubbot 2331492e63 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-07 15:41:06 +00:00
semantic-release-bot 26512d7edb 🔖 chore(release): v1.92.2 [skip ci]
### [Version&nbsp;1.92.2](https://github.com/lobehub/lobe-chat/compare/v1.92.1...v1.92.2)
<sup>Released on **2025-06-07**</sup>

#### 💄 Styles

- **misc**: Add support to azureopenai embedding.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add support to azureopenai embedding, closes [#8075](https://github.com/lobehub/lobe-chat/issues/8075) ([0725f94](https://github.com/lobehub/lobe-chat/commit/0725f94))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-07 15:39:55 +00:00
beliven-daniele-sarnari 0725f94443 💄 style: add support to azureopenai embedding (#8075) 2025-06-07 23:25:21 +08:00
Zephyr 36cc29b3fa 👷 build: init rbac system table scheme and data structure (#8101)
*  feat: 添加RBAC(角色-权限-用户)相关数据库表和结构

- 新增表:rbac_permissions、rbac_roles、rbac_role_permissions、rbac_user_roles,用于管理角色和权限。
- 更新数据库迁移文件,记录新表的创建和约束。
- 新增RBAC相关的TypeScript结构定义,支持角色和权限的管理。

* feat: Update Permissions table column name

* chore: update rbac tables name

* feat: update rbac roles & permissions table primary key

* feat: update rbac relation tables column and index structure
2025-06-07 23:15:05 +08:00
lobehubbot d20e7a3f61 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-07 14:27:27 +00:00
semantic-release-bot 792a9b6b8c 🔖 chore(release): v1.92.1 [skip ci]
### [Version&nbsp;1.92.1](https://github.com/lobehub/lobe-chat/compare/v1.92.0...v1.92.1)
<sup>Released on **2025-06-07**</sup>

#### 💄 Styles

- **ModelSelect**: Add responsive layout for mobile devices.
- **misc**: Improve `{{username}}` placeholder variable, Update Gemini & Qwen models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **ModelSelect**: Add responsive layout for mobile devices, closes [#7960](https://github.com/lobehub/lobe-chat/issues/7960) ([cb84c3e](https://github.com/lobehub/lobe-chat/commit/cb84c3e))
* **misc**: Improve `{{username}}` placeholder variable, closes [#8100](https://github.com/lobehub/lobe-chat/issues/8100) ([95fd588](https://github.com/lobehub/lobe-chat/commit/95fd588))
* **misc**: Update Gemini & Qwen models, closes [#8083](https://github.com/lobehub/lobe-chat/issues/8083) ([6308237](https://github.com/lobehub/lobe-chat/commit/6308237))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-07 14:26:09 +00:00
Kingsword cb84c3e16c 💄 style(ModelSelect): add responsive layout for mobile devices (#7960) 2025-06-07 22:11:53 +08:00
Zhijie He 95fd588d43 💄 style: improve {{username}} placeholder variable (#8100) 2025-06-07 17:47:20 +08:00
sxjeru 63082377dc 💄 style: Update Gemini & Qwen models (#8083)
*  feat: 添加 Google Gemini 2.5 Pro 模型,更新 Novita 和 Qwen 模型配置,增强关键词排除逻辑

* revert

* 🔨 chore: 移除不再使用的聊天模型配置

* 🔧 feat: 为多个聊天模型添加 functionCall 能力

* 🔧 feat: 添加 Hunyuan T1 和 Hunyuan TurboS 聊天模型,提升文本创作和代码能力

* Update novita.ts
2025-06-07 01:36:35 +08:00
lobehubbot 8701fa61b4 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-06 13:02:07 +00:00
semantic-release-bot decf04922a 🔖 chore(release): v1.92.0 [skip ci]
## [Version&nbsp;1.92.0](https://github.com/lobehub/lobe-chat/compare/v1.91.3...v1.92.0)
<sup>Released on **2025-06-06**</sup>

####  Features

- **misc**: Support placeholder variables in prompts and input.

#### 🐛 Bug Fixes

- **misc**: Some web search bugs.

#### 💄 Styles

- **misc**: Support Vertex AI thought summaries.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support placeholder variables in prompts and input, closes [#8060](https://github.com/lobehub/lobe-chat/issues/8060) ([3752739](https://github.com/lobehub/lobe-chat/commit/3752739))

#### What's fixed

* **misc**: Some web search bugs, closes [#8068](https://github.com/lobehub/lobe-chat/issues/8068) ([bebe7a3](https://github.com/lobehub/lobe-chat/commit/bebe7a3))

#### Styles

* **misc**: Support Vertex AI thought summaries, closes [#8090](https://github.com/lobehub/lobe-chat/issues/8090) ([1355a2e](https://github.com/lobehub/lobe-chat/commit/1355a2e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-06 13:00:43 +00:00
Zhijie He 3752739248 feat: support placeholder variables in prompts and input (#8060)
*  feat: support placeholder variables in prompt

* ♻️ refactor: refactor `parsePlaceholderVariablesMessages`

* ♻️ refactor: refactor `parsePlaceholderVariablesMessages` to `src/utils/placeholderParser.ts`

* 🔨 chore: support `username` & `nickname`

* ♻️ refactor: migrate to `lodash-es`

* 🐛 fix: fix build error

* ♻️ refactor: split `getTemplateVariables` to small part

* 🔨 chore: support more placeholder

* 🐛 fix: fix build error

* 🐛 fix: fix build error

* ♻️ refactor: enhance performance

* 🐛 fix: fix build error

* 🐛 fix: fix `username` fetch

* 🐛 fix: fix `inputTemplate` will overwrite build-in variable

* 🔨 chore: update i18n

* 🐛 fix: fix variables in `input_template`

* ♻️ refactor: move to `utils/client`

* 🔨 chore: add unit test

* 🔨 chore: add unit test

* 🐛 fix: fix ci test
2025-06-06 20:45:59 +08:00
Koell 1355a2e6a4 💄 style: Support Vertex AI thought summaries (#8090) 2025-06-06 20:09:14 +08:00
YuTengjing bebe7a3675 🐛 fix: some web search bugs (#8068)
* fix: shouldn't use FCModel search if builtin support search

* fix: open router support toogle builtin search

* fix: max tokens slider not show after toggle enable it
2025-06-06 19:54:44 +08:00
lobehubbot b19b4fa53c 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-05 16:42:30 +00:00
semantic-release-bot 52ed73d5aa 🔖 chore(release): v1.91.3 [skip ci]
### [Version&nbsp;1.91.3](https://github.com/lobehub/lobe-chat/compare/v1.91.2...v1.91.3)
<sup>Released on **2025-06-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Correct deepseek R1 fc support display.

#### 💄 Styles

- **misc**: Add openAI websearch and claude 4 to modelproviders.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Correct deepseek R1 fc support display, closes [#8069](https://github.com/lobehub/lobe-chat/issues/8069) ([ed5bb5f](https://github.com/lobehub/lobe-chat/commit/ed5bb5f))

#### Styles

* **misc**: Add openAI websearch and claude 4 to modelproviders, closes [#7988](https://github.com/lobehub/lobe-chat/issues/7988) ([95994f4](https://github.com/lobehub/lobe-chat/commit/95994f4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-05 16:41:00 +00:00
Liav Arnon 95994f4596 💄 style: Add openAI websearch and claude 4 to modelproviders (#7988)
* Add openAI websearch and claude 4 to modelproviders

* remove old sonnet3.7

* remove enable from websearch model

* remove gpt-4o-mini-search-preview enable flag
2025-06-06 00:26:07 +08:00
YuTengjing ed5bb5f15d 🐛 fix: correct deepseek R1 fc support display (#8069)
* fix: correct deepseek R1 fc support display

* 🚨 chore: fix eslint errors
2025-06-06 00:19:00 +08:00
lobehubbot 332f25301c 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-05 08:16:04 +00:00
semantic-release-bot dc25c7d202 🔖 chore(release): v1.91.2 [skip ci]
### [Version&nbsp;1.91.2](https://github.com/lobehub/lobe-chat/compare/v1.91.1...v1.91.2)
<sup>Released on **2025-06-05**</sup>

#### 💄 Styles

- **misc**: Add Volcengine & OpenAI-like Provider (e.g. oneapi) model fetch support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Volcengine & OpenAI-like Provider (e.g. oneapi) model fetch support, closes [#8064](https://github.com/lobehub/lobe-chat/issues/8064) ([d3dafe1](https://github.com/lobehub/lobe-chat/commit/d3dafe1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-05 08:14:48 +00:00
Arvin Xu 66118cc9cf 🔨 chore: fix lint (#8078) 2025-06-05 16:00:46 +08:00
sxjeru d3dafe1911 💄 style: Add Volcengine & OpenAI-like Provider (e.g. oneapi) model fetch support (#8064)
* Update index.ts

* 重构 modelParse

* 继续重构

* fix

* fix test & zeroone

* support openrouter

* support Gemini

* support Qwen

* add tests

* optm

* support more providers

* update snaps

* fix

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-06-05 09:16:25 +08:00
lobehubbot 0cae8151d0 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-04 17:31:39 +00:00
semantic-release-bot 2c85a30c9d 🔖 chore(release): v1.91.1 [skip ci]
### [Version&nbsp;1.91.1](https://github.com/lobehub/lobe-chat/compare/v1.91.0...v1.91.1)
<sup>Released on **2025-06-04**</sup>

#### 💄 Styles

- **misc**: Improve loading state.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve loading state, closes [#8072](https://github.com/lobehub/lobe-chat/issues/8072) ([f0a7193](https://github.com/lobehub/lobe-chat/commit/f0a7193))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-04 17:30:24 +00:00
Arvin Xu f0a7193879 💄 style: improve loading state (#8072)
* improve loading state

* fix issue

* fix
2025-06-05 01:16:22 +08:00
sxjeru 2a811d0a85 🔨 chore: Prettier & Add proxyUrl for all providers (#8061)
* migration: 添加移除 reasoning_effort 参数和删除 doubao 的迁移脚本

* Refactor code structure for improved readability and maintainability

* npx prettier --write "src/**/*"

* add proxyUrl for all providers

* npx prettier --write "docs/**/*"

* Revert

* Revert

* revert
2025-06-04 21:39:39 +08:00
lobehubbot 215a96e1b6 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-03 13:54:42 +00:00
semantic-release-bot 65b06de485 🔖 chore(release): v1.91.0 [skip ci]
## [Version&nbsp;1.91.0](https://github.com/lobehub/lobe-chat/compare/v1.90.4...v1.91.0)
<sup>Released on **2025-06-03**</sup>

####  Features

- **misc**: Add more provider support for search & crawl.

#### 💄 Styles

- **misc**: Update modelscope models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add more provider support for search & crawl, closes [#8033](https://github.com/lobehub/lobe-chat/issues/8033) ([23fade3](https://github.com/lobehub/lobe-chat/commit/23fade3))

#### Styles

* **misc**: Update modelscope models, closes [#8057](https://github.com/lobehub/lobe-chat/issues/8057) ([3e02c25](https://github.com/lobehub/lobe-chat/commit/3e02c25))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-03 13:52:58 +00:00
Zhijie He 23fade3cf8 feat: add more provider support for search & crawl (#8033)
*  feat: support tavily as search provider

*  feat: support tavily as crawl provider

* 🐛 fix: fix category mapping

*  feat: support firecrwal as crawl provider

*  feat: support firecrawl as search provider

* 🔨 chore: support firecrawl baseUrl for self-host

* 🐛 fix: fix build error

*  feat: support jina as search provider

* 🐛 fix: fix build error

*  feat: support BoChaAI & Exa as search & crawl provider

* 🐛 fix: fix build error

* 🔨 chore: rename to bocha

* 🐛 fix: fix typo in bocha impl

* ♻️ refactor: add `category` & `time_range` support for Exa

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-06-03 21:38:36 +08:00
hedeqiang 3e02c2502e 💄 style: update modelscope models (#8057)
* style: update modelscope

* style: update modelscope
2025-06-03 19:00:05 +08:00
sxjeru 6c11726dc9 🐛 fix (migration): Remove abandoned reasoning_effort & doubao (#8055)
* migration: 添加移除 reasoning_effort 参数和删除 doubao 的迁移脚本

* Refactor code structure for improved readability and maintainability
2025-06-03 16:35:55 +08:00
lobehubbot 3866090478 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-02 16:52:58 +00:00
semantic-release-bot 5054d41f4f 🔖 chore(release): v1.90.4 [skip ci]
### [Version&nbsp;1.90.4](https://github.com/lobehub/lobe-chat/compare/v1.90.3...v1.90.4)
<sup>Released on **2025-06-02**</sup>

#### ♻ Code Refactoring

- **misc**: Rename the createOpenAICompatibleRuntime.

#### 🐛 Bug Fixes

- **misc**: Update the clerk middleware to support route protection.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Rename the createOpenAICompatibleRuntime, closes [#8049](https://github.com/lobehub/lobe-chat/issues/8049) ([ee660d6](https://github.com/lobehub/lobe-chat/commit/ee660d6))

#### What's fixed

* **misc**: Update the clerk middleware to support route protection, closes [#8044](https://github.com/lobehub/lobe-chat/issues/8044) ([309f973](https://github.com/lobehub/lobe-chat/commit/309f973))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-02 16:51:36 +00:00
Arvin Xu ee660d64a6 ♻️ refactor: rename the createOpenAICompatibleRuntime (#8049)
* refactor model runtime createOpenAICompatibleRuntime

* upgrade version and fix tests

* fix tests

* fix tests
2025-06-03 00:22:14 +08:00
bbbugg 6160b9eeeb 📝 docs: update Qwen model provider in documentation (#8041)
* 📝 docs: update Qwen model providers in documentation

* 📝 docs: update example for model list customization in documentation
2025-06-02 22:26:27 +08:00
bbbugg 309f97322c 🐛 fix: Update the clerk middleware to support route protection (#8044) 2025-06-02 22:10:59 +08:00
YuTengjing c94e97c45a 📝 docs: add more cursor rules (#8047)
* 📝 docs: add some more cursor rules

* 📝 docs: fix greptile reported issue
2025-06-02 22:08:37 +08:00
lobehubbot 2778eca8ac 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-01 14:49:33 +00:00
semantic-release-bot 308103a3ea 🔖 chore(release): v1.90.3 [skip ci]
### [Version&nbsp;1.90.3](https://github.com/lobehub/lobe-chat/compare/v1.90.2...v1.90.3)
<sup>Released on **2025-06-01**</sup>

#### 💄 Styles

- **misc**: Enable deploymentName for Aliyun Bailian.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enable deploymentName for Aliyun Bailian, closes [#7576](https://github.com/lobehub/lobe-chat/issues/7576) ([169e598](https://github.com/lobehub/lobe-chat/commit/169e598))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-01 14:48:23 +00:00
sxjeru 169e59869a 💄 style: Enable deploymentName for Aliyun Bailian (#7576)
* Adds Qwen deployment name support

Enables deploymentName flag for Qwen in global config
Includes Qwen in chat service’s deployment-name providers

* update

* Update qwen.ts

* Update qwen.ts

* Update qwen.ts

* Update xai.ts

* Update qwen.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-06-01 22:34:13 +08:00
lobehubbot 5237b34ca7 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-01 13:11:29 +00:00
semantic-release-bot e0d46bb751 🔖 chore(release): v1.90.2 [skip ci]
### [Version&nbsp;1.90.2](https://github.com/lobehub/lobe-chat/compare/v1.90.1...v1.90.2)
<sup>Released on **2025-06-01**</sup>

#### 💄 Styles

- **misc**: Support `web_search` tool for MiniMax & Zhipu.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support `web_search` tool for MiniMax & Zhipu, closes [#7980](https://github.com/lobehub/lobe-chat/issues/7980) ([28cdafb](https://github.com/lobehub/lobe-chat/commit/28cdafb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-01 13:10:22 +00:00
Zhijie He 28cdafb388 💄 style: support web_search tool for MiniMax & Zhipu (#7980)
* 💄 style: support web_search for MiniMax

* ♻️ refactor: refactor zhipu `web_search` tools

* 🐛 fix: fix live search citations

* ♻️ refactor: refactor Minimax citations

* 🐛 fix: fix ci error

* 🐛 fix: fix ci error

* 💄 style: support OpenAI Search model citations

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-06-01 20:56:12 +08:00
lobehubbot 4fc885cc90 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-01 08:47:46 +00:00
semantic-release-bot a85520dc9c 🔖 chore(release): v1.90.1 [skip ci]
### [Version&nbsp;1.90.1](https://github.com/lobehub/lobe-chat/compare/v1.90.0...v1.90.1)
<sup>Released on **2025-06-01**</sup>

#### 🐛 Bug Fixes

- **misc**: Disable LaTeX and Mermaid rendering in SystemRoleContent to prevent lag caused by massive rendering tasks when switching topics, fix DeepSeek new R1 Search error.

#### 💄 Styles

- **misc**: Use default deployment name when parseModelString doesn't contain deployment name.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Disable LaTeX and Mermaid rendering in SystemRoleContent to prevent lag caused by massive rendering tasks when switching topics, closes [#8034](https://github.com/lobehub/lobe-chat/issues/8034) ([5b42ee2](https://github.com/lobehub/lobe-chat/commit/5b42ee2))
* **misc**: Fix DeepSeek new R1 Search error, closes [#8035](https://github.com/lobehub/lobe-chat/issues/8035) ([cf58628](https://github.com/lobehub/lobe-chat/commit/cf58628))

#### Styles

* **misc**: Use default deployment name when parseModelString doesn't contain deployment name, closes [#7719](https://github.com/lobehub/lobe-chat/issues/7719) ([aef19f4](https://github.com/lobehub/lobe-chat/commit/aef19f4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-01 08:46:32 +00:00
bbbugg aef19f46c1 💄 style: use default deployment name when parseModelString doesn't contain deployment name (#7719)
* ♻️ refactor: use default deployment name when parseModelString doesn't contain deployment name

*  test: add test case for parseModelString without deployment name

* 添加测试用例

* 📝 docs: clarify default deployment name behavior in model list documentation

* 📝 docs: update deployment name description for clarity in model list documentation

* 📝 docs: update deployment name description for clarity in model list documentation
2025-06-01 16:32:42 +08:00
Purelind 58d356c477 🔨 chore(setup.sh): Replace SED_COMMAND with SED_INPLACE_ARGS for improved compatibility across platforms on macOS (#7639) 2025-06-01 16:28:04 +08:00
Arvin Xu cf58628995 🐛 fix: fix DeepSeek new R1 Search error (#8035)
* fix DeepSeek R1 Search issue

* fix tests
2025-06-01 16:20:49 +08:00
PP Kun 5b42ee2499 🐛 fix: disable LaTeX and Mermaid rendering in SystemRoleContent to prevent lag caused by massive rendering tasks when switching topics (#8034) 2025-06-01 16:20:28 +08:00
lobehubbot 1ec8defec9 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-01 07:27:57 +00:00
semantic-release-bot 907c9ef9b0 🔖 chore(release): v1.90.0 [skip ci]
## [Version&nbsp;1.90.0](https://github.com/lobehub/lobe-chat/compare/v1.89.0...v1.90.0)
<sup>Released on **2025-06-01**</sup>

####  Features

- **misc**: Support protect page.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support protect page, closes [#8024](https://github.com/lobehub/lobe-chat/issues/8024) ([d61a9f5](https://github.com/lobehub/lobe-chat/commit/d61a9f5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-01 07:26:50 +00:00
Arvin Xu d61a9f5998 feat: support protect page (#8024)
* 🚚 refactor: move config/app to env/app

*  feat: support protect route

* 📝 docs: add protect support

* fix callbackUrl

* fix tests
2025-06-01 15:12:57 +08:00
lobehubbot 62de6f0020 📝 docs(bot): Auto sync agents & plugin to readme 2025-06-01 07:09:52 +00:00
semantic-release-bot b15933cbf9 🔖 chore(release): v1.89.0 [skip ci]
## [Version&nbsp;1.89.0](https://github.com/lobehub/lobe-chat/compare/v1.88.23...v1.89.0)
<sup>Released on **2025-06-01**</sup>

####  Features

- **misc**:  Support ModelScope Provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**:  Support ModelScope Provider, closes [#8026](https://github.com/lobehub/lobe-chat/issues/8026) ([7b91dfd](https://github.com/lobehub/lobe-chat/commit/7b91dfd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-06-01 07:08:45 +00:00
hedeqiang 7b91dfddd5 feat: Support ModelScope Provider (#8026)
* feat: support modelscop

* feat: support modelscop

* style: update llm.ts

* style: update modelscope
2025-06-01 14:54:32 +08:00
lobehubbot 2f28a93d89 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-31 18:21:36 +00:00
semantic-release-bot eedeb75346 🔖 chore(release): v1.88.23 [skip ci]
### [Version&nbsp;1.88.23](https://github.com/lobehub/lobe-chat/compare/v1.88.22...v1.88.23)
<sup>Released on **2025-05-31**</sup>

#### 💄 Styles

- **misc**:  `+` in the welcome message can be clicked to create an assistant.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**:  `+` in the welcome message can be clicked to create an assistant, closes [#7984](https://github.com/lobehub/lobe-chat/issues/7984) ([9f07e4c](https://github.com/lobehub/lobe-chat/commit/9f07e4c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-31 18:20:22 +00:00
Kingsword 9f07e4c975 💄 style: + in the welcome message can be clicked to create an assistant (#7984) 2025-06-01 02:05:39 +08:00
lobehubbot c3f76ccc7e 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-31 17:14:43 +00:00
semantic-release-bot 7385eb911a 🔖 chore(release): v1.88.22 [skip ci]
### [Version&nbsp;1.88.22](https://github.com/lobehub/lobe-chat/compare/v1.88.21...v1.88.22)
<sup>Released on **2025-05-31**</sup>

#### 💄 Styles

- **misc**: Support 01.ai proxy url.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support 01.ai proxy url, closes [#8025](https://github.com/lobehub/lobe-chat/issues/8025) ([e0442b8](https://github.com/lobehub/lobe-chat/commit/e0442b8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-31 17:13:35 +00:00
Arvin Xu e0442b83a1 💄 style: support 01.ai proxy url (#8025) 2025-06-01 00:59:35 +08:00
lobehubbot ca2292b538 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-31 15:22:55 +00:00
semantic-release-bot e64085f7d3 🔖 chore(release): v1.88.21 [skip ci]
### [Version&nbsp;1.88.21](https://github.com/lobehub/lobe-chat/compare/v1.88.20...v1.88.21)
<sup>Released on **2025-05-31**</sup>

#### 💄 Styles

- **misc**: Enhanced reasoning_effort Slider Component, Update Hunyuan models & deepseek-r1-0528.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Enhanced reasoning_effort Slider Component, closes [#7998](https://github.com/lobehub/lobe-chat/issues/7998) ([750b26a](https://github.com/lobehub/lobe-chat/commit/750b26a))
* **misc**: Update Hunyuan models & deepseek-r1-0528, closes [#7993](https://github.com/lobehub/lobe-chat/issues/7993) ([2eb198c](https://github.com/lobehub/lobe-chat/commit/2eb198c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-31 15:21:42 +00:00
sxjeru 2eb198c687 💄 style: Update Hunyuan models & deepseek-r1-0528 (#7993)
* Update hunyuan.ts

* Update novita.ts

* Update siliconcloud.ts

* Update deepseek.ts

* Update deepseek.ts

* Update novita.ts

* Update openrouter.ts

* Update novita.ts

* Update siliconcloud.ts

* Update volcengine.ts

* Update volcengine.ts

* Update novita.ts

* Update siliconcloud.ts

* update snap

* Update novita.ts

* Update siliconcloud.ts

* Update siliconcloud.ts

* Update groq.ts
2025-05-31 22:45:36 +08:00
sxjeru 750b26acea 💄 style: Enhanced reasoning_effort Slider Component (#7998)
*  feat: 添加推理强度设置和滑块组件

*  feat: support openai & grok xai

* i18n

* fix mobile
2025-05-31 22:45:24 +08:00
lobehubbot 6521243f07 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-31 04:06:27 +00:00
semantic-release-bot 321a2e809d 🔖 chore(release): v1.88.20 [skip ci]
### [Version&nbsp;1.88.20](https://github.com/lobehub/lobe-chat/compare/v1.88.19...v1.88.20)
<sup>Released on **2025-05-31**</sup>

#### 🐛 Bug Fixes

- **misc**: Agent automatic completion meta not working error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Agent automatic completion meta not working error, closes [#8003](https://github.com/lobehub/lobe-chat/issues/8003) ([c5307bf](https://github.com/lobehub/lobe-chat/commit/c5307bf))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-31 04:05:21 +00:00
𝑾𝒖𝒙𝒉 c5307bf969 🐛 fix: Agent automatic completion meta not working error (#8003)
* 🐛fix:Agent automatic completion meta not working error

* chore: fix lint
2025-05-31 11:51:36 +08:00
lobehubbot 2ae0e9ed56 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-30 05:40:23 +00:00
semantic-release-bot a7f2347f1b 🔖 chore(release): v1.88.19 [skip ci]
### [Version&nbsp;1.88.19](https://github.com/lobehub/lobe-chat/compare/v1.88.18...v1.88.19)
<sup>Released on **2025-05-30**</sup>

#### 💄 Styles

- **misc**: Support Web Search Tools and Beta Header from Anthropic.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Web Search Tools and Beta Header from Anthropic, closes [#7964](https://github.com/lobehub/lobe-chat/issues/7964) ([a47ddc5](https://github.com/lobehub/lobe-chat/commit/a47ddc5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-30 05:39:08 +00:00
Zhijie He a47ddc5159 💄 style: support Web Search Tools and Beta Header from Anthropic (#7964)
* 💄 style: support web search tools from Anthropic

* 💄 style: support beta headers

* ♻️ refactor: add basic stream support for web search tool

* ♻️ refactor: improve `max_uses` handle

* ♻️ refactor: handle negative or zero values

* ♻️ refactor: rename type name

* 🔨 chore: add unit test

* ♻️ refactor: support citations from web_search_tools

* ♻️ refactor: better citations handling

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-30 13:25:33 +08:00
lobehubbot 09621b3a91 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-29 18:02:31 +00:00
semantic-release-bot 4522c93d1d 🔖 chore(release): v1.88.18 [skip ci]
### [Version&nbsp;1.88.18](https://github.com/lobehub/lobe-chat/compare/v1.88.17...v1.88.18)
<sup>Released on **2025-05-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Close historySummary correctly, Enable thinking output only for supported Gemini thinking models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Close historySummary correctly, closes [#7010](https://github.com/lobehub/lobe-chat/issues/7010) ([90a6f68](https://github.com/lobehub/lobe-chat/commit/90a6f68))
* **misc**: Enable thinking output only for supported Gemini thinking models, closes [#7987](https://github.com/lobehub/lobe-chat/issues/7987) ([f503c53](https://github.com/lobehub/lobe-chat/commit/f503c53))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-29 18:01:12 +00:00
sxjeru f503c53dda 🐛 fix: Enable thinking output only for supported Gemini thinking models (#7987)
* Update index.ts

* Update index.ts

* style: update reasoning budget handling in ChatService

* fix

* fix learnlm
2025-05-30 01:46:43 +08:00
sxjeru 90a6f686d6 🐛 fix: Close historySummary correctly (#7010)
* update

* Update index.tsx
2025-05-30 01:32:01 +08:00
lobehubbot d4e974e11b 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-29 17:24:51 +00:00
semantic-release-bot 7cfe0377ce 🔖 chore(release): v1.88.17 [skip ci]
### [Version&nbsp;1.88.17](https://github.com/lobehub/lobe-chat/compare/v1.88.16...v1.88.17)
<sup>Released on **2025-05-29**</sup>

#### 💄 Styles

- **misc**: Increase the history limit.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Increase the history limit, closes [#8007](https://github.com/lobehub/lobe-chat/issues/8007) ([5ec7c8d](https://github.com/lobehub/lobe-chat/commit/5ec7c8d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-29 17:23:42 +00:00
Arvin Xu 5ec7c8d8ec 💄 style: increase the history limit (#8007)
* add fc to reasoner model

* add history count to 20

* update snapshot

* update snapshot
2025-05-30 01:09:52 +08:00
lobehubbot d0bfe6d709 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-29 16:01:39 +00:00
semantic-release-bot 0bd952e3fb 🔖 chore(release): v1.88.16 [skip ci]
### [Version&nbsp;1.88.16](https://github.com/lobehub/lobe-chat/compare/v1.88.15...v1.88.16)
<sup>Released on **2025-05-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Cmd + click chat tab not open new tab.

#### 💄 Styles

- **misc**: Update GitHub models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Cmd + click chat tab not open new tab, closes [#8001](https://github.com/lobehub/lobe-chat/issues/8001) ([d6d2129](https://github.com/lobehub/lobe-chat/commit/d6d2129))

#### Styles

* **misc**: Update GitHub models, closes [#8002](https://github.com/lobehub/lobe-chat/issues/8002) ([7b8f533](https://github.com/lobehub/lobe-chat/commit/7b8f533))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-29 16:00:31 +00:00
柴米油盐的梦想 7b8f5339e0 💄 style: Update GitHub models (#8002)
* 💄 style: Update GitHub models

* 🐛 fix: fix grok-3-mini calling

* fix: lint fail and possible test error

* Update src/config/aiModels/github.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-29 23:46:52 +08:00
YuTengjing d6d2129737 🐛 fix: cmd + click chat tab not open new tab (#8001)
* 📝 docs: add some cursor rules & optimize codebase indexing

* 📝 docs: some code reviews issue by greptile

*  chore: cmd + click chat tab not open new tab

*  chore: support Ctrl + click chat tab on windows/linux

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-29 23:46:10 +08:00
lobehubbot 48a30566a9 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-29 15:32:26 +00:00
semantic-release-bot 99e72bbe3b 🔖 chore(release): v1.88.15 [skip ci]
### [Version&nbsp;1.88.15](https://github.com/lobehub/lobe-chat/compare/v1.88.14...v1.88.15)
<sup>Released on **2025-05-29**</sup>

#### 💄 Styles

- **misc**: Add fc ability to deepseek-reasoner model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add fc ability to deepseek-reasoner model, closes [#8006](https://github.com/lobehub/lobe-chat/issues/8006) ([1511c75](https://github.com/lobehub/lobe-chat/commit/1511c75))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-29 15:31:18 +00:00
Arvin Xu 1511c7531d 💄 style: add fc ability to deepseek-reasoner model (#8006) 2025-05-29 23:17:29 +08:00
YuTengjing ed2ce8d32f 📝 docs: add some cursor rules & optimize codebase indexing (#7999)
* 📝 docs: add some cursor rules & optimize codebase indexing

* 📝 docs: some code reviews issue by greptile
2025-05-29 15:46:27 +08:00
lobehubbot 2acd21e949 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-28 02:39:30 +00:00
semantic-release-bot f45d4a651f 🔖 chore(release): v1.88.14 [skip ci]
### [Version&nbsp;1.88.14](https://github.com/lobehub/lobe-chat/compare/v1.88.13...v1.88.14)
<sup>Released on **2025-05-28**</sup>

#### 🐛 Bug Fixes

- **misc**: Cant invoke the application after OIDC authorization in Windows 11.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Cant invoke the application after OIDC authorization in Windows 11, closes [#7900](https://github.com/lobehub/lobe-chat/issues/7900) ([585e386](https://github.com/lobehub/lobe-chat/commit/585e386))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-28 02:38:20 +00:00
huangkairan 585e386074 🐛 fix: cant invoke the application after OIDC authorization in Windows 11 (#7900) 2025-05-28 10:24:15 +08:00
lobehubbot dcd4b31178 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-27 15:29:19 +00:00
semantic-release-bot fb70932fe8 🔖 chore(release): v1.88.13 [skip ci]
### [Version&nbsp;1.88.13](https://github.com/lobehub/lobe-chat/compare/v1.88.12...v1.88.13)
<sup>Released on **2025-05-27**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-27 15:28:12 +00:00
Arvin Xu e68da28110 ️ perf: use approximate way with tokenizer (#7989) 2025-05-27 23:14:30 +08:00
lobehubbot f0cce15aae 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-27 10:46:15 +00:00
semantic-release-bot 68b38379b8 🔖 chore(release): v1.88.12 [skip ci]
### [Version&nbsp;1.88.12](https://github.com/lobehub/lobe-chat/compare/v1.88.11...v1.88.12)
<sup>Released on **2025-05-27**</sup>

#### 💄 Styles

- **misc**: Support adjust thinkingBudget in gemini 2.5 flash.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support adjust thinkingBudget in gemini 2.5 flash, closes [#7947](https://github.com/lobehub/lobe-chat/issues/7947) ([a9db548](https://github.com/lobehub/lobe-chat/commit/a9db548))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-27 10:45:01 +00:00
Alex Lin a9db54810a 💄 style: support adjust thinkingBudget in gemini 2.5 flash (#7947)
* 💄 style: support adjust thinkingBudget in gemini 2.5 flash

* 💄 style: support adjust thinkingBudget in gemini 2.5 flash

* 💄 style: support adjust thinkingBudget in gemini 2.5 flash
2025-05-27 18:31:08 +08:00
lobehubbot 7f2f30feb9 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-26 17:31:02 +00:00
semantic-release-bot 9c9f1c3c16 🔖 chore(release): v1.88.11 [skip ci]
### [Version&nbsp;1.88.11](https://github.com/lobehub/lobe-chat/compare/v1.88.10...v1.88.11)
<sup>Released on **2025-05-26**</sup>

#### 💄 Styles

- **misc**: Correct model name `SenseChat-5-1202`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Correct model name `SenseChat-5-1202`, closes [#7979](https://github.com/lobehub/lobe-chat/issues/7979) ([d9e1336](https://github.com/lobehub/lobe-chat/commit/d9e1336))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-26 17:29:57 +00:00
Zhijie He d9e1336c07 💄 style: correct model name SenseChat-5-1202 (#7979) 2025-05-27 01:16:11 +08:00
lobehubbot 58cedfaa5d 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-26 16:25:19 +00:00
semantic-release-bot 26e9584f5f 🔖 chore(release): v1.88.10 [skip ci]
### [Version&nbsp;1.88.10](https://github.com/lobehub/lobe-chat/compare/v1.88.9...v1.88.10)
<sup>Released on **2025-05-26**</sup>

#### 💄 Styles

- **DevPanel**: Improve json display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **DevPanel**: Improve json display, closes [#7978](https://github.com/lobehub/lobe-chat/issues/7978) ([db800d2](https://github.com/lobehub/lobe-chat/commit/db800d2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-26 16:24:11 +00:00
Kingsword db800d2b63 💄 style(DevPanel): improve json display (#7978) 2025-05-27 00:10:15 +08:00
semantic-release-bot 286f96ad37 🔖 chore(release): v1.88.9 [skip ci]
### [Version&nbsp;1.88.9](https://github.com/lobehub/lobe-chat/compare/v1.88.8...v1.88.9)
<sup>Released on **2025-05-26**</sup>

#### 🐛 Bug Fixes

- **misc**: Auto sync theme mode in desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Auto sync theme mode in desktop, closes [#7970](https://github.com/lobehub/lobe-chat/issues/7970) ([a16fa02](https://github.com/lobehub/lobe-chat/commit/a16fa02))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-26 07:06:42 +00:00
Arvin Xu a16fa0265b 🐛 fix: auto sync theme mode in desktop (#7970)
* auto sync theme

* improve style

* improve code
2025-05-26 14:53:02 +08:00
lobehubbot a4d7a47569 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-26 03:07:26 +00:00
semantic-release-bot 678608fc8b 🔖 chore(release): v1.88.8 [skip ci]
### [Version&nbsp;1.88.8](https://github.com/lobehub/lobe-chat/compare/v1.88.7...v1.88.8)
<sup>Released on **2025-05-26**</sup>

#### 💄 Styles

- **misc**: Allow `SliderWithInput` to have no input limit.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Allow `SliderWithInput` to have no input limit, closes [#7708](https://github.com/lobehub/lobe-chat/issues/7708) ([bdb02b2](https://github.com/lobehub/lobe-chat/commit/bdb02b2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-26 03:06:09 +00:00
sxjeru bdb02b2058 💄 style: Allow SliderWithInput to have no input limit (#7708)
* 💄 style: Enhance QwenAIStream with input timing and usage tracking

* Update index.ts

* Update index.ts

* fix

* fix

* fix test

* Update qwen.ts

* fix

* fix

*  style: Add unlimited input support to SliderWithInput in AgentChat, AgentModal, and Controls components

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-26 10:51:59 +08:00
lobehubbot f177fd0982 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-26 02:31:31 +00:00
semantic-release-bot 5ec717244f 🔖 chore(release): v1.88.7 [skip ci]
### [Version&nbsp;1.88.7](https://github.com/lobehub/lobe-chat/compare/v1.88.6...v1.88.7)
<sup>Released on **2025-05-26**</sup>

#### 🐛 Bug Fixes

- **DragUpload**: Resolve issue with pasting clipboard images in Safari.
- **misc**: Fix chat header in the desktop.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **DragUpload**: Resolve issue with pasting clipboard images in Safari, closes [#7961](https://github.com/lobehub/lobe-chat/issues/7961) ([3c3cc75](https://github.com/lobehub/lobe-chat/commit/3c3cc75))
* **misc**: Fix chat header in the desktop, closes [#7973](https://github.com/lobehub/lobe-chat/issues/7973) ([63c3a71](https://github.com/lobehub/lobe-chat/commit/63c3a71))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-26 02:30:15 +00:00
Arvin Xu 63c3a7188e 🐛 fix: fix chat header in the desktop (#7973) 2025-05-26 10:16:35 +08:00
Kingsword 3c3cc7513e 🐛 fix(DragUpload): resolve issue with pasting clipboard images in Safari (#7961) 2025-05-26 02:31:21 +08:00
lobehubbot 5b223200fb 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-25 17:46:04 +00:00
semantic-release-bot 98f2dba5f0 🔖 chore(release): v1.88.6 [skip ci]
### [Version&nbsp;1.88.6](https://github.com/lobehub/lobe-chat/compare/v1.88.5...v1.88.6)
<sup>Released on **2025-05-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix draggable issue with agent header.

#### 💄 Styles

- **misc**: Fix a few typos in the model tooltips.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix draggable issue with agent header, closes [#7968](https://github.com/lobehub/lobe-chat/issues/7968) ([cd84241](https://github.com/lobehub/lobe-chat/commit/cd84241))

#### Styles

* **misc**: Fix a few typos in the model tooltips, closes [#7952](https://github.com/lobehub/lobe-chat/issues/7952) ([8416fec](https://github.com/lobehub/lobe-chat/commit/8416fec))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-25 17:44:56 +00:00
Arvin Xu cd84241709 🐛 fix: fix draggable issue with agent header (#7968) 2025-05-26 01:31:25 +08:00
Daniel Tedesco 8416feca99 💄 style: fix a few typos in the model tooltips (#7952) 2025-05-26 00:26:11 +08:00
lobehubbot 324dbc548d 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-25 14:56:48 +00:00
semantic-release-bot 9d89b97b23 🔖 chore(release): v1.88.5 [skip ci]
### [Version&nbsp;1.88.5](https://github.com/lobehub/lobe-chat/compare/v1.88.4...v1.88.5)
<sup>Released on **2025-05-25**</sup>

#### 💄 Styles

- **misc**: Support share single message.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support share single message, closes [#7967](https://github.com/lobehub/lobe-chat/issues/7967) ([660a5ad](https://github.com/lobehub/lobe-chat/commit/660a5ad))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-25 14:55:38 +00:00
Arvin Xu 660a5ad167 💄 style: support share single message (#7967)
* support share single message

* Revert "support share single message"

This reverts commit 91fd96a96e.

* support share single message
2025-05-25 22:41:56 +08:00
lobehubbot 2e1b37dcce 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-25 09:26:51 +00:00
semantic-release-bot a11ebff552 🔖 chore(release): v1.88.4 [skip ci]
### [Version&nbsp;1.88.4](https://github.com/lobehub/lobe-chat/compare/v1.88.3...v1.88.4)
<sup>Released on **2025-05-25**</sup>

#### 🐛 Bug Fixes

- **docs**: Rename and update Google Gemini documentation.

#### 💄 Styles

- **misc**: Improve thread flicker when first-time loading.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **docs**: Rename and update Google Gemini documentation, closes [#7957](https://github.com/lobehub/lobe-chat/issues/7957) ([432c28d](https://github.com/lobehub/lobe-chat/commit/432c28d))

#### Styles

* **misc**: Improve thread flicker when first-time loading, closes [#7963](https://github.com/lobehub/lobe-chat/issues/7963) ([4cacacd](https://github.com/lobehub/lobe-chat/commit/4cacacd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-25 09:25:39 +00:00
Kingsword 432c28d193 🐛 fix(docs): rename and update Google Gemini documentation (#7957) 2025-05-25 17:12:02 +08:00
Arvin Xu 4cacacda67 💄 style: improve thread flicker when first-time loading (#7963) 2025-05-25 17:08:55 +08:00
lobehubbot f1d59864c1 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-25 05:55:10 +00:00
semantic-release-bot 01eaf8d903 🔖 chore(release): v1.88.3 [skip ci]
### [Version&nbsp;1.88.3](https://github.com/lobehub/lobe-chat/compare/v1.88.2...v1.88.3)
<sup>Released on **2025-05-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix message refresh 401 on desktop.

#### 💄 Styles

- **misc**: Add gemini & hunyuan & Claude models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix message refresh 401 on desktop, closes [#7958](https://github.com/lobehub/lobe-chat/issues/7958) ([b4b426f](https://github.com/lobehub/lobe-chat/commit/b4b426f))

#### Styles

* **misc**: Add gemini & hunyuan & Claude models, closes [#7908](https://github.com/lobehub/lobe-chat/issues/7908) ([5244f22](https://github.com/lobehub/lobe-chat/commit/5244f22))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-25 05:53:43 +00:00
sxjeru 5244f22bfb 💄 style: Add gemini & hunyuan & Claude models (#7908)
* Update google.ts

* Update google.ts

* Update hunyuan.ts

* Update google.ts

* Update google.ts

* Update novita.ts

* Update index.ts

* Update anthropic.ts

* Update anthropic.ts

* Update index.ts

* Update anthropic.ts

* Update index.ts

* fix test

* feat: 更新最大令牌配置逻辑,支持从模型配置中获取默认值

* Update anthropic.ts

* Update novita.ts
2025-05-25 12:41:29 +08:00
Arvin Xu b4b426f842 🐛 fix: fix message refresh 401 on desktop (#7958)
* update AccessToken

* update
2025-05-25 10:42:45 +08:00
YuTengjing fca25e1a12 📝 docs: i18n for crawlMultiPages and claude4 desc (#7942) 2025-05-24 09:22:24 +08:00
Kingsword b7a700c562 🐛 fix(chat): handle mobile query param in settings URL (#7948)
Ensure the settings URL correctly includes the mobile query parameter when applicable, improving consistency across devices.
2025-05-24 09:21:24 +08:00
lobehubbot a216cf38b5 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-24 00:59:53 +00:00
semantic-release-bot 81241d8e11 🔖 chore(release): v1.88.2 [skip ci]
### [Version&nbsp;1.88.2](https://github.com/lobehub/lobe-chat/compare/v1.88.1...v1.88.2)
<sup>Released on **2025-05-24**</sup>

#### 💄 Styles

- **misc**: Add live search support for xAI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add live search support for xAI, closes [#7907](https://github.com/lobehub/lobe-chat/issues/7907) ([dff4b7b](https://github.com/lobehub/lobe-chat/commit/dff4b7b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-24 00:58:45 +00:00
Zhijie He dff4b7bd17 💄 style: add live search support for xAI (#7907)
* 💄 style: add live search support for xAI

* 🔨 chore: rollback mode changes, change back to `auto`
2025-05-24 08:44:34 +08:00
lobehubbot dfdb904fcb 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-24 00:25:13 +00:00
semantic-release-bot f58c6e127c 🔖 chore(release): v1.88.1 [skip ci]
### [Version&nbsp;1.88.1](https://github.com/lobehub/lobe-chat/compare/v1.88.0...v1.88.1)
<sup>Released on **2025-05-24**</sup>

#### 🐛 Bug Fixes

- **misc**: User nickName & username selector in desktop.

#### 💄 Styles

- **misc**: Support Gemini 2.5 thought reasoning.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: User nickName & username selector in desktop, closes [#7899](https://github.com/lobehub/lobe-chat/issues/7899) ([bf51746](https://github.com/lobehub/lobe-chat/commit/bf51746))

#### Styles

* **misc**: Support Gemini 2.5 thought reasoning, closes [#7686](https://github.com/lobehub/lobe-chat/issues/7686) ([f34c4de](https://github.com/lobehub/lobe-chat/commit/f34c4de))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-24 00:23:57 +00:00
huangkairan bf5174635c 🐛 fix: user nickName & username selector in desktop (#7899) 2025-05-24 08:10:17 +08:00
sxjeru f34c4de11f 💄 style: Support Gemini 2.5 thought reasoning (#7686) 2025-05-24 08:09:25 +08:00
lobehubbot 6ec26ebd80 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-23 12:04:43 +00:00
semantic-release-bot 38f9cb3ed6 🔖 chore(release): v1.88.0 [skip ci]
## [Version&nbsp;1.88.0](https://github.com/lobehub/lobe-chat/compare/v1.87.9...v1.88.0)
<sup>Released on **2025-05-23**</sup>

####  Features

- **misc**: Add claude 4 series.

#### 🐛 Bug Fixes

- **misc**: Fix missing email field to user, update agent config of client db will override old config.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add claude 4 series, closes [#7939](https://github.com/lobehub/lobe-chat/issues/7939) ([9b4f950](https://github.com/lobehub/lobe-chat/commit/9b4f950))

#### What's fixed

* **misc**: Fix missing email field to user, closes [#7913](https://github.com/lobehub/lobe-chat/issues/7913) ([d314130](https://github.com/lobehub/lobe-chat/commit/d314130))
* **misc**: Update agent config of client db will override old config, closes [#7918](https://github.com/lobehub/lobe-chat/issues/7918) ([f7cda68](https://github.com/lobehub/lobe-chat/commit/f7cda68))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-23 12:03:30 +00:00
huangkairan d3141302dd 🐛 fix: fix missing email field to user (#7913)
* fix: pass email to user

* add test
2025-05-23 14:20:45 +08:00
YuTengjing f7cda68d6b 🐛 fix: update agent config of client db will override old config (#7918)
*  fix: update client db version override old config

*  refactor: use getServerDefaultAgentConfig for default agent configuration in createInbox method

*  build: fix session update config tests

* fix: missing getAppConfig export from @/config/app
2025-05-23 14:20:00 +08:00
Arvin Xu 9b4f950a03 feat: add claude 4 series (#7939) 2025-05-23 14:15:59 +08:00
lobehubbot 081088cb36 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-23 01:27:35 +00:00
semantic-release-bot 353e729c74 🔖 chore(release): v1.87.9 [skip ci]
### [Version&nbsp;1.87.9](https://github.com/lobehub/lobe-chat/compare/v1.87.8...v1.87.9)
<sup>Released on **2025-05-23**</sup>

#### 💄 Styles

- **misc**: Resolve InputNumber display overlap issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Resolve InputNumber display overlap issue, closes [#7892](https://github.com/lobehub/lobe-chat/issues/7892) ([5486663](https://github.com/lobehub/lobe-chat/commit/5486663))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-23 01:26:21 +00:00
Kingsword 5486663541 💄 style: resolve InputNumber display overlap issue (#7892)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-23 09:12:10 +08:00
lobehubbot 2916e4f568 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-22 23:24:08 +00:00
semantic-release-bot 10d38e032c 🔖 chore(release): v1.87.8 [skip ci]
### [Version&nbsp;1.87.8](https://github.com/lobehub/lobe-chat/compare/v1.87.7...v1.87.8)
<sup>Released on **2025-05-22**</sup>

#### 🐛 Bug Fixes

- **misc**: 'top_p' is not supported with o4-mini, pin zustand version to avoid type error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: 'top_p' is not supported with o4-mini, closes [#7747](https://github.com/lobehub/lobe-chat/issues/7747) ([4e04399](https://github.com/lobehub/lobe-chat/commit/4e04399))
* **misc**: Pin zustand version to avoid type error, closes [#7929](https://github.com/lobehub/lobe-chat/issues/7929) ([4f6e286](https://github.com/lobehub/lobe-chat/commit/4f6e286))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-22 23:22:54 +00:00
huangkairan 4f6e2862bc 🐛 fix: pin zustand version to avoid type error (#7929) 2025-05-22 23:12:09 +08:00
sxjeru 4e04399e39 🐛 fix: 'top_p' is not supported with o4-mini (#7747)
* Update index.ts

* Update index.ts

* Update index.ts

* Update index.test.ts.snap

* Update openai.ts

*  feat: update snap

* Update index.ts

* Update novita.ts

* Update siliconcloud.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-22 10:05:23 +08:00
lobehubbot 2d369bfbb6 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-21 08:25:58 +00:00
semantic-release-bot 3fd7fe2d5e 🔖 chore(release): v1.87.7 [skip ci]
### [Version&nbsp;1.87.7](https://github.com/lobehub/lobe-chat/compare/v1.87.6...v1.87.7)
<sup>Released on **2025-05-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Bump  @lobehub/ui to 2.1.7.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Bump  @lobehub/ui to 2.1.7, closes [#7912](https://github.com/lobehub/lobe-chat/issues/7912) ([457b645](https://github.com/lobehub/lobe-chat/commit/457b645))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-21 08:24:50 +00:00
𝑾𝒖𝒙𝒉 457b645a7e 🐛 fix: bump @lobehub/ui to 2.1.7 (#7912) 2025-05-21 16:10:40 +08:00
lobehubbot 292e63e270 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-21 05:19:53 +00:00
semantic-release-bot 28c3c61b20 🔖 chore(release): v1.87.6 [skip ci]
### [Version&nbsp;1.87.6](https://github.com/lobehub/lobe-chat/compare/v1.87.5...v1.87.6)
<sup>Released on **2025-05-21**</sup>

#### 💄 Styles

- **misc**: Improve tools display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve tools display, closes [#7906](https://github.com/lobehub/lobe-chat/issues/7906) ([af8a05b](https://github.com/lobehub/lobe-chat/commit/af8a05b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-21 05:18:46 +00:00
Arvin Xu af8a05b3dc 💄 style: improve tools display (#7906)
* update

* improve i18n for tools display

* Update src/tools/local-system/systemRole.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* fix tests

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-05-21 13:04:31 +08:00
lobehubbot 92598c00e5 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-20 05:04:22 +00:00
semantic-release-bot 9f9026fb13 🔖 chore(release): v1.87.5 [skip ci]
### [Version&nbsp;1.87.5](https://github.com/lobehub/lobe-chat/compare/v1.87.4...v1.87.5)
<sup>Released on **2025-05-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop open issue on linux like Fedora42.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop open issue on linux like Fedora42, closes [#7883](https://github.com/lobehub/lobe-chat/issues/7883) ([5b0154f](https://github.com/lobehub/lobe-chat/commit/5b0154f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-20 05:03:09 +00:00
Arvin Xu 5b0154f3d1 🐛 fix: fix desktop open issue on linux like Fedora42 (#7883)
* fix gtk version

* fix gtk version

* fix lint
2025-05-20 12:49:14 +08:00
littleLice 4ebd143bcf 📝 docs: Update docs/usage/providers/vllm.zh-CN.mdx (#7874) 2025-05-19 11:51:38 +08:00
renovate[bot] 8deb00cfd3 Update dependency @anthropic-ai/sdk to ^0.51.0 (#7877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 11:50:14 +08:00
lobehubbot a2e10a09fe 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-18 09:34:31 +00:00
semantic-release-bot fb5fdb2971 🔖 chore(release): v1.87.4 [skip ci]
### [Version&nbsp;1.87.4](https://github.com/lobehub/lobe-chat/compare/v1.87.3...v1.87.4)
<sup>Released on **2025-05-18**</sup>

#### 🐛 Bug Fixes

- **misc**: Supported SenseNova v6 models correctly & update Gemini models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Supported SenseNova v6 models correctly & update Gemini models, closes [#7778](https://github.com/lobehub/lobe-chat/issues/7778) ([e2b5ed3](https://github.com/lobehub/lobe-chat/commit/e2b5ed3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-18 09:33:21 +00:00
sxjeru e2b5ed3de7 🐛 fix: supported SenseNova v6 models correctly & update Gemini models (#7778)
*  feat: update sensenove models info

* 🐛 fix: handle model validation in message processing

* fix

* 🐛 fix: 修复带图片内容的处理逻辑

* fix

* Update google.ts

* Update index.ts

* Update google.ts

* Update google.ts

* Update google.ts

* Update google.ts

* Update novita.ts
2025-05-18 17:19:34 +08:00
lobehubbot b96947fe6d 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-17 09:47:35 +00:00
semantic-release-bot 13c9a4c5bc 🔖 chore(release): v1.87.3 [skip ci]
### [Version&nbsp;1.87.3](https://github.com/lobehub/lobe-chat/compare/v1.87.2...v1.87.3)
<sup>Released on **2025-05-17**</sup>

#### ♻ Code Refactoring

- **misc**: Clean code with new antd api.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Clean code with new antd api, closes [#7870](https://github.com/lobehub/lobe-chat/issues/7870) ([c543884](https://github.com/lobehub/lobe-chat/commit/c543884))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-17 09:46:27 +00:00
Arvin Xu c543884dd6 ♻️ refactor: clean code with new antd api (#7870) 2025-05-17 17:05:54 +08:00
huangkairan d6e3fbf98b 🔨 chore: update desktop env (#7860)
Co-authored-by: GH Action - Upstream Sync <action@github.com>
2025-05-17 00:07:17 +08:00
lobehubbot 59a0057572 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-16 14:39:41 +00:00
semantic-release-bot 4747b9a29c 🔖 chore(release): v1.87.2 [skip ci]
### [Version&nbsp;1.87.2](https://github.com/lobehub/lobe-chat/compare/v1.87.1...v1.87.2)
<sup>Released on **2025-05-16**</sup>

#### 💄 Styles

- **misc**: Support Doubao 1.5 Thinking Vision Pro model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Doubao 1.5 Thinking Vision Pro model, closes [#7784](https://github.com/lobehub/lobe-chat/issues/7784) ([9cf0d6f](https://github.com/lobehub/lobe-chat/commit/9cf0d6f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-16 14:38:35 +00:00
sxjeru 9cf0d6fbca 💄 style: Support Doubao 1.5 Thinking Vision Pro model (#7784)
*  feat: 添加 Doubao 1.5 Thinking Vision Pro 模型并更新 Volcengine AI 聊天完成处理逻辑

*  feat: 启用 Doubao 1.5 Thinking Vision Pro 模型并更新思考处理逻辑

* fix
2025-05-16 22:24:19 +08:00
lobehubbot 44d17c8ae4 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-16 08:57:24 +00:00
semantic-release-bot fc69ff87c5 🔖 chore(release): v1.87.1 [skip ci]
### [Version&nbsp;1.87.1](https://github.com/lobehub/lobe-chat/compare/v1.87.0...v1.87.1)
<sup>Released on **2025-05-16**</sup>

#### 💄 Styles

- **misc**: Update internlm model list, add  series, update Spark X1 model list & fix build-in search params.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update internlm model list, add  series, closes [#7566](https://github.com/lobehub/lobe-chat/issues/7566) ([4eaddf4](https://github.com/lobehub/lobe-chat/commit/4eaddf4))
* **misc**: Update Spark X1 model list & fix build-in search params, closes [#7480](https://github.com/lobehub/lobe-chat/issues/7480) ([7050c81](https://github.com/lobehub/lobe-chat/commit/7050c81))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-16 08:56:10 +00:00
Zhijie He 7050c81497 💄 style: update Spark X1 model list & fix build-in search params (#7480)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-16 16:42:01 +08:00
Zhijie He 4eaddf4296 💄 style: update internlm model list, add series (#7566)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-05-16 16:41:18 +08:00
lobehubbot 879a777861 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-16 07:27:54 +00:00
semantic-release-bot 5ef2753f73 🔖 chore(release): v1.87.0 [skip ci]
## [Version&nbsp;1.87.0](https://github.com/lobehub/lobe-chat/compare/v1.86.1...v1.87.0)
<sup>Released on **2025-05-16**</sup>

####  Features

- **misc**: Support custom language and Mermaid Appearance.

#### 🐛 Bug Fixes

- **misc**: Fix oidc redirect url.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support custom language and Mermaid Appearance, closes [#7850](https://github.com/lobehub/lobe-chat/issues/7850) ([bee2b2d](https://github.com/lobehub/lobe-chat/commit/bee2b2d))

#### What's fixed

* **misc**: Fix oidc redirect url, closes [#7855](https://github.com/lobehub/lobe-chat/issues/7855) ([3156538](https://github.com/lobehub/lobe-chat/commit/3156538))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-16 07:26:38 +00:00
CanisMinor bee2b2d598 feat: support custom language and Mermaid Appearance (#7850)
*  feat: Add Appearance setting

* 🔧 chore: Update i18n

* 🐛 fix: Fix some issues
2025-05-16 15:12:15 +08:00
huangkairan 31565382b0 🐛 fix: fix oidc redirect url (#7855) 2025-05-16 15:01:11 +08:00
Arvin Xu 56468dd2a2 test: fix tests (#7856) 2025-05-16 15:00:51 +08:00
gru-agent[bot] 1dc9a6d917 test: Add unit tests for desktopStateSelectors to validate userPath retrieval and handling of undefined cases. (#7690)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-15 17:39:46 +08:00
lobehubbot 64242c628c 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-15 06:25:12 +00:00
semantic-release-bot 857cc6d9ee 🔖 chore(release): v1.86.1 [skip ci]
### [Version&nbsp;1.86.1](https://github.com/lobehub/lobe-chat/compare/v1.86.0...v1.86.1)
<sup>Released on **2025-05-15**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor agent runtime to model runtime.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor agent runtime to model runtime, closes [#7846](https://github.com/lobehub/lobe-chat/issues/7846) ([a3b9448](https://github.com/lobehub/lobe-chat/commit/a3b9448))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-15 06:24:04 +00:00
Arvin Xu a3b94488f8 ♻️ refactor: refactor agent runtime to model runtime (#7846) 2025-05-15 14:10:12 +08:00
lobehubbot 5e61929ede 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-15 03:23:24 +00:00
semantic-release-bot 62731712c1 🔖 chore(release): v1.86.0 [skip ci]
## [Version&nbsp;1.86.0](https://github.com/lobehub/lobe-chat/compare/v1.85.10...v1.86.0)
<sup>Released on **2025-05-15**</sup>

####  Features

- **misc**: Add Qiniu Provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Qiniu Provider, closes [#7649](https://github.com/lobehub/lobe-chat/issues/7649) ([c9b8e9f](https://github.com/lobehub/lobe-chat/commit/c9b8e9f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-15 03:22:19 +00:00
Zhifeng Li c9b8e9f655 feat: add Qiniu Provider (#7649)
*  feat: Add Qiniu

*  feat: Add Qiniu Image
2025-05-15 11:08:49 +08:00
lobehubbot a5c2b687c5 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-14 15:21:31 +00:00
semantic-release-bot c77a28cc72 🔖 chore(release): v1.85.10 [skip ci]
### [Version&nbsp;1.85.10](https://github.com/lobehub/lobe-chat/compare/v1.85.9...v1.85.10)
<sup>Released on **2025-05-14**</sup>

#### 💄 Styles

- **misc**: Update electron style on windows.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update electron style on windows, closes [#7839](https://github.com/lobehub/lobe-chat/issues/7839) ([474de56](https://github.com/lobehub/lobe-chat/commit/474de56))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-14 15:20:20 +00:00
CanisMinor 474de56a93 💄 style: update electron style on windows (#7839)
* 💄 style: add chrome flags to electron, update scrollbar style on win

* 💄 style: Update win11 backgroundMaterial

* 💄 style: Update title bar style

* 💄 style: Update WinControl

* 💄 style: Add nsis image
2025-05-14 23:06:30 +08:00
lobehubbot 6f0de05602 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-14 09:45:41 +00:00
semantic-release-bot 58dddc9e51 🔖 chore(release): v1.85.9 [skip ci]
### [Version&nbsp;1.85.9](https://github.com/lobehub/lobe-chat/compare/v1.85.8...v1.85.9)
<sup>Released on **2025-05-14**</sup>

#### 🐛 Bug Fixes

- **misc**: Redirect unauthorized next-auth user to signin page.

#### 💄 Styles

- **misc**: Improve smoothing on completion.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Redirect unauthorized next-auth user to signin page, closes [#7813](https://github.com/lobehub/lobe-chat/issues/7813) ([6160784](https://github.com/lobehub/lobe-chat/commit/6160784))

#### Styles

* **misc**: Improve smoothing on completion, closes [#7833](https://github.com/lobehub/lobe-chat/issues/7833) ([6434686](https://github.com/lobehub/lobe-chat/commit/6434686))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-14 09:44:26 +00:00
Arvin Xu 64346864ef 💄 style: improve smoothing on completion (#7833)
* test smoothing

* try to fix animation

* fix tests

* 💄 style: Fix Portal scroll

* 💄 style: Fix actionbar max height

* 💄 style: Update Thinking style

* 💄 style: Update scroll smooth

* 🔧 chore(revert): 暂时还原 scrollToIndex smooth,输出时容易丢失滚动到底部的行为

---------

Co-authored-by: canisminor1990 <i@canisminor.cc>
2025-05-14 17:30:42 +08:00
Max Brauer a988632e77 🔨 chore: disable signups for the default lobechat org in Casdoor (#7830)
Otherwise, anyone can signup with the lobechat organization and it is
very likely that's not wanted. We should be closed and secure by
default.

Signed-off-by: Max Brauer <mbrauer@vmware.com>
2025-05-14 10:08:23 +08:00
Rylan Cai 6160784047 🐛 fix: Redirect unauthorized next-auth user to signin page (#7813) 2025-05-14 10:07:09 +08:00
lobehubbot f97e778cc6 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-11 15:59:33 +00:00
semantic-release-bot 68610acffc 🔖 chore(release): v1.85.8 [skip ci]
### [Version&nbsp;1.85.8](https://github.com/lobehub/lobe-chat/compare/v1.85.7...v1.85.8)
<sup>Released on **2025-05-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix config import issue in the desktop version.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix config import issue in the desktop version, closes [#7800](https://github.com/lobehub/lobe-chat/issues/7800) ([2cb8635](https://github.com/lobehub/lobe-chat/commit/2cb8635))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-11 15:58:28 +00:00
Arvin Xu 2cb863524d 🐛 fix: fix config import issue in the desktop version (#7800)
* refactor upload feature

* fix import file upload with desktop

* fix tests

* fix tests
2025-05-11 23:45:03 +08:00
lobehubbot a28edad521 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-11 04:04:53 +00:00
semantic-release-bot db225fc44b 🔖 chore(release): v1.85.7 [skip ci]
### [Version&nbsp;1.85.7](https://github.com/lobehub/lobe-chat/compare/v1.85.6...v1.85.7)
<sup>Released on **2025-05-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix streamable http url valid and refactor local files to local system.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix streamable http url valid and refactor local files to local system, closes [#7794](https://github.com/lobehub/lobe-chat/issues/7794) ([37fd5fe](https://github.com/lobehub/lobe-chat/commit/37fd5fe))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-11 04:03:39 +00:00
Arvin Xu 37fd5fea90 🐛 fix: fix streamable http url valid and refactor local files to local system (#7794)
* refactor local files to local system

* update i18n
2025-05-11 11:49:39 +08:00
renovate[bot] 9b59dd8a76 Update dependency lucide-react to ^0.509.0 (#7789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 11:15:53 +08:00
Arvin Xu ef3089049a 🐛 fix: fix macOS fisrt time open issue (#7788)
* fix

* try to fix again
2025-05-11 10:57:31 +08:00
lobehubbot 944394cf2e 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 14:16:26 +00:00
semantic-release-bot 1ffd37320f 🔖 chore(release): v1.85.6 [skip ci]
### [Version&nbsp;1.85.6](https://github.com/lobehub/lobe-chat/compare/v1.85.5...v1.85.6)
<sup>Released on **2025-05-10**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 14:15:19 +00:00
Arvin Xu a0713c98ba 👷 build: update build workflow (#7786)
* try to fix mac sign

* update beta env
2025-05-10 22:01:32 +08:00
lobehubbot 3f5bd5dddd 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 12:30:36 +00:00
semantic-release-bot 5e091d2bb9 🔖 chore(release): v1.85.5 [skip ci]
### [Version&nbsp;1.85.5](https://github.com/lobehub/lobe-chat/compare/v1.85.4...v1.85.5)
<sup>Released on **2025-05-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix window close issue and release Window/Linux beta.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix window close issue and release Window/Linux beta, closes [#7780](https://github.com/lobehub/lobe-chat/issues/7780) ([82c48b9](https://github.com/lobehub/lobe-chat/commit/82c48b9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 12:29:28 +00:00
Arvin Xu 82c48b916f 🐛 fix: fix window close issue and release Window/Linux beta (#7780)
* fix window close issue

* try to fix win loading

* try to fix win build

* try to fix win build

* fix win build issue

* fix win build issue
2025-05-10 20:15:41 +08:00
lobehubbot 294790bef7 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 12:13:21 +00:00
semantic-release-bot 25d19ff9fa 🔖 chore(release): v1.85.4 [skip ci]
### [Version&nbsp;1.85.4](https://github.com/lobehub/lobe-chat/compare/v1.85.3...v1.85.4)
<sup>Released on **2025-05-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix nothing return when reset the client db.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix nothing return when reset the client db, closes [#7738](https://github.com/lobehub/lobe-chat/issues/7738) ([90efb13](https://github.com/lobehub/lobe-chat/commit/90efb13))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 12:12:16 +00:00
vual 90efb13fca 🐛 fix: fix nothing return when reset the client db (#7738) 2025-05-10 19:58:44 +08:00
lobehubbot ceaf7bbb25 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 11:55:30 +00:00
semantic-release-bot 7169ae0d40 🔖 chore(release): v1.85.3 [skip ci]
### [Version&nbsp;1.85.3](https://github.com/lobehub/lobe-chat/compare/v1.85.2...v1.85.3)
<sup>Released on **2025-05-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Remove mcp client cache.

#### 💄 Styles

- **misc**: Improve pdf and xlsx file content parser.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove mcp client cache, closes [#7776](https://github.com/lobehub/lobe-chat/issues/7776) ([0582134](https://github.com/lobehub/lobe-chat/commit/0582134))

#### Styles

* **misc**: Improve pdf and xlsx file content parser, closes [#7783](https://github.com/lobehub/lobe-chat/issues/7783) ([0376870](https://github.com/lobehub/lobe-chat/commit/0376870))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 11:54:16 +00:00
Arvin Xu 0376870211 💄 style: improve pdf and xlsx file content parser (#7783)
* remove cache

* improve caching
2025-05-10 19:40:45 +08:00
gru-agent[bot] 5f26f042e3 test: Add unit tests for importerRouter functionality in importer.test.ts (#7754)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-10 16:25:28 +08:00
Arvin Xu 0582134f1c 🐛 fix: remove mcp client cache (#7776) 2025-05-10 16:18:09 +08:00
lobehubbot 35d9ac4962 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 06:43:55 +00:00
semantic-release-bot d692ce0303 🔖 chore(release): v1.85.2 [skip ci]
### [Version&nbsp;1.85.2](https://github.com/lobehub/lobe-chat/compare/v1.85.1...v1.85.2)
<sup>Released on **2025-05-10**</sup>

#### ♻ Code Refactoring

- **misc**: Upgrade anthropic sdk.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Upgrade anthropic sdk, closes [#7773](https://github.com/lobehub/lobe-chat/issues/7773) ([39e871f](https://github.com/lobehub/lobe-chat/commit/39e871f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 06:42:49 +00:00
Arvin Xu 39e871fc50 ♻️ refactor: upgrade anthropic sdk (#7773) 2025-05-10 14:29:22 +08:00
lobehubbot 1c0bac0f75 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-10 03:51:02 +00:00
semantic-release-bot 48e16b1399 🔖 chore(release): v1.85.1 [skip ci]
### [Version&nbsp;1.85.1](https://github.com/lobehub/lobe-chat/compare/v1.85.0...v1.85.1)
<sup>Released on **2025-05-10**</sup>

#### 💄 Styles

- **misc**: Add Qwen3 models for infiniai.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Qwen3 models for infiniai, closes [#7657](https://github.com/lobehub/lobe-chat/issues/7657) ([edd1732](https://github.com/lobehub/lobe-chat/commit/edd1732))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-10 03:49:44 +00:00
WangYK edd173287f 💄 style: add Qwen3 models for infiniai (#7657) 2025-05-10 11:36:11 +08:00
Arvin Xu 73bf2cc07b 👷 build: fix docker build (#7772)
* update pnpm version

* update eslint

* 恢复eslint版本

Co-authored-by: vual <25891219+vual@users.noreply.github.com>
2025-05-10 11:27:29 +08:00
gru-agent[bot] bc5498a212 test: Add unit tests for TempFileManager using Vitest (#7755)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-10 11:24:23 +08:00
gru-agent[bot] e1435b0e35 test: Add unit tests for the FileService downloadFileToLocal method. (#7758)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-10 11:23:37 +08:00
gru-agent[bot] 800a3fc6ee test: Add unit tests for messageRouter functionality in message.test.ts (#7761)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-10 11:22:47 +08:00
lobehubbot 4f626ff9cf 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-09 17:13:44 +00:00
semantic-release-bot 3d6f6f701a 🔖 chore(release): v1.85.0 [skip ci]
## [Version&nbsp;1.85.0](https://github.com/lobehub/lobe-chat/compare/v1.84.27...v1.85.0)
<sup>Released on **2025-05-09**</sup>

####  Features

- **misc**: Support upload files direct into chat context.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support upload files direct into chat context, closes [#7751](https://github.com/lobehub/lobe-chat/issues/7751) ([39b790e](https://github.com/lobehub/lobe-chat/commit/39b790e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-09 17:12:34 +00:00
Arvin Xu 39b790ec37 feat: support upload files direct into chat context (#7751)
* add document service

* add file item

* add file content for direct upload file

* fix tests

* fix tests

* fix tests

* add debug log for file-loaders

* add debug log and test

* improve loading

* update tests

* fix pdf parser

* fix pdf version

* fix pdf worker url

* fix pdf worker url

* fix test
2025-05-10 00:58:39 +08:00
lobehubbot 2beee680bb 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-09 01:26:47 +00:00
semantic-release-bot 31b1d66e0d 🔖 chore(release): v1.84.27 [skip ci]
### [Version&nbsp;1.84.27](https://github.com/lobehub/lobe-chat/compare/v1.84.26...v1.84.27)
<sup>Released on **2025-05-09**</sup>

#### 💄 Styles

- **misc**: Add reasoning tokens and token usage statistics for Google Gemini.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add reasoning tokens and token usage statistics for Google Gemini, closes [#7501](https://github.com/lobehub/lobe-chat/issues/7501) ([b466b42](https://github.com/lobehub/lobe-chat/commit/b466b42))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-09 01:25:34 +00:00
renovate[bot] 31bec5324d Update dependency @anthropic-ai/sdk to ^0.41.0 (#7568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 09:11:51 +08:00
gru-agent[bot] 33c2146047 test: Add unit tests for fileRouter in the lambda module. (#7760)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-09 09:10:11 +08:00
afon b466b42d17 💄 style: add reasoning tokens and token usage statistics for Google Gemini (#7501) 2025-05-09 08:31:00 +08:00
lobehubbot db967ffbad 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-08 18:46:14 +00:00
semantic-release-bot 95466ae3c1 🔖 chore(release): v1.84.26 [skip ci]
### [Version&nbsp;1.84.26](https://github.com/lobehub/lobe-chat/compare/v1.84.25...v1.84.26)
<sup>Released on **2025-05-08**</sup>

#### 💄 Styles

- **misc**: Add qwen3 for ollama.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add qwen3 for ollama, closes [#7746](https://github.com/lobehub/lobe-chat/issues/7746) ([806d905](https://github.com/lobehub/lobe-chat/commit/806d905))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-08 18:45:01 +00:00
Arvin Xu 6f42f0f26e 🔨 chore: fix tests (#7757) 2025-05-09 02:31:17 +08:00
Arvin Xu 806d9051f8 💄 style: add qwen3 for ollama (#7746)
* make qwen3 default

* refactor TempFileManager

* refactor file service

* clean
2025-05-09 01:36:57 +08:00
renovate[bot] f8568170b5 Update dependency lucide-react to ^0.508.0 (#7698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 01:00:51 +08:00
lobehubbot d964af26a9 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-08 16:23:37 +00:00
semantic-release-bot ecdf51bc82 🔖 chore(release): v1.84.25 [skip ci]
### [Version&nbsp;1.84.25](https://github.com/lobehub/lobe-chat/compare/v1.84.24...v1.84.25)
<sup>Released on **2025-05-08**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop upload image on macOS.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop upload image on macOS, closes [#7741](https://github.com/lobehub/lobe-chat/issues/7741) ([07d5374](https://github.com/lobehub/lobe-chat/commit/07d5374))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-08 16:22:25 +00:00
Arvin Xu 07d5374ab8 🐛 fix: fix desktop upload image on macOS (#7741)
* fix image

* fix

* fix lint

* fix

* add tests

* update testss

* remove tests

* try to fix

* try to fix desktop image issue

* Revert "try to fix desktop image issue"

This reverts commit 8dad8f3937.
2025-05-09 00:08:32 +08:00
lobehubbot 0cda0829e7 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-08 15:20:18 +00:00
semantic-release-bot e5469b6c5c 🔖 chore(release): v1.84.24 [skip ci]
### [Version&nbsp;1.84.24](https://github.com/lobehub/lobe-chat/compare/v1.84.23...v1.84.24)
<sup>Released on **2025-05-08**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix changelog issue on desktop app.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix changelog issue on desktop app, closes [#7740](https://github.com/lobehub/lobe-chat/issues/7740) ([f0a12af](https://github.com/lobehub/lobe-chat/commit/f0a12af))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-08 15:19:06 +00:00
gru-agent[bot] c6e81371b3 test: Add unit tests for API_ENDPOINTS in _url module. (#7700)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-08 16:45:58 +08:00
Arvin Xu f0a12afd23 🐛 fix: fix changelog issue on desktop app (#7740)
* update

* update
2025-05-08 16:38:29 +08:00
lobehubbot 313c03ae30 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-08 03:15:25 +00:00
semantic-release-bot 22af8147e5 🔖 chore(release): v1.84.23 [skip ci]
### [Version&nbsp;1.84.23](https://github.com/lobehub/lobe-chat/compare/v1.84.22...v1.84.23)
<sup>Released on **2025-05-08**</sup>

#### 💄 Styles

- **misc**: Add new gemini & Mistral models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add new gemini & Mistral models, closes [#7730](https://github.com/lobehub/lobe-chat/issues/7730) ([b7753e2](https://github.com/lobehub/lobe-chat/commit/b7753e2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-08 03:14:10 +00:00
𝑾𝒖𝒙𝒉 ecfc79da07 💄style: Improve the shortcut key prompt panel (#7723) 2025-05-08 11:00:29 +08:00
sxjeru b7753e253e 💄 style: Add new gemini & Mistral models (#7730)
* Update google.ts

* Update google.ts

* Update google.ts

* Update vertexai.ts

* Update vertexai.ts

* Update mistral.ts
2025-05-08 11:00:14 +08:00
Max Brauer 7469c10a9a 🔨 chore: fix typo in docker compose (#7718)
Signed-off-by: Max Brauer <mbrauer@vmware.com>
2025-05-08 10:22:24 +08:00
Lumia 655f7f02d6 📝 docs: Update Dokploy Deplyment Documents (#7737)
* Update dokploy.mdx

* Update dokploy.zh-CN.mdx
2025-05-08 10:21:06 +08:00
lobehubbot 792bb59514 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-07 01:16:07 +00:00
semantic-release-bot cb518acfd3 🔖 chore(release): v1.84.22 [skip ci]
### [Version&nbsp;1.84.22](https://github.com/lobehub/lobe-chat/compare/v1.84.21...v1.84.22)
<sup>Released on **2025-05-07**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix electron state init on window.

#### 💄 Styles

- **misc**: Add Xiaohongshu crawler rules.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix electron state init on window, closes [#7707](https://github.com/lobehub/lobe-chat/issues/7707) ([ef05b49](https://github.com/lobehub/lobe-chat/commit/ef05b49))

#### Styles

* **misc**: Add Xiaohongshu crawler rules, closes [#7717](https://github.com/lobehub/lobe-chat/issues/7717) ([cc3724d](https://github.com/lobehub/lobe-chat/commit/cc3724d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-07 01:14:58 +00:00
Zhijie He cc3724d968 💄 style: add Xiaohongshu crawler rules (#7717) 2025-05-07 09:01:34 +08:00
Arvin Xu ef05b497ef 🐛 fix: fix electron state init on window (#7707) 2025-05-07 09:01:14 +08:00
lobehubbot 4fe666a866 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-04 12:02:17 +00:00
semantic-release-bot 7668437641 🔖 chore(release): v1.84.21 [skip ci]
### [Version&nbsp;1.84.21](https://github.com/lobehub/lobe-chat/compare/v1.84.20...v1.84.21)
<sup>Released on **2025-05-04**</sup>

#### ♻ Code Refactoring

- **misc**: Remove doubao Provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Remove doubao Provider, closes [#7573](https://github.com/lobehub/lobe-chat/issues/7573) ([0cf3bcc](https://github.com/lobehub/lobe-chat/commit/0cf3bcc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-04 12:01:06 +00:00
sxjeru 0cf3bcc19c ♻️ refactor: Remove doubao Provider (#7573)
* 🗑️ refactor: 移除 Doubao 相关模型和配置

* Update siliconcloud.ts

* del

* fix
2025-05-04 19:47:47 +08:00
gru-agent[bot] 75b639b1e7 test: Refactor AssistantStore tests to improve structure and clarity, including EdgeConfig mocking and fetch error handling. (#7704)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-04 19:46:47 +08:00
lobehubbot 14d8f51c62 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-04 08:23:50 +00:00
semantic-release-bot 6c575917bf 🔖 chore(release): v1.84.20 [skip ci]
### [Version&nbsp;1.84.20](https://github.com/lobehub/lobe-chat/compare/v1.84.19...v1.84.20)
<sup>Released on **2025-05-04**</sup>

#### 💄 Styles

- **misc**: Show Aliyun Bailian tokens usage tracking.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Show Aliyun Bailian tokens usage tracking, closes [#7660](https://github.com/lobehub/lobe-chat/issues/7660) ([3ef0542](https://github.com/lobehub/lobe-chat/commit/3ef0542))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-04 08:22:44 +00:00
sxjeru 3ef05421a3 💄 style: Show Aliyun Bailian tokens usage tracking (#7660) 2025-05-04 16:09:06 +08:00
lobehubbot 1ece6f6a69 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-04 00:49:25 +00:00
semantic-release-bot 53a83842e0 🔖 chore(release): v1.84.19 [skip ci]
### [Version&nbsp;1.84.19](https://github.com/lobehub/lobe-chat/compare/v1.84.18...v1.84.19)
<sup>Released on **2025-05-04**</sup>

#### 💄 Styles

- **misc**: Fix init state of loading.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix init state of loading, closes [#7694](https://github.com/lobehub/lobe-chat/issues/7694) ([1d97a68](https://github.com/lobehub/lobe-chat/commit/1d97a68))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-04 00:48:19 +00:00
Arvin Xu 1d97a6834d 💄 style: fix init state of loading (#7694) 2025-05-04 08:34:13 +08:00
lobehubbot 80558b27a2 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-03 16:26:53 +00:00
semantic-release-bot d46e72f407 🔖 chore(release): v1.84.18 [skip ci]
### [Version&nbsp;1.84.18](https://github.com/lobehub/lobe-chat/compare/v1.84.17...v1.84.18)
<sup>Released on **2025-05-03**</sup>

#### ♻ Code Refactoring

- **misc**: Add perf stat support for openai factory.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add perf stat support for openai factory, closes [#7677](https://github.com/lobehub/lobe-chat/issues/7677) ([40464d1](https://github.com/lobehub/lobe-chat/commit/40464d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-03 16:25:44 +00:00
gru-agent[bot] 0b25a64315 test: Add unit tests for localFileSlice actions in the chat store. (#7691)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-05-04 00:12:12 +08:00
Rylan Cai 40464d108c ♻️ refactor: add perf stat support for openai factory (#7677) 2025-05-03 16:23:13 +08:00
lobehubbot ceb22c06d6 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-03 02:15:33 +00:00
semantic-release-bot ae80489e07 🔖 chore(release): v1.84.17 [skip ci]
### [Version&nbsp;1.84.17](https://github.com/lobehub/lobe-chat/compare/v1.84.16...v1.84.17)
<sup>Released on **2025-05-03**</sup>

#### 💄 Styles

- **misc**: Add write file tool to local-file plugin.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add write file tool to local-file plugin, closes [#7684](https://github.com/lobehub/lobe-chat/issues/7684) ([e22e932](https://github.com/lobehub/lobe-chat/commit/e22e932))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-03 02:14:27 +00:00
Arvin Xu e22e93262a 💄 style: add write file tool to local-file plugin (#7684) 2025-05-03 10:01:01 +08:00
lobehubbot ab40a8541a 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-02 00:09:06 +00:00
semantic-release-bot aaca997084 🔖 chore(release): v1.84.16 [skip ci]
### [Version&nbsp;1.84.16](https://github.com/lobehub/lobe-chat/compare/v1.84.15...v1.84.16)
<sup>Released on **2025-05-02**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop quiting with reopen window.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop quiting with reopen window, closes [#7675](https://github.com/lobehub/lobe-chat/issues/7675) ([edeabcf](https://github.com/lobehub/lobe-chat/commit/edeabcf))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-02 00:07:53 +00:00
Arvin Xu c9af692da6 test: fix tests (#7680) 2025-05-02 07:54:33 +08:00
Arvin Xu edeabcfafb 🐛 fix: fix desktop quiting with reopen window (#7675)
* add rename renderer

* fix close issue
2025-05-02 05:53:14 +08:00
lobehubbot c2004e9b24 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-01 12:44:08 +00:00
semantic-release-bot 5301ddfd7a 🔖 chore(release): v1.84.15 [skip ci]
### [Version&nbsp;1.84.15](https://github.com/lobehub/lobe-chat/compare/v1.84.14...v1.84.15)
<sup>Released on **2025-05-01**</sup>

#### 🐛 Bug Fixes

- **misc**: Siliconflow requests with tools no longer force non-streaming.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Siliconflow requests with tools no longer force non-streaming, closes [#7663](https://github.com/lobehub/lobe-chat/issues/7663) ([77777b2](https://github.com/lobehub/lobe-chat/commit/77777b2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-01 12:43:03 +00:00
sxjeru 77777b2de0 🐛 fix: Siliconflow requests with tools no longer force non-streaming (#7663) 2025-05-01 20:29:47 +08:00
lobehubbot 9b7d0d96bb 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-01 08:56:57 +00:00
semantic-release-bot 7402d1a880 🔖 chore(release): v1.84.14 [skip ci]
### [Version&nbsp;1.84.14](https://github.com/lobehub/lobe-chat/compare/v1.84.13...v1.84.14)
<sup>Released on **2025-05-01**</sup>

#### 💄 Styles

- **misc**: Add windows control and tray.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add windows control and tray, closes [#7665](https://github.com/lobehub/lobe-chat/issues/7665) ([c5f3d13](https://github.com/lobehub/lobe-chat/commit/c5f3d13))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-01 08:55:52 +00:00
Arvin Xu c5f3d13c14 💄 style: add windows control and tray (#7665)
* add windows support

* add windows close support

* improve

* fix

* FIX

* improve builder

* improve windows icon
2025-05-01 16:42:26 +08:00
lobehubbot 6d8ca6ab76 📝 docs(bot): Auto sync agents & plugin to readme 2025-05-01 06:41:55 +00:00
semantic-release-bot fc417fd5db 🔖 chore(release): v1.84.13 [skip ci]
### [Version&nbsp;1.84.13](https://github.com/lobehub/lobe-chat/compare/v1.84.12...v1.84.13)
<sup>Released on **2025-05-01**</sup>

#### 💄 Styles

- **misc**: Fix style issues.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix style issues, closes [#7659](https://github.com/lobehub/lobe-chat/issues/7659) ([3da871b](https://github.com/lobehub/lobe-chat/commit/3da871b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-05-01 06:40:50 +00:00
CanisMinor 3da871b4d7 💄 style: Fix style issues (#7659) 2025-05-01 14:27:21 +08:00
lobehubbot d94e94d12d 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-30 17:13:56 +00:00
semantic-release-bot 1caae85ced 🔖 chore(release): v1.84.12 [skip ci]
### [Version&nbsp;1.84.12](https://github.com/lobehub/lobe-chat/compare/v1.84.11...v1.84.12)
<sup>Released on **2025-04-30**</sup>

#### 💄 Styles

- **misc**: Support Qwen3 `thinking_budget` param.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Qwen3 `thinking_budget` param, closes [#7643](https://github.com/lobehub/lobe-chat/issues/7643) ([4570ceb](https://github.com/lobehub/lobe-chat/commit/4570ceb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-30 17:12:49 +00:00
sxjeru 4570ceb49e 💄 style: Support Qwen3 thinking_budget param (#7643)
*  feat(qwen): 更新Qwen模型定价和参数,添加思考预算支持

* Update qwen.ts

* Update index.ts
2025-05-01 00:59:18 +08:00
lobehubbot 2b94eff5c0 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-30 16:14:29 +00:00
semantic-release-bot ba76cd18a0 🔖 chore(release): v1.84.11 [skip ci]
### [Version&nbsp;1.84.11](https://github.com/lobehub/lobe-chat/compare/v1.84.10...v1.84.11)
<sup>Released on **2025-04-30**</sup>

#### 💄 Styles

- **misc**: Allow copy/edit when generate error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Allow copy/edit when generate error, closes [#7664](https://github.com/lobehub/lobe-chat/issues/7664) ([f518650](https://github.com/lobehub/lobe-chat/commit/f518650))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-30 16:13:22 +00:00
Arthals f51865013e 💄 style: Allow copy/edit when generate error (#7664)
*  feat: Allow copy/edit when error

*  feat: Allow edit when error
2025-04-30 23:59:39 +08:00
lobehubbot 43822aaa8d 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-30 09:04:02 +00:00
semantic-release-bot 0d61ce0ef9 🔖 chore(release): v1.84.10 [skip ci]
### [Version&nbsp;1.84.10](https://github.com/lobehub/lobe-chat/compare/v1.84.9...v1.84.10)
<sup>Released on **2025-04-30**</sup>

#### 💄 Styles

- **misc**: Add Gemini 2.5 Pro Experimental model, Add siliconflow Qwen3 & support thinking params, Arrange model tags neatly, Update mobile style and fix issues problem, update ollama checker.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Gemini 2.5 Pro Experimental model, closes [#7631](https://github.com/lobehub/lobe-chat/issues/7631) ([d318c82](https://github.com/lobehub/lobe-chat/commit/d318c82))
* **misc**: Add siliconflow Qwen3 & support thinking params, closes [#7647](https://github.com/lobehub/lobe-chat/issues/7647) ([ba83871](https://github.com/lobehub/lobe-chat/commit/ba83871))
* **misc**: Arrange model tags neatly, closes [#7651](https://github.com/lobehub/lobe-chat/issues/7651) ([44132ff](https://github.com/lobehub/lobe-chat/commit/44132ff))
* **misc**: Update mobile style and fix issues problem, closes [#7636](https://github.com/lobehub/lobe-chat/issues/7636) ([436a735](https://github.com/lobehub/lobe-chat/commit/436a735))
* **misc**: Update ollama checker, closes [#7650](https://github.com/lobehub/lobe-chat/issues/7650) ([321fd2b](https://github.com/lobehub/lobe-chat/commit/321fd2b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-30 09:02:45 +00:00
WangYang d318c8271f 💄 style: Add Gemini 2.5 Pro Experimental model (#7631) 2025-04-30 16:49:35 +08:00
sxjeru ba83871693 💄 style: Add siliconflow Qwen3 & support thinking params (#7647)
* Update siliconcloud.ts

* 💄 style: 添加思考参数

* 💄 style: 调整 thinking_budget 和 max_tokens 的处理逻辑
2025-04-30 16:47:55 +08:00
sxjeru 44132ff637 💄 style: Arrange model tags neatly (#7651) 2025-04-30 16:47:18 +08:00
Arvin Xu 321fd2b979 💄 style: update ollama checker (#7650)
* update ollama

* fix file page
2025-04-30 16:45:03 +08:00
CanisMinor 436a7351eb 💄 style: Update mobile style and fix issues problem (#7636)
* 💄 style: Update mobile actionbar and fix agent setting

* 🐛 fix: Fix share

* 🔧 chore: Update i18n

* 🐛 fix: Fix review problem

* 💄 style: Update mobile actionbar

* 💄 style: Fix processing tag

* 🔧 chore: Update depes
2025-04-30 16:43:07 +08:00
lobehubbot da871df36b 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-30 04:02:50 +00:00
semantic-release-bot 90ac9145f3 🔖 chore(release): v1.84.9 [skip ci]
### [Version&nbsp;1.84.9](https://github.com/lobehub/lobe-chat/compare/v1.84.8...v1.84.9)
<sup>Released on **2025-04-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Embeddings Format Issue with OpenAI API when using Ollama.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Embeddings Format Issue with OpenAI API when using Ollama, closes [#7641](https://github.com/lobehub/lobe-chat/issues/7641) ([649fd82](https://github.com/lobehub/lobe-chat/commit/649fd82))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-30 04:01:38 +00:00
loster-nimmer 649fd824b4 🐛 fix: Embeddings Format Issue with OpenAI API when using Ollama (#7641)
* added fix to src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts to get ollama vector embeddings working

* added fix to src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts to get ollama vector embeddings working

---------

Co-authored-by: Dan <loster-nimmer@thingsandstuff.xyz>
2025-04-30 11:48:03 +08:00
lobehubbot d5b4d0702c 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-29 19:18:04 +00:00
semantic-release-bot 8888f074fb 🔖 chore(release): v1.84.8 [skip ci]
### [Version&nbsp;1.84.8](https://github.com/lobehub/lobe-chat/compare/v1.84.7...v1.84.8)
<sup>Released on **2025-04-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix stdio mcp server env issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix stdio mcp server env issue, closes [#7648](https://github.com/lobehub/lobe-chat/issues/7648) ([bad222a](https://github.com/lobehub/lobe-chat/commit/bad222a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-29 19:16:56 +00:00
Arvin Xu bad222a29c 🐛 fix: fix stdio mcp server env issue (#7648) 2025-04-30 03:03:20 +08:00
lobehubbot f30a99c839 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-29 17:39:26 +00:00
semantic-release-bot a29aac8cf7 🔖 chore(release): v1.84.7 [skip ci]
### [Version&nbsp;1.84.7](https://github.com/lobehub/lobe-chat/compare/v1.84.6...v1.84.7)
<sup>Released on **2025-04-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix custom provider and knowledge base crash.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix custom provider and knowledge base crash, closes [#7645](https://github.com/lobehub/lobe-chat/issues/7645) ([2cbc179](https://github.com/lobehub/lobe-chat/commit/2cbc179))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-29 17:38:19 +00:00
Arvin Xu 2cbc1790e5 🐛 fix: fix custom provider and knowledge base crash (#7645)
* fix provider issue

* fix knowledge base crash issue

* fix type
2025-04-30 01:24:40 +08:00
lobehubbot 07eda61f26 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-29 16:07:52 +00:00
semantic-release-bot 0ddf670d33 🔖 chore(release): v1.84.6 [skip ci]
### [Version&nbsp;1.84.6](https://github.com/lobehub/lobe-chat/compare/v1.84.5...v1.84.6)
<sup>Released on **2025-04-29**</sup>

#### 💄 Styles

- **misc**: Fix OpenRouter models config, improve mcp stdio custom field.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix OpenRouter models config, closes [#7638](https://github.com/lobehub/lobe-chat/issues/7638) ([15171dd](https://github.com/lobehub/lobe-chat/commit/15171dd))
* **misc**: Improve mcp stdio custom field, closes [#7632](https://github.com/lobehub/lobe-chat/issues/7632) ([71683b7](https://github.com/lobehub/lobe-chat/commit/71683b7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-29 16:06:39 +00:00
sxjeru 15171dde56 💄 style: Fix OpenRouter models config (#7638)
* fix

* add models
2025-04-29 23:53:08 +08:00
Arvin Xu 71683b77be 💄 style: improve mcp stdio custom field (#7632)
* add i18n

* update
2025-04-29 16:20:42 +08:00
lobehubbot fadf15e084 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-29 07:19:16 +00:00
semantic-release-bot 6cdf966936 🔖 chore(release): v1.84.5 [skip ci]
### [Version&nbsp;1.84.5](https://github.com/lobehub/lobe-chat/compare/v1.84.4...v1.84.5)
<sup>Released on **2025-04-29**</sup>

#### 💄 Styles

- **misc**: Add Qwen3 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Qwen3 models, closes [#7628](https://github.com/lobehub/lobe-chat/issues/7628) ([da05f51](https://github.com/lobehub/lobe-chat/commit/da05f51))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-29 07:18:07 +00:00
sxjeru da05f51b8a 💄 style: Add Qwen3 models (#7628)
*  feat(qwen): 添加多个Qwen3模型配置

*  feat(qwen): 更新Qwen模型配置,添加functionCall能力并调整发布日期

*  feat(qwen): 为Qwen模型添加enableReasoning设置并更新payload处理逻辑

*  feat(qwen): support enable_thinking

* Update openrouter.ts
2025-04-29 15:04:29 +08:00
lobehubbot e9362a250a 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 16:44:03 +00:00
semantic-release-bot 1a2605bd87 🔖 chore(release): v1.84.4 [skip ci]
### [Version&nbsp;1.84.4](https://github.com/lobehub/lobe-chat/compare/v1.84.3...v1.84.4)
<sup>Released on **2025-04-28**</sup>

#### 💄 Styles

- **misc**: Improve stdio mcp server install experience.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve stdio mcp server install experience, closes [#7621](https://github.com/lobehub/lobe-chat/issues/7621) ([177f7c2](https://github.com/lobehub/lobe-chat/commit/177f7c2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 16:42:56 +00:00
Arvin Xu 177f7c2938 💄 style: improve stdio mcp server install experience (#7621)
* fix mcp server

* fix mcp server

* fix

* add mcp drawer

* improve empty state

* add i18n

* improve
2025-04-29 00:29:17 +08:00
lobehubbot 8fbdaab14a 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 15:33:43 +00:00
semantic-release-bot 8fa258d0ff 🔖 chore(release): v1.84.3 [skip ci]
### [Version&nbsp;1.84.3](https://github.com/lobehub/lobe-chat/compare/v1.84.2...v1.84.3)
<sup>Released on **2025-04-28**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix mcp server stdio spawn ENOENT in electron bundle, Fix mobile agent settings and textarea scroll, Remove `gpt-4o-search-preview` unsupported parameters.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix mcp server stdio spawn ENOENT in electron bundle, closes [#7616](https://github.com/lobehub/lobe-chat/issues/7616) ([e85d59b](https://github.com/lobehub/lobe-chat/commit/e85d59b))
* **misc**: Fix mobile agent settings and textarea scroll, closes [#7618](https://github.com/lobehub/lobe-chat/issues/7618) ([c45f2b0](https://github.com/lobehub/lobe-chat/commit/c45f2b0))
* **misc**: Remove `gpt-4o-search-preview` unsupported parameters, closes [#7586](https://github.com/lobehub/lobe-chat/issues/7586) ([d2060ca](https://github.com/lobehub/lobe-chat/commit/d2060ca))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 15:32:27 +00:00
CanisMinor c45f2b0293 🐛 fix: Fix mobile agent settings and textarea scroll (#7618)
* 🐛 fix: Fix mobile agent settings and textarea scroll

* 🐛 fix: Fix mobile agent setting

* 💄 style: Update settings style

* 💄 style: Fix provider header title on mobile
2025-04-28 23:18:48 +08:00
Arvin Xu e85d59b62e 🐛 fix: fix mcp server stdio spawn ENOENT in electron bundle (#7616)
* fix mcp server

* fix mcp server

* fix
2025-04-28 22:01:41 +08:00
sxjeru d2060caf14 🐛 fix: Remove gpt-4o-search-preview unsupported parameters (#7586)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-28 21:53:46 +08:00
lobehubbot f4192d48ae 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 11:45:00 +00:00
semantic-release-bot e1f3525474 🔖 chore(release): v1.84.2 [skip ci]
### [Version&nbsp;1.84.2](https://github.com/lobehub/lobe-chat/compare/v1.84.1...v1.84.2)
<sup>Released on **2025-04-28**</sup>

#### 💄 Styles

- **mcp**: Support stdio env params.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **mcp**: Support stdio env params, closes [#7613](https://github.com/lobehub/lobe-chat/issues/7613) ([14ce360](https://github.com/lobehub/lobe-chat/commit/14ce360))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 11:43:55 +00:00
Arvin Xu 14ce360da0 💄 style(mcp): support stdio env params (#7613)
* support config env

* fix lm studio

* fix height
2025-04-28 19:30:14 +08:00
lobehubbot c04a534166 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 10:46:50 +00:00
semantic-release-bot 13030acebe 🔖 chore(release): v1.84.1 [skip ci]
### [Version&nbsp;1.84.1](https://github.com/lobehub/lobe-chat/compare/v1.84.0...v1.84.1)
<sup>Released on **2025-04-28**</sup>

#### 💄 Styles

- **misc**: Improve hotkey for delete messages.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve hotkey for delete messages, closes [#7599](https://github.com/lobehub/lobe-chat/issues/7599) ([af848fc](https://github.com/lobehub/lobe-chat/commit/af848fc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 10:45:34 +00:00
Tardis af848fc47c 💄 style: improve hotkey for delete messages (#7599) 2025-04-28 18:32:01 +08:00
lobehubbot 5cb3539fb8 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 08:44:20 +00:00
semantic-release-bot 2efbe7214f 🔖 chore(release): v1.84.0 [skip ci]
## [Version&nbsp;1.84.0](https://github.com/lobehub/lobe-chat/compare/v1.83.8...v1.84.0)
<sup>Released on **2025-04-28**</sup>

####  Features

- **misc**: Upgrade to lobe ui v2 with better design style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Upgrade to lobe ui v2 with better design style, closes [#7238](https://github.com/lobehub/lobe-chat/issues/7238) ([6913f70](https://github.com/lobehub/lobe-chat/commit/6913f70))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 08:43:14 +00:00
CanisMinor 6913f70633 feat: upgrade to lobe ui v2 with better design style (#7238)
* ♻️ refactor: migrate to @lobehub/ui v2

* 🐛 fix: Fix form

* 💄 style: Update style

* 💄 style: Update form style

*  test: Fix test

* 💄 style: Update actionbar style

* upgrade

* 💄 style: Update discover style

* 💄 style: Update ui

* 💄 style: Update darkmod

* 💄 style: Update style

* 🐛 fix: Fix review problem

* 💄 style: Fix mobile style

* 💄 style: Update modal style

* 💄 style: Update form

* 🔧 chore: Update i18n

* 💄 style: Fix preview style problem

* 🔧 chore: Update pkg
2025-04-28 16:29:41 +08:00
lobehubbot 64ef5e0407 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-28 03:21:28 +00:00
semantic-release-bot 013f3a7efa 🔖 chore(release): v1.83.8 [skip ci]
### [Version&nbsp;1.83.8](https://github.com/lobehub/lobe-chat/compare/v1.83.7...v1.83.8)
<sup>Released on **2025-04-28**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix cloud data sync.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix cloud data sync, closes [#7600](https://github.com/lobehub/lobe-chat/issues/7600) ([1214544](https://github.com/lobehub/lobe-chat/commit/1214544))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-28 03:20:21 +00:00
Arvin Xu 1214544a77 🐛 fix: fix cloud data sync (#7600)
* fix data sync not correctly

* try nightly build

* clean

* fix data refresh Interval throttle for desktop

* fix data refresh Interval throttle for desktop
2025-04-28 11:07:04 +08:00
lobehubbot 22944cab12 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 17:05:02 +00:00
semantic-release-bot 6a75a25e77 🔖 chore(release): v1.83.7 [skip ci]
### [Version&nbsp;1.83.7](https://github.com/lobehub/lobe-chat/compare/v1.83.6...v1.83.7)
<sup>Released on **2025-04-27**</sup>

#### 💄 Styles

- **misc**: Fix `doubao-1-5-thinking-pro-vision` endpoint calling.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix `doubao-1-5-thinking-pro-vision` endpoint calling, closes [#7478](https://github.com/lobehub/lobe-chat/issues/7478) ([a52f7d6](https://github.com/lobehub/lobe-chat/commit/a52f7d6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 17:03:54 +00:00
Zhijie He a52f7d62b2 💄 style: fix doubao-1-5-thinking-pro-vision endpoint calling (#7478)
* 💄 style: fix `doubao-1-5-thinking-pro-vision` endpoint calling

* 🐛 fix: fix model id caps
2025-04-28 00:50:54 +08:00
Arvin Xu 48c79ad024 📝 docs: add desktop docs (#7593)
* add docs

* update docs

* add i18n
2025-04-27 21:44:18 +08:00
lobehubbot 660c0ec67e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 12:11:41 +00:00
semantic-release-bot bcf39df51e 🔖 chore(release): v1.83.6 [skip ci]
### [Version&nbsp;1.83.6](https://github.com/lobehub/lobe-chat/compare/v1.83.5...v1.83.6)
<sup>Released on **2025-04-27**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop cloud sync issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop cloud sync issue, closes [#7591](https://github.com/lobehub/lobe-chat/issues/7591) ([1e68777](https://github.com/lobehub/lobe-chat/commit/1e68777))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 12:10:39 +00:00
Arvin Xu 1e68777067 🐛 fix: fix desktop cloud sync issue (#7591)
* fix cloud sync

* try to fix auto updater
2025-04-27 19:58:00 +08:00
lobehubbot d719b26ef4 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 09:08:02 +00:00
semantic-release-bot 32d57a00ad 🔖 chore(release): v1.83.5 [skip ci]
### [Version&nbsp;1.83.5](https://github.com/lobehub/lobe-chat/compare/v1.83.4...v1.83.5)
<sup>Released on **2025-04-27**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix desktop beta redirect uris.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix desktop beta redirect uris, closes [#7589](https://github.com/lobehub/lobe-chat/issues/7589) ([9efdbf3](https://github.com/lobehub/lobe-chat/commit/9efdbf3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 09:06:56 +00:00
Arvin Xu 9efdbf36ec 🐛 fix: fix desktop beta redirect uris (#7589) 2025-04-27 16:53:53 +08:00
lobehubbot b6efc2990c 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 08:40:38 +00:00
semantic-release-bot ed5b0afb25 🔖 chore(release): v1.83.4 [skip ci]
### [Version&nbsp;1.83.4](https://github.com/lobehub/lobe-chat/compare/v1.83.3...v1.83.4)
<sup>Released on **2025-04-27**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix cloud connection issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix cloud connection issue, closes [#7588](https://github.com/lobehub/lobe-chat/issues/7588) ([f572f57](https://github.com/lobehub/lobe-chat/commit/f572f57))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 08:39:34 +00:00
Arvin Xu f572f57175 🐛 fix: fix cloud connection issue (#7588) 2025-04-27 16:26:41 +08:00
lobehubbot 40ef135236 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 08:01:54 +00:00
semantic-release-bot 92fb2b8acf 🔖 chore(release): v1.83.3 [skip ci]
### [Version&nbsp;1.83.3](https://github.com/lobehub/lobe-chat/compare/v1.83.2...v1.83.3)
<sup>Released on **2025-04-27**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 08:00:51 +00:00
Arvin Xu 9c0d87e817 👷 build: fix desktop beta release issue (#7585)
* try to fix publish

* fix

* fix release

* update

* fix build
2025-04-27 15:48:04 +08:00
lobehubbot b665411810 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 06:46:46 +00:00
semantic-release-bot 48412b0194 🔖 chore(release): v1.83.2 [skip ci]
### [Version&nbsp;1.83.2](https://github.com/lobehub/lobe-chat/compare/v1.83.1...v1.83.2)
<sup>Released on **2025-04-27**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 06:45:39 +00:00
Arvin Xu f3530613c0 👷 build: fix beta release (#7582)
* try to fix publish

* fix
2025-04-27 14:32:37 +08:00
lobehubbot e84c9103be 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 05:34:12 +00:00
semantic-release-bot a79bdf9c4b 🔖 chore(release): v1.83.1 [skip ci]
### [Version&nbsp;1.83.1](https://github.com/lobehub/lobe-chat/compare/v1.83.0...v1.83.1)
<sup>Released on **2025-04-27**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 05:33:03 +00:00
Arvin Xu b22eb31e5e 👷 build: fix beta publish (#7577) 2025-04-27 13:19:34 +08:00
lobehubbot aba9246d17 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-27 04:11:26 +00:00
semantic-release-bot df7dd904c6 🔖 chore(release): v1.83.0 [skip ci]
## [Version&nbsp;1.83.0](https://github.com/lobehub/lobe-chat/compare/v1.82.10...v1.83.0)
<sup>Released on **2025-04-27**</sup>

####  Features

- **misc**: Support desktop release framework and workflow.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support desktop release framework and workflow, closes [#6474](https://github.com/lobehub/lobe-chat/issues/6474) ([ed97363](https://github.com/lobehub/lobe-chat/commit/ed97363))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-27 04:10:15 +00:00
Arvin Xu ed97363255 feat: support desktop release framework and workflow (#6474)
* add desktop

fix build

update release desktop ci

improve desktop build for pr workflow

update desktop build workflow

test auto updater

fix

fix release nightly channel

support shortcut framework

improve nightly version rule

add zip release

only add mac publish

fix static file relative issue

support delete files

fix lint

enable asar

add setting open in editor in menu

add electron store framework and locale update flow

fix default searchFCModel

refactor the electron server ipc to stable mode

improve electron dev workflow

improve electron build workflow

make qwen2.5b default

improve comment workflow

fix types

refactor code

improve window size of settings/provider

路由拦截器v3.5

fix RouteIntercept issue

improve log

use productName in package.json

update

add pin list for feature flag

update

sure settings update

make ollama as default provider in desktop

fix desktop close page issue

fix desktop default variants

improve to reduce bundle

improve to reduce bundle again

improve set desktop version workflow

add nightly icons

add prebuild scripts to reduce package size

add to test prebuild

fix workflow

try to add sign and notarize for mac in workflow

try to add sign and notarize

add i18n for menu and main

update menu i18n

add i18n framework

add menu implement and setting

improve layout design for desktop

update Author

fix failed register protocol

fix prod building

fix tests

fix open error of mac and windows
improve lint

update pr comment

add service framework

add fileSearchService

improve

fix release workflow

add header

improve pr workflow fetch

improve client fetch

add linux upload workflow

improve workflow and implement

fix build electron in ci

build the desktop framework

fix build electron in ci

update tsconfig

fix desktop build workflow

finish desktop build workflow

fix workflow build steps

update workflow

test release workflow

refactor

update

update

improve loading state

refactor the 404 error

* 重构存储路径,统一到一个 lobehub-storage 下,方便未来用户自定义存储路径

* fix lint

* update

* try to fix windows open issue

* rename

* fix storage

* refactor the remote server sync

* refactor the request method

* 完成服务端同步实现逻辑

* fix lint

* save size

* refactor to make sure different instance of ipc channel

* clean log

* fix refresh

* fix tools calling

* fix auth callback issue

* update workflow

* add window ico

* push

* update

* add beta release

* fix update issue

* 完成官方实例链接

* fix

* fix stdio
2025-04-27 11:57:06 +08:00
lobehubbot 99b45f3245 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-26 17:48:57 +00:00
semantic-release-bot 3da95338d6 🔖 chore(release): v1.82.10 [skip ci]
### [Version&nbsp;1.82.10](https://github.com/lobehub/lobe-chat/compare/v1.82.9...v1.82.10)
<sup>Released on **2025-04-26**</sup>

#### 💄 Styles

- **misc**: Support `ernie-x1` & `ernie-4.5` series from Wenxin.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support `ernie-x1` & `ernie-4.5` series from Wenxin, closes [#7504](https://github.com/lobehub/lobe-chat/issues/7504) ([9a4150c](https://github.com/lobehub/lobe-chat/commit/9a4150c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-26 17:47:54 +00:00
Zhijie He 9a4150c789 💄 style: support ernie-x1 & ernie-4.5 series from Wenxin (#7504)
* 💄 style: support `ernie-x1-32k` model from Wenxin

* 💄 style: update model list
2025-04-27 01:35:05 +08:00
lobehubbot f29e326a84 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-26 17:14:55 +00:00
semantic-release-bot d6bd328a53 🔖 chore(release): v1.82.9 [skip ci]
### [Version&nbsp;1.82.9](https://github.com/lobehub/lobe-chat/compare/v1.82.8...v1.82.9)
<sup>Released on **2025-04-26**</sup>

#### 💄 Styles

- **misc**: Improve oidc OAuth workflow.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve oidc OAuth workflow, closes [#7563](https://github.com/lobehub/lobe-chat/issues/7563) ([ccbe0af](https://github.com/lobehub/lobe-chat/commit/ccbe0af))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-26 17:13:50 +00:00
Arvin Xu ccbe0afb6c 💄 style: improve oidc OAuth workflow (#7563)
* improve oidc OAuth workflow

* fix suspense

* update i18n
2025-04-27 01:00:38 +08:00
lobehubbot f6843e7d08 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-26 06:56:33 +00:00
semantic-release-bot d75a3830be 🔖 chore(release): v1.82.8 [skip ci]
### [Version&nbsp;1.82.8](https://github.com/lobehub/lobe-chat/compare/v1.82.7...v1.82.8)
<sup>Released on **2025-04-26**</sup>

#### ♻ Code Refactoring

- **misc**: Improve categories selection via SearXNG.

#### 🐛 Bug Fixes

- **http-adapter**: Extract protocol from base URL and add headers.
- **misc**: Fix oidc redirect urls.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Improve categories selection via SearXNG, closes [#7550](https://github.com/lobehub/lobe-chat/issues/7550) ([ac0dcd9](https://github.com/lobehub/lobe-chat/commit/ac0dcd9))

#### What's fixed

* **http-adapter**: Extract protocol from base URL and add headers, closes [#7545](https://github.com/lobehub/lobe-chat/issues/7545) ([327fd9e](https://github.com/lobehub/lobe-chat/commit/327fd9e))
* **misc**: Fix oidc redirect urls, closes [#7558](https://github.com/lobehub/lobe-chat/issues/7558) ([3013a00](https://github.com/lobehub/lobe-chat/commit/3013a00))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-26 06:55:21 +00:00
Pollo3470 327fd9ed6b 🐛 fix(http-adapter): extract protocol from base URL and add headers (#7545) 2025-04-26 14:42:17 +08:00
Zhijie He ac0dcd9338 ♻️ refactor: improve categories selection via SearXNG (#7550) 2025-04-26 14:35:39 +08:00
Arvin Xu 3013a00832 🐛 fix: fix oidc redirect urls (#7558) 2025-04-26 14:34:17 +08:00
lobehubbot 961b9fc396 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-25 02:25:54 +00:00
semantic-release-bot cbdd65874a 🔖 chore(release): v1.82.7 [skip ci]
### [Version&nbsp;1.82.7](https://github.com/lobehub/lobe-chat/compare/v1.82.6...v1.82.7)
<sup>Released on **2025-04-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Pwa-install cause mobile infinity scroll.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Pwa-install cause mobile infinity scroll, closes [#7521](https://github.com/lobehub/lobe-chat/issues/7521) [#7408](https://github.com/lobehub/lobe-chat/issues/7408) ([39f5bc7](https://github.com/lobehub/lobe-chat/commit/39f5bc7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-25 02:24:48 +00:00
YuTengjing 39f5bc7aba 🐛 fix: pwa-install cause mobile infinity scroll (#7521)
* 🐛 fix: pwa-install cause mobile infinity scroll #7408

* 🐛 fix: use dismiss install pws still render pws-install
2025-04-25 10:11:59 +08:00
lobehubbot 52ad86629e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-24 18:23:26 +00:00
semantic-release-bot b3b3d946b3 🔖 chore(release): v1.82.6 [skip ci]
### [Version&nbsp;1.82.6](https://github.com/lobehub/lobe-chat/compare/v1.82.5...v1.82.6)
<sup>Released on **2025-04-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve stability of Cloudflare Workers AI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve stability of Cloudflare Workers AI, closes [#7450](https://github.com/lobehub/lobe-chat/issues/7450) ([3e81e56](https://github.com/lobehub/lobe-chat/commit/3e81e56))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-24 18:22:20 +00:00
BrandonStudio 3e81e562f2 🐛 fix: Improve stability of Cloudflare Workers AI (#7450) 2025-04-25 02:09:12 +08:00
lobehubbot 728c9c0ffb 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-24 17:50:44 +00:00
semantic-release-bot d7d5e6d4ea 🔖 chore(release): v1.82.5 [skip ci]
### [Version&nbsp;1.82.5](https://github.com/lobehub/lobe-chat/compare/v1.82.4...v1.82.5)
<sup>Released on **2025-04-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Countries-and-timezones return invalid timezone.

#### 💄 Styles

- **misc**: Add avatar for server database upload to S3, removing SSO dependency for avatar management.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Countries-and-timezones return invalid timezone, closes [#7539](https://github.com/lobehub/lobe-chat/issues/7539) [#7518](https://github.com/lobehub/lobe-chat/issues/7518) [#7542](https://github.com/lobehub/lobe-chat/issues/7542) ([bdb44a8](https://github.com/lobehub/lobe-chat/commit/bdb44a8))

#### Styles

* **misc**: Add avatar for server database upload to S3, removing SSO dependency for avatar management, closes [#7152](https://github.com/lobehub/lobe-chat/issues/7152) ([f15200d](https://github.com/lobehub/lobe-chat/commit/f15200d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-24 17:49:26 +00:00
Arvin Xu 99fc76b135 🔨 chore: fix tests (#7546) 2025-04-25 01:34:17 +08:00
renovate[bot] 8f9b221b34 Update dependency lucide-react to ^0.503.0 (#7484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 01:14:54 +08:00
YuTengjing bdb44a83a7 🐛 fix: countries-and-timezones return invalid timezone (#7539)
* 🐛 fix: countries-and-timezones return invalid timezone #7518

*  test: add unit test for src/utils/server/geo.ts (#7542)

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>

---------

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-04-24 23:45:19 +08:00
RICHQAQ f15200d348 💄 style: Add avatar for server database upload to S3, removing SSO dependency for avatar management (#7152)
*  feat: 添加服务端头像上传功能,支持从 Base64 数据上传至 S3,并更新用户头像状态

* 🐛 fix: 修复更新头像后依旧有可能显示旧头像

* Undo changes of package.json and Clerk

* change message of loading to ui of loading in avatar-update

* Using the getFullFileUrl function

* fix file service

* Modify the user avatar upload and retrieval functions to support a private S3 bucket, use UUID to generate unique file names, and delete the old avatar.

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-04-24 23:45:01 +08:00
lobehubbot 86dbd974cb 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-24 03:49:12 +00:00
semantic-release-bot 7f304df75c 🔖 chore(release): v1.82.4 [skip ci]
### [Version&nbsp;1.82.4](https://github.com/lobehub/lobe-chat/compare/v1.82.3...v1.82.4)
<sup>Released on **2025-04-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix hydration error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix hydration error, closes [#7535](https://github.com/lobehub/lobe-chat/issues/7535) ([e130855](https://github.com/lobehub/lobe-chat/commit/e130855))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-24 03:48:08 +00:00
Arvin Xu e130855d45 🐛 fix: fix hydration error (#7535)
* fix

* fix mcp type

* fix lint
2025-04-24 11:35:04 +08:00
lobehubbot afe1f052aa 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-24 03:08:54 +00:00
semantic-release-bot dd40f819c1 🔖 chore(release): v1.82.3 [skip ci]
### [Version&nbsp;1.82.3](https://github.com/lobehub/lobe-chat/compare/v1.82.2...v1.82.3)
<sup>Released on **2025-04-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix openai tools calling.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix openai tools calling, closes [#7523](https://github.com/lobehub/lobe-chat/issues/7523) ([f43bd24](https://github.com/lobehub/lobe-chat/commit/f43bd24))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-24 03:07:50 +00:00
Arvin Xu f43bd244c7 🐛 fix: fix openai tools calling (#7523) 2025-04-24 10:53:48 +08:00
lobehubbot 54bca47a29 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-23 18:50:00 +00:00
semantic-release-bot eca2be67b3 🔖 chore(release): v1.82.2 [skip ci]
### [Version&nbsp;1.82.2](https://github.com/lobehub/lobe-chat/compare/v1.82.1...v1.82.2)
<sup>Released on **2025-04-23**</sup>

#### 💄 Styles

- **misc**: Improve stdio mcp form, Update the id of some OpenAI models in OpenRouter.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve stdio mcp form, closes [#7529](https://github.com/lobehub/lobe-chat/issues/7529) ([832b7c3](https://github.com/lobehub/lobe-chat/commit/832b7c3))
* **misc**: Update the id of some OpenAI models in OpenRouter, closes [#7524](https://github.com/lobehub/lobe-chat/issues/7524) ([39a3f5b](https://github.com/lobehub/lobe-chat/commit/39a3f5b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-23 18:48:52 +00:00
Arvin Xu 832b7c3ee1 💄 style: improve stdio mcp form (#7529)
* improve stdio mcp form

* update

* update

* update i18n

* remove stdio paste with web mode

* remove stdio paste with web mode

* fix

* fix lint

* fix
2025-04-24 02:35:07 +08:00
Lumia 39a3f5b335 💄 style: Update the id of some OpenAI models in OpenRouter (#7524)
部分opanai的模型id前面缺少“openai/”
2025-04-24 00:26:36 +08:00
lobehubbot f18f24e653 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-23 01:23:09 +00:00
semantic-release-bot 66dabc8bba 🔖 chore(release): v1.82.1 [skip ci]
### [Version&nbsp;1.82.1](https://github.com/lobehub/lobe-chat/compare/v1.82.0...v1.82.1)
<sup>Released on **2025-04-23**</sup>

#### 💄 Styles

- **misc**: Improve mcp server type select and fix refresh mcp manifest issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve mcp server type select and fix refresh mcp manifest issue, closes [#7517](https://github.com/lobehub/lobe-chat/issues/7517) ([53d8eac](https://github.com/lobehub/lobe-chat/commit/53d8eac))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-23 01:21:59 +00:00
Arvin Xu 53d8eac3cf 💄 style: improve mcp server type select and fix refresh mcp manifest issue (#7517)
* improve experience

* fix mcp manifest refresh issue

* improve description

* improve style

* add stdio mcp plugin

* improve experience

* fix tests

* fix tests
2025-04-23 09:07:32 +08:00
Arvin Xu 5cdf0e2146 🔨 chore: pre-merge desktop implement (#7516)
* update locale

* update code
2025-04-23 00:54:22 +08:00
lobehubbot cc5525aab9 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-22 16:41:10 +00:00
semantic-release-bot 0d93365b8d 🔖 chore(release): v1.82.0 [skip ci]
## [Version&nbsp;1.82.0](https://github.com/lobehub/lobe-chat/compare/v1.81.9...v1.82.0)
<sup>Released on **2025-04-22**</sup>

####  Features

- **misc**: Support Streamable HTTP MCP server.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support Streamable HTTP MCP server, closes [#7511](https://github.com/lobehub/lobe-chat/issues/7511) ([35129bb](https://github.com/lobehub/lobe-chat/commit/35129bb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-22 16:40:03 +00:00
Arvin Xu 35129bb7c6 feat: support Streamable HTTP MCP server (#7511)
* add mcp

* feat support streamable http

* revert

* update locale

* improve style

* improve experience
2025-04-23 00:26:33 +08:00
lobehubbot c1844933ac 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-21 16:32:29 +00:00
semantic-release-bot 0e1ae3d141 🔖 chore(release): v1.81.9 [skip ci]
### [Version&nbsp;1.81.9](https://github.com/lobehub/lobe-chat/compare/v1.81.8...v1.81.9)
<sup>Released on **2025-04-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix search prompt.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix search prompt, closes [#7507](https://github.com/lobehub/lobe-chat/issues/7507) ([f55b7de](https://github.com/lobehub/lobe-chat/commit/f55b7de))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-21 16:31:22 +00:00
Arvin Xu f55b7dea2b 🐛 fix: fix search prompt (#7507)
* fix

* pre-merge local-file

* improve prompts
2025-04-22 00:17:58 +08:00
lobehubbot 3ae9fc4f09 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-21 16:09:52 +00:00
semantic-release-bot 0ad8d3e538 🔖 chore(release): v1.81.8 [skip ci]
### [Version&nbsp;1.81.8](https://github.com/lobehub/lobe-chat/compare/v1.81.7...v1.81.8)
<sup>Released on **2025-04-21**</sup>

#### 💄 Styles

- **misc**: Show token generate performance.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Show token generate performance, closes [#6959](https://github.com/lobehub/lobe-chat/issues/6959) ([33c3fe7](https://github.com/lobehub/lobe-chat/commit/33c3fe7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-21 16:08:49 +00:00
Rylan Cai 33c3fe76c7 💄 style: show token generate performance (#6959)
* 💄 style: show token generate performance

*  test: createTokenSpeedCalculator

*  feat: add token speed for anthropic

*  test: remove speed chunk in pplx

* ♻️ refactor: rename params

* 🎨 refactor: format codes

* ♻️ refactor: del log print

* 💄 style: add tooltips

* 🌐 i18n: tps, ttft

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-21 23:55:56 +08:00
lobehubbot 5b617889b7 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-21 04:27:22 +00:00
semantic-release-bot 1c4d1100a9 🔖 chore(release): v1.81.7 [skip ci]
### [Version&nbsp;1.81.7](https://github.com/lobehub/lobe-chat/compare/v1.81.6...v1.81.7)
<sup>Released on **2025-04-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Together.ai fetch model list.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Together.ai fetch model list, closes [#7498](https://github.com/lobehub/lobe-chat/issues/7498) ([bd797b8](https://github.com/lobehub/lobe-chat/commit/bd797b8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-21 04:26:14 +00:00
YuTengjing bd797b8f91 🐛 fix: together.ai fetch model list (#7498) 2025-04-21 12:13:05 +08:00
lobehubbot 76efb6c5b7 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-21 04:07:06 +00:00
semantic-release-bot 6986db3c3d 🔖 chore(release): v1.81.6 [skip ci]
### [Version&nbsp;1.81.6](https://github.com/lobehub/lobe-chat/compare/v1.81.5...v1.81.6)
<sup>Released on **2025-04-21**</sup>

#### 💄 Styles

- **misc**: Add hotkey for clear chat messages.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add hotkey for clear chat messages, closes [#7457](https://github.com/lobehub/lobe-chat/issues/7457) [#7319](https://github.com/lobehub/lobe-chat/issues/7319) ([28d92e6](https://github.com/lobehub/lobe-chat/commit/28d92e6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-21 04:05:57 +00:00
YuTengjing 28d92e67cd 💄 style: add hotkey for clear chat messages (#7457)
* ⬆️ chore: upgrade @lobehub/ui to 1.171.0

*  feat: add hotkey for clear chat messages #7319

* 👷 build: format locales after lobe-i18n

* 📝 docs: lobe-i18n update locales

* ♻️ chore: change clear current messages shortcut to option + backspace
2025-04-21 11:05:03 +08:00
Arvin Xu 38b17cf0a6 🔨 chore: add mcp client modules (#7494)
* add mcp client implement

* fix tests
2025-04-21 00:54:23 +08:00
lobehubbot 077b68928e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-20 08:36:43 +00:00
semantic-release-bot f0724389b2 🔖 chore(release): v1.81.5 [skip ci]
### [Version&nbsp;1.81.5](https://github.com/lobehub/lobe-chat/compare/v1.81.4...v1.81.5)
<sup>Released on **2025-04-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Lock nextauth to beta.25.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Lock nextauth to beta.25, closes [#7491](https://github.com/lobehub/lobe-chat/issues/7491) ([d1fd40d](https://github.com/lobehub/lobe-chat/commit/d1fd40d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-20 08:35:37 +00:00
Rylan Cai d1fd40d3ef 📌 fix: lock nextauth to beta.25 (#7491) 2025-04-20 16:22:51 +08:00
Arvin Xu 769440662d 🔨 chore: add file-loaders modules (#7488)
* update i18n model

* add @file-loaders modules

* fix test

* fix test

* add test pdf

* fix tests
2025-04-20 14:08:32 +08:00
lobehubbot 1dfd1da63e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-19 06:24:48 +00:00
semantic-release-bot 128de22d36 🔖 chore(release): v1.81.4 [skip ci]
### [Version&nbsp;1.81.4](https://github.com/lobehub/lobe-chat/compare/v1.81.3...v1.81.4)
<sup>Released on **2025-04-19**</sup>

#### 🐛 Bug Fixes

- **misc**: Gemini error `Tool use with function calling is unsupported`.

#### 💄 Styles

- **misc**: Support update tool calling params and trigger again.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Gemini error `Tool use with function calling is unsupported`, closes [#7463](https://github.com/lobehub/lobe-chat/issues/7463) ([0567095](https://github.com/lobehub/lobe-chat/commit/0567095))

#### Styles

* **misc**: Support update tool calling params and trigger again, closes [#7476](https://github.com/lobehub/lobe-chat/issues/7476) ([0085e63](https://github.com/lobehub/lobe-chat/commit/0085e63))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-19 06:23:41 +00:00
sxjeru 0567095b5d 🐛 fix: Gemini error Tool use with function calling is unsupported (#7463)
* Update index.ts

* Update index.ts

* Update index.ts
2025-04-19 14:13:48 +08:00
Arvin Xu 0085e639b8 💄 style: support update tool calling params and trigger again (#7476)
* update client ipc

* test web prebuild

* update i18n

* support update tools calling params

* add local files tools

* fix docker build flow

* fix suspense
2025-04-19 14:13:09 +08:00
lobehubbot bf84acb233 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-19 06:00:29 +00:00
semantic-release-bot d6bc13b105 🔖 chore(release): v1.81.3 [skip ci]
### [Version&nbsp;1.81.3](https://github.com/lobehub/lobe-chat/compare/v1.81.2...v1.81.3)
<sup>Released on **2025-04-19**</sup>

#### 💄 Styles

- **misc**: Update GitHub & Cloudflare models, Update Google models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update GitHub & Cloudflare models, closes [#7453](https://github.com/lobehub/lobe-chat/issues/7453) ([4f34a62](https://github.com/lobehub/lobe-chat/commit/4f34a62))
* **misc**: Update Google models, closes [#7456](https://github.com/lobehub/lobe-chat/issues/7456) ([3199f69](https://github.com/lobehub/lobe-chat/commit/3199f69))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-19 05:59:21 +00:00
柴米油盐的梦想 4f34a62fc1 💄 style: Update GitHub & Cloudflare models (#7453)
* 💄 style: Add GitHub models

* 💄 style: Add Cloudflare models

* 💄 style: Add GitHub models

* 💄 style: Add MAI-DS-R1 for GitHub models

* 💄 style: Update Cloudflare models

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-19 13:49:34 +08:00
Lumia 3199f69fb4 💄 style: Update Google models (#7456)
* Update google.ts

新增Gemini 2.5 Flash 预览版 04-17模型

* Update price
2025-04-19 13:49:26 +08:00
lobehubbot 5484c0291a 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-18 05:44:10 +00:00
semantic-release-bot 6e74ee85e9 🔖 chore(release): v1.81.2 [skip ci]
### [Version&nbsp;1.81.2](https://github.com/lobehub/lobe-chat/compare/v1.81.1...v1.81.2)
<sup>Released on **2025-04-18**</sup>

#### 💄 Styles

- **misc**: Allow folding SystemRole box.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Allow folding SystemRole box, closes [#7421](https://github.com/lobehub/lobe-chat/issues/7421) ([c147df7](https://github.com/lobehub/lobe-chat/commit/c147df7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-18 05:43:02 +00:00
sxjeru c147df768e 💄 style: Allow folding SystemRole box (#7421)
*  feat(SystemRole): add expandable feature and improve sidebar header interaction

*  feat(SystemRole): local persistence

*  feat(SystemRole): improve style handling and event typing in SystemRoleContent
2025-04-18 10:44:42 +08:00
lobehubbot 1009330a04 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-18 02:08:45 +00:00
semantic-release-bot b1c29bc10d 🔖 chore(release): v1.81.1 [skip ci]
### [Version&nbsp;1.81.1](https://github.com/lobehub/lobe-chat/compare/v1.81.0...v1.81.1)
<sup>Released on **2025-04-18**</sup>

#### 💄 Styles

- **misc**: Add `SenseNova-V6` series & `SenseChat-Vision` support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `SenseNova-V6` series & `SenseChat-Vision` support, closes [#7439](https://github.com/lobehub/lobe-chat/issues/7439) ([9c8597f](https://github.com/lobehub/lobe-chat/commit/9c8597f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-18 02:07:38 +00:00
Zhijie He 9c8597ffc0 💄 style: add SenseNova-V6 series & SenseChat-Vision support (#7439) 2025-04-18 09:57:36 +08:00
lobehubbot ced357570a 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-17 15:58:12 +00:00
semantic-release-bot 5d9ea3b389 🔖 chore(release): v1.81.0 [skip ci]
## [Version&nbsp;1.81.0](https://github.com/lobehub/lobe-chat/compare/v1.80.5...v1.81.0)
<sup>Released on **2025-04-17**</sup>

####  Features

- **misc**: Support search1api as search provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support search1api as search provider, closes [#7449](https://github.com/lobehub/lobe-chat/issues/7449) ([2738cac](https://github.com/lobehub/lobe-chat/commit/2738cac))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-17 15:57:07 +00:00
Arvin Xu 2738cacd46 feat: support search1api as search provider (#7449)
* refactor search service

* refactor search service

* improve url rules

* update packages

* refactor to uniform the search interface

* fix tests

* refactor the search params

* add plugin state

* improve

* fix test

* fix test

* fix test
2025-04-17 23:47:04 +08:00
lobehubbot 2ceb274458 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-17 15:12:14 +00:00
semantic-release-bot 801fab177b 🔖 chore(release): v1.80.5 [skip ci]
### [Version&nbsp;1.80.5](https://github.com/lobehub/lobe-chat/compare/v1.80.4...v1.80.5)
<sup>Released on **2025-04-17**</sup>

#### 💄 Styles

- **misc**: Update 360 AI & Taichu & AI21 model list.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update 360 AI & Taichu & AI21 model list, closes [#7443](https://github.com/lobehub/lobe-chat/issues/7443) ([60c9ae2](https://github.com/lobehub/lobe-chat/commit/60c9ae2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-17 15:11:06 +00:00
Zhijie He 60c9ae2be9 💄 style: update 360 AI & Taichu & AI21 model list (#7443)
* 💄 style: update 360 AI & Taichu model list

* 💄 style: update Github Models list

* 💄 style: update Ai21 model list & fix ci error

* 💄 style: update GitHub models

* 🔨 chore: rollback changes for GitHub
2025-04-17 23:00:58 +08:00
lobehubbot eb7e1ea57e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-17 13:41:12 +00:00
semantic-release-bot 5289763e1a 🔖 chore(release): v1.80.4 [skip ci]
### [Version&nbsp;1.80.4](https://github.com/lobehub/lobe-chat/compare/v1.80.3...v1.80.4)
<sup>Released on **2025-04-17**</sup>

#### 💄 Styles

- **misc**: Add o3/o4-mini models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add o3/o4-mini models, closes [#7448](https://github.com/lobehub/lobe-chat/issues/7448) ([3fdba72](https://github.com/lobehub/lobe-chat/commit/3fdba72))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-17 13:40:06 +00:00
sxjeru 3fdba72f00 💄 style: Add o3/o4-mini models (#7448)
* Update openai.ts

* Update azure.ts

* Update azureai.ts

* Update openrouter.ts

* Update openrouter.ts

* Update openrouter.ts

* Update github.ts

* Update groq.ts

* Update cohere.ts

* Update volcengine.ts
2025-04-17 21:29:51 +08:00
lobehubbot b6d2c31e17 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-16 15:33:48 +00:00
semantic-release-bot 03c39997c1 🔖 chore(release): v1.80.3 [skip ci]
### [Version&nbsp;1.80.3](https://github.com/lobehub/lobe-chat/compare/v1.80.2...v1.80.3)
<sup>Released on **2025-04-16**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor to get user info from api.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor to get user info from api, closes [#7444](https://github.com/lobehub/lobe-chat/issues/7444) ([4c1fb4a](https://github.com/lobehub/lobe-chat/commit/4c1fb4a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-16 15:32:41 +00:00
Arvin Xu 4c1fb4a084 ♻️ refactor: refactor to get user info from api (#7444)
* support get user info from api

* fix

* Update client.ts
2025-04-16 23:21:55 +08:00
Arvin Xu 4006721bff 🔨 chore: fix oidc provider proxy issue with host deployment (#7430)
* set provider proxy to true

* try to fix

* fix
2025-04-16 15:41:00 +08:00
lobehubbot bb25d542bc 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-16 04:32:27 +00:00
semantic-release-bot 8fc7cad6a6 🔖 chore(release): v1.80.2 [skip ci]
### [Version&nbsp;1.80.2](https://github.com/lobehub/lobe-chat/compare/v1.80.1...v1.80.2)
<sup>Released on **2025-04-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Update default file embedding model info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update default file embedding model info, closes [#7425](https://github.com/lobehub/lobe-chat/issues/7425) ([1c6faba](https://github.com/lobehub/lobe-chat/commit/1c6faba))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-16 04:31:13 +00:00
huangkairan 1c6fabad72 🐛 fix: update default file embedding model info (#7425) 2025-04-16 12:21:05 +08:00
Arvin Xu f1e799df3b 🔨 chore: add oidc auth for lambda route (#7426)
* add extractBearerToken utils

* add oidc auth

* improve debug log

* fix tests

* fix tests

* improve first party oauth
2025-04-16 12:20:29 +08:00
sxjeru 81d9bf33ee 💄 style: Add Llama 4 & other latest models (#7345)
* Update Checker.tsx

* fix

* finally

* Update novita.ts

* Update groq.ts

* Update google.ts

* Update volcengine.ts

* Update azure.ts

* Update azureai.ts

* Update azureai.ts

* Update novita.ts

* Update azureai.ts

* Update moonshot.ts

* fix devcontainer.json

* fix test

* Update stepfun.ts

* Update novita.ts

* Update zhipu.ts

* Update tencentcloud.ts

* Update hunyuan.ts

* Update zhipu.ts

* Update azure.ts

* Update azureai.ts

* update devcontainer.json

* Update siliconcloud.ts
2025-04-16 11:36:37 +08:00
lobehubbot edc3d2aa83 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-16 02:52:23 +00:00
semantic-release-bot cbb7ff9d18 🔖 chore(release): v1.80.1 [skip ci]
### [Version&nbsp;1.80.1](https://github.com/lobehub/lobe-chat/compare/v1.80.0...v1.80.1)
<sup>Released on **2025-04-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix model support file and image logic.

#### 💄 Styles

- **misc**: Add `step-r1` & `glm-z1` model fetch support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix model support file and image logic, closes [#7387](https://github.com/lobehub/lobe-chat/issues/7387) ([4d26885](https://github.com/lobehub/lobe-chat/commit/4d26885))

#### Styles

* **misc**: Add `step-r1` & `glm-z1` model fetch support, closes [#7420](https://github.com/lobehub/lobe-chat/issues/7420) ([4055840](https://github.com/lobehub/lobe-chat/commit/4055840))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-16 02:51:10 +00:00
vual 4d26885a43 🐛 fix: fix model support file and image logic (#7387) 2025-04-16 10:41:10 +08:00
Zhijie He 4055840659 💄 style: add step-r1 & glm-z1 model fetch support (#7420)
* 💄 style: support `step-r1` series reasoning tag

* 💄 style: support glm-z1 series reasoning tag

* 🐛 fix: fix model fetch error from Zhipu
2025-04-16 10:40:05 +08:00
YuTengjing 0bac348a29 🚚 docs: replace old development doc with new version (#7423) 2025-04-16 10:38:02 +08:00
lobehubbot 56952021de 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-16 02:14:52 +00:00
semantic-release-bot d58260fb01 🔖 chore(release): v1.80.0 [skip ci]
## [Version&nbsp;1.80.0](https://github.com/lobehub/lobe-chat/compare/v1.79.10...v1.80.0)
<sup>Released on **2025-04-16**</sup>

#### ♻ Code Refactoring

- **misc**: Rename new feature development doc to mdx, some code optimization.

####  Features

- **misc**: Opening settings copyright i18n, regenerate migrate sql for new agent opening settings.

#### 🐛 Bug Fixes

- **misc**: Opening questions should should be hidden when no setted, opening settings migration type error.

#### 💄 Styles

- **misc**: Opening message container add border.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Rename new feature development doc to mdx ([892a347](https://github.com/lobehub/lobe-chat/commit/892a347))
* **misc**: Some code optimization ([47e04fa](https://github.com/lobehub/lobe-chat/commit/47e04fa))

#### What's improved

* **misc**: Opening settings copyright i18n ([27c5b45](https://github.com/lobehub/lobe-chat/commit/27c5b45))
* **misc**: Regenerate migrate sql for new agent opening settings ([961d6a1](https://github.com/lobehub/lobe-chat/commit/961d6a1))

#### What's fixed

* **misc**: Opening questions should should be hidden when no setted ([211ee5e](https://github.com/lobehub/lobe-chat/commit/211ee5e))
* **misc**: Opening settings migration type error ([72cf00e](https://github.com/lobehub/lobe-chat/commit/72cf00e))

#### Styles

* **misc**: Opening message container add border ([63b96c7](https://github.com/lobehub/lobe-chat/commit/63b96c7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-16 02:13:46 +00:00
YuTengjing a64746a5a0 Merge pull request #7382 from lobehub/tj/feat/guide-message
 feat: agent opening settings
2025-04-16 10:03:58 +08:00
YuTengjing 892a347c79 🚚 refactor: rename new feature development doc to mdx 2025-04-15 17:49:04 +08:00
YuTengjing 9097aba9e3 📝 docs: add new feature development doc 2025-04-15 17:39:52 +08:00
lobehubbot 5f603be878 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-15 03:28:27 +00:00
semantic-release-bot ada7b23528 🔖 chore(release): v1.79.10 [skip ci]
### [Version&nbsp;1.79.10](https://github.com/lobehub/lobe-chat/compare/v1.79.9...v1.79.10)
<sup>Released on **2025-04-15**</sup>

#### 💄 Styles

- **misc**: Make gpt-4.1-mini default model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Make gpt-4.1-mini default model, closes [#7414](https://github.com/lobehub/lobe-chat/issues/7414) ([724fcee](https://github.com/lobehub/lobe-chat/commit/724fcee))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-15 03:27:23 +00:00
Arvin Xu 724fcee10a 💄 style: make gpt-4.1-mini default model (#7414)
* update default model to gpt-4.1-mini

* fix test

* fix test
2025-04-15 11:17:14 +08:00
lobehubbot 0dc2e8f970 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-15 02:31:33 +00:00
semantic-release-bot ced3b5a1fb 🔖 chore(release): v1.79.9 [skip ci]
### [Version&nbsp;1.79.9](https://github.com/lobehub/lobe-chat/compare/v1.79.8...v1.79.9)
<sup>Released on **2025-04-15**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor trpc to have a clear obligation.

#### 💄 Styles

- **misc**: Add GPT-4.1 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor trpc to have a clear obligation, closes [#7412](https://github.com/lobehub/lobe-chat/issues/7412) ([01c0120](https://github.com/lobehub/lobe-chat/commit/01c0120))

#### Styles

* **misc**: Add GPT-4.1 models, closes [#7410](https://github.com/lobehub/lobe-chat/issues/7410) ([3c4d7df](https://github.com/lobehub/lobe-chat/commit/3c4d7df))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-15 02:30:25 +00:00
YuTengjing 47e04fa171 ♻️ refactor: some code optimization 2025-04-15 10:28:24 +08:00
sxjeru 3c4d7dff75 💄 style: Add GPT-4.1 models (#7410)
* Update openai.ts

* Update openai.ts

* Update openai.ts
2025-04-15 10:20:34 +08:00
Arvin Xu 01c0120ab2 ♻️ refactor: refactor trpc to have a clear obligation (#7412)
* refactor trpc

* refactor trpc folder

* improve test

* improve code

* improve code
2025-04-15 10:18:37 +08:00
Arvin Xu 5425068913 🔨 chore: improve OIDC code challenge workflow (#7397)
* improve code

* improve code

* fix auth route issue

* fix Interaction not find Session

* fix all flow

* fix error

* refactor

* fix oidc token flow

* fix oidc token flow

* update i18n

* improve auth page

* fix test

* fix test

* refactor components
2025-04-14 22:46:12 +08:00
YuTengjing 27c5b45a0e 🌐 feat: opening settings copyright i18n 2025-04-14 19:59:19 +08:00
YuTengjing 64d23f4c38 test: update snapshots 2025-04-14 16:11:58 +08:00
YuTengjing 63b96c7e43 💄 style: opening message container add border 2025-04-14 15:52:11 +08:00
YuTengjing 211ee5e1fe 🐛 fix: opening questions should should be hidden when no setted 2025-04-14 12:16:32 +08:00
YuTengjing 961d6a1673 feat: regenerate migrate sql for new agent opening settings 2025-04-14 12:02:10 +08:00
YuTengjing 6002e823e2 Merge branch 'main' of github.com:lobehub/lobe-chat into tj/feat/guide-message 2025-04-14 11:34:06 +08:00
YuTengjing 72cf00e52e 🐛 fix: opening settings migration type error 2025-04-14 11:24:29 +08:00
lobehubbot f3d5d40512 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-12 17:00:50 +00:00
semantic-release-bot 21f97c5f27 🔖 chore(release): v1.79.8 [skip ci]
### [Version&nbsp;1.79.8](https://github.com/lobehub/lobe-chat/compare/v1.79.7...v1.79.8)
<sup>Released on **2025-04-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix Azure OpenAI unable to process image messages in local s3.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix Azure OpenAI unable to process image messages in local s3, closes [#7385](https://github.com/lobehub/lobe-chat/issues/7385) ([c98c0f8](https://github.com/lobehub/lobe-chat/commit/c98c0f8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-12 16:59:43 +00:00
Zwlin c98c0f8c08 🐛 fix: fix Azure OpenAI unable to process image messages in local s3 (#7385) 2025-04-13 00:49:45 +08:00
Arvin Xu b12b24018e 🔨 chore: add OAuth 2.0 and OIDC core implement (#7380)
* add oidc implement

* add oidc implement

* update

* update

* migration db

* improve

* improve scripts

* update

* 解决 auth 302 跳转的问题

* 完成 policy 实现调试

* improve middleware log

* 初步完成 auth 授权实现

* 初步完成 auth 授权实现

* fix adapter

* add adapter tests

* refactor with http adapter

* refactor for oidc service

* finish oauth 授权基础实现

* 区分 backend 入口与 client 页面入口

* add i18n

* update db schema

* fix lint

* improve

* fix tests and update i18n

* improve db adaptor

* fix tests

* fix tests

* fix tests
2025-04-13 00:49:31 +08:00
YuTengjing a614e3e53d feat: agent opening settings 2025-04-12 10:29:09 +08:00
lobehubbot 3014dfcc16 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-11 04:51:31 +00:00
semantic-release-bot a5694814e4 🔖 chore(release): v1.79.7 [skip ci]
### [Version&nbsp;1.79.7](https://github.com/lobehub/lobe-chat/compare/v1.79.6...v1.79.7)
<sup>Released on **2025-04-11**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor hotkey import to avoid db generate error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor hotkey import to avoid db generate error, closes [#7374](https://github.com/lobehub/lobe-chat/issues/7374) ([b91e4c2](https://github.com/lobehub/lobe-chat/commit/b91e4c2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-11 04:50:26 +00:00
Arvin Xu b91e4c23c8 ♻️ refactor: refactor hotkey import to avoid db generate error (#7374) 2025-04-11 12:40:33 +08:00
Arvin Xu e233416b38 🔨 chore: improve summary history tracing (#7372)
* 优化 summary History 性能

* fix

* add online search document
2025-04-11 11:50:59 +08:00
lobehubbot b0c2e2f222 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-11 03:48:31 +00:00
semantic-release-bot 5d15e3f321 🔖 chore(release): v1.79.6 [skip ci]
### [Version&nbsp;1.79.6](https://github.com/lobehub/lobe-chat/compare/v1.79.5...v1.79.6)
<sup>Released on **2025-04-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix `grok-3-mini` series calling.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix `grok-3-mini` series calling, closes [#7371](https://github.com/lobehub/lobe-chat/issues/7371) ([523c605](https://github.com/lobehub/lobe-chat/commit/523c605))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-11 03:47:16 +00:00
Zhijie He 523c605a3b 🐛 fix: fix grok-3-mini series calling (#7371) 2025-04-11 11:36:21 +08:00
TianLun Song 871b205bab 📝 docs: add online-search documents (#7365)
* Create searx.mdx

* ass searxng json output

* Update searx.mdx

* Rename searx.mdx to online-search.zh-CN.mdx
2025-04-11 10:17:00 +08:00
lobehubbot 75577ef629 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-10 17:22:10 +00:00
semantic-release-bot bd58658d6e 🔖 chore(release): v1.79.5 [skip ci]
### [Version&nbsp;1.79.5](https://github.com/lobehub/lobe-chat/compare/v1.79.4...v1.79.5)
<sup>Released on **2025-04-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix langfuse intergation.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix langfuse intergation, closes [#7367](https://github.com/lobehub/lobe-chat/issues/7367) ([22b5236](https://github.com/lobehub/lobe-chat/commit/22b5236))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-10 17:21:06 +00:00
Arvin Xu 22b52362b2 🐛 fix: fix langfuse intergation (#7367)
* improve test

* refactor langfuse integration

* improve langfuse integration

* fix tests
2025-04-11 01:11:01 +08:00
lobehubbot e5054d03eb 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-10 04:52:47 +00:00
semantic-release-bot 5c2e347e30 🔖 chore(release): v1.79.4 [skip ci]
### [Version&nbsp;1.79.4](https://github.com/lobehub/lobe-chat/compare/v1.79.3...v1.79.4)
<sup>Released on **2025-04-10**</sup>

#### 💄 Styles

- **misc**: Update Grok 3 models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Grok 3 models, closes [#7360](https://github.com/lobehub/lobe-chat/issues/7360) ([d2b9120](https://github.com/lobehub/lobe-chat/commit/d2b9120))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-10 04:51:41 +00:00
sxjeru d2b91206f3 💄 style: Update Grok 3 models (#7360) 2025-04-10 12:41:44 +08:00
lobehubbot 50b93c8386 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-10 03:16:27 +00:00
semantic-release-bot ebdd2280dd 🔖 chore(release): v1.79.3 [skip ci]
### [Version&nbsp;1.79.3](https://github.com/lobehub/lobe-chat/compare/v1.79.2...v1.79.3)
<sup>Released on **2025-04-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Remove Azure AI o3-mini unsupported parameters.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove Azure AI o3-mini unsupported parameters, closes [#7355](https://github.com/lobehub/lobe-chat/issues/7355) ([fe0711f](https://github.com/lobehub/lobe-chat/commit/fe0711f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-10 03:15:20 +00:00
sxjeru fe0711fe24 🐛 fix: Remove Azure AI o3-mini unsupported parameters (#7355)
* Update index.ts

* Update index.ts

* Update index.ts
2025-04-10 11:05:28 +08:00
Arvin Xu f57f7af1b8 👷 build: add desktop workflow and pre-merge desktop code (#7361)
* add desktop workflow code

* add desktop relative code

* Update pr-release-body.js
2025-04-10 10:47:05 +08:00
Arvin Xu 88a7149a58 🔨 chore: upgrade nextjs@15.3.0 (#7359)
* upgrade nextjs

* just remove turbopack
2025-04-10 10:43:56 +08:00
lobehubbot 042f7a4bef 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-09 14:46:19 +00:00
semantic-release-bot ae2580c6c8 🔖 chore(release): v1.79.2 [skip ci]
### [Version&nbsp;1.79.2](https://github.com/lobehub/lobe-chat/compare/v1.79.1...v1.79.2)
<sup>Released on **2025-04-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix env for Tencent Cloud & remove `deepseek-v3` series fc tag.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix env for Tencent Cloud & remove `deepseek-v3` series fc tag, closes [#7354](https://github.com/lobehub/lobe-chat/issues/7354) ([fe26d76](https://github.com/lobehub/lobe-chat/commit/fe26d76))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-09 14:45:11 +00:00
Zhijie He fe26d76ff0 🐛 fix: fix env for Tencent Cloud & remove deepseek-v3 series fc tag (#7354)
* 🐛 fix: fix env for Tencent Cloud & remove `deepseek-v3` series fc tag

* 🔨 chore: cleanup code
2025-04-09 22:34:58 +08:00
lobehubbot 0f541515e6 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-09 14:11:43 +00:00
semantic-release-bot b781cee82d 🔖 chore(release): v1.79.1 [skip ci]
### [Version&nbsp;1.79.1](https://github.com/lobehub/lobe-chat/compare/v1.79.0...v1.79.1)
<sup>Released on **2025-04-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix xAI API calling, not support `stream_options`.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix xAI API calling, not support `stream_options`, closes [#7353](https://github.com/lobehub/lobe-chat/issues/7353) ([cc0680d](https://github.com/lobehub/lobe-chat/commit/cc0680d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-09 14:10:32 +00:00
Zhijie He cc0680d645 🐛 fix: fix xAI API calling, not support stream_options (#7353)
* 🐛 fix: fix xAI API calling, not support `stream_options`

* 🐛 fix: try to fix ci error
2025-04-09 21:59:16 +08:00
lobehubbot c9f451762c 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-09 12:39:45 +00:00
semantic-release-bot a04c39cc9a 🔖 chore(release): v1.79.0 [skip ci]
## [Version&nbsp;1.79.0](https://github.com/lobehub/lobe-chat/compare/v1.78.0...v1.79.0)
<sup>Released on **2025-04-09**</sup>

####  Features

- **misc**: Add wiki migrate instructions.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add wiki migrate instructions ([8279340](https://github.com/lobehub/lobe-chat/commit/8279340))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-09 12:38:38 +00:00
YuTengjing b6d6af80d9 Merge pull request #7352 from lobehub/tj/fix/development-docs
Some final work of contributing docs migration
2025-04-09 20:28:39 +08:00
YuTengjing 778912363e 📝 docs: some markdown format optimization 2025-04-09 20:26:39 +08:00
YuTengjing 6d22583d9c 📝 docs: remove table of contents from documentation files 2025-04-09 20:14:57 +08:00
YuTengjing 8279340f8a feat: add wiki migrate instructions 2025-04-09 20:14:57 +08:00
YuTengjing 2e763f808c ♻️ chore: update database schema docs path from developer to development 2025-04-09 20:14:57 +08:00
YuTengjing bab38e0bcc 📝 docs: move contributing docs to docs/development and deploy to lobehub (#7349)
* 🗑️ chore: remove unused helpers folder

* 📝 docs: Update Lobe Chat API to latest architecture

* 📝 docs: Update contributing guidelines to include style checking section and improve clarity

* 📝 docs: Update application description from "AI conversation" to "AI chat" for clarity in architecture documentation

* 📝 docs: Update State Management introduction to clarify merging process in useSessionStore hook

* 📝 docs: optimize content order

* ♻️ docs: move contributing folder to docs/development

* 📝 docs: unify TOC header format and fix relative links

* ♻️ docs: rename docs/development from md to mdx

* 📝 docs: remove useless .mdx extension in page link

* 📝 docs: fix relative links

*  chore: remove useless wiki-sync workflow
2025-04-09 19:17:12 +08:00
lobehubbot 0ba30476bd 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-09 08:38:29 +00:00
semantic-release-bot e0db5dfd82 🔖 chore(release): v1.78.0 [skip ci]
## [Version&nbsp;1.78.0](https://github.com/lobehub/lobe-chat/compare/v1.77.18...v1.78.0)
<sup>Released on **2025-04-09**</sup>

####  Features

- **misc**: Add Keycloak SSO provider support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Keycloak SSO provider support, closes [#7342](https://github.com/lobehub/lobe-chat/issues/7342) ([f739425](https://github.com/lobehub/lobe-chat/commit/f739425))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-09 08:37:25 +00:00
0xff26b9a8 f739425191 feat: Add Keycloak SSO provider support (#7342)
*  feat: Add Keycloak SSO provider support

- Implemented Keycloak authentication flow
- Added configuration options for Keycloak server

* 🔥 chore: remove unused environment variables

- Removed deprecated configuration options

* 📝 docs: add documentation for Keycloak SSO provider

- Added setup instructions for Keycloak integration
- Documented required environment variables
- Updated main SSO documentation to include Keycloak option

* 🔍 fix: correct documentation issues and remove redundant comments

- Fixed formatting in Keycloak SSO documentation
- Removed outdated comments in authentication code
2025-04-09 16:27:02 +08:00
lobehubbot d5539dee26 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-09 04:54:32 +00:00
semantic-release-bot 896c3f1df9 🔖 chore(release): v1.77.18 [skip ci]
### [Version&nbsp;1.77.18](https://github.com/lobehub/lobe-chat/compare/v1.77.17...v1.77.18)
<sup>Released on **2025-04-09**</sup>

#### 💄 Styles

- **misc**: Add `time_range` & `categories` support for SearXNG.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `time_range` & `categories` support for SearXNG, closes [#6813](https://github.com/lobehub/lobe-chat/issues/6813) ([9e4cd8c](https://github.com/lobehub/lobe-chat/commit/9e4cd8c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-09 04:53:25 +00:00
Zhijie He 9e4cd8cbe5 💄 style: add time_range & categories support for SearXNG (#6813)
*  feat: add time_range support for SearXNG

* ♻️ refactor: refactor SearXNG params

* ♻️ refactor: refactor search retry logic

*  feat: add `categories` support for SearXNG

* 🔨 chore: update system prompt

* 🐛 fix: fix build error

* 💄 style: optimize CategoryAvatar display

* 💄 style: update CategoryAvatar style

* 🔨 chore: update system prompt

* 🔨 chore: add `img_src` to SearchContent

* 🔨 chore: support more details info, `publishedDate`, `thumbnail`

* 🐛 fix: fix ci error

* 🔨 chore: update system prompt

* 💄 style: improve mobile view, if engines is empty

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-09 10:22:08 +08:00
YuTengjing d60f7f531a 📝 docs: improve contributing docs (#7335)
* 🗑️ chore: remove unused helpers folder

* 📝 docs: Update Lobe Chat API to latest architecture

* 📝 docs: Update contributing guidelines to include style checking section and improve clarity

* 📝 docs: Update application description from "AI conversation" to "AI chat" for clarity in architecture documentation

* 📝 docs: Update State Management introduction to clarify merging process in useSessionStore hook

* 📝 docs: optimize content order
2025-04-08 22:23:16 +08:00
lobehubbot a1aa0547b2 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-08 05:45:53 +00:00
semantic-release-bot ce1f276d5c 🔖 chore(release): v1.77.17 [skip ci]
### [Version&nbsp;1.77.17](https://github.com/lobehub/lobe-chat/compare/v1.77.16...v1.77.17)
<sup>Released on **2025-04-08**</sup>

#### 🐛 Bug Fixes

- **misc**: Refactor ollama pull flow and model service.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Refactor ollama pull flow and model service, closes [#7330](https://github.com/lobehub/lobe-chat/issues/7330) ([44d63b8](https://github.com/lobehub/lobe-chat/commit/44d63b8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-08 05:44:39 +00:00
Arvin Xu 21bc0f88f1 💄 style: improve ollama desktop setup guide (#7332)
* add ollama desktop guide

* update i18n

* fix OpenRouter models fetch
2025-04-08 11:36:10 +08:00
Arvin Xu 44d63b87a6 🐛 fix: refactor ollama pull flow and model service (#7330)
* refactor ollama pull flow and model service

* fix key vaults error

* refactor ollama model fetcher

* improve auto refresh for models

* fix error detail

* fix model fetch

* fix model fetch

* fix model checker

* fix model client fetch issue
2025-04-08 10:10:08 +08:00
Rylan Cai 422f8f5aa8 📌 chore: lock casdoor to v1.843 (#7331)
* 📌 pin: lock casdoor to v1.843

* 📝 docs: link to pr
2025-04-08 00:42:18 +08:00
lobehubbot 0b04da6bec 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-06 17:52:39 +00:00
semantic-release-bot cb5118d615 🔖 chore(release): v1.77.16 [skip ci]
### [Version&nbsp;1.77.16](https://github.com/lobehub/lobe-chat/compare/v1.77.15...v1.77.16)
<sup>Released on **2025-04-06**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor the file service.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor the file service, closes [#7323](https://github.com/lobehub/lobe-chat/issues/7323) ([3721b88](https://github.com/lobehub/lobe-chat/commit/3721b88))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-06 17:51:33 +00:00
Arvin Xu 3721b883d5 ♻️ refactor: refactor the file service (#7323)
* refactor the file service

* refactor to impls mode
2025-04-07 01:41:26 +08:00
gru-agent[bot] aeab079a23 Add unit tests for electronDevtoolsService to verify openDevtools functionality. (#7297) 2025-04-06 20:13:41 +08:00
lobehubbot 9c6a133dd9 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-06 07:55:22 +00:00
semantic-release-bot 2a11fd783e 🔖 chore(release): v1.77.15 [skip ci]
### [Version&nbsp;1.77.15](https://github.com/lobehub/lobe-chat/compare/v1.77.14...v1.77.15)
<sup>Released on **2025-04-06**</sup>

#### ♻ Code Refactoring

- **misc**: Improve public procedure implement.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Improve public procedure implement, closes [#7314](https://github.com/lobehub/lobe-chat/issues/7314) ([1b28230](https://github.com/lobehub/lobe-chat/commit/1b28230))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-06 07:54:13 +00:00
Arvin Xu 1b28230823 ♻️ refactor: improve public procedure implement (#7314) 2025-04-06 15:44:03 +08:00
Rylan Cai 70f474a3bb 🔨 chore: Correcting the env example url (#7313) 2025-04-06 14:35:37 +08:00
lobehubbot 5137786410 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-06 06:24:48 +00:00
semantic-release-bot 775c30bdf9 🔖 chore(release): v1.77.14 [skip ci]
### [Version&nbsp;1.77.14](https://github.com/lobehub/lobe-chat/compare/v1.77.13...v1.77.14)
<sup>Released on **2025-04-06**</sup>

#### 💄 Styles

- **misc**: Add `ernie-x1-32k-preview` support for Wenxin.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `ernie-x1-32k-preview` support for Wenxin, closes [#7302](https://github.com/lobehub/lobe-chat/issues/7302) ([8e8337c](https://github.com/lobehub/lobe-chat/commit/8e8337c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-06 06:23:40 +00:00
gru-agent[bot] 2e5d830740 Add unit tests for the toDbSessionId method in ServerService. (#6961) 2025-04-06 14:13:45 +08:00
Zhijie He 8e8337c4d1 💄 style: add ernie-x1-32k-preview support for Wenxin (#7302) 2025-04-06 14:12:19 +08:00
renovate[bot] cc3fb76972 Update dependency lucide-react to ^0.487.0 (#7305) 2025-04-06 14:11:42 +08:00
lobehubbot be7ec0146c 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-06 05:12:16 +00:00
semantic-release-bot 170b386526 🔖 chore(release): v1.77.13 [skip ci]
### [Version&nbsp;1.77.13](https://github.com/lobehub/lobe-chat/compare/v1.77.12...v1.77.13)
<sup>Released on **2025-04-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix data not show correctly in 1.77.11.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix data not show correctly in 1.77.11, closes [#7311](https://github.com/lobehub/lobe-chat/issues/7311) ([d99ca04](https://github.com/lobehub/lobe-chat/commit/d99ca04))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-06 05:11:13 +00:00
Arvin Xu d99ca04dba 🐛 fix: fix data not show correctly in 1.77.11 (#7311) 2025-04-06 13:01:05 +08:00
lobehubbot 15398554aa 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-06 04:21:15 +00:00
semantic-release-bot 5ecf1c3156 🔖 chore(release): v1.77.12 [skip ci]
### [Version&nbsp;1.77.12](https://github.com/lobehub/lobe-chat/compare/v1.77.11...v1.77.12)
<sup>Released on **2025-04-06**</sup>

#### 💄 Styles

- **misc**: Fix QVQ Max model, support default config for system agent and pre-merge some desktop code.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix QVQ Max model, closes [#7289](https://github.com/lobehub/lobe-chat/issues/7289) ([540aaf6](https://github.com/lobehub/lobe-chat/commit/540aaf6))
* **misc**: Support default config for system agent and pre-merge some desktop code, closes [#7296](https://github.com/lobehub/lobe-chat/issues/7296) ([addea48](https://github.com/lobehub/lobe-chat/commit/addea48))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-06 04:20:02 +00:00
Arvin Xu addea48b52 💄 style: support default config for system agent and pre-merge some desktop code (#7296)
* refactor

* update

* improve scripts

* fix changelog issue

* improve system agent config

* fix tests

* update scripts

* update ollama models

* Update ollama.ts
2025-04-06 12:09:57 +08:00
sxjeru 540aaf681f 💄 style: fix QVQ Max model (#7289)
* Update qwen.ts

* Update novita.ts

* Update novita.ts

* Update google.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-06 12:03:59 +08:00
WindSpiritSR 459c2fa452 📝 docs: Update PROXY_URL and ENABLE_PROXY_DNS (#7304)
Signed-off-by: WindSpiritSR <simon343riley@gmail.com>
2025-04-06 11:09:56 +08:00
Arvin Xu a63e1f0ab7 🔨 chore: pre-merge some desktop relative code to check stable (#7294)
* pre some electron update code

* update chat test

* update i18n

* update code

* fix desktop hotkey display

* fix test ahead
2025-04-04 22:33:48 +08:00
lobehubbot 05a05be81e 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-04 07:19:21 +00:00
semantic-release-bot 6eee6d1193 🔖 chore(release): v1.77.11 [skip ci]
### [Version&nbsp;1.77.11](https://github.com/lobehub/lobe-chat/compare/v1.77.10...v1.77.11)
<sup>Released on **2025-04-04**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix fetch issue in offline mode and make jina crawler first.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix fetch issue in offline mode and make jina crawler first, closes [#7288](https://github.com/lobehub/lobe-chat/issues/7288) ([6bed7a3](https://github.com/lobehub/lobe-chat/commit/6bed7a3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-04 07:18:17 +00:00
Arvin Xu 6bed7a3fe4 🐛 fix: fix fetch issue in offline mode and make jina crawler first (#7288)
* fix Assistant and plugin loading in offline mode

* fix Assistant and plugin loading in offline mode

* improve ollama setup

* make jina as default impls
2025-04-04 15:08:15 +08:00
lobehubbot 4e89aebdef 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-03 16:19:55 +00:00
semantic-release-bot 7c1470b2d0 🔖 chore(release): v1.77.10 [skip ci]
### [Version&nbsp;1.77.10](https://github.com/lobehub/lobe-chat/compare/v1.77.9...v1.77.10)
<sup>Released on **2025-04-03**</sup>

#### 🐛 Bug Fixes

- **web-crawler**: Remove unnecessary urlTransform for YouTube links.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **web-crawler**: Remove unnecessary urlTransform for YouTube links, closes [#7285](https://github.com/lobehub/lobe-chat/issues/7285) ([220bca0](https://github.com/lobehub/lobe-chat/commit/220bca0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-03 16:18:47 +00:00
wang2 220bca0b1c 🐛 fix(web-crawler): remove unnecessary urlTransform for YouTube links (#7285) 2025-04-04 00:07:46 +08:00
lobehubbot 12c34b0e1f 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-03 07:10:18 +00:00
semantic-release-bot 9a623383d3 🔖 chore(release): v1.77.9 [skip ci]
### [Version&nbsp;1.77.9](https://github.com/lobehub/lobe-chat/compare/v1.77.8...v1.77.9)
<sup>Released on **2025-04-03**</sup>

#### 💄 Styles

- **web-crawler**: Add special support for YouTube,Reddit and WeChat links.
- **misc**: Add QVQ-Max model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **web-crawler**: Add special support for YouTube,Reddit and WeChat links, closes [#7251](https://github.com/lobehub/lobe-chat/issues/7251) ([8f0da93](https://github.com/lobehub/lobe-chat/commit/8f0da93))
* **misc**: Add QVQ-Max model, closes [#7258](https://github.com/lobehub/lobe-chat/issues/7258) ([2be019c](https://github.com/lobehub/lobe-chat/commit/2be019c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-03 07:09:13 +00:00
sxjeru 2be019c38f 💄 style: Add QVQ-Max model (#7258)
* Update qwen.ts

* Update qwen.ts

* Update novita.ts

* update snaps

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-03 14:34:28 +08:00
wang2 8f0da93a75 💄 style(web-crawler): add special support for YouTube,Reddit and WeChat links (#7251)
* feat(web-crawler): add support for YouTube and Reddit links

* feat(web-crawler): use search1api for WeChat Official Account links

* feat(web-crawler): add jina for WeChat Official Account links
2025-04-03 14:33:30 +08:00
lobehubbot 8d80511868 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-03 03:54:55 +00:00
semantic-release-bot 3076cf3335 🔖 chore(release): v1.77.8 [skip ci]
### [Version&nbsp;1.77.8](https://github.com/lobehub/lobe-chat/compare/v1.77.7...v1.77.8)
<sup>Released on **2025-04-03**</sup>

#### 🐛 Bug Fixes

- **misc**: Add `SEARCH1API_CRAWL_API_KEY` env.

#### 💄 Styles

- **misc**: Auto refresh TokenTag count.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add `SEARCH1API_CRAWL_API_KEY` env, closes [#7270](https://github.com/lobehub/lobe-chat/issues/7270) ([85e8ff1](https://github.com/lobehub/lobe-chat/commit/85e8ff1))

#### Styles

* **misc**: Auto refresh TokenTag count, closes [#7011](https://github.com/lobehub/lobe-chat/issues/7011) ([9d62451](https://github.com/lobehub/lobe-chat/commit/9d62451))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-03 03:53:46 +00:00
sxjeru 9d624516c7 💄 style: auto refresh TokenTag count (#7011)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-04-03 11:43:49 +08:00
Arvin Xu 85e8ff1644 🐛 fix: add SEARCH1API_CRAWL_API_KEY env (#7270) 2025-04-03 11:41:19 +08:00
lobehubbot c89de786b5 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-03 03:03:47 +00:00
semantic-release-bot c3bb0abc59 🔖 chore(release): v1.77.7 [skip ci]
### [Version&nbsp;1.77.7](https://github.com/lobehub/lobe-chat/compare/v1.77.6...v1.77.7)
<sup>Released on **2025-04-03**</sup>

#### ♻ Code Refactoring

- **misc**: Add desktop-release workflow and improve code.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add desktop-release workflow and improve code, closes [#7265](https://github.com/lobehub/lobe-chat/issues/7265) ([773d5dd](https://github.com/lobehub/lobe-chat/commit/773d5dd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-03 03:02:41 +00:00
Arvin Xu 773d5dd1f9 ♻️ refactor: add desktop-release workflow and improve code (#7265)
* update

* fix tests

* add Release Desktop workflow

* fix tests

* fix coverage config

* fix coverage config

* fix coverage server test config
2025-04-03 10:52:47 +08:00
Arvin Xu b40caee32c 🔨 chore: add desktop pre-code to validate build process (#7261)
* add code

* fix lint

* fix tests
2025-04-02 09:31:08 +08:00
lobehubbot 5897d9e106 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-01 13:04:17 +00:00
semantic-release-bot cbfb4660cc 🔖 chore(release): v1.77.6 [skip ci]
### [Version&nbsp;1.77.6](https://github.com/lobehub/lobe-chat/compare/v1.77.5...v1.77.6)
<sup>Released on **2025-04-01**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor the db to context inject mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor the db to context inject mode, closes [#7255](https://github.com/lobehub/lobe-chat/issues/7255) ([ffd0dbc](https://github.com/lobehub/lobe-chat/commit/ffd0dbc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-01 13:03:12 +00:00
Arvin Xu ffd0dbc7f5 ♻️ refactor: refactor the db to context inject mode (#7255)
* refactor with new db init mode

* fix tests

* fix tests

* move the separate index

* fix tests

* fix tests

* fix db issue

* fix db

* refactor to clean

* Update index.ts

* fix error

* fix the exist inbox slug session

* fix the tests
2025-04-01 20:53:03 +08:00
lobehubbot 3a52f5cf97 📝 docs(bot): Auto sync agents & plugin to readme 2025-04-01 08:10:38 +00:00
semantic-release-bot 253521883d 🔖 chore(release): v1.77.5 [skip ci]
### [Version&nbsp;1.77.5](https://github.com/lobehub/lobe-chat/compare/v1.77.4...v1.77.5)
<sup>Released on **2025-04-01**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-04-01 08:09:33 +00:00
Arvin Xu 72734686e2 ️ perf: fix delete file chunk timeout (#7253)
* fix delete file chunk

* update branding loading

* fix tests
2025-04-01 15:59:20 +08:00
lobehubbot 8969716168 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-31 12:00:12 +00:00
semantic-release-bot 666b2b0f0c 🔖 chore(release): v1.77.4 [skip ci]
### [Version&nbsp;1.77.4](https://github.com/lobehub/lobe-chat/compare/v1.77.3...v1.77.4)
<sup>Released on **2025-03-31**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor db core.

#### 💄 Styles

- **misc**: Update branding.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor db core, closes [#7245](https://github.com/lobehub/lobe-chat/issues/7245) ([5c71db6](https://github.com/lobehub/lobe-chat/commit/5c71db6))

#### Styles

* **misc**: Update branding, closes [#7224](https://github.com/lobehub/lobe-chat/issues/7224) ([481cab0](https://github.com/lobehub/lobe-chat/commit/481cab0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-31 11:58:55 +00:00
renovate[bot] 0f7af4b898 Update dependency lucide-react to ^0.485.0 (#7230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 19:48:55 +08:00
renovate[bot] 11b6467f36 Update dependency @neondatabase/serverless to v1 (#7231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 19:48:46 +08:00
Arvin Xu 5c71db6c4e ♻️ refactor: refactor db core (#7245)
* refactor db core

* fix tests
2025-03-31 19:39:57 +08:00
Arvin Xu 481cab0515 💄 style: update branding (#7224) 2025-03-31 19:39:37 +08:00
Arvin Xu 7ae17b62d3 🔨 chore: add electron server ipc (#7246) 2025-03-31 19:39:10 +08:00
bbbugg 4309730cc8 📝 docs: update example model names in documentation for clarity (#7237)
Co-authored-by: bbbugg <daming20120101@16.com>
2025-03-31 17:55:11 +08:00
lobehubbot eb5545bd7f 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-29 15:26:26 +00:00
semantic-release-bot 1d526c2f7c 🔖 chore(release): v1.77.3 [skip ci]
### [Version&nbsp;1.77.3](https://github.com/lobehub/lobe-chat/compare/v1.77.2...v1.77.3)
<sup>Released on **2025-03-29**</sup>

#### ♻ Code Refactoring

- **misc**: Move general db models to database folder.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Move general db models to database folder, closes [#7222](https://github.com/lobehub/lobe-chat/issues/7222) ([f831d86](https://github.com/lobehub/lobe-chat/commit/f831d86))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-29 15:25:22 +00:00
Arvin Xu f831d8641c ♻️ refactor: move general db models to database folder (#7222)
* ♻️ refactor: decrypt error

* fix tests
2025-03-29 23:15:24 +08:00
lobehubbot 7c18071d21 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-29 12:45:09 +00:00
semantic-release-bot dd525adc1a 🔖 chore(release): v1.77.2 [skip ci]
### [Version&nbsp;1.77.2](https://github.com/lobehub/lobe-chat/compare/v1.77.1...v1.77.2)
<sup>Released on **2025-03-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix decrypt error with imported pg data.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix decrypt error with imported pg data, closes [#7220](https://github.com/lobehub/lobe-chat/issues/7220) ([f8a0aa0](https://github.com/lobehub/lobe-chat/commit/f8a0aa0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-29 12:44:06 +00:00
Arvin Xu f8a0aa0840 🐛 fix: fix decrypt error with imported pg data (#7220) 2025-03-29 20:33:57 +08:00
lobehubbot ad336be74f 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-29 12:00:36 +00:00
semantic-release-bot 5b58e1b4b1 🔖 chore(release): v1.77.1 [skip ci]
### [Version&nbsp;1.77.1](https://github.com/lobehub/lobe-chat/compare/v1.77.0...v1.77.1)
<sup>Released on **2025-03-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix export button and clean orphan agent.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix export button and clean orphan agent, closes [#7219](https://github.com/lobehub/lobe-chat/issues/7219) ([112282a](https://github.com/lobehub/lobe-chat/commit/112282a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-29 11:59:33 +00:00
Arvin Xu 112282a8fc 🐛 fix: fix export button and clean orphan agent (#7219)
* update

* clean agent when delete session
2025-03-29 19:49:26 +08:00
lobehubbot 5a63313e16 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-29 10:12:06 +00:00
semantic-release-bot 18898e0690 🔖 chore(release): v1.77.0 [skip ci]
## [Version&nbsp;1.77.0](https://github.com/lobehub/lobe-chat/compare/v1.76.1...v1.77.0)
<sup>Released on **2025-03-29**</sup>

####  Features

- **misc**: Support pglite and postgres data export.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support pglite and postgres data export, closes [#5581](https://github.com/lobehub/lobe-chat/issues/5581) ([57f18ff](https://github.com/lobehub/lobe-chat/commit/57f18ff))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-29 10:11:03 +00:00
Arvin Xu 57f18ff0c8 feat: support pglite and postgres data export (#5581)
* wip

* update

* fix server side import

* fix import

* fix test
2025-03-29 18:01:00 +08:00
lobehubbot d02986392b 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-29 06:34:17 +00:00
semantic-release-bot e8781e633c 🔖 chore(release): v1.76.1 [skip ci]
### [Version&nbsp;1.76.1](https://github.com/lobehub/lobe-chat/compare/v1.76.0...v1.76.1)
<sup>Released on **2025-03-29**</sup>

#### 💄 Styles

- **misc**: Supports OpenAI's latest voice model gpt-4o-mini-tts.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Supports OpenAI's latest voice model gpt-4o-mini-tts, closes [#7213](https://github.com/lobehub/lobe-chat/issues/7213) ([f291e6f](https://github.com/lobehub/lobe-chat/commit/f291e6f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-29 06:33:13 +00:00
hedeqiang f291e6f970 💄 style: Supports OpenAI's latest voice model gpt-4o-mini-tts (#7213) 2025-03-29 14:23:37 +08:00
coder2z ff52a2c33c 🐛 fix: Add the FEATURE_FLAGS variable in the dockerfile (#7175)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-03-29 14:22:08 +08:00
lobehubbot e8439e85d3 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-28 14:08:42 +00:00
semantic-release-bot 62d33b0448 🔖 chore(release): v1.76.0 [skip ci]
## [Version&nbsp;1.76.0](https://github.com/lobehub/lobe-chat/compare/v1.75.5...v1.76.0)
<sup>Released on **2025-03-28**</sup>

####  Features

- **misc**: Add Hotkey Settings.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Hotkey Settings, closes [#7118](https://github.com/lobehub/lobe-chat/issues/7118) ([9773e74](https://github.com/lobehub/lobe-chat/commit/9773e74))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-28 14:07:39 +00:00
CanisMinor 9773e74233 feat: add Hotkey Settings (#7118)
* 💄 style: Replace Hotkey components

*  feat(wip): Add Hotkey Setting

* 💄 style: Update Hotkey Setting

*  feat: Add HotkeyProvider

*  test: Fix test

* ♻️ refactor: Update hotkey register

* 🔧 chore: Update i18n

*  test: Update test

* 🔧 chore: Update i18n

* 🐛 fix: Fix lobe ui

*  feat: Add Hotkey Helper Panel

* 🐛 fix: Fix build

* 🔧 chore: Update migrations

* 🐛 fix: Try to fix build

* 🐛 fix: Try to fix build

* 🐛 fix: Fix some error

* 🔧 chore: Try to update nuqs

* 🐛 fix: Try to fix build

* 🐛 fix: Fix build

* 💄 style: Replace OpenHotkeyHelper hotkey

* 🐛 fix: Fix review problem

* 🐛 fix: Fix review problem

* 💄 style: Change TogglePanel Hotkey

* update

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-03-28 21:57:41 +08:00
lobehubbot 13e1607e4c 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-28 02:33:32 +00:00
semantic-release-bot b576e9d839 🔖 chore(release): v1.75.5 [skip ci]
### [Version&nbsp;1.75.5](https://github.com/lobehub/lobe-chat/compare/v1.75.4...v1.75.5)
<sup>Released on **2025-03-28**</sup>

#### 💄 Styles

- **misc**: Add tencentcloud deepseek-v3-0324, support for parsing `imageOutput`, update models for siliconcloud & infiniai.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add tencentcloud deepseek-v3-0324, closes [#7182](https://github.com/lobehub/lobe-chat/issues/7182) ([c67af99](https://github.com/lobehub/lobe-chat/commit/c67af99))
* **misc**: Support for parsing `imageOutput`, closes [#7140](https://github.com/lobehub/lobe-chat/issues/7140) ([05bae9d](https://github.com/lobehub/lobe-chat/commit/05bae9d))
* **misc**: Update models for siliconcloud & infiniai, closes [#7197](https://github.com/lobehub/lobe-chat/issues/7197) ([1c1f693](https://github.com/lobehub/lobe-chat/commit/1c1f693))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-28 02:32:22 +00:00
WangYK 1c1f6933bd 💄 style: update models for siliconcloud & infiniai (#7197)
* 💄 style: update infiniai model list

* 💄 style: improve error handling for infiniai provider

* 💄 style: add qwen2.5 vl 32b in infiniai provider

* 💄 style: add qwen2.5-vl-32b to siliconcloud

* 🔧 chore: update i18n

* 🐛 fix: `formatPriceByCurrency` should display 0 if the price is 0

* 💄 style: disable outdated models for infiniai
2025-03-28 10:22:56 +08:00
wzdnzd 05bae9d3db 💄 style: support for parsing imageOutput (#7140)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-03-28 10:21:56 +08:00
hedeqiang c67af99b56 💄 style: Add tencentcloud deepseek-v3-0324 (#7182) 2025-03-28 10:21:40 +08:00
Shixian Sheng 56758df1bd 📝 docs: update copyright date (#7204)
* Update README.md

* Update README.zh-CN.md
2025-03-28 10:20:49 +08:00
lobehubbot 02b7af7eb9 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-27 11:38:07 +00:00
semantic-release-bot adfb12c47c 🔖 chore(release): v1.75.4 [skip ci]
### [Version&nbsp;1.75.4](https://github.com/lobehub/lobe-chat/compare/v1.75.3...v1.75.4)
<sup>Released on **2025-03-27**</sup>

#### 💄 Styles

- **misc**: Update models info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update models info, closes [#7164](https://github.com/lobehub/lobe-chat/issues/7164) ([74aff9b](https://github.com/lobehub/lobe-chat/commit/74aff9b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-27 11:37:02 +00:00
sxjeru 74aff9bae0 💄 style: Update models info (#7164)
* Update google.ts

* Update siliconcloud.ts

* Update google.ts

* Update siliconcloud.ts

* Update vertexai.ts

* Update volcengine.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-03-27 19:27:12 +08:00
lobehubbot c47a634354 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-26 13:23:15 +00:00
semantic-release-bot 19ea626f87 🔖 chore(release): v1.75.3 [skip ci]
### [Version&nbsp;1.75.3](https://github.com/lobehub/lobe-chat/compare/v1.75.2...v1.75.3)
<sup>Released on **2025-03-26**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix anthropic import issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix anthropic import issue, closes [#7155](https://github.com/lobehub/lobe-chat/issues/7155) ([a9725b2](https://github.com/lobehub/lobe-chat/commit/a9725b2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-26 13:22:06 +00:00
Arvin Xu a9725b2c41 🐛 fix: fix anthropic import issue (#7155)
* fix

* Update package.json

* improve

* improve
2025-03-26 21:12:26 +08:00
lobehubbot 944e690230 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-26 04:00:03 +00:00
semantic-release-bot aa5e7d676c 🔖 chore(release): v1.75.2 [skip ci]
### [Version&nbsp;1.75.2](https://github.com/lobehub/lobe-chat/compare/v1.75.1...v1.75.2)
<sup>Released on **2025-03-26**</sup>

#### 🐛 Bug Fixes

- **misc**: Update 'gemini-2.5-pro-exp-03-25' maxOutput and contextWindowTokens.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update 'gemini-2.5-pro-exp-03-25' maxOutput and contextWindowTokens, closes [#7156](https://github.com/lobehub/lobe-chat/issues/7156) ([a28b98e](https://github.com/lobehub/lobe-chat/commit/a28b98e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-26 03:59:01 +00:00
bbbugg a28b98ee92 🐛 fix: Update 'gemini-2.5-pro-exp-03-25' maxOutput and contextWindowTokens (#7156)
* Update gemini-2.5-pro-exp-03-25 maxOutput and contextWindowTokens

* Update 'gemini-2.5-pro-exp-03-25' maxOutput and contextWindowTokens
2025-03-26 11:49:04 +08:00
lobehubbot d21f1441a1 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-26 01:39:59 +00:00
semantic-release-bot 36ec36273a 🔖 chore(release): v1.75.1 [skip ci]
### [Version&nbsp;1.75.1](https://github.com/lobehub/lobe-chat/compare/v1.75.0...v1.75.1)
<sup>Released on **2025-03-26**</sup>

#### 💄 Styles

- **misc**: Update siliconcloud models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update siliconcloud models, closes [#7072](https://github.com/lobehub/lobe-chat/issues/7072) ([8a524d4](https://github.com/lobehub/lobe-chat/commit/8a524d4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-26 01:38:57 +00:00
sxjeru 8a524d4a7b 💄 style: Update siliconcloud models (#7072) 2025-03-26 09:29:05 +08:00
lobehubbot a529da4e7a 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-26 00:47:19 +00:00
semantic-release-bot 168de63469 🔖 chore(release): v1.75.0 [skip ci]
## [Version&nbsp;1.75.0](https://github.com/lobehub/lobe-chat/compare/v1.74.11...v1.75.0)
<sup>Released on **2025-03-26**</sup>

####  Features

- **misc**: Add reasoning content selector and update AutoScroll component, add Xinference provider support.

#### 💄 Styles

- **misc**: Add Gemini 2.5 Pro Experimental model, improve editing scroll experience.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add reasoning content selector and update AutoScroll component, closes [#7056](https://github.com/lobehub/lobe-chat/issues/7056) ([800d675](https://github.com/lobehub/lobe-chat/commit/800d675))
* **misc**: Add Xinference provider support, closes [#7081](https://github.com/lobehub/lobe-chat/issues/7081) ([e32c8e7](https://github.com/lobehub/lobe-chat/commit/e32c8e7))

#### Styles

* **misc**: Add Gemini 2.5 Pro Experimental model, closes [#7153](https://github.com/lobehub/lobe-chat/issues/7153) ([4213d20](https://github.com/lobehub/lobe-chat/commit/4213d20))
* **misc**: Improve editing scroll experience, closes [#7149](https://github.com/lobehub/lobe-chat/issues/7149) ([816331f](https://github.com/lobehub/lobe-chat/commit/816331f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-26 00:45:57 +00:00
afon 800d675e04 feat: add reasoning content selector and update AutoScroll component (#7056) 2025-03-26 08:36:04 +08:00
Arvin Xu 816331fd8d 💄 style: improve editing scroll experience (#7149) 2025-03-26 08:26:47 +08:00
Zhijie He e32c8e7fc3 feat: add Xinference provider support (#7081) 2025-03-26 08:23:40 +08:00
Koell 4213d20dcf 💄 style: Add Gemini 2.5 Pro Experimental model (#7153) 2025-03-26 08:20:04 +08:00
gru-agent[bot] c9732034c9 test: Add tests for request payload patterns and file type filtering in browserless functionality. (#7132)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-25 21:05:38 +08:00
huangkairan ed99c0a983 🔨 chore: fix eslint error (#7139)
Co-authored-by: GH Action - Upstream Sync <action@github.com>
2025-03-25 20:14:44 +08:00
lobehubbot d5d849f318 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-25 10:15:51 +00:00
semantic-release-bot bcf7ed0896 🔖 chore(release): v1.74.11 [skip ci]
### [Version&nbsp;1.74.11](https://github.com/lobehub/lobe-chat/compare/v1.74.10...v1.74.11)
<sup>Released on **2025-03-25**</sup>

#### ♻ Code Refactoring

- **misc**: Upgrade styles for Drawer.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Upgrade styles for Drawer, closes [#7141](https://github.com/lobehub/lobe-chat/issues/7141) ([bcbc8fc](https://github.com/lobehub/lobe-chat/commit/bcbc8fc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-25 10:14:48 +00:00
Arvin Xu bcbc8fc079 ♻️ refactor: upgrade styles for Drawer (#7141) 2025-03-25 17:18:45 +08:00
lobehubbot b245ce2653 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-25 04:43:43 +00:00
semantic-release-bot 8f2fc25ab8 🔖 chore(release): v1.74.10 [skip ci]
### [Version&nbsp;1.74.10](https://github.com/lobehub/lobe-chat/compare/v1.74.9...v1.74.10)
<sup>Released on **2025-03-25**</sup>

#### 💄 Styles

- **misc**: Add `hunyuan-t1-latest` from Hunyuan.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `hunyuan-t1-latest` from Hunyuan, closes [#7123](https://github.com/lobehub/lobe-chat/issues/7123) ([8377c6b](https://github.com/lobehub/lobe-chat/commit/8377c6b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-25 04:42:41 +00:00
Zhijie He 8377c6b618 💄 style: add hunyuan-t1-latest from Hunyuan (#7123) 2025-03-25 12:33:03 +08:00
lobehubbot df5d45d136 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-25 03:51:05 +00:00
semantic-release-bot 6a3928b6b4 🔖 chore(release): v1.74.9 [skip ci]
### [Version&nbsp;1.74.9](https://github.com/lobehub/lobe-chat/compare/v1.74.8...v1.74.9)
<sup>Released on **2025-03-25**</sup>

#### ♻ Code Refactoring

- **misc**: Add reject pattern for browserless to boost crawl performance.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add reject pattern for browserless to boost crawl performance, closes [#6996](https://github.com/lobehub/lobe-chat/issues/6996) ([184a1ba](https://github.com/lobehub/lobe-chat/commit/184a1ba))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-25 03:49:57 +00:00
Rylan Cai 184a1ba4b8 ♻️ refactor: Add reject pattern for browserless to boost crawl performance (#6996)
* ♻️ refactor: support reject pattern

* ♻️ refactor: remove env & add whitelist
2025-03-25 11:40:00 +08:00
vual 19bff320d8 🔨 chore: upgrade antd version (#7124)
Property 'variant' does not exist on type 'IntrinsicAttributes & CardProps & RefAttributes<HTMLDivElement>'.
2025-03-24 19:23:12 +08:00
lobehubbot a1ee293bdf 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-24 11:09:57 +00:00
semantic-release-bot 2851a09244 🔖 chore(release): v1.74.8 [skip ci]
### [Version&nbsp;1.74.8](https://github.com/lobehub/lobe-chat/compare/v1.74.7...v1.74.8)
<sup>Released on **2025-03-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Update create message loading issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update create message loading issue, closes [#7116](https://github.com/lobehub/lobe-chat/issues/7116) ([a4558a4](https://github.com/lobehub/lobe-chat/commit/a4558a4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-24 11:08:53 +00:00
Arvin Xu a4558a44c4 🐛 fix: update create message loading issue (#7116) 2025-03-24 18:59:03 +08:00
lobehubbot bd0a797bdb 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-24 10:22:26 +00:00
semantic-release-bot c624b4db98 🔖 chore(release): v1.74.7 [skip ci]
### [Version&nbsp;1.74.7](https://github.com/lobehub/lobe-chat/compare/v1.74.6...v1.74.7)
<sup>Released on **2025-03-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Remove Tooltip component in Topic in mobile mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Remove Tooltip component in Topic in mobile mode, closes [#7121](https://github.com/lobehub/lobe-chat/issues/7121) ([375f924](https://github.com/lobehub/lobe-chat/commit/375f924))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-24 10:21:18 +00:00
bbbugg 375f924094 🐛 fix: remove Tooltip component in Topic in mobile mode (#7121)
* 🐛 fix: update 'title' missing in Tooltip component

* Update index.tsx
2025-03-24 18:11:03 +08:00
lobehubbot 51162f345e 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-24 05:12:10 +00:00
semantic-release-bot c4e273ee4e 🔖 chore(release): v1.74.6 [skip ci]
### [Version&nbsp;1.74.6](https://github.com/lobehub/lobe-chat/compare/v1.74.5...v1.74.6)
<sup>Released on **2025-03-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Set max_completion_tokens to undefined for Azure OpenAI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Set max_completion_tokens to undefined for Azure OpenAI, closes [#7114](https://github.com/lobehub/lobe-chat/issues/7114) ([30b66b9](https://github.com/lobehub/lobe-chat/commit/30b66b9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-24 05:11:10 +00:00
coder2z 30b66b9411 🐛 fix: set max_completion_tokens to undefined for Azure OpenAI (#7114) 2025-03-24 13:01:32 +08:00
lobehubbot 91f74b52c8 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-23 08:14:09 +00:00
semantic-release-bot 98b5f466c0 🔖 chore(release): v1.74.5 [skip ci]
### [Version&nbsp;1.74.5](https://github.com/lobehub/lobe-chat/compare/v1.74.4...v1.74.5)
<sup>Released on **2025-03-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix wechat login error with next-auth.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix wechat login error with next-auth, closes [#6585](https://github.com/lobehub/lobe-chat/issues/6585) ([c58d77a](https://github.com/lobehub/lobe-chat/commit/c58d77a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-23 08:13:09 +00:00
xiangnan c58d77aa25 🐛 fix: fix wechat login error with next-auth (#6585) 2025-03-23 16:03:38 +08:00
lobehubbot 876292b08f 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-23 07:01:43 +00:00
semantic-release-bot cd7858fb05 🔖 chore(release): v1.74.4 [skip ci]
### [Version&nbsp;1.74.4](https://github.com/lobehub/lobe-chat/compare/v1.74.3...v1.74.4)
<sup>Released on **2025-03-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Upgrade next to 15.2.3 to fix CVE-2025-29927.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Upgrade next to 15.2.3 to fix CVE-2025-29927, closes [#7105](https://github.com/lobehub/lobe-chat/issues/7105) ([187a655](https://github.com/lobehub/lobe-chat/commit/187a655))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-23 07:00:33 +00:00
Arvin Xu 187a655625 🐛 fix: upgrade next to 15.2.3 to fix CVE-2025-29927 (#7105) 2025-03-23 14:51:02 +08:00
renovate[bot] 3388eb68d2 Update dependency drizzle-orm to ^0.41.0 (#7101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 11:37:41 +08:00
renovate[bot] 1f28dc9bd8 Update dependency react-scan to ^0.3.0 (#7103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 11:31:43 +08:00
renovate[bot] 9b6dc12e96 Update dependency lucide-react to ^0.483.0 (#7102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 11:31:33 +08:00
lobehubbot 05032ae225 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-22 17:47:57 +00:00
semantic-release-bot de6830764e 🔖 chore(release): v1.74.3 [skip ci]
### [Version&nbsp;1.74.3](https://github.com/lobehub/lobe-chat/compare/v1.74.2...v1.74.3)
<sup>Released on **2025-03-22**</sup>

#### ♻ Code Refactoring

- **misc**: Add client id for all core entities in database.

#### 💄 Styles

- **misc**: Clear previous model check result.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Add client id for all core entities in database, closes [#7089](https://github.com/lobehub/lobe-chat/issues/7089) ([6798f86](https://github.com/lobehub/lobe-chat/commit/6798f86))

#### Styles

* **misc**: Clear previous model check result, closes [#7087](https://github.com/lobehub/lobe-chat/issues/7087) ([e6c5d08](https://github.com/lobehub/lobe-chat/commit/e6c5d08))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-22 17:46:48 +00:00
gru-agent[bot] c5655411f2 test: Add tests for general settings selectors in user settings slice. (#6905)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-23 01:37:08 +08:00
sxjeru e6c5d0833e 💄 style: Clear previous model check result (#7087)
* Update Checker.tsx

* Update Checker.tsx
2025-03-23 01:35:29 +08:00
Arvin Xu 6798f86eaa ♻️ refactor: add client id for all core entities in database (#7089)
* add client id for all entities

* add client db repair feature

* update i18n
2025-03-23 01:26:56 +08:00
lobehubbot 8b761a4c5a 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-22 16:45:12 +00:00
semantic-release-bot 43cf2226cd 🔖 chore(release): v1.74.2 [skip ci]
### [Version&nbsp;1.74.2](https://github.com/lobehub/lobe-chat/compare/v1.74.1...v1.74.2)
<sup>Released on **2025-03-22**</sup>

#### 🐛 Bug Fixes

- **misc**: CheckModel change clears other configs, update input and output prices.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: CheckModel change clears other configs, closes [#7083](https://github.com/lobehub/lobe-chat/issues/7083) ([a416c64](https://github.com/lobehub/lobe-chat/commit/a416c64))
* **misc**: Update input and output prices, closes [#7094](https://github.com/lobehub/lobe-chat/issues/7094) ([460c56f](https://github.com/lobehub/lobe-chat/commit/460c56f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-22 16:43:59 +00:00
sxjeru a416c6479f 🐛 fix: checkModel change clears other configs (#7083)
* Update Checker.tsx

* fix

* finally
2025-03-23 00:34:22 +08:00
bbbugg 460c56f5fc 🐛 fix: update input and output prices (#7094)
* 💰 fix(pricing): update input and output values of DeepSeek R1 for Volcengine API

* fix(pricing): update input and output prices for Qwen 'QwQ Plus' and 'QwQ 32B' models.

---------

Co-authored-by: bbbugg <daming20120101@16.com>
2025-03-23 00:31:44 +08:00
bbbugg 54a855c6a7 📝 docs: fix the display problem caused by merging (#7095)
* add proxy URL configurations for Moonshot and Volcengine APIs

* 📝 docs: fix the display problem caused by merging

* 📝 docs: fix the display problem caused by merging

---------

Co-authored-by: bbbugg <daming20120101@16.com>
2025-03-23 00:31:22 +08:00
lobehubbot 1bc908d45e 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-22 03:17:26 +00:00
semantic-release-bot bc7ed16297 🔖 chore(release): v1.74.1 [skip ci]
### [Version&nbsp;1.74.1](https://github.com/lobehub/lobe-chat/compare/v1.74.0...v1.74.1)
<sup>Released on **2025-03-22**</sup>

#### 💄 Styles

- **misc**: Fix `deepseek-r1-70b-online` search tag missing from Search1API.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix `deepseek-r1-70b-online` search tag missing from Search1API, closes [#7085](https://github.com/lobehub/lobe-chat/issues/7085) ([0a06a7a](https://github.com/lobehub/lobe-chat/commit/0a06a7a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-22 03:16:23 +00:00
Zhijie He 0a06a7afeb 💄 style: fix deepseek-r1-70b-online search tag missing from Search1API (#7085) 2025-03-22 11:06:28 +08:00
lobehubbot 16c0cbf378 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-21 15:54:40 +00:00
semantic-release-bot 12762b78eb 🔖 chore(release): v1.74.0 [skip ci]
## [Version&nbsp;1.74.0](https://github.com/lobehub/lobe-chat/compare/v1.73.2...v1.74.0)
<sup>Released on **2025-03-21**</sup>

####  Features

- **misc**: Add infini-ai provider, add Search1API provider with web search DeepSeek models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add infini-ai provider, closes [#7012](https://github.com/lobehub/lobe-chat/issues/7012) ([72d76fe](https://github.com/lobehub/lobe-chat/commit/72d76fe))
* **misc**: Add Search1API provider with web search DeepSeek models, closes [#6376](https://github.com/lobehub/lobe-chat/issues/6376) ([3450714](https://github.com/lobehub/lobe-chat/commit/3450714))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-21 15:53:32 +00:00
arvinxx e166d90d76 test: fix tests 2025-03-21 23:43:20 +08:00
Arvin Xu 30a23ece29 ️ perf: enable smoothing for all providers (#7062)
* update

* 尝试修正 tests

* fix tests config

* refactor agent-runtime tests

* refactor agent-runtime tests

* refactor agent-runtime tests

* fix tests

* fix tests
2025-03-21 23:30:13 +08:00
wang2 3450714544 feat: add Search1API provider with web search DeepSeek models (#6376)
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-03-21 23:30:02 +08:00
WangYK 72d76feff6 feat: add infini-ai provider (#7012)
*  feat: support infini-ai provider

* 🐛 fix: correct typo `infinigenceai` -> `infiniai`
2025-03-21 17:45:59 +08:00
lobehubbot 07b44f378c 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-21 09:45:19 +00:00
semantic-release-bot db31245252 🔖 chore(release): v1.73.2 [skip ci]
### [Version&nbsp;1.73.2](https://github.com/lobehub/lobe-chat/compare/v1.73.1...v1.73.2)
<sup>Released on **2025-03-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix agent chatConfig override issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix agent chatConfig override issue, closes [#7047](https://github.com/lobehub/lobe-chat/issues/7047) ([83aa931](https://github.com/lobehub/lobe-chat/commit/83aa931))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-21 09:44:07 +00:00
towy 83aa931270 🐛 fix: fix agent chatConfig override issue (#7047)
Certain configuration updates may cause the loss of old configurations.
2025-03-21 17:34:30 +08:00
BrandonStudio ab5ff957cb Update devcontainer.json (#7064)
Refs:
- https://github.com/devcontainers/images/blob/main/src/typescript-node/README.md
- https://github.com/devcontainer-community/devcontainer-features/tree/main/src/bun.sh
2025-03-21 16:39:01 +08:00
lobehubbot 6957a20866 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-21 08:32:51 +00:00
semantic-release-bot 607718ab4b 🔖 chore(release): v1.73.1 [skip ci]
### [Version&nbsp;1.73.1](https://github.com/lobehub/lobe-chat/compare/v1.73.0...v1.73.1)
<sup>Released on **2025-03-21**</sup>

#### 💄 Styles

- **misc**: Update shiki to v3.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update shiki to v3, closes [#7069](https://github.com/lobehub/lobe-chat/issues/7069) ([03c95ab](https://github.com/lobehub/lobe-chat/commit/03c95ab))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-21 08:31:43 +00:00
CanisMinor 03c95ab467 💄 style: Update shiki to v3 (#7069) 2025-03-21 16:21:53 +08:00
bbbugg bafb3a34ce 📝 docs: add proxy URL configurations for Moonshot and Volcengine APIs (#7050)
Co-authored-by: bbbugg <daming20120101@16.com>
2025-03-21 11:17:42 +08:00
gru-agent[bot] b91a062c60 Add unit tests for withTimeout utility function in web crawler package. (#7048)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-20 10:01:36 +08:00
lobehubbot 3b34bf5e3d 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-19 16:49:25 +00:00
semantic-release-bot ce03db6e60 🔖 chore(release): v1.73.0 [skip ci]
## [Version&nbsp;1.73.0](https://github.com/lobehub/lobe-chat/compare/v1.72.1...v1.73.0)
<sup>Released on **2025-03-19**</sup>

####  Features

- **misc**: Add Cohere provider support, add search1api crawler implementation for WeChat Sogou links.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Cohere provider support, closes [#7016](https://github.com/lobehub/lobe-chat/issues/7016) ([2a4e2ed](https://github.com/lobehub/lobe-chat/commit/2a4e2ed))
* **misc**: Add search1api crawler implementation for WeChat Sogou links, closes [#7036](https://github.com/lobehub/lobe-chat/issues/7036) ([7327138](https://github.com/lobehub/lobe-chat/commit/7327138))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-19 16:48:06 +00:00
wang2 7327138367 feat: add search1api crawler implementation for WeChat Sogou links (#7036)
* feat: add search1api crawler implementation for Weixin Sogou links

* feat(web-crawler): add withTimeout utility and refactor crawler implementations

* feat(web-crawler): add support for sogou.com links

* docs(web-crawler): enhance error message for missing search1api key
2025-03-20 00:38:10 +08:00
Zhijie He 2a4e2ed118 feat: add Cohere provider support (#7016)
*  feat: add Cohere provider support

* 💄 style: update cohere model list

* 🐛 fix: fix cohere calling, exclude user and stream_options

* 💄 style: update model description

* 🐛 fix: fix cohere model list fetch

* 🐛 fix: fix cohere calling

* 💄 style: update provider desc

* 💄 style: update model name
2025-03-20 00:35:12 +08:00
lobehubbot 0e0b60e6ef 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-19 06:50:24 +00:00
cnJasonZ cd0828df94 📝 docs: fix usage doc for PPIO (#6717)
* feat: add new model provider PPIO

* feat: add usage docs; fix model configs

* fix: fix ppio runtime; fix model configs

* fix: fix default model list

* fix

* fix: fix locales providers.json

* fix: fix ppio usage docs

---------

Co-authored-by: Jason <ggbbddjm@gmail.com>
Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-03-19 14:41:03 +08:00
lobehubbot 833c94d9aa 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-19 06:02:27 +00:00
semantic-release-bot 7fb3f73a1d 🔖 chore(release): v1.72.1 [skip ci]
### [Version&nbsp;1.72.1](https://github.com/lobehub/lobe-chat/compare/v1.72.0...v1.72.1)
<sup>Released on **2025-03-19**</sup>

#### 🐛 Bug Fixes

- **misc**: Allow historyCount to be set to 0.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Allow historyCount to be set to 0, closes [#7007](https://github.com/lobehub/lobe-chat/issues/7007) ([e863470](https://github.com/lobehub/lobe-chat/commit/e863470))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-19 06:01:19 +00:00
sxjeru e86347029d 🐛 fix: Allow historyCount to be set to 0 (#7007) 2025-03-19 13:52:01 +08:00
lobehubbot adfadff252 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-18 11:00:48 +00:00
semantic-release-bot af2c593d96 🔖 chore(release): v1.72.0 [skip ci]
## [Version&nbsp;1.72.0](https://github.com/lobehub/lobe-chat/compare/v1.71.5...v1.72.0)
<sup>Released on **2025-03-18**</sup>

####  Features

- **misc**: Update db schema to add `user_id` for data export.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Update db schema to add `user_id` for data export, closes [#7022](https://github.com/lobehub/lobe-chat/issues/7022) ([c35471a](https://github.com/lobehub/lobe-chat/commit/c35471a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-18 10:59:49 +00:00
Arvin Xu c35471ac13 🗃️ feat: update db schema to add user_id for data export (#7022) 2025-03-18 18:50:55 +08:00
lobehubbot de8df94e1b 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-17 05:58:49 +00:00
semantic-release-bot 7f3e67090a 🔖 chore(release): v1.71.5 [skip ci]
### [Version&nbsp;1.71.5](https://github.com/lobehub/lobe-chat/compare/v1.71.4...v1.71.5)
<sup>Released on **2025-03-17**</sup>

#### 💄 Styles

- **misc**: Support screenshot to clipboard when sharing.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support screenshot to clipboard when sharing, closes [#6275](https://github.com/lobehub/lobe-chat/issues/6275) ([45663c3](https://github.com/lobehub/lobe-chat/commit/45663c3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-17 05:57:47 +00:00
Zack Chang 45663c3724 💄 style: support screenshot to clipboard when sharing (#6275)
Co-authored-by: jrr997 <zackchangjx@foxmail.com>
2025-03-17 13:48:57 +08:00
lobehubbot e1c12604fd 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-17 04:39:43 +00:00
semantic-release-bot 8ad3d28258 🔖 chore(release): v1.71.4 [skip ci]
### [Version&nbsp;1.71.4](https://github.com/lobehub/lobe-chat/compare/v1.71.3...v1.71.4)
<sup>Released on **2025-03-17**</sup>

#### 💄 Styles

- **misc**: Update Wenxin & Hunyuan model list.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Wenxin & Hunyuan model list, closes [#6995](https://github.com/lobehub/lobe-chat/issues/6995) ([d017f35](https://github.com/lobehub/lobe-chat/commit/d017f35))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-17 04:38:28 +00:00
Zhijie He d017f3555a 💄 style: update Wenxin & Hunyuan model list (#6995) 2025-03-17 12:29:48 +08:00
gru-agent[bot] d9da1f9f64 Add unit tests for getUserAuth function to validate authentication methods. (#6932)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-03-17 10:52:59 +08:00
renovate[bot] c51886ad38 Update dependency lucide-react to ^0.482.0 (#6987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-17 10:52:29 +08:00
Arvin Xu 19e3319e23 🔨 chore: Update github issue template (#7001)
* Update 1_bug_report_cn.yml

* Update 1_bug_report.yml

* Update 1_bug_report.yml

* Update 2_feature_request.yml

* Update 2_feature_request_cn.yml
2025-03-17 10:26:51 +08:00
renovate[bot] 2cc72f41f9 Update pnpm to v9.15.9 (#6986) 2025-03-16 11:59:17 +08:00
lobehubbot bdd77e6eb8 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-15 19:31:12 +00:00
semantic-release-bot 212dfca0ef 🔖 chore(release): v1.71.3 [skip ci]
### [Version&nbsp;1.71.3](https://github.com/lobehub/lobe-chat/compare/v1.71.2...v1.71.3)
<sup>Released on **2025-03-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix claude 3.5+ models context max output.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix claude 3.5+ models context max output, closes [#6984](https://github.com/lobehub/lobe-chat/issues/6984) ([da342dd](https://github.com/lobehub/lobe-chat/commit/da342dd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-15 19:30:09 +00:00
Arvin Xu da342dd9a6 🐛 fix: fix claude 3.5+ models context max output (#6984) 2025-03-16 03:21:34 +08:00
Arvin Xu fe7e63120a ♻️ refactor: refactor the google ai return error (#6978) 2025-03-15 22:59:31 +08:00
lobehubbot 1810cf3d6f 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-15 09:56:53 +00:00
semantic-release-bot 6857d85043 🔖 chore(release): v1.71.2 [skip ci]
### [Version&nbsp;1.71.2](https://github.com/lobehub/lobe-chat/compare/v1.71.1...v1.71.2)
<sup>Released on **2025-03-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix knowledge base issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix knowledge base issue, closes [#6973](https://github.com/lobehub/lobe-chat/issues/6973) ([15f39ef](https://github.com/lobehub/lobe-chat/commit/15f39ef))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-15 09:55:43 +00:00
Arvin Xu 15f39efc19 🐛 fix: fix knowledge base issue (#6973)
* refactor agent runtime

* fix KnowledgeBase search issue

* fix tests
2025-03-15 17:45:38 +08:00
lobehubbot 829ebc7177 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-15 04:02:23 +00:00
semantic-release-bot 707b2eea5e 🔖 chore(release): v1.71.1 [skip ci]
### [Version&nbsp;1.71.1](https://github.com/lobehub/lobe-chat/compare/v1.71.0...v1.71.1)
<sup>Released on **2025-03-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix google gemini output relative issue.

#### 💄 Styles

- **misc**: Update Vertex AI models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix google gemini output relative issue, closes [#6970](https://github.com/lobehub/lobe-chat/issues/6970) ([fdcaaf3](https://github.com/lobehub/lobe-chat/commit/fdcaaf3))

#### Styles

* **misc**: Update Vertex AI models, closes [#6967](https://github.com/lobehub/lobe-chat/issues/6967) ([d4432f1](https://github.com/lobehub/lobe-chat/commit/d4432f1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-15 04:01:13 +00:00
Koell d4432f1f5e 💄 style: Update Vertex AI models (#6967)
* Add Gemini 2.0 Flash Lite model

* Update Vertex AI model prices
2025-03-15 11:52:33 +08:00
Arvin Xu fdcaaf34fa 🐛 fix: fix google gemini output relative issue (#6970)
* fix google streaming

* add ability

* fix instruction

* fix tests

* update i18n
2025-03-15 11:52:20 +08:00
lobehubbot 59cafa0bc3 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-14 13:17:45 +00:00
semantic-release-bot 1f08511ca6 🔖 chore(release): v1.71.0 [skip ci]
## [Version&nbsp;1.71.0](https://github.com/lobehub/lobe-chat/compare/v1.70.11...v1.71.0)
<sup>Released on **2025-03-14**</sup>

####  Features

- **misc**: Support gemini image output in chat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support gemini image output in chat, closes [#6931](https://github.com/lobehub/lobe-chat/issues/6931) ([d4c0d1f](https://github.com/lobehub/lobe-chat/commit/d4c0d1f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-14 13:16:36 +00:00
gru-agent[bot] d4c0d1f8fb feat: support gemini image output in chat (#6931)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-14 21:08:02 +08:00
Arvin Xu af0243cc15 feat: support gemini image output in chat (#6956)
* support gemini image

* fix lint

* fix

* fix upload bug

* support google token count

* update credit

* update i18n
2025-03-14 20:52:37 +08:00
Arvin Xu 849584479a 🔨 chore: visualize db schema with dbdocs (#6950)
* test db schema

* Update sync-database-schema.yml

* Update sync-database-schema.yml

* Update sync-database-schema.yml

* Update package.json

* Update sync-database-schema.yml

* Delete docs/developer/database-schema.dbml

* update workflow

* Update sync-database-schema.yml
2025-03-14 14:24:39 +08:00
lobehubbot a7e92b3b5b 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-13 17:02:47 +00:00
semantic-release-bot 9f695332c8 🔖 chore(release): v1.70.11 [skip ci]
### [Version&nbsp;1.70.11](https://github.com/lobehub/lobe-chat/compare/v1.70.10...v1.70.11)
<sup>Released on **2025-03-13**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-13 17:01:43 +00:00
Arvin Xu c9a17fbff8 ️ perf: fix improve topic relative performance (#6937) 2025-03-14 00:53:14 +08:00
BrandonStudio 30b13088a3 🔨 chore: Add types for issue templates (#6940) 2025-03-13 18:06:46 +08:00
lobehubbot b7051a0ab7 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-12 18:06:10 +00:00
semantic-release-bot 0b871ecc89 🔖 chore(release): v1.70.10 [skip ci]
### [Version&nbsp;1.70.10](https://github.com/lobehub/lobe-chat/compare/v1.70.9...v1.70.10)
<sup>Released on **2025-03-12**</sup>

#### 🐛 Bug Fixes

- **misc**: The agent setting `-edit_agent` not work.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: The agent setting `-edit_agent` not work, closes [#4609](https://github.com/lobehub/lobe-chat/issues/4609) ([7af0ec6](https://github.com/lobehub/lobe-chat/commit/7af0ec6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-12 18:05:03 +00:00
mushan0x0 7af0ec6161 🐛 fix: the agent setting -edit_agent not work (#4609)
* 🐛 fix: the agent setting `-edit_agent` not work

* Update index.tsx
2025-03-13 01:56:19 +08:00
lobehubbot 64caf2ebd2 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-12 16:35:13 +00:00
semantic-release-bot a9e572b48e 🔖 chore(release): v1.70.9 [skip ci]
### [Version&nbsp;1.70.9](https://github.com/lobehub/lobe-chat/compare/v1.70.8...v1.70.9)
<sup>Released on **2025-03-12**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-12 16:34:08 +00:00
Arvin Xu f7d6021e4a ️ perf: fix topic search performance (#6912)
* update

* fix lint

* fix tests

* fix tests

* update locale
2025-03-13 00:25:17 +08:00
lobehubbot 9a9d98fdec 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-12 15:44:40 +00:00
semantic-release-bot b3894ba19d 🔖 chore(release): v1.70.8 [skip ci]
### [Version&nbsp;1.70.8](https://github.com/lobehub/lobe-chat/compare/v1.70.7...v1.70.8)
<sup>Released on **2025-03-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix theme flicking.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix theme flicking, closes [#6926](https://github.com/lobehub/lobe-chat/issues/6926) ([103c3e3](https://github.com/lobehub/lobe-chat/commit/103c3e3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-12 15:43:37 +00:00
Arvin Xu 103c3e3696 🐛 fix: fix theme flicking (#6926) 2025-03-12 23:34:49 +08:00
lobehubbot 210920f4b6 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-12 11:28:53 +00:00
semantic-release-bot 2770a8b9a6 🔖 chore(release): v1.70.7 [skip ci]
### [Version&nbsp;1.70.7](https://github.com/lobehub/lobe-chat/compare/v1.70.6...v1.70.7)
<sup>Released on **2025-03-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix crawl result for short content.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix crawl result for short content, closes [#6903](https://github.com/lobehub/lobe-chat/issues/6903) [#6904](https://github.com/lobehub/lobe-chat/issues/6904) ([d8fda65](https://github.com/lobehub/lobe-chat/commit/d8fda65))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-12 11:27:51 +00:00
Arvin Xu d8fda65d33 🐛 fix: fix crawl result for short content (#6903)
* fix impl for short content

* Add test to skip results with content length less than or equal to 100 in crawler. (#6904)

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>

---------

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-12 19:19:06 +08:00
lobehubbot c7170c0e06 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-11 17:59:56 +00:00
semantic-release-bot dd6086a3a3 🔖 chore(release): v1.70.6 [skip ci]
### [Version&nbsp;1.70.6](https://github.com/lobehub/lobe-chat/compare/v1.70.5...v1.70.6)
<sup>Released on **2025-03-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Link jump in mobile terminal data statistics.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Link jump in mobile terminal data statistics, closes [#6893](https://github.com/lobehub/lobe-chat/issues/6893) ([505d24d](https://github.com/lobehub/lobe-chat/commit/505d24d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-11 17:58:51 +00:00
XiaoBa 505d24d8d6 🐛 fix: Link jump in mobile terminal data statistics (#6893)
Co-authored-by: Xiaoba Yu <xb1823725853@gmail.com>
2025-03-12 01:50:06 +08:00
lobehubbot b6a9126506 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-11 15:49:14 +00:00
semantic-release-bot fff6c71f71 🔖 chore(release): v1.70.5 [skip ci]
### [Version&nbsp;1.70.5](https://github.com/lobehub/lobe-chat/compare/v1.70.4...v1.70.5)
<sup>Released on **2025-03-11**</sup>

#### 🐛 Bug Fixes

- **misc**: Refactor the theme implement.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Refactor the theme implement, closes [#6844](https://github.com/lobehub/lobe-chat/issues/6844) ([e5c2161](https://github.com/lobehub/lobe-chat/commit/e5c2161))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-11 15:48:12 +00:00
Arvin Xu e5c2161288 🐛 fix: refactor the theme implement (#6844)
* refactor theme

* Refactor systemStatus selectors tests to improve coverage and organization.

* improve cookie issue

* fix theme

* Add unit tests for global store actions in general.test.ts

---------

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-11 23:39:31 +08:00
semantic-release-bot 41a1f2af2e 🔖 chore(release): v1.70.4 [skip ci]
### [Version&nbsp;1.70.4](https://github.com/lobehub/lobe-chat/compare/v1.70.3...v1.70.4)
<sup>Released on **2025-03-11**</sup>

#### 💄 Styles

- **misc**: Support OpenRouter custom BaseURL.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support OpenRouter custom BaseURL ([a8089ed](https://github.com/lobehub/lobe-chat/commit/a8089ed))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-11 04:20:58 +00:00
Arvin Xu a3099cfdc6 Merge pull request #6732 from bbbugg/patch-1
🐛fix: customize logo not display in About page and update DOCS about "deploymentName"
2025-03-11 12:12:13 +08:00
Arvin Xu 6267b76153 Merge pull request #6864 from BrandonStudio/dev/openrouter-baseurl
💄 style: Support OpenRouter custom BaseURL
2025-03-11 12:10:48 +08:00
Arvin Xu 6f4d280481 Merge pull request #6886 from lobehub/refactor/code
♻️ refactor: refactor user plugins model name
2025-03-11 12:09:47 +08:00
Arvin Xu 5d7007f37b fix json issue 2025-03-11 03:29:48 +00:00
Arvin Xu 65102d60ec update 2025-03-11 03:26:51 +00:00
Arvin Xu 96a4c4a42f refactor code 2025-03-11 03:17:45 +00:00
lobehubbot a28165b2f5 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-11 02:46:06 +00:00
Arvin Xu 265e9b3c07 Merge pull request #6882 from lobehub/gru/src-store-aiInfra-slices-aiProvider-selectors-ts-1741658283737
 test: add unit test for src/store/aiInfra/slices/aiProvider/selectors.ts
2025-03-11 10:37:23 +08:00
gru-agent[bot] 8eb7a04fd4 Add unit tests for aiProvider selectors in selectors.test.ts file. 2025-03-11 01:58:11 +00:00
semantic-release-bot 08f8073580 🔖 chore(release): v1.70.3 [skip ci]
### [Version&nbsp;1.70.3](https://github.com/lobehub/lobe-chat/compare/v1.70.2...v1.70.3)
<sup>Released on **2025-03-11**</sup>

#### 💄 Styles

- **spelling**: Correct "broswer" to "browser" across codebase.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **spelling**: Correct "broswer" to "browser" across codebase, closes [#6876](https://github.com/lobehub/lobe-chat/issues/6876) ([8d677a2](https://github.com/lobehub/lobe-chat/commit/8d677a2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-11 01:47:09 +00:00
KurtisAsia 8d677a2feb 💄 style(spelling): correct "broswer" to "browser" across codebase (#6876)
fix(spelling): correct "broswer" to "browser" across codebase

- Fix typo in modelConfig.ts and modelConfig.test.ts
- Correct spelling in aiProvider/selectors.ts
- Fix spelling in localization files (setting.ts, setting.json)
- Update spelling in modelProviders/index.ts
- Corrected in multiple locales (zh-TW, zh-CN, fa-IR)
2025-03-11 09:38:31 +08:00
BrandonStudio a8089edc06 💄 style: Support OpenRouter custom BaseURL 2025-03-10 08:30:02 +00:00
lobehubbot 76e132722f 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-10 05:40:38 +00:00
semantic-release-bot c3a0dc0965 🔖 chore(release): v1.70.2 [skip ci]
### [Version&nbsp;1.70.2](https://github.com/lobehub/lobe-chat/compare/v1.70.1...v1.70.2)
<sup>Released on **2025-03-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Update cvpr cvf url rules.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update cvpr cvf url rules, closes [#6860](https://github.com/lobehub/lobe-chat/issues/6860) ([c299067](https://github.com/lobehub/lobe-chat/commit/c299067))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-10 05:39:37 +00:00
Arvin Xu c299067cb6 🐛 fix: update cvpr cvf url rules (#6860) 2025-03-10 13:31:05 +08:00
lobehubbot 981bb08029 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-10 03:31:09 +00:00
semantic-release-bot bb21eb3efd 🔖 chore(release): v1.70.1 [skip ci]
### [Version&nbsp;1.70.1](https://github.com/lobehub/lobe-chat/compare/v1.70.0...v1.70.1)
<sup>Released on **2025-03-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix anthropic max tokens.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix anthropic max tokens, closes [#6859](https://github.com/lobehub/lobe-chat/issues/6859) ([35fbc6c](https://github.com/lobehub/lobe-chat/commit/35fbc6c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-10 03:30:06 +00:00
Arvin Xu 35fbc6c0d5 🐛 fix: fix anthropic max tokens (#6859)
* fix anthropic

* update i18n
2025-03-10 11:21:32 +08:00
wzdnzd dfee9b2b13 🔨 chore: typo fixed for zh-CN (#6856) 2025-03-10 11:04:40 +08:00
Arvin Xu 1841fee733 Merge branch 'main' into patch-1 2025-03-10 02:52:49 +08:00
lobehubbot cc9f793ec3 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-09 18:45:41 +00:00
semantic-release-bot df0886ebf3 🔖 chore(release): v1.70.0 [skip ci]
## [Version&nbsp;1.70.0](https://github.com/lobehub/lobe-chat/compare/v1.69.6...v1.70.0)
<sup>Released on **2025-03-09**</sup>

####  Features

- **misc**: Support no-fc models like deepseek r1 with online search.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support no-fc models like deepseek r1 with online search, closes [#6842](https://github.com/lobehub/lobe-chat/issues/6842) ([f284c25](https://github.com/lobehub/lobe-chat/commit/f284c25))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-09 18:44:41 +00:00
Arvin Xu f284c25606 feat: support no-fc models like deepseek r1 with online search (#6842)
* update crawler rule

* feat: 完成联网集成

* update i18n

* update tests

* update tests

* fix tests

* improve performance

* fix error issue

* fix signal issue and improve implement

* fix pricing in CNY

* fix tests

* filter empty providers

* fix tests

* improve search crawler env

* fix search crawler env

* fix documents
2025-03-10 02:35:52 +08:00
bbbugg 0cf39c535d Merge branch 'lobehub:main' into patch-1 2025-03-09 22:21:06 +08:00
lobehubbot 23a26a9563 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-09 14:01:53 +00:00
semantic-release-bot 8039186493 🔖 chore(release): v1.69.6 [skip ci]
### [Version&nbsp;1.69.6](https://github.com/lobehub/lobe-chat/compare/v1.69.5...v1.69.6)
<sup>Released on **2025-03-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix context cache control and model builtin search switch.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix context cache control and model builtin search switch, closes [#6831](https://github.com/lobehub/lobe-chat/issues/6831) ([5c6b8ea](https://github.com/lobehub/lobe-chat/commit/5c6b8ea))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-09 14:00:43 +00:00
Arvin Xu 5c6b8eaf8a 🐛 fix: fix context cache control and model builtin search switch (#6831)
* upgrade readability

* improve openai performance

* improve model select

* upgrade pglite to 0.2.17

* fix google builtin search config

* fix tests

* fix claude max output tokens and context caching config

* fix context caching config

* update i18n

* fix tests
2025-03-09 21:52:12 +08:00
renovate[bot] dde299312e Update pnpm to v9.15.7 (#6819)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-09 21:19:05 +08:00
lobehubbot 0aa47d024c 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-09 11:18:04 +00:00
semantic-release-bot b86d86782a 🔖 chore(release): v1.69.5 [skip ci]
### [Version&nbsp;1.69.5](https://github.com/lobehub/lobe-chat/compare/v1.69.4...v1.69.5)
<sup>Released on **2025-03-09**</sup>

#### 💄 Styles

- **chat**: Auto send message from URL.
- **misc**: Support openrouter claude 3.7 sonnet reasoning.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **chat**: Auto send message from URL, closes [#6497](https://github.com/lobehub/lobe-chat/issues/6497) ([30b2639](https://github.com/lobehub/lobe-chat/commit/30b2639))
* **misc**: Support openrouter claude 3.7 sonnet reasoning, closes [#6806](https://github.com/lobehub/lobe-chat/issues/6806) ([f1ffc2c](https://github.com/lobehub/lobe-chat/commit/f1ffc2c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-09 11:16:40 +00:00
Eridanus Sora 6006175c5d ️ perf: improve performace of refreshModelProviderList (#6672) 2025-03-09 19:07:42 +08:00
Jonas Siewertsen 75c88425e0 📝 docs: Add NEXT_PUBLIC_ENABLE_NEXT_AUTH to clerk example (#6309) 2025-03-09 19:05:37 +08:00
samanhappy 30b2639c4b 💄 style(chat): auto send message from URL (#6497)
*  feat(chat): auto send message from URL

* introduce MessageFromUrl component
2025-03-09 19:01:59 +08:00
Rylan Cai 81867c413c 👷 chore: fix re-init in setup.sh (#6714) 2025-03-09 19:00:22 +08:00
Aloxaf f1ffc2c60c 💄 style: support openrouter claude 3.7 sonnet reasoning (#6806)
* feat: openrouter reasoning

* test: add test
2025-03-09 18:57:50 +08:00
gru-agent[bot] a9eadafd9f test: Add unit tests for the browserless function in the web crawler module (#6830)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-09 18:11:24 +08:00
renovate[bot] 0e1146aa8d Update dependency lucide-react to ^0.479.0 (#6822)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-09 17:07:45 +08:00
lobehubbot 997ba159d2 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-09 08:48:02 +00:00
semantic-release-bot ab8aa0a485 🔖 chore(release): v1.69.4 [skip ci]
### [Version&nbsp;1.69.4](https://github.com/lobehub/lobe-chat/compare/v1.69.3...v1.69.4)
<sup>Released on **2025-03-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix mistral can not chat.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix mistral can not chat, closes [#6828](https://github.com/lobehub/lobe-chat/issues/6828) ([00cba71](https://github.com/lobehub/lobe-chat/commit/00cba71))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-09 08:46:55 +00:00
Arvin Xu 00cba71e27 🐛 fix: fix mistral can not chat (#6828)
* ♻️ refactor: refactor the implement

* fix mistral issue

* improve log

* refactor to the getXXXStoreState

* fix tests
2025-03-09 16:38:20 +08:00
renovate[bot] 86544a8455 Update dependency @google/generative-ai to ^0.24.0 (#6820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-09 11:50:57 +08:00
bbbugg c0f1532ca4 新增 QWEN_PROXY_URL 配置项并更新 VOLCENGINE_MODEL_LIST 描述语法(加入了部署名) 2025-03-08 16:22:08 +08:00
bbbugg 9bad484252 DEEPSEEK_MODEL_LIST 移除 deploymentName描述 2025-03-08 16:04:41 +08:00
bbbugg 8c1412a5a1 修复:更新 logo 组件默认类型处理并移除type={'flat'} 2025-03-08 15:57:15 +08:00
lobehubbot f3c49cfd6a 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-08 02:17:04 +00:00
semantic-release-bot b6eeba5850 🔖 chore(release): v1.69.3 [skip ci]
### [Version&nbsp;1.69.3](https://github.com/lobehub/lobe-chat/compare/v1.69.2...v1.69.3)
<sup>Released on **2025-03-08**</sup>

#### 💄 Styles

- **misc**: Add login ui for next-auth.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add login ui for next-auth, closes [#6434](https://github.com/lobehub/lobe-chat/issues/6434) ([541f275](https://github.com/lobehub/lobe-chat/commit/541f275))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-08 02:16:01 +00:00
renovate[bot] 963f7889de Update dependency framer-motion to v12 (#5597) 2025-03-08 10:07:29 +08:00
Rylan Cai 541f27591a 💄 style: Add login ui for next-auth (#6434) 2025-03-08 10:02:51 +08:00
bbbugg de12fcf896 Merge branch 'lobehub:main' into patch-1 2025-03-08 08:24:44 +08:00
lobehubbot 3fb966cf37 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-07 18:51:56 +00:00
semantic-release-bot 17d0a0fade 🔖 chore(release): v1.69.2 [skip ci]
### [Version&nbsp;1.69.2](https://github.com/lobehub/lobe-chat/compare/v1.69.1...v1.69.2)
<sup>Released on **2025-03-07**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor the agent runtime implement.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor the agent runtime implement, closes [#6784](https://github.com/lobehub/lobe-chat/issues/6784) ([14a9874](https://github.com/lobehub/lobe-chat/commit/14a9874))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-07 18:50:55 +00:00
Arvin Xu 14a98748bb ♻️ refactor: refactor the agent runtime implement (#6784)
* bump

* add uniform runtime

* fix tests

* upgrade
2025-03-08 02:42:18 +08:00
lobehubbot 38c564337a 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-07 17:27:40 +00:00
semantic-release-bot 2382a35810 🔖 chore(release): v1.69.1 [skip ci]
### [Version&nbsp;1.69.1](https://github.com/lobehub/lobe-chat/compare/v1.69.0...v1.69.1)
<sup>Released on **2025-03-07**</sup>

#### 💄 Styles

- **misc**: Add Qwen QwQ model.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Qwen QwQ model, closes [#6783](https://github.com/lobehub/lobe-chat/issues/6783) ([3d3c2ce](https://github.com/lobehub/lobe-chat/commit/3d3c2ce))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-07 17:26:30 +00:00
sxjeru 3d3c2ce72f 💄 style: Add Qwen QwQ model (#6783)
* Update groq.ts

* Update siliconcloud.ts

* Update novita.ts

* Update google.ts
2025-03-08 01:17:47 +08:00
lobehubbot 7f82512b54 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-07 11:38:03 +00:00
semantic-release-bot f678ca7c63 🔖 chore(release): v1.69.0 [skip ci]
## [Version&nbsp;1.69.0](https://github.com/lobehub/lobe-chat/compare/v1.68.11...v1.69.0)
<sup>Released on **2025-03-07**</sup>

####  Features

- **misc**: Support Anthropic Context Caching.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support Anthropic Context Caching, closes [#6704](https://github.com/lobehub/lobe-chat/issues/6704) ([471e3ed](https://github.com/lobehub/lobe-chat/commit/471e3ed))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-07 11:36:51 +00:00
dadong d9410b57c1 🐛fix: ignore epub2 compile error (#6779) 2025-03-07 19:28:15 +08:00
Arvin Xu 471e3ed499 feat: support Anthropic Context Caching (#6704) 2025-03-07 19:25:41 +08:00
lobehubbot d4b3581289 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-07 10:11:27 +00:00
semantic-release-bot 80e291068f 🔖 chore(release): v1.68.11 [skip ci]
### [Version&nbsp;1.68.11](https://github.com/lobehub/lobe-chat/compare/v1.68.10...v1.68.11)
<sup>Released on **2025-03-07**</sup>

#### 💄 Styles

- **misc**: Add Gemini 2.0 Flash model variations, add QwQ models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Gemini 2.0 Flash model variations, closes [#6679](https://github.com/lobehub/lobe-chat/issues/6679) ([d5a8fcb](https://github.com/lobehub/lobe-chat/commit/d5a8fcb))
* **misc**: Add QwQ models, closes [#6770](https://github.com/lobehub/lobe-chat/issues/6770) ([cd30fcc](https://github.com/lobehub/lobe-chat/commit/cd30fcc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-07 10:10:17 +00:00
Zhijie He cd30fcc32d 💄 style: add QwQ models (#6770)
* 💄 style: add QwQ models

* 💄 style: update price

* 🐛 fix: fix `qwen-long` fc tag

* 🐛 fix: fix deepseek-v3 fc tag error
2025-03-07 18:01:39 +08:00
BrandonStudio d5a8fcb816 💄 style: Add Gemini 2.0 Flash model variations (#6679) 2025-03-07 17:54:17 +08:00
bbbugg c2d0ee8c96 Merge branch 'main' into patch-1 2025-03-07 16:51:12 +08:00
bbbugg ebf5fb1ff9 fix previous "deplymentName" to "deploymentName" 2025-03-07 16:41:04 +08:00
bbbugg e0b554fbe5 Add the "deploymentName" parameter in the Model List environment variable 2025-03-07 16:36:21 +08:00
bbbugg 008c7b5f67 Add the "deploymentName" parameter in the Model List environment variable 2025-03-07 16:35:33 +08:00
bbbugg 05a384edb3 Add the description of "DEEPSEEK_MODEL_LIST" 2025-03-07 16:21:46 +08:00
bbbugg 2ec4f03b07 Add the description of "DEEPSEEK_MODEL_LIST" 2025-03-07 16:20:28 +08:00
lobehubbot 94eb4ddf25 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-06 19:01:15 +00:00
semantic-release-bot 300bf463ea 🔖 chore(release): v1.68.10 [skip ci]
### [Version&nbsp;1.68.10](https://github.com/lobehub/lobe-chat/compare/v1.68.9...v1.68.10)
<sup>Released on **2025-03-06**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix litellm streaming usage and refactor the usage chunk.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix litellm streaming usage and refactor the usage chunk, closes [#6734](https://github.com/lobehub/lobe-chat/issues/6734) ([9f09952](https://github.com/lobehub/lobe-chat/commit/9f09952))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-06 19:00:07 +00:00
TC 5824745ba1 📝 docs: update docs for providers (#6722)
* 📝 docs: update docs for providers

* 📝 docs: update provider doc

* docs: add doc for cloudflare

* 📝 docs: update provider docs

* 📝 docs: Update provider docs

* 🔧 chore: Update provider url

* 📝 docs: Update provider docs

* 📝 docs: Update provider docs

---------

Co-authored-by: GH Action - Upstream Sync <action@github.com>
2025-03-07 02:51:27 +08:00
Arvin Xu 9f099529f6 🐛 fix: fix litellm streaming usage and refactor the usage chunk (#6734)
* fix litellm usage

* update implement

* refactor to fix agent test

* update

* fix tests

* fix tests

* fix tests

* fix tests

* Update ui

* Update ui

* fix tests

* refactor token calc

* refactor token calc

* add cached display

* update i18n
2025-03-07 02:46:39 +08:00
lobehubbot 00a33bf702 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-05 18:19:52 +00:00
semantic-release-bot 8f54b67085 🔖 chore(release): v1.68.9 [skip ci]
### [Version&nbsp;1.68.9](https://github.com/lobehub/lobe-chat/compare/v1.68.8...v1.68.9)
<sup>Released on **2025-03-05**</sup>

#### 💄 Styles

- **misc**: Add epub file chunk split support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add epub file chunk split support, closes [#6317](https://github.com/lobehub/lobe-chat/issues/6317) ([a79ab7a](https://github.com/lobehub/lobe-chat/commit/a79ab7a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-05 18:18:48 +00:00
dadong a79ab7abe5 💄 style: add epub file chunk split support (#6317)
* feat: add epub file chunk split support

* test: add unit test for epub chunk splitter

---------

Co-authored-by: stevendong <steven.dadong@gmail.com>
2025-03-06 02:10:06 +08:00
lobehubbot 847cd330a7 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-05 17:35:07 +00:00
semantic-release-bot e170384593 🔖 chore(release): v1.68.8 [skip ci]
### [Version&nbsp;1.68.8](https://github.com/lobehub/lobe-chat/compare/v1.68.7...v1.68.8)
<sup>Released on **2025-03-05**</sup>

#### 💄 Styles

- **misc**: Improve openrouter models info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve openrouter models info, closes [#6708](https://github.com/lobehub/lobe-chat/issues/6708) ([5693e68](https://github.com/lobehub/lobe-chat/commit/5693e68))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-05 17:34:08 +00:00
Aloxaf 5693e6839a 💄 style: improve openrouter models info (#6708)
* fix: openrouter model info

* fix: empty price

* fix: releasedAt is missing

* chore: fix comment

* fix: more accurate result

* test: update snapshots

* fix: improve pricing formatting
2025-03-06 01:25:30 +08:00
bbbugg da04eef212 fix: customize logo not display in About page
Fix customize logo not display in About page. Previously, custom icons were not displayed.
2025-03-05 20:48:53 +08:00
lobehubbot 15d96d52a4 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-05 05:32:52 +00:00
semantic-release-bot 468482e6c0 🔖 chore(release): v1.68.7 [skip ci]
### [Version&nbsp;1.68.7](https://github.com/lobehub/lobe-chat/compare/v1.68.6...v1.68.7)
<sup>Released on **2025-03-05**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor agent runtime to better code format.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor agent runtime to better code format, closes [#6284](https://github.com/lobehub/lobe-chat/issues/6284) ([fc1ed4a](https://github.com/lobehub/lobe-chat/commit/fc1ed4a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-05 05:31:48 +00:00
Arvin Xu fc1ed4a4d1 ♻️ refactor: refactor agent runtime to better code format (#6284)
* refactor agent runtime

* update

* update

* fix

* fix tests

* refactor runtime method name
2025-03-05 13:23:12 +08:00
lobehubbot cb26cde322 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-05 03:55:50 +00:00
semantic-release-bot f9310fca43 🔖 chore(release): v1.68.6 [skip ci]
### [Version&nbsp;1.68.6](https://github.com/lobehub/lobe-chat/compare/v1.68.5...v1.68.6)
<sup>Released on **2025-03-05**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix custom ai provider sdk type.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix custom ai provider sdk type, closes [#6712](https://github.com/lobehub/lobe-chat/issues/6712) ([7f8c379](https://github.com/lobehub/lobe-chat/commit/7f8c379))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-05 03:54:46 +00:00
Arvin Xu 7f8c3791a4 🐛 fix: fix custom ai provider sdk type (#6712)
* fix issue

* update locale
2025-03-05 11:46:23 +08:00
lobehubbot c814c31b52 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-04 18:04:24 +00:00
semantic-release-bot 8c170024b2 🔖 chore(release): v1.68.5 [skip ci]
### [Version&nbsp;1.68.5](https://github.com/lobehub/lobe-chat/compare/v1.68.4...v1.68.5)
<sup>Released on **2025-03-04**</sup>

#### 💄 Styles

- **misc**: Fix provider order.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix provider order, closes [#6702](https://github.com/lobehub/lobe-chat/issues/6702) ([27e4980](https://github.com/lobehub/lobe-chat/commit/27e4980))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-04 18:03:22 +00:00
Arvin Xu 27e4980a05 💄 style: fix provider order (#6702) 2025-03-05 01:54:50 +08:00
lobehubbot 4011a1e5fa 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-04 14:59:37 +00:00
semantic-release-bot eceb618fd8 🔖 chore(release): v1.68.4 [skip ci]
### [Version&nbsp;1.68.4](https://github.com/lobehub/lobe-chat/compare/v1.68.3...v1.68.4)
<sup>Released on **2025-03-04**</sup>

#### 💄 Styles

- **misc**: Support to show token usages.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support to show token usages, closes [#6693](https://github.com/lobehub/lobe-chat/issues/6693) ([71a638e](https://github.com/lobehub/lobe-chat/commit/71a638e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-04 14:58:25 +00:00
TC 57d56d3ada 📝 docs: Update provider docs (#6701)
* 📝 docs: update docs for providers

* 📝 docs: update provider doc

* docs: add doc for cloudflare

* 📝 docs: update provider docs

* 📝 docs: Update provider docs

* 🔧 chore: Update provider url

---------

Co-authored-by: GH Action - Upstream Sync <action@github.com>
2025-03-04 22:49:47 +08:00
Zhijie He eb6b0b2118 👷 build: add ENABLE_PROXY_DNS env (#6690) 2025-03-04 22:49:08 +08:00
Arvin Xu 71a638e61e 💄 style: support to show token usages (#6693)
* update

* support token streaming

* fix tests

* fix lint
2025-03-04 22:38:24 +08:00
gru-agent[bot] ccb56cd9ff test: Add unit tests for the jina crawler functionality in jina.test.ts. (#6671)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-04 00:45:39 +08:00
lobehubbot b0d6af2882 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-03 15:47:59 +00:00
semantic-release-bot 2e7ef1e79f 🔖 chore(release): v1.68.3 [skip ci]
### [Version&nbsp;1.68.3](https://github.com/lobehub/lobe-chat/compare/v1.68.2...v1.68.3)
<sup>Released on **2025-03-03**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve url rules.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve url rules, closes [#6669](https://github.com/lobehub/lobe-chat/issues/6669) ([5ee59e3](https://github.com/lobehub/lobe-chat/commit/5ee59e3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-03 15:46:59 +00:00
Arvin Xu 5ee59e3c91 🐛 fix: improve url rules (#6669)
* improve code

* improve code
2025-03-03 23:38:35 +08:00
lobehubbot 1a0330c23e 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-03 15:00:58 +00:00
semantic-release-bot 28ee9d48e3 🔖 chore(release): v1.68.2 [skip ci]
### [Version&nbsp;1.68.2](https://github.com/lobehub/lobe-chat/compare/v1.68.1...v1.68.2)
<sup>Released on **2025-03-03**</sup>

#### 💄 Styles

- **misc**: Add build-in web search support for Wenxin & Hunyuan.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add build-in web search support for Wenxin & Hunyuan, closes [#6617](https://github.com/lobehub/lobe-chat/issues/6617) ([dfd1f09](https://github.com/lobehub/lobe-chat/commit/dfd1f09))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-03 14:59:55 +00:00
Zhijie He dfd1f093fe 💄 style: add build-in web search support for Wenxin & Hunyuan (#6617)
*  feat: add build-in web search support for Wenxin

* 🐛 fix: fix web_search calling issue

*  feat: add support wenxin `search_results` stream

*  feat: add `search_info` stream support for Hunyuan

* 🔨 chore: minor logic

* 🔨 chore: add unit test

* 🐛 fix: try to fix ci error

* 🐛 fix: fix ci error
2025-03-03 22:51:13 +08:00
lobehubbot 6f7cf45493 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-03 12:23:12 +00:00
semantic-release-bot 9c4c72338c 🔖 chore(release): v1.68.1 [skip ci]
### [Version&nbsp;1.68.1](https://github.com/lobehub/lobe-chat/compare/v1.68.0...v1.68.1)
<sup>Released on **2025-03-03**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix page crash with crawler error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix page crash with crawler error, closes [#6662](https://github.com/lobehub/lobe-chat/issues/6662) ([0c24251](https://github.com/lobehub/lobe-chat/commit/0c24251))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-03 12:22:10 +00:00
Arvin Xu 0c242515af 🐛 fix: Fix page crash with crawler error (#6662)
* try to fix issue

* fix

* fix types

* fix tests

* update docs
2025-03-03 20:12:28 +08:00
lobehubbot a5fc7146e8 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-03 09:33:35 +00:00
semantic-release-bot 307eeb0ba4 🔖 chore(release): v1.68.0 [skip ci]
## [Version&nbsp;1.68.0](https://github.com/lobehub/lobe-chat/compare/v1.67.2...v1.68.0)
<sup>Released on **2025-03-03**</sup>

####  Features

- **misc**: Add new model provider PPIO.

#### 🐛 Bug Fixes

- **misc**: Fix search web-browsing display bug.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add new model provider PPIO, closes [#6133](https://github.com/lobehub/lobe-chat/issues/6133) ([23a3fda](https://github.com/lobehub/lobe-chat/commit/23a3fda))

#### What's fixed

* **misc**: Fix search web-browsing display bug, closes [#6653](https://github.com/lobehub/lobe-chat/issues/6653) ([f472643](https://github.com/lobehub/lobe-chat/commit/f472643))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-03 09:32:06 +00:00
cnJasonZ 23a3fdaee9 feat: add new model provider PPIO (#6133)
* feat: add new model provider PPIO

* feat: add usage docs; fix model configs

* fix: fix ppio runtime; fix model configs

* fix: fix default model list

* fix

* fix: fix locales providers.json

---------

Co-authored-by: Jason <ggbbddjm@gmail.com>
Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-03-03 17:23:28 +08:00
Arvin Xu f4726438da 🐛 fix: fix search web-browsing display bug (#6653) 2025-03-03 17:22:00 +08:00
Rylan Cai 53f20f511f 📝 docs: Add env to enable NextAuth (#6627)
* 📝 docs: add env to enable NextAuth

* 📝 docs: update desc
2025-03-03 13:36:32 +08:00
gru-agent[bot] 969de07a94 test: Add unit tests for applyUrlRules function to cover various URL transformation scenarios (#6640)
* Add unit tests for applyUrlRules function to cover various scenarios and edge cases.

* Add unit tests for applyUrlRules function to cover various URL transformation scenarios.

---------

Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-03 11:16:18 +08:00
Arvin Xu 54ebd3dd5a 🔨 chore: upgrade anthropic SDK (#6646) 2025-03-03 11:02:47 +08:00
gru-agent[bot] 15d8a3564b test: Add tests for crawlMultiPages action to handle content truncation and error responses. (#6641)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-03 10:26:03 +08:00
gru-agent[bot] 958693d7a3 test: Add unit tests for the Crawler class to verify crawling functionality and error handling. (#6638)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-03 10:22:45 +08:00
gru-agent[bot] 87ad586c4a test: Add unit tests for searchRouter functionality in search.test.ts (#6642)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-03-03 10:21:19 +08:00
lobehubbot 0fb7ff82c7 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-02 15:51:45 +00:00
semantic-release-bot 6b25f28e66 🔖 chore(release): v1.67.2 [skip ci]
### [Version&nbsp;1.67.2](https://github.com/lobehub/lobe-chat/compare/v1.67.1...v1.67.2)
<sup>Released on **2025-03-02**</sup>

#### 🐛 Bug Fixes

- **misc**: Improve some crawl case.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Improve some crawl case, closes [#6634](https://github.com/lobehub/lobe-chat/issues/6634) ([d38ab02](https://github.com/lobehub/lobe-chat/commit/d38ab02))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-02 15:50:46 +00:00
Arvin Xu d38ab02677 🐛 fix: improve some crawl case (#6634)
* improve code

* zhihu zhuan lan
2025-03-02 23:42:23 +08:00
lobehubbot b51b4fd2b3 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-02 14:08:37 +00:00
semantic-release-bot 27e1452d17 🔖 chore(release): v1.67.1 [skip ci]
### [Version&nbsp;1.67.1](https://github.com/lobehub/lobe-chat/compare/v1.67.0...v1.67.1)
<sup>Released on **2025-03-02**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-02 14:07:34 +00:00
Arvin Xu c599fcc3aa 👷 build: fix docker build failed (#6628)
* try to fix

* try to fix

* try to fix

* fix docker build

* try to fix

* try to fix docker build

* try to fix docker build

* update docs

* try  to not copy pg and drizzle orm

* remove /deps

* update
2025-03-02 21:58:57 +08:00
lobehubbot e01686cf23 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-02 08:54:16 +00:00
semantic-release-bot f7a7c1e5e9 🔖 chore(release): v1.67.0 [skip ci]
## [Version&nbsp;1.67.0](https://github.com/lobehub/lobe-chat/compare/v1.66.6...v1.67.0)
<sup>Released on **2025-03-02**</sup>

####  Features

- **misc**: Support web page crawl in the search.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support web page crawl in the search, closes [#6582](https://github.com/lobehub/lobe-chat/issues/6582) ([5e02602](https://github.com/lobehub/lobe-chat/commit/5e02602))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-02 08:53:17 +00:00
Arvin Xu 5e02602457 feat: support web page crawl in the search (#6582)
* test pnpm workspace

* test bun workspace

* add crawler mode

* improve pure fetch result

* update

* improve result

* improve code

* update

* fix

* 完成 urlRules 规则集合设计

* 增加爬虫展示 ui

* 增加爬虫展示 Portal

* update

* update

* improve

* update i18n

* support view multi pages

* improve implement

* improve code

* refactor the web-browsing system prompt

* improve code

* fix open
2025-03-02 16:39:32 +08:00
lobehubbot 8bf1b9062a 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-02 06:18:03 +00:00
semantic-release-bot 347f821266 🔖 chore(release): v1.66.6 [skip ci]
### [Version&nbsp;1.66.6](https://github.com/lobehub/lobe-chat/compare/v1.66.5...v1.66.6)
<sup>Released on **2025-03-02**</sup>

#### 💄 Styles

- **misc**: Add `gpt-4.5-preview` for OpenAI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `gpt-4.5-preview` for OpenAI, closes [#6618](https://github.com/lobehub/lobe-chat/issues/6618) ([3ec3af0](https://github.com/lobehub/lobe-chat/commit/3ec3af0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-03-02 06:16:42 +00:00
Zhijie He 3ec3af025b 💄 style: add gpt-4.5-preview for OpenAI (#6618) 2025-03-02 14:08:12 +08:00
lobehubbot 44aab4d809 📝 docs(bot): Auto sync agents & plugin to readme 2025-03-02 03:32:12 +00:00
renovate[bot] 5ba7f4152c Update pnpm to v9.15.6 (#6619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:22:25 +08:00
renovate[bot] 9cabc7b99d Update dependency drizzle-orm to ^0.40.0 (#6622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:22:07 +08:00
renovate[bot] ffea8bf4e8 Update dependency lucide-react to ^0.477.0 (#6623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:21:33 +08:00
renovate[bot] c9f90a6ca5 Update dependency @auth/core to ^0.38.0 (#6621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:20:54 +08:00
renovate[bot] 4a9980bcd8 Update dependency react-scan to ^0.2.0 (#6624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:20:46 +08:00
Arvin Xu 8263956cb7 test: fix tests (#6616) 2025-03-01 23:29:34 +08:00
lobehubbot ad01dd2975 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-28 04:47:34 +00:00
semantic-release-bot 061613830c 🔖 chore(release): v1.66.5 [skip ci]
### [Version&nbsp;1.66.5](https://github.com/lobehub/lobe-chat/compare/v1.66.4...v1.66.5)
<sup>Released on **2025-02-28**</sup>

#### 💄 Styles

- **misc**: Improve portal style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve portal style, closes [#6588](https://github.com/lobehub/lobe-chat/issues/6588) ([55b5416](https://github.com/lobehub/lobe-chat/commit/55b5416))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-28 04:46:34 +00:00
Arvin Xu 55b541615c 💄 style: improve portal style (#6588)
* improve portal style

* update style

* improve
2025-02-28 12:38:13 +08:00
lobehubbot 302e7d7439 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-28 03:35:35 +00:00
semantic-release-bot 53b5e06df7 🔖 chore(release): v1.66.4 [skip ci]
### [Version&nbsp;1.66.4](https://github.com/lobehub/lobe-chat/compare/v1.66.3...v1.66.4)
<sup>Released on **2025-02-28**</sup>

#### 💄 Styles

- **misc**: Optimize smooth output.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Optimize smooth output, closes [#5824](https://github.com/lobehub/lobe-chat/issues/5824) ([7a84ad9](https://github.com/lobehub/lobe-chat/commit/7a84ad9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-28 03:34:18 +00:00
sxjeru 7a84ad9b8d 💄 style: Optimize smooth output (#5824)
* 后台继续平滑输出

* 补回注释

* Update fetchSSE.ts

* Update fetchSSE.test.ts

* 👌优化代码

* 👌一次性输出剩余内容

* 👌

* 👌英文数字二倍速输出

* 👌根据待输出字符动态调整输出速度

* Update fetchSSE.ts

* Update fetchSSE.test.ts

* Update fetchSSE.ts

* Update fetchSSE.test.ts

* Update fetchSSE.test.ts

* Update fetchSSE.test.ts
2025-02-28 11:26:02 +08:00
lobehubbot 55679a0f6f 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-27 16:37:05 +00:00
semantic-release-bot 8ef42f3b69 🔖 chore(release): v1.66.3 [skip ci]
### [Version&nbsp;1.66.3](https://github.com/lobehub/lobe-chat/compare/v1.66.2...v1.66.3)
<sup>Released on **2025-02-27**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix fetch assistants plugin error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix fetch assistants plugin error, closes [#6576](https://github.com/lobehub/lobe-chat/issues/6576) ([9669a02](https://github.com/lobehub/lobe-chat/commit/9669a02))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-27 16:36:02 +00:00
vual 9669a02f14 🐛 fix: fix fetch assistants plugin error (#6576) 2025-02-28 00:27:34 +08:00
triwinds fa938f9b12 🔨 chore: add missing restart: always on network-service (#6581) 2025-02-27 23:13:44 +08:00
lobehubbot 357b4d4320 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-27 09:39:04 +00:00
semantic-release-bot dd6863e34e 🔖 chore(release): v1.66.2 [skip ci]
### [Version&nbsp;1.66.2](https://github.com/lobehub/lobe-chat/compare/v1.66.1...v1.66.2)
<sup>Released on **2025-02-27**</sup>

#### 🐛 Bug Fixes

- **misc**: Update Claude sonnet 3.7 model ID.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Update Claude sonnet 3.7 model ID, closes [#6567](https://github.com/lobehub/lobe-chat/issues/6567) ([d1039d6](https://github.com/lobehub/lobe-chat/commit/d1039d6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-27 09:37:56 +00:00
Lightmani d1039d6838 🐛 fix: Update Claude sonnet 3.7 model ID (#6567)
* Update bedrock.ts

* Update bedrock.ts

* Update bedrock.ts
2025-02-27 17:29:38 +08:00
Arvin Xu 3bcb5c01a7 🐛 fix: fix anthropic tools calling issue (#6566)
* fix

* fix non-empty response

* fix edge cases

* make thinking undefault
2025-02-27 17:29:31 +08:00
lobehubbot ec4c7820f7 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-27 05:40:29 +00:00
semantic-release-bot 57fd3e9842 🔖 chore(release): v1.66.1 [skip ci]
### [Version&nbsp;1.66.1](https://github.com/lobehub/lobe-chat/compare/v1.66.0...v1.66.1)
<sup>Released on **2025-02-27**</sup>

#### 💄 Styles

- **misc**: Added eu-central-1 region for bedrock.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Added eu-central-1 region for bedrock, closes [#6555](https://github.com/lobehub/lobe-chat/issues/6555) ([6f1e599](https://github.com/lobehub/lobe-chat/commit/6f1e599))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-27 05:39:30 +00:00
Arjun Reddy 6f1e599e2f 💄 style: added eu-central-1 region for bedrock (#6555) 2025-02-27 13:31:00 +08:00
lobehubbot 4af5b2775c 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-27 04:00:38 +00:00
semantic-release-bot 095ceb24f0 🔖 chore(release): v1.66.0 [skip ci]
## [Version&nbsp;1.66.0](https://github.com/lobehub/lobe-chat/compare/v1.65.2...v1.66.0)
<sup>Released on **2025-02-27**</sup>

####  Features

- **misc**: Add online search support for available providers.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add online search support for available providers, closes [#6475](https://github.com/lobehub/lobe-chat/issues/6475) ([cb0a3bc](https://github.com/lobehub/lobe-chat/commit/cb0a3bc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-27 03:59:37 +00:00
Zhijie He cb0a3bc2fc feat: add online search support for available providers (#6475)
*  feat: add online search support for available providers

* 🔨 chore: rollback changes for minimax
2025-02-27 11:51:10 +08:00
lobehubbot 257a87e664 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-27 03:17:35 +00:00
semantic-release-bot e4663ece64 🔖 chore(release): v1.65.2 [skip ci]
### [Version&nbsp;1.65.2](https://github.com/lobehub/lobe-chat/compare/v1.65.1...v1.65.2)
<sup>Released on **2025-02-27**</sup>

#### 💄 Styles

- **misc**: Support parsing the search flag when parsing the model list, Update Gemini & Qwen models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support parsing the search flag when parsing the model list, closes [#6546](https://github.com/lobehub/lobe-chat/issues/6546) ([8c768ed](https://github.com/lobehub/lobe-chat/commit/8c768ed))
* **misc**: Update Gemini & Qwen models, closes [#6531](https://github.com/lobehub/lobe-chat/issues/6531) ([efde928](https://github.com/lobehub/lobe-chat/commit/efde928))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-27 03:16:23 +00:00
sxjeru efde928302 💄 style: Update Gemini & Qwen models (#6531)
* Update google.ts

* Update groq.ts

* Update qwen.ts

* Update index.tsx
2025-02-27 11:08:04 +08:00
wzdnzd 8c768ed12c 💄 style: support parsing the search flag when parsing the model list (#6546)
* feat: support parsing the search flag when parsing the model list

* test: add unit test for src/utils/parseModels.ts
2025-02-27 11:06:33 +08:00
Arvin Xu 8d6b78f9f8 🔨 chore: upgrade next to 15.2 (#6557) 2025-02-27 10:44:52 +08:00
Arvin Xu 47efd1ba43 🔨 chore: improve setup.sh to download searxng file (#6552) 2025-02-26 23:42:22 +08:00
Kaco 9a14ee6211 📝 docs: Add searxng to docker compose (#6509)
* Add searxng to docker compose

* Update docker-compose.yml

Block external access to port 8080

---------

Co-authored-by: Kaco <leungkaco@gmail.com>
2025-02-26 22:47:39 +08:00
lobehubbot 80bf865e77 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-26 11:13:39 +00:00
semantic-release-bot 41fd9829b1 🔖 chore(release): v1.65.1 [skip ci]
### [Version&nbsp;1.65.1](https://github.com/lobehub/lobe-chat/compare/v1.65.0...v1.65.1)
<sup>Released on **2025-02-26**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix claude 3.7 sonnet thinking with tool use.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix claude 3.7 sonnet thinking with tool use, closes [#6528](https://github.com/lobehub/lobe-chat/issues/6528) ([a76d2bf](https://github.com/lobehub/lobe-chat/commit/a76d2bf))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-26 11:12:40 +00:00
Arvin Xu a76d2bff77 🐛 fix: fix claude 3.7 sonnet thinking with tool use (#6528)
* fix thinking

* try to fix claude thinking with tools calling

* fix

* update

* add tests

* fix tests

* add tests

* add tests

* improve  anthropic
2025-02-26 19:04:09 +08:00
lobehubbot 3659bbc2cb 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-25 17:37:05 +00:00
semantic-release-bot 0f6c7fa6fb 🔖 chore(release): v1.65.0 [skip ci]
## [Version&nbsp;1.65.0](https://github.com/lobehub/lobe-chat/compare/v1.64.3...v1.65.0)
<sup>Released on **2025-02-25**</sup>

####  Features

- **misc**: Support claude sonnet 3.7  thinking.

#### 💄 Styles

- **misc**: Update Gemini 2.0 search settings.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support claude sonnet 3.7  thinking, closes [#6515](https://github.com/lobehub/lobe-chat/issues/6515) ([bc9829f](https://github.com/lobehub/lobe-chat/commit/bc9829f))

#### Styles

* **misc**: Update Gemini 2.0 search settings, closes [#6516](https://github.com/lobehub/lobe-chat/issues/6516) ([250bbcb](https://github.com/lobehub/lobe-chat/commit/250bbcb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-25 17:36:00 +00:00
sxjeru 250bbcbd55 💄 style: Update Gemini 2.0 search settings (#6516) 2025-02-26 01:27:14 +08:00
Arvin Xu bc9829fa1f feat: support claude sonnet 3.7 thinking (#6515)
* add claude thinking

* update code

* support anthropic thinking

* update i18n

* update i18n

* fix snapshot

* fix tests
2025-02-26 01:26:22 +08:00
lobehubbot 41acc241e2 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-25 15:57:41 +00:00
semantic-release-bot e82a2de4a4 🔖 chore(release): v1.64.3 [skip ci]
### [Version&nbsp;1.64.3](https://github.com/lobehub/lobe-chat/compare/v1.64.2...v1.64.3)
<sup>Released on **2025-02-25**</sup>

#### 💄 Styles

- **misc**: Add Claude 3.7 Sonnet and Haiku 3.5.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Claude 3.7 Sonnet and Haiku 3.5, closes [#6512](https://github.com/lobehub/lobe-chat/issues/6512) ([c8db2bb](https://github.com/lobehub/lobe-chat/commit/c8db2bb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-25 15:56:41 +00:00
Liav Arnon c8db2bb273 💄 style: add Claude 3.7 Sonnet and Haiku 3.5 (#6512)
* add claude3.7 and bedrock

* add descriptions

* add reasoning to claude 3.7

* add claude 3.7 to bedrock

* added abilities

* retrieve deleted claude 3.5 v1 to bedrock

* reorderd abilities and added max output

* fix lint

---------

Co-authored-by: arvinxx <arvinx@foxmail.com>
2025-02-25 23:48:25 +08:00
gru-agent[bot] 69f85558b7 test: Add unit tests for searXNG actions in the chat store. (#6502)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-25 15:16:56 +08:00
lobehubbot 2c336cf3da 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-25 06:23:40 +00:00
semantic-release-bot ae84362fdf 🔖 chore(release): v1.64.2 [skip ci]
### [Version&nbsp;1.64.2](https://github.com/lobehub/lobe-chat/compare/v1.64.1...v1.64.2)
<sup>Released on **2025-02-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix 0 search results with specific search engine.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix 0 search results with specific search engine, closes [#6487](https://github.com/lobehub/lobe-chat/issues/6487) ([74a09e2](https://github.com/lobehub/lobe-chat/commit/74a09e2))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-25 06:22:40 +00:00
Arvin Xu 74a09e27ff 🐛 fix: fix 0 search results with specific search engine (#6487)
* update

* improve plugin loading state

* improve loading style

* update favicon

* improve search display

* add search results

* fix lint
2025-02-25 14:14:14 +08:00
lobehubbot 237cc76318 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-25 03:35:49 +00:00
semantic-release-bot 27d00ff2ec 🔖 chore(release): v1.64.1 [skip ci]
### [Version&nbsp;1.64.1](https://github.com/lobehub/lobe-chat/compare/v1.64.0...v1.64.1)
<sup>Released on **2025-02-25**</sup>

#### 🐛 Bug Fixes

- **misc**: Disable fc for ds-v3 series.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Disable fc for ds-v3 series, closes [#6486](https://github.com/lobehub/lobe-chat/issues/6486) ([0092213](https://github.com/lobehub/lobe-chat/commit/0092213))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-25 03:34:49 +00:00
Rylan Cai 00922134c1 🐛 fix: disable fc for ds-v3 series (#6486) 2025-02-25 11:26:31 +08:00
lobehubbot e65bb09792 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-24 18:59:54 +00:00
semantic-release-bot ef45b3604d 🔖 chore(release): v1.64.0 [skip ci]
## [Version&nbsp;1.64.0](https://github.com/lobehub/lobe-chat/compare/v1.63.3...v1.64.0)
<sup>Released on **2025-02-24**</sup>

####  Features

- **misc**: Support application search with searchXNG.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support application search with searchXNG, closes [#6452](https://github.com/lobehub/lobe-chat/issues/6452) ([b61b5fc](https://github.com/lobehub/lobe-chat/commit/b61b5fc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-24 18:58:53 +00:00
Arvin Xu b61b5fcb03 feat: support application search with searchXNG (#6452)
*  feat: add builtin search with SearXNG

* ♻️ refactor: refactor the plugin error

* add impl

* update search

* improve search card style

* fix lint

* fix calling

* update i18n

* fix tests

* refactor the portal plugin design

* update i18n

* update

* fix tests

* add search header tag

* refactor for the search visible
2025-02-25 02:50:31 +08:00
lobehubbot 337fcffdb2 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-24 04:08:38 +00:00
semantic-release-bot fb18f5a95c 🔖 chore(release): v1.63.3 [skip ci]
### [Version&nbsp;1.63.3](https://github.com/lobehub/lobe-chat/compare/v1.63.2...v1.63.3)
<sup>Released on **2025-02-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix citation=null issue in stream.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix citation=null issue in stream, closes [#6461](https://github.com/lobehub/lobe-chat/issues/6461) ([3f9498e](https://github.com/lobehub/lobe-chat/commit/3f9498e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-24 04:07:34 +00:00
Arvin Xu 3f9498e2d1 🐛 fix: fix citation=null issue in stream (#6461) 2025-02-24 11:58:54 +08:00
gru-agent[bot] 93d982f992 test: Add test to verify inclusion of settings property from builtin model in AiInfraRepos. (#6462)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-24 11:39:37 +08:00
lobehubbot 86f563f51a 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-24 03:09:33 +00:00
semantic-release-bot ad0fe99947 🔖 chore(release): v1.63.2 [skip ci]
### [Version&nbsp;1.63.2](https://github.com/lobehub/lobe-chat/compare/v1.63.1...v1.63.2)
<sup>Released on **2025-02-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix model settings config.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix model settings config, closes [#6459](https://github.com/lobehub/lobe-chat/issues/6459) ([469bd10](https://github.com/lobehub/lobe-chat/commit/469bd10))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-24 03:08:30 +00:00
Arvin Xu 469bd10cc4 🐛 fix: fix model settings config (#6459) 2025-02-24 11:00:04 +08:00
lobehubbot 0d4e62558a 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-23 17:52:36 +00:00
semantic-release-bot 7cd78d0efd 🔖 chore(release): v1.63.1 [skip ci]
### [Version&nbsp;1.63.1](https://github.com/lobehub/lobe-chat/compare/v1.63.0...v1.63.1)
<sup>Released on **2025-02-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix groq location request.

#### 💄 Styles

- **misc**: Improve plugin calling style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix groq location request, closes [#6449](https://github.com/lobehub/lobe-chat/issues/6449) ([8c8af6b](https://github.com/lobehub/lobe-chat/commit/8c8af6b))

#### Styles

* **misc**: Improve plugin calling style, closes [#6446](https://github.com/lobehub/lobe-chat/issues/6446) ([406cd46](https://github.com/lobehub/lobe-chat/commit/406cd46))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-23 17:51:25 +00:00
Arvin Xu 8c8af6b8af 🐛 fix: fix groq location request (#6449) 2025-02-24 01:43:02 +08:00
Arvin Xu 406cd46b3a 💄 style: improve plugin calling style (#6446)
* improve plugin calling

* improve plugin calling

* fix model info loading

* fix loading

* revert jose
2025-02-24 01:41:13 +08:00
lobehubbot f4fcc81128 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-23 16:24:42 +00:00
semantic-release-bot 9db7791056 🔖 chore(release): v1.63.0 [skip ci]
## [Version&nbsp;1.63.0](https://github.com/lobehub/lobe-chat/compare/v1.62.11...v1.63.0)
<sup>Released on **2025-02-23**</sup>

####  Features

- **misc**: Support model-level search for Google/Qwen.

#### 💄 Styles

- **misc**: Update many models info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support model-level search for Google/Qwen, closes [#6420](https://github.com/lobehub/lobe-chat/issues/6420) ([f1b97cd](https://github.com/lobehub/lobe-chat/commit/f1b97cd))

#### Styles

* **misc**: Update many models info, closes [#6205](https://github.com/lobehub/lobe-chat/issues/6205) ([c477588](https://github.com/lobehub/lobe-chat/commit/c477588))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-23 16:23:37 +00:00
sxjeru c477588f95 💄 style: Update many models info (#6205)
* Update stepfun.ts

* Update siliconcloud.ts

* Update google.ts

* Update groq.ts

* Update siliconcloud.ts

* Update stepfun.ts

* Update groq.ts

* Update groq.ts

* Update hunyuan.ts

* Update hunyuan.ts

* Update internlm.ts

* Update mistral.ts

* Update novita.ts

* Update sensenova.ts

* Update taichu.ts

* Update upstage.ts

* Update index.test.ts.snap

* Update index.test.ts.snap

* Update index.test.ts

* Update groq.ts

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-02-24 00:15:03 +08:00
Arvin Xu f1b97cdf81 feat: support model-level search for Google/Qwen (#6420)
* support extendControls frontend

* refactor

* feat 完成搜索操控面板

* feat 完成 Google Grounding 集成

* fix tests

* 暂时针对有联网配置的 model 开启

* fix tests

* update config

* prepare search for openrouter

* update i18n

* fix
2025-02-24 00:10:18 +08:00
lobehubbot d08990e2e0 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-23 12:11:41 +00:00
semantic-release-bot 9e31a98352 🔖 chore(release): v1.62.11 [skip ci]
### [Version&nbsp;1.62.11](https://github.com/lobehub/lobe-chat/compare/v1.62.10...v1.62.11)
<sup>Released on **2025-02-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Refine role assignment logic for specific Azure OpenAI models & Sensitive URL.

#### 💄 Styles

- **misc**: Add custom `proxyUrl` support for Volcengine.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Refine role assignment logic for specific Azure OpenAI models & Sensitive URL, closes [#6366](https://github.com/lobehub/lobe-chat/issues/6366) ([d47c2c6](https://github.com/lobehub/lobe-chat/commit/d47c2c6))

#### Styles

* **misc**: Add custom `proxyUrl` support for Volcengine, closes [#6433](https://github.com/lobehub/lobe-chat/issues/6433) ([2b1aca9](https://github.com/lobehub/lobe-chat/commit/2b1aca9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-23 12:10:21 +00:00
loca1h0st d47c2c6d7a 🐛 fix: refine role assignment logic for specific Azure OpenAI models & Sensitive URL (#6366)
* refine role assignment logic for specific Azure OpenAI models & Azure SensitiveUrl

* Using updatedMessages to fix Azure o series models
2025-02-23 20:02:03 +08:00
Zhijie He 2b1aca9ed1 💄 style: add custom proxyUrl support for Volcengine (#6433) 2025-02-23 19:57:14 +08:00
Stella "Steve" Wang 4485171b5c 📝 docs: Add documentations for XAI and Wenxin server environment variables config. (#6353) 2025-02-23 19:27:12 +08:00
renovate[bot] d4b93c895a Update dependency jose to v6 (#6429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 19:26:23 +08:00
renovate[bot] 3bc2d721be Update dependency @google/generative-ai to ^0.22.0 (#6426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-23 18:22:43 +08:00
Carson Yang 3ff6c3b4aa 📝 docs: update database version deployment guide on Sealos (#6435)
Signed-off-by: Carson Yang <yangchuansheng33@gmail.com>
2025-02-23 18:22:24 +08:00
lobehubbot 19e02d6d42 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-22 14:30:35 +00:00
semantic-release-bot d44ee11758 🔖 chore(release): v1.62.10 [skip ci]
### [Version&nbsp;1.62.10](https://github.com/lobehub/lobe-chat/compare/v1.62.9...v1.62.10)
<sup>Released on **2025-02-22**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix fetch on client check status display.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix fetch on client check status display, closes [#6405](https://github.com/lobehub/lobe-chat/issues/6405) ([9579e41](https://github.com/lobehub/lobe-chat/commit/9579e41))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-22 14:29:37 +00:00
vual 9579e41d54 🐛 fix: fix fetch on client check status display (#6405)
* fix fetch on client check status display

* fix fetch on client check status display, and sort props
2025-02-22 22:21:31 +08:00
lobehubbot 325c44ac79 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-22 07:37:39 +00:00
semantic-release-bot d3dba17eaf 🔖 chore(release): v1.62.9 [skip ci]
### [Version&nbsp;1.62.9](https://github.com/lobehub/lobe-chat/compare/v1.62.8...v1.62.9)
<sup>Released on **2025-02-22**</sup>

#### 🐛 Bug Fixes

- **misc**: Next-auth user id not found in create agent index.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Next-auth user id not found in create agent index, closes [#6410](https://github.com/lobehub/lobe-chat/issues/6410) ([704c7c8](https://github.com/lobehub/lobe-chat/commit/704c7c8))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-22 07:36:39 +00:00
Rylan Cai 704c7c8eab 🐛 fix: next-auth user id not found in create agent index (#6410) 2025-02-22 15:28:32 +08:00
lobehubbot 5aa59c0609 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-22 07:24:52 +00:00
semantic-release-bot 2bc30ea2a8 🔖 chore(release): v1.62.8 [skip ci]
### [Version&nbsp;1.62.8](https://github.com/lobehub/lobe-chat/compare/v1.62.7...v1.62.8)
<sup>Released on **2025-02-22**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix image prompts with some user cases.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix image prompts with some user cases, closes [#6406](https://github.com/lobehub/lobe-chat/issues/6406) ([e9df49d](https://github.com/lobehub/lobe-chat/commit/e9df49d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-22 07:23:47 +00:00
Arvin Xu e9df49dfc8 🐛 fix: fix image prompts with some user cases (#6406)
* refactor the lobeThinking to remark mode

* improve error style

* try to fix prompts

* fix tests

* improve prompts

* fix tests
2025-02-22 15:15:39 +08:00
itning bef09e4db2 👷 docs: Fix the issue that the communication with the casdoor server is not available due to the port change. (#6408) 2025-02-22 15:03:09 +08:00
williamchai 1d1de88589 Update Node to 22 (lts/jod) in .nvmrc (#6400) 2025-02-22 12:39:32 +08:00
lobehubbot 4d0bba8738 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-21 17:46:11 +00:00
semantic-release-bot bc70f93b18 🔖 chore(release): v1.62.7 [skip ci]
### [Version&nbsp;1.62.7](https://github.com/lobehub/lobe-chat/compare/v1.62.6...v1.62.7)
<sup>Released on **2025-02-21**</sup>

#### 💄 Styles

- **misc**: Add Volcano Ark models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add Volcano Ark models, closes [#6368](https://github.com/lobehub/lobe-chat/issues/6368) ([02136f5](https://github.com/lobehub/lobe-chat/commit/02136f5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-21 17:45:02 +00:00
sxjeru 02136f5a62 💄 style: Add Volcano Ark models (#6368)
* Update volcengine.ts

* Update volcengine.ts

* Update volcengine.ts

* Update volcengine.ts

* Update volcengine.ts

* Update volcengine.ts
2025-02-22 01:36:45 +08:00
Carson Yang fbf9fb1f1f 📝 docs:(deploy): update Sealos deployment docs and links (#6399)
Signed-off-by: Carson Yang <yangchuansheng33@gmail.com>
2025-02-22 01:36:03 +08:00
Zhang Zhe 3e051dd6c0 📝 docs: Add volcengine environment variables (#6397) 2025-02-22 00:39:13 +08:00
lobehubbot 5f7599a6ba 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-21 16:38:34 +00:00
semantic-release-bot 6ef421b209 🔖 chore(release): v1.62.6 [skip ci]
### [Version&nbsp;1.62.6](https://github.com/lobehub/lobe-chat/compare/v1.62.5...v1.62.6)
<sup>Released on **2025-02-21**</sup>

#### 💄 Styles

- **misc**: Refactor the plugin render style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Refactor the plugin render style, closes [#6390](https://github.com/lobehub/lobe-chat/issues/6390) ([3ecdba1](https://github.com/lobehub/lobe-chat/commit/3ecdba1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-21 16:37:32 +00:00
Arvin Xu 3ecdba1a1b 💄 style: refactor the plugin render style (#6390)
* wip

* refactor the args design

* update

* refactor tools

* try improve suspense

* update i18n

* fix lint

* fix api key issue

* improve code

* improve suspense

* improve suspense

* fix topic duplicate issue
2025-02-22 00:29:05 +08:00
lobehubbot 7e6aaa0344 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-21 14:40:27 +00:00
semantic-release-bot 8d53670c0b 🔖 chore(release): v1.62.5 [skip ci]
### [Version&nbsp;1.62.5](https://github.com/lobehub/lobe-chat/compare/v1.62.4...v1.62.5)
<sup>Released on **2025-02-21**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix default agent loading.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix default agent loading, closes [#6393](https://github.com/lobehub/lobe-chat/issues/6393) ([7841122](https://github.com/lobehub/lobe-chat/commit/7841122))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-21 14:39:25 +00:00
gru-agent[bot] 8490b8c07e test: Add test for 400 status response on SubscriptionKeyMismatch error type in createErrorResponse function. (#6378)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-21 22:30:52 +08:00
Arvin Xu 7841122aed 🐛 fix: fix default agent loading (#6393)
* fix

* fix
2025-02-21 22:30:28 +08:00
lobehubbot 89b7da071d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-20 19:20:16 +00:00
semantic-release-bot 94087ada5f 🔖 chore(release): v1.62.4 [skip ci]
### [Version&nbsp;1.62.4](https://github.com/lobehub/lobe-chat/compare/v1.62.3...v1.62.4)
<sup>Released on **2025-02-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix hotkeys of open agent settings.

#### 💄 Styles

- **misc**: Add some error types.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix hotkeys of open agent settings, closes [#6363](https://github.com/lobehub/lobe-chat/issues/6363) ([3219c54](https://github.com/lobehub/lobe-chat/commit/3219c54))

#### Styles

* **misc**: Add some error types, closes [#6377](https://github.com/lobehub/lobe-chat/issues/6377) ([f7a7138](https://github.com/lobehub/lobe-chat/commit/f7a7138))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 19:19:11 +00:00
Arvin Xu f7a713848f 💄 style: add some error types (#6377)
* add some error type

* fix svix build
2025-02-21 03:10:48 +08:00
Arvin Xu 3219c547a7 🐛 fix: fix hotkeys of open agent settings (#6363) 2025-02-21 03:10:28 +08:00
gru-agent[bot] 56c36cdae0 test: Add test for 404 status response for ModelNotFound error type in errorResponse function. (#6361)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 16:26:08 +08:00
lobehubbot 87a6185494 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-20 08:12:19 +00:00
semantic-release-bot 7b6ab1d038 🔖 chore(release): v1.62.3 [skip ci]
### [Version&nbsp;1.62.3](https://github.com/lobehub/lobe-chat/compare/v1.62.2...v1.62.3)
<sup>Released on **2025-02-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix a feature flag.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix a feature flag, closes [#6354](https://github.com/lobehub/lobe-chat/issues/6354) ([6667334](https://github.com/lobehub/lobe-chat/commit/6667334))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 08:11:17 +00:00
Arvin Xu 6667334496 🐛 fix: fix a feature flag (#6354) 2025-02-20 16:02:53 +08:00
lobehubbot 4168e5a9a5 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-20 06:24:25 +00:00
semantic-release-bot 28cb7fec0a 🔖 chore(release): v1.62.2 [skip ci]
### [Version&nbsp;1.62.2](https://github.com/lobehub/lobe-chat/compare/v1.62.1...v1.62.2)
<sup>Released on **2025-02-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix message roles for specific Azure OpenAI models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix message roles for specific Azure OpenAI models, closes [#6222](https://github.com/lobehub/lobe-chat/issues/6222) ([d49329a](https://github.com/lobehub/lobe-chat/commit/d49329a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 06:23:16 +00:00
hcygnaw d49329a052 🐛 fix: fix message roles for specific Azure OpenAI models (#6222)
* 🐛 fix: update message roles for specific Azure OpenAI models

* 🐛 fix: refine role assignment logic for specific Azure OpenAI models

* Create an auto-deploy file

* Delete .github/workflows/lobechatazure-AutoDeployTrigger-bdbe175d-28d2-43a7-a2db-f0a2225af446.yml

---------

Co-authored-by: yichuan <wang-yichuan@outlook.com>
2025-02-20 14:14:54 +08:00
renovate[bot] 5d59f0d4dc Update dependency file-type to v20 (#5510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 14:12:33 +08:00
semantic-release-bot 84d3e96563 🔖 chore(release): v1.62.1 [skip ci]
### [Version&nbsp;1.62.1](https://github.com/lobehub/lobe-chat/compare/v1.62.0...v1.62.1)
<sup>Released on **2025-02-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Add sambanova proxy url.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Add sambanova proxy url, closes [#6348](https://github.com/lobehub/lobe-chat/issues/6348) ([c9cb7d9](https://github.com/lobehub/lobe-chat/commit/c9cb7d9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 06:11:46 +00:00
Arvin Xu c9cb7d917c 🐛 fix: add sambanova proxy url (#6348)
* fix

* update i18n
2025-02-20 14:03:37 +08:00
Arvin Xu 59bdf12b1e 🔨 chore: Update issue template (#6256)
* Update config.yml

* Update 1_bug_report_cn.yml

* Update config.yml
2025-02-20 13:42:38 +08:00
gru-agent[bot] 097038ef17 test: Add tests for getUserSSOProviders and unlinkSSOProvider methods in ClientService. (#6335)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 13:13:09 +08:00
gru-agent[bot] d4b4b288ca test: Add unit tests for ServerService methods in user service. (#6337)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 13:12:49 +08:00
gru-agent[bot] 88531dbb37 test: Add unit tests for NextAuthUserService, covering user update scenarios. (#6344)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 13:12:13 +08:00
lobehubbot cab591dc63 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-20 04:47:59 +00:00
semantic-release-bot a6aa88ec47 🔖 chore(release): v1.62.0 [skip ci]
## [Version&nbsp;1.62.0](https://github.com/lobehub/lobe-chat/compare/v1.61.6...v1.62.0)
<sup>Released on **2025-02-20**</sup>

####  Features

- **misc**: Support pplx search grounding.

#### 🐛 Bug Fixes

- **misc**: Azure AI env var configuration issue..

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support pplx search grounding, closes [#6331](https://github.com/lobehub/lobe-chat/issues/6331) ([ccb0003](https://github.com/lobehub/lobe-chat/commit/ccb0003))

#### What's fixed

* **misc**: Azure AI env var configuration issue., closes [#6346](https://github.com/lobehub/lobe-chat/issues/6346) ([3fc61bb](https://github.com/lobehub/lobe-chat/commit/3fc61bb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 04:46:56 +00:00
Keating Huang 3fc61bb1f4 🐛 fix: Azure AI env var configuration issue. (#6346) 2025-02-20 12:38:47 +08:00
Arvin Xu ccb0003bff feat: support pplx search grounding (#6331) 2025-02-20 12:31:08 +08:00
lobehubbot 057f45586b 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-20 02:51:39 +00:00
semantic-release-bot 276ef26d37 🔖 chore(release): v1.61.6 [skip ci]
### [Version&nbsp;1.61.6](https://github.com/lobehub/lobe-chat/compare/v1.61.5...v1.61.6)
<sup>Released on **2025-02-20**</sup>

#### 🐛 Bug Fixes

- **misc**: Casdoor webhooks error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Casdoor webhooks error, closes [#6304](https://github.com/lobehub/lobe-chat/issues/6304) ([7a458b9](https://github.com/lobehub/lobe-chat/commit/7a458b9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-20 02:50:28 +00:00
Rylan Cai 7a458b9e31 🐛 fix: Casdoor webhooks error (#6304)
* 🐛 fix: casdoor webhooks error

* 📝 docs: update docs

* 📝 docs: add impl details

* 📝 docs: add version requires for casdoor
2025-02-20 10:41:59 +08:00
gru-agent[bot] b91fb84876 test: Add unit tests for server default agent and files configuration functions. (#6249)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 10:37:03 +08:00
gru-agent[bot] 2ac3dff653 test: Add unit tests for userRouter functionality in user.test.ts (#6338)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 10:14:42 +08:00
gru-agent[bot] 3a51aeaeda test: Add tests for additional error response statuses in errorResponse.test.ts (#6300)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-20 00:54:31 +08:00
lobehubbot 5bacc9dcc0 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-19 16:40:02 +00:00
semantic-release-bot 864b5b6711 🔖 chore(release): v1.61.5 [skip ci]
### [Version&nbsp;1.61.5](https://github.com/lobehub/lobe-chat/compare/v1.61.4...v1.61.5)
<sup>Released on **2025-02-19**</sup>

#### 💄 Styles

- **misc**: Show sso providers for next-auth in profile page.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Show sso providers for next-auth in profile page, closes [#5303](https://github.com/lobehub/lobe-chat/issues/5303) ([dd61bce](https://github.com/lobehub/lobe-chat/commit/dd61bce))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-19 16:39:03 +00:00
Rylan Cai dd61bce75c 💄 style: show sso providers for next-auth in profile page (#5303)
*  feat: add sso fetcher in services

* 🚧 wip: provider list

* ♻️ refactor: change db operation

*  feat: support unlink sso providers

* 🎨 style: make popconfirm topright

* 🌐 i18n: add zh-CN as gen source

* 💄 style: use Avatar wrap AuthIcons

* 💄 style: use modal

* ♻️ refactor: adapt to variants mode

* 🌐 i18n: auth uis

*  refactor: pass lint test

* 🌐 i18n: change title

* 🐛 fix: auth0 & github not seen in light mode
2025-02-20 00:30:44 +08:00
lobehubbot ef02986e69 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 17:07:32 +00:00
semantic-release-bot 36ef241984 🔖 chore(release): v1.61.4 [skip ci]
### [Version&nbsp;1.61.4](https://github.com/lobehub/lobe-chat/compare/v1.61.3...v1.61.4)
<sup>Released on **2025-02-18**</sup>

#### 💄 Styles

- **misc**: Improve perplexity models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve perplexity models, closes [#6307](https://github.com/lobehub/lobe-chat/issues/6307) ([c99908d](https://github.com/lobehub/lobe-chat/commit/c99908d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 17:06:32 +00:00
Arvin Xu c99908dc2f 💄 style: improve perplexity models (#6307)
* update perplexity models

* defaultShowBrowserRequest for openai

* revert
2025-02-19 00:58:10 +08:00
lobehubbot 47d27a39a5 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 16:23:22 +00:00
semantic-release-bot c5e2a30aaf 🔖 chore(release): v1.61.3 [skip ci]
### [Version&nbsp;1.61.3](https://github.com/lobehub/lobe-chat/compare/v1.61.2...v1.61.3)
<sup>Released on **2025-02-18**</sup>

#### 💄 Styles

- **misc**: Improve error content and console error.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve error content and console error, closes [#6305](https://github.com/lobehub/lobe-chat/issues/6305) ([6a35f55](https://github.com/lobehub/lobe-chat/commit/6a35f55))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 16:22:23 +00:00
Arvin Xu 6a35f55ebc 💄 style: improve error content and console error (#6305)
* update i18n

* add console error
2025-02-19 00:14:01 +08:00
lobehubbot 74849f77bf 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 15:16:05 +00:00
semantic-release-bot 0b9e9bf8c1 🔖 chore(release): v1.61.2 [skip ci]
### [Version&nbsp;1.61.2](https://github.com/lobehub/lobe-chat/compare/v1.61.1...v1.61.2)
<sup>Released on **2025-02-18**</sup>

#### 💄 Styles

- **misc**: Add `kimi-latest` for Moonshot.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add `kimi-latest` for Moonshot, closes [#6295](https://github.com/lobehub/lobe-chat/issues/6295) ([4fb98da](https://github.com/lobehub/lobe-chat/commit/4fb98da))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 15:15:06 +00:00
Zhijie He 4fb98da08f 💄 style: add kimi-latest for Moonshot (#6295)
* 💄 style: add `kimi-latest` for Moonshot

* 💄 style: update model list

* 💄 style: update model desc and cachedInput

* 💄 style: fix no model enabled

* 💄 style: update check model
2025-02-18 23:06:51 +08:00
lobehubbot 7b74abc3ae 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 15:05:18 +00:00
semantic-release-bot 0218b31278 🔖 chore(release): v1.61.1 [skip ci]
### [Version&nbsp;1.61.1](https://github.com/lobehub/lobe-chat/compare/v1.61.0...v1.61.1)
<sup>Released on **2025-02-18**</sup>

#### 💄 Styles

- **misc**: Improve serveral error code.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve serveral error code, closes [#6299](https://github.com/lobehub/lobe-chat/issues/6299) ([352cb90](https://github.com/lobehub/lobe-chat/commit/352cb90))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 15:04:20 +00:00
Arvin Xu 352cb90eb6 💄 style: improve serveral error code (#6299)
* improve error code

* improve CHAT MASK

* improve CHAT MASK

* update i18n

* fix tests
2025-02-18 22:55:58 +08:00
lobehubbot f394b216d9 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 06:58:21 +00:00
semantic-release-bot da965f67af 🔖 chore(release): v1.61.0 [skip ci]
## [Version&nbsp;1.61.0](https://github.com/lobehub/lobe-chat/compare/v1.60.9...v1.61.0)
<sup>Released on **2025-02-18**</sup>

####  Features

- **misc**: Support google vertex ai as a new provider.

#### 🐛 Bug Fixes

- **misc**: Try to fix pglite worker.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support google vertex ai as a new provider, closes [#4487](https://github.com/lobehub/lobe-chat/issues/4487) ([a0a9592](https://github.com/lobehub/lobe-chat/commit/a0a9592))

#### What's fixed

* **misc**: Try to fix pglite worker, closes [#6169](https://github.com/lobehub/lobe-chat/issues/6169) ([b3f4f13](https://github.com/lobehub/lobe-chat/commit/b3f4f13))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 06:57:12 +00:00
Arvin Xu a0a95927d4 feat: support google vertex ai as a new provider (#4487)
*  feat: add vertex ai model runtime

* update

* support vertex ai with api key

* update models

* fix lint

* fix

* fix again

* Create Dockerfile.pglite

* Create docker-pglite.yml

* Update docker-pglite.yml

* fix credentials

* Update docker-pglite.yml

* fix
2025-02-18 14:48:59 +08:00
Arvin Xu b3f4f13b9c 🐛 fix: try to fix pglite worker (#6169)
* try to fix pglite worker

* Update db.ts
2025-02-18 14:46:57 +08:00
lobehubbot c5d372f525 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 05:44:59 +00:00
semantic-release-bot fc67a3404a 🔖 chore(release): v1.60.9 [skip ci]
### [Version&nbsp;1.60.9](https://github.com/lobehub/lobe-chat/compare/v1.60.8...v1.60.9)
<sup>Released on **2025-02-18**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 05:44:00 +00:00
Arvin Xu cb9104d2f9 👷 build: add pglite docker image (#6287) 2025-02-18 13:24:49 +08:00
lobehubbot 5f96a506c9 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-18 01:13:31 +00:00
semantic-release-bot 2fc2043bc1 🔖 chore(release): v1.60.8 [skip ci]
### [Version&nbsp;1.60.8](https://github.com/lobehub/lobe-chat/compare/v1.60.7...v1.60.8)
<sup>Released on **2025-02-18**</sup>

#### 💄 Styles

- **misc**: Sync chat limit.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Sync chat limit, closes [#6207](https://github.com/lobehub/lobe-chat/issues/6207) ([cc2f536](https://github.com/lobehub/lobe-chat/commit/cc2f536))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-18 01:12:26 +00:00
sxjeru cc2f536658 💄 style: sync chat limit (#6207) 2025-02-18 09:04:23 +08:00
Arvin Xu b5360d5cfb 📝 docs: Update docker image version in docs (#6278)
* Update README.md

* Update docker-compose.mdx

* Update docker-compose.zh-CN.mdx

* Update docker.mdx

* Update docker.zh-CN.mdx

* Update docker.mdx

* Update docker.zh-CN.mdx

* Update docker-compose.mdx

* Update docker-compose.zh-CN.mdx
2025-02-18 02:34:19 +08:00
gru-agent[bot] bac6739b8c test: Add unit tests for ServerService methods in server.test.ts (#6260)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-18 02:02:20 +08:00
lobehubbot 5bb76ba13c 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 16:44:13 +00:00
semantic-release-bot 577daddb7d 🔖 chore(release): v1.60.7 [skip ci]
### [Version&nbsp;1.60.7](https://github.com/lobehub/lobe-chat/compare/v1.60.6...v1.60.7)
<sup>Released on **2025-02-17**</sup>

#### 💄 Styles

- **misc**: Remove deprecated gemini models, update MiniMax models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Remove deprecated gemini models, closes [#6269](https://github.com/lobehub/lobe-chat/issues/6269) ([45977c3](https://github.com/lobehub/lobe-chat/commit/45977c3))
* **misc**: Update MiniMax models, closes [#6270](https://github.com/lobehub/lobe-chat/issues/6270) ([2d7803a](https://github.com/lobehub/lobe-chat/commit/2d7803a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 16:43:10 +00:00
柴米油盐的梦想 45977c3d4d 💄 style: remove deprecated gemini models (#6269) 2025-02-18 00:34:49 +08:00
Zhijie He 2d7803a84a 💄 style: update MiniMax models (#6270) 2025-02-18 00:34:04 +08:00
lobehubbot 6b97177d4b 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 12:04:27 +00:00
semantic-release-bot 4003b8ebed 🔖 chore(release): v1.60.6 [skip ci]
### [Version&nbsp;1.60.6](https://github.com/lobehub/lobe-chat/compare/v1.60.5...v1.60.6)
<sup>Released on **2025-02-17**</sup>

#### 💄 Styles

- **misc**: Add o1 vision metadata.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add o1 vision metadata, closes [#6263](https://github.com/lobehub/lobe-chat/issues/6263) ([261d068](https://github.com/lobehub/lobe-chat/commit/261d068))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 12:03:26 +00:00
Arvin Xu 261d068028 💄 style: add o1 vision metadata (#6263)
* support

* update locale
2025-02-17 19:55:19 +08:00
CanisMinor 4e66ea3086 📝 docs: Add 2024 recap docs (#6259) 2025-02-17 19:26:28 +08:00
lobehubbot 07364c9196 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 11:24:16 +00:00
semantic-release-bot b49f3e9025 🔖 chore(release): v1.60.5 [skip ci]
### [Version&nbsp;1.60.5](https://github.com/lobehub/lobe-chat/compare/v1.60.4...v1.60.5)
<sup>Released on **2025-02-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix loading on not login for db.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix loading on not login for db, closes [#6258](https://github.com/lobehub/lobe-chat/issues/6258) ([61692b9](https://github.com/lobehub/lobe-chat/commit/61692b9))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 11:23:18 +00:00
Arvin Xu 61692b93c3 🐛 fix: fix loading on not login for db (#6258) 2025-02-17 19:15:17 +08:00
lobehubbot 1fc7ca6d1f 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 09:33:47 +00:00
semantic-release-bot e190db47d3 🔖 chore(release): v1.60.4 [skip ci]
### [Version&nbsp;1.60.4](https://github.com/lobehub/lobe-chat/compare/v1.60.3...v1.60.4)
<sup>Released on **2025-02-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix agent config not load correctly.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix agent config not load correctly, closes [#6252](https://github.com/lobehub/lobe-chat/issues/6252) ([fe9bc16](https://github.com/lobehub/lobe-chat/commit/fe9bc16))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 09:32:39 +00:00
Arvin Xu fe9bc16842 🐛 fix: fix agent config not load correctly (#6252)
* fix agent config issue

* improve loading for agent

* revert chat change
2025-02-17 17:24:20 +08:00
lobehubbot 977301b71d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 08:30:13 +00:00
semantic-release-bot 4e2c80124f 🔖 chore(release): v1.60.3 [skip ci]
### [Version&nbsp;1.60.3](https://github.com/lobehub/lobe-chat/compare/v1.60.2...v1.60.3)
<sup>Released on **2025-02-17**</sup>

#### 🐛 Bug Fixes

- **misc**: User feedback for empty/long group names in create/edit group modals.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: User feedback for empty/long group names in create/edit group modals, closes [#6247](https://github.com/lobehub/lobe-chat/issues/6247) ([25c80d1](https://github.com/lobehub/lobe-chat/commit/25c80d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 08:29:11 +00:00
Ramu Narasinga 25c80d1548 🐛 fix: user feedback for empty/long group names in create/edit group modals (#6247) 2025-02-17 16:20:51 +08:00
lobehubbot 32f442d65f 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 06:32:38 +00:00
semantic-release-bot c3b9fa525e 🔖 chore(release): v1.60.2 [skip ci]
### [Version&nbsp;1.60.2](https://github.com/lobehub/lobe-chat/compare/v1.60.1...v1.60.2)
<sup>Released on **2025-02-17**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix model list issue in client mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix model list issue in client mode, closes [#6240](https://github.com/lobehub/lobe-chat/issues/6240) ([d6c6cda](https://github.com/lobehub/lobe-chat/commit/d6c6cda))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 06:31:40 +00:00
Arvin Xu d6c6cdaa09 🐛 fix: fix model list issue in client mode (#6240)
* fix model list issue in client mode

* fix tests
2025-02-17 14:23:27 +08:00
lobehubbot 1fde7b23f1 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 06:02:28 +00:00
semantic-release-bot d7bdb62a83 🔖 chore(release): v1.60.1 [skip ci]
### [Version&nbsp;1.60.1](https://github.com/lobehub/lobe-chat/compare/v1.60.0...v1.60.1)
<sup>Released on **2025-02-17**</sup>

#### 💄 Styles

- **misc**: Update Jina AI Provider name & model info.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update Jina AI Provider name & model info, closes [#6243](https://github.com/lobehub/lobe-chat/issues/6243) ([ddbe482](https://github.com/lobehub/lobe-chat/commit/ddbe482))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 06:01:29 +00:00
Zhijie He ddbe482b25 💄 style: update Jina AI Provider name & model info (#6243) 2025-02-17 13:53:08 +08:00
lobehubbot 8d40d71ce2 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-17 05:41:58 +00:00
semantic-release-bot dab282ffa9 🔖 chore(release): v1.60.0 [skip ci]
## [Version&nbsp;1.60.0](https://github.com/lobehub/lobe-chat/compare/v1.59.0...v1.60.0)
<sup>Released on **2025-02-17**</sup>

####  Features

- **misc**: Add SambaNova provider support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add SambaNova provider support, closes [#6218](https://github.com/lobehub/lobe-chat/issues/6218) ([a46eadf](https://github.com/lobehub/lobe-chat/commit/a46eadf))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-17 05:40:56 +00:00
Zhijie He a46eadf2d8 feat: add SambaNova provider support (#6218)
*  feat: add SambaNova provider support

* 🐛 fix: fix build error

* 🔨 chore: disable Browser Request & `DeepSeek-R1` model
2025-02-17 13:32:38 +08:00
lobehubbot e061a209cb 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 17:16:25 +00:00
semantic-release-bot 63f2149fa4 🔖 chore(release): v1.59.0 [skip ci]
## [Version&nbsp;1.59.0](https://github.com/lobehub/lobe-chat/compare/v1.58.0...v1.59.0)
<sup>Released on **2025-02-16**</sup>

####  Features

- **misc**: Add volcengine as a new provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add volcengine as a new provider, closes [#6221](https://github.com/lobehub/lobe-chat/issues/6221) ([09bf8f0](https://github.com/lobehub/lobe-chat/commit/09bf8f0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 17:15:15 +00:00
Arvin Xu 09bf8f0a05 feat: add volcengine as a new provider (#6221)
* add volcengine

* add volcengine model

* fix

* add api key

* fix deployment name find bug

* add ability

* update i18n
2025-02-17 01:07:12 +08:00
lobehubbot 895d8ee237 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 15:18:28 +00:00
semantic-release-bot 938e32f53e 🔖 chore(release): v1.58.0 [skip ci]
## [Version&nbsp;1.58.0](https://github.com/lobehub/lobe-chat/compare/v1.57.1...v1.58.0)
<sup>Released on **2025-02-16**</sup>

####  Features

- **misc**: Add Azure AI as new Provider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Azure AI as new Provider, closes [#6214](https://github.com/lobehub/lobe-chat/issues/6214) ([30e010f](https://github.com/lobehub/lobe-chat/commit/30e010f))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 15:17:09 +00:00
Arvin Xu 30e010fe14 feat: add Azure AI as new Provider (#6214)
* add azure ai

* 初步完成 ui 侧集成

* support streaming

* fix lint

* add azure ai implement

* try to fix issue

* improve code

* support deployment name

* improve create provider

* update snapshot
2025-02-16 23:08:43 +08:00
Rylan Cai 2dc712a9be 📝 docs: files access denied in one-click deploy (#6213) 2025-02-16 22:19:10 +08:00
lobehubbot e5dc0996cf 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 08:48:40 +00:00
semantic-release-bot e4733fb209 🔖 chore(release): v1.57.1 [skip ci]
### [Version&nbsp;1.57.1](https://github.com/lobehub/lobe-chat/compare/v1.57.0...v1.57.1)
<sup>Released on **2025-02-16**</sup>

#### 💄 Styles

- **misc**: Fix mobile agent settings not show correctly.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Fix mobile agent settings not show correctly, closes [#6203](https://github.com/lobehub/lobe-chat/issues/6203) ([0285d95](https://github.com/lobehub/lobe-chat/commit/0285d95))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 08:47:35 +00:00
Arvin Xu 0285d958fd 💄 style: fix mobile agent settings not show correctly (#6203)
* fix agent setting mobile

* improve code

* improve style for desktop

* fix inbox issue

* fix chat page issue

* fix desktop style

* refactor the store code

* fix navigation issue
2025-02-16 16:39:28 +08:00
lobehubbot 4ae2080a1f 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 05:58:41 +00:00
semantic-release-bot 118f8327f8 🔖 chore(release): v1.57.0 [skip ci]
## [Version&nbsp;1.57.0](https://github.com/lobehub/lobe-chat/compare/v1.56.5...v1.57.0)
<sup>Released on **2025-02-16**</sup>

####  Features

- **misc**: Add Jina AI model provider support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Jina AI model provider support, closes [#6140](https://github.com/lobehub/lobe-chat/issues/6140) ([6b4c15b](https://github.com/lobehub/lobe-chat/commit/6b4c15b))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 05:57:38 +00:00
Zhijie He 6b4c15b8ce feat: add Jina AI model provider support (#6140)
*  feat: add Jina model provider support

* 🐛 fix: fix ci error

* 💄 style: add `proxyUrl` support

* 🔨 chore: cleanup code

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-02-16 13:49:25 +08:00
Arvin Xu 728c0c6263 🔨 chore: Update github issue (#6202)
* Update 1_bug_report_cn.yml

* Update 1_bug_report.yml
2025-02-16 12:50:37 +08:00
lobehubbot 373a24c472 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 04:27:55 +00:00
semantic-release-bot 995017b61a 🔖 chore(release): v1.56.5 [skip ci]
### [Version&nbsp;1.56.5](https://github.com/lobehub/lobe-chat/compare/v1.56.4...v1.56.5)
<sup>Released on **2025-02-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Match o1 series models more robust in Azure OpenAI provider, set max_completion_tokens to null for Azure OpenAI.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Match o1 series models more robust in Azure OpenAI provider, closes [#6193](https://github.com/lobehub/lobe-chat/issues/6193) ([f444e66](https://github.com/lobehub/lobe-chat/commit/f444e66))
* **misc**: Set max_completion_tokens to null for Azure OpenAI, closes [#6198](https://github.com/lobehub/lobe-chat/issues/6198) ([e9e8da4](https://github.com/lobehub/lobe-chat/commit/e9e8da4))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 04:26:53 +00:00
cuba3 f444e66a59 🐛 fix: match o1 series models more robust in Azure OpenAI provider (#6193) 2025-02-16 12:18:50 +08:00
hcygnaw e9e8da414c 🐛 fix: set max_completion_tokens to null for Azure OpenAI (#6198)
Co-authored-by: yichuan <wang-yichuan@outlook.com>
2025-02-16 12:13:12 +08:00
lobehubbot b62c48a715 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 03:57:38 +00:00
semantic-release-bot c6b9250448 🔖 chore(release): v1.56.4 [skip ci]
### [Version&nbsp;1.56.4](https://github.com/lobehub/lobe-chat/compare/v1.56.3...v1.56.4)
<sup>Released on **2025-02-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix ai provider description not show correctly.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix ai provider description not show correctly, closes [#6199](https://github.com/lobehub/lobe-chat/issues/6199) ([3e8d9c5](https://github.com/lobehub/lobe-chat/commit/3e8d9c5))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 03:56:36 +00:00
Arvin Xu 3e8d9c56a7 🐛 fix: fix ai provider description not show correctly (#6199) 2025-02-16 11:48:15 +08:00
lobehubbot a3e2e58632 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 03:38:13 +00:00
semantic-release-bot f4cbc6fb36 🔖 chore(release): v1.56.3 [skip ci]
### [Version&nbsp;1.56.3](https://github.com/lobehub/lobe-chat/compare/v1.56.2...v1.56.3)
<sup>Released on **2025-02-16**</sup>

#### 💄 Styles

- **misc**: Improve inbox agent settings.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve inbox agent settings, closes [#6197](https://github.com/lobehub/lobe-chat/issues/6197) ([37b70f0](https://github.com/lobehub/lobe-chat/commit/37b70f0))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 03:37:13 +00:00
gru-agent[bot] e5c0959f30 test: Add unit tests for agentRouter functionality in agent.test.ts (#6196)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-16 11:29:20 +08:00
Arvin Xu 37b70f0f2d 💄 style: improve inbox agent settings (#6197) 2025-02-16 11:25:35 +08:00
lobehubbot 93bd401a6c 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 00:38:34 +00:00
semantic-release-bot 2c99f2f9a6 🔖 chore(release): v1.56.2 [skip ci]
### [Version&nbsp;1.56.2](https://github.com/lobehub/lobe-chat/compare/v1.56.1...v1.56.2)
<sup>Released on **2025-02-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix inbox agent can not save config.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix inbox agent can not save config, closes [#6186](https://github.com/lobehub/lobe-chat/issues/6186) ([588cba7](https://github.com/lobehub/lobe-chat/commit/588cba7))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 00:37:24 +00:00
Arvin Xu 588cba75ff 🐛 fix: fix inbox agent can not save config (#6186) 2025-02-16 08:29:09 +08:00
lobehubbot daa60e9af3 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-16 00:05:23 +00:00
semantic-release-bot 8aea602ca4 🔖 chore(release): v1.56.1 [skip ci]
### [Version&nbsp;1.56.1](https://github.com/lobehub/lobe-chat/compare/v1.56.0...v1.56.1)
<sup>Released on **2025-02-16**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix inbox agent edit way in the new mode.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix inbox agent edit way in the new mode, closes [#6190](https://github.com/lobehub/lobe-chat/issues/6190) ([6398362](https://github.com/lobehub/lobe-chat/commit/6398362))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-16 00:04:09 +00:00
Arvin Xu 6398362ad0 🐛 fix: fix inbox agent edit way in the new mode (#6190) 2025-02-16 07:56:08 +08:00
lobehubbot 49376381ea 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 17:58:50 +00:00
CanisMinor cc2cd35d65 📝 docs: Update README for 2025 (#6185) 2025-02-16 01:50:41 +08:00
lobehubbot 2ebcf3066a 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 17:25:53 +00:00
semantic-release-bot 961e8e0601 🔖 chore(release): v1.56.0 [skip ci]
## [Version&nbsp;1.56.0](https://github.com/lobehub/lobe-chat/compare/v1.55.4...v1.56.0)
<sup>Released on **2025-02-15**</sup>

####  Features

- **misc**: Add configurable PDF processing method with Unstructured.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add configurable PDF processing method with Unstructured, closes [#5927](https://github.com/lobehub/lobe-chat/issues/5927) ([35fa3ee](https://github.com/lobehub/lobe-chat/commit/35fa3ee))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-15 17:24:42 +00:00
Arvin Xu 57bfa6aa2a 🔨 chore: update vercel build ignore mode (#6189) 2025-02-16 01:16:40 +08:00
Morax 35fa3ee5c4 feat: Add configurable PDF processing method with Unstructured (#5927)
*  feat: Add configurable PDF processing method with Unstructured

* 🔧 fix: Update import path for env utility in ContentChunk module

* feat: add USE_UNSTRUCTURED_FOR_PDF environment variable to knowledge config

* Delete src/server/utils/env.ts

* feat: implement ChunkingRuleParser for file type and service mapping

* refactor: remove USE_UNSTRUCTURED_FOR_PDF from knowledge environment configuration

* test: add unit tests for ChunkingRuleParser functionality

* refactor: remove isUsingUnstructured method from ContentChunk class

* refactor: update ChunkingService type and clean up ContentChunk rules

* refactor: simplify ChunkingRuleParser and update ContentChunk module

* refactor: update ContentChunk module import for ChunkingService
2025-02-16 01:13:39 +08:00
Rylan Cai b61cec7444 📝 docs: fix casdoor webhooks & add Chinese warnings in local docker compose template (#6181)
* 📝 docs: fix webhook url in docs

* 👷 ci: add zh warning

* 📝 docs: fix webhooks url
2025-02-16 00:20:03 +08:00
lobehubbot 1509763ad7 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 12:19:26 +00:00
semantic-release-bot 426aaf8df0 🔖 chore(release): v1.55.4 [skip ci]
### [Version&nbsp;1.55.4](https://github.com/lobehub/lobe-chat/compare/v1.55.3...v1.55.4)
<sup>Released on **2025-02-15**</sup>

#### 💄 Styles

- **misc**: Improve mobile params style.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Improve mobile params style, closes [#6176](https://github.com/lobehub/lobe-chat/issues/6176) ([b5276de](https://github.com/lobehub/lobe-chat/commit/b5276de))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-15 12:18:21 +00:00
Arvin Xu b5276def88 💄 style: improve mobile params style (#6176)
* improve paramsControls style

* bump version
2025-02-15 20:10:06 +08:00
renovate[bot] 446db7a203 Update dependency @t3-oss/env-nextjs to ^0.12.0 (#5595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 14:05:41 +08:00
lobehubbot 302f85be84 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 05:25:01 +00:00
semantic-release-bot adeb9863af 🔖 chore(release): v1.55.3 [skip ci]
### [Version&nbsp;1.55.3](https://github.com/lobehub/lobe-chat/compare/v1.55.2...v1.55.3)
<sup>Released on **2025-02-15**</sup>

#### 💄 Styles

- **misc**: Add deepseek r1 distill models for qwen series.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Add deepseek r1 distill models for qwen series, closes [#5850](https://github.com/lobehub/lobe-chat/issues/5850) ([4a96a05](https://github.com/lobehub/lobe-chat/commit/4a96a05))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-15 05:23:59 +00:00
liyuan 4a96a05109 💄 style: add deepseek r1 distill models for qwen series (#5850)
* feat: add deepseek distill models for qwen series

* style: update qwen.ts indentation

* style: update qwen aiModels and modelProviders
2025-02-15 13:16:04 +08:00
George Alberich b13e9bab42 📝 docs: Updated broken hyperlink (#6067)
* Update `docs/self-hosting/server-database/docker-compose.mdx`

* Update docker-compose.mdx
2025-02-15 13:15:33 +08:00
lobehubbot b197f8e977 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 05:13:23 +00:00
semantic-release-bot 51ea929815 🔖 chore(release): v1.55.2 [skip ci]
### [Version&nbsp;1.55.2](https://github.com/lobehub/lobe-chat/compare/v1.55.1...v1.55.2)
<sup>Released on **2025-02-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Avoid blank reasoning with OpenRouter.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Avoid blank reasoning with OpenRouter, closes [#6153](https://github.com/lobehub/lobe-chat/issues/6153) ([c2278d1](https://github.com/lobehub/lobe-chat/commit/c2278d1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-15 05:12:21 +00:00
sxjeru c2278d1657 🐛 fix: Avoid blank reasoning with OpenRouter (#6153)
* Update openai.ts

* Update openai.ts

* 👌忽略纯粹换行的 reasoning

* Update index.tsx

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
2025-02-15 13:04:23 +08:00
Arvin Xu a20aad04d7 📝 docs: update langfuse Chinese docs (#6168)
* update docs

* update docs
2025-02-15 12:52:00 +08:00
lobehubbot a4ce534120 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-15 04:31:23 +00:00
semantic-release-bot 13d975e48a 🔖 chore(release): v1.55.1 [skip ci]
### [Version&nbsp;1.55.1](https://github.com/lobehub/lobe-chat/compare/v1.55.0...v1.55.1)
<sup>Released on **2025-02-15**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix Azure OpenAI O1 models and refactor the Azure OpenAI implement.

#### 💄 Styles

- **misc**: Update openrouter model list and descriptions.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix Azure OpenAI O1 models and refactor the Azure OpenAI implement, closes [#6079](https://github.com/lobehub/lobe-chat/issues/6079) ([6a89a8c](https://github.com/lobehub/lobe-chat/commit/6a89a8c))

#### Styles

* **misc**: Update openrouter model list and descriptions, closes [#6160](https://github.com/lobehub/lobe-chat/issues/6160) ([3ce0485](https://github.com/lobehub/lobe-chat/commit/3ce0485))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-15 04:30:11 +00:00
hiyu 4584a6c354 📝docs: add deployment on tencent cloud lighthouse (#4647)
* 📝docs: add deployment on tencent cloud lighthouse

* update docs

--------
2025-02-15 12:22:27 +08:00
Tom Lian 6a89a8c2ba 🐛 fix: fix Azure OpenAI O1 models and refactor the Azure OpenAI implement (#6079)
* 🐛 fix: fix Azure OpenAI O1 models

* fix: remove @azure/core-rest-pipeline

* fix: fix import & type assertion

* fix: fix import
2025-02-15 12:18:56 +08:00
gru-agent[bot] 40df6c2215 test: Add unit tests for aiModelRouter functionality in aiModel.test.ts. (#6088)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-15 12:11:54 +08:00
gru-agent[bot] d1e5662316 test: Add unit tests for AI model selectors in the Redux store. (#6114)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-15 12:10:55 +08:00
so02iti01 3ce0485652 💄 style: update openrouter model list and descriptions (#6160) 2025-02-15 12:10:14 +08:00
lobehubbot 4bafe8cc70 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-14 15:07:53 +00:00
semantic-release-bot 848cf4fdfd 🔖 chore(release): v1.55.0 [skip ci]
## [Version&nbsp;1.55.0](https://github.com/lobehub/lobe-chat/compare/v1.54.0...v1.55.0)
<sup>Released on **2025-02-14**</sup>

####  Features

- **misc**: Add vLLM provider support.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add vLLM provider support, closes [#6154](https://github.com/lobehub/lobe-chat/issues/6154) ([1708e32](https://github.com/lobehub/lobe-chat/commit/1708e32))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-14 15:06:46 +00:00
Zhijie He 1708e325ac feat: add vLLM provider support (#6154)
*  feat: add vLLM provider support

* 💄 style: update model list
2025-02-14 22:58:58 +08:00
Arvin Xu 6b6bd5ce5c 👷 build: update ai provider docs url (#6158) 2025-02-14 22:58:39 +08:00
lobehubbot cdb0425940 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-14 13:58:18 +00:00
semantic-release-bot ecb04c9d50 🔖 chore(release): v1.54.0 [skip ci]
## [Version&nbsp;1.54.0](https://github.com/lobehub/lobe-chat/compare/v1.53.12...v1.54.0)
<sup>Released on **2025-02-14**</sup>

####  Features

- **misc**: Add Nvidia NIM provider support.

#### 💄 Styles

- **misc**: Improve advanced params settings.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Add Nvidia NIM provider support, closes [#6142](https://github.com/lobehub/lobe-chat/issues/6142) ([ab796a7](https://github.com/lobehub/lobe-chat/commit/ab796a7))

#### Styles

* **misc**: Improve advanced params settings, closes [#6149](https://github.com/lobehub/lobe-chat/issues/6149) ([bf6699c](https://github.com/lobehub/lobe-chat/commit/bf6699c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-14 13:57:06 +00:00
Zhijie He ab796a79d6 feat: add Nvidia NIM provider support (#6142)
*  feat: add Nvidia NIM provider support

* 🐛 fix: fix build error

* 🔨 chore: sort code

* 💄 style: update model list

* 🐛 fix: fix ci error
2025-02-14 21:48:36 +08:00
Arvin Xu bf6699c422 💄 style: improve advanced params settings (#6149)
* support params

* update i18n

* update i18n

* fix title

* fix warning
2025-02-14 21:48:24 +08:00
lobehubbot 5b83f2e76d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-14 02:52:39 +00:00
semantic-release-bot 7fd883dc86 🔖 chore(release): v1.53.12 [skip ci]
### [Version&nbsp;1.53.12](https://github.com/lobehub/lobe-chat/compare/v1.53.11...v1.53.12)
<sup>Released on **2025-02-14**</sup>

#### ♻ Code Refactoring

- **misc**: Improve model fetch behavior.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Improve model fetch behavior, closes [#6055](https://github.com/lobehub/lobe-chat/issues/6055) ([4c2aaf6](https://github.com/lobehub/lobe-chat/commit/4c2aaf6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-14 02:51:40 +00:00
Zhijie He 4c2aaf6705 ♻️ refactor: improve model fetch behavior (#6055)
* ♻️ refactor: refactor model fetch behavior

* 🐛 fix: fix gemini thinking model set functionCall tag

* 🐛 fix: fix Spark fc tag missing

*  feat: add model fetch support for Tencent Cloud

* ♻️ refactor: refactor import `LOBE_DEFAULT_MODEL_LIST` with async method - Part 1

* ♻️ refactor: refactor import LOBE_DEFAULT_MODEL_LIST with async method - Part 2

* 🔨 chore: add vision, reasoning, fc default value

* ♻️ refactor: improve knownModel matching

* 🐛 fix: fix ci error
2025-02-14 10:43:59 +08:00
lobehubbot e684f10fdc 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 17:32:37 +00:00
semantic-release-bot d57392e12d 🔖 chore(release): v1.53.11 [skip ci]
### [Version&nbsp;1.53.11](https://github.com/lobehub/lobe-chat/compare/v1.53.10...v1.53.11)
<sup>Released on **2025-02-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix provider form api key.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix provider form api key, closes [#6115](https://github.com/lobehub/lobe-chat/issues/6115) ([d074238](https://github.com/lobehub/lobe-chat/commit/d074238))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 17:31:36 +00:00
Arvin Xu d07423814b 🐛 fix: fix provider form api key (#6115)
* update provider form

* improve loading page
2025-02-14 01:23:35 +08:00
lobehubbot f19a981fdc 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 15:56:20 +00:00
semantic-release-bot 3e4a875997 🔖 chore(release): v1.53.10 [skip ci]
### [Version&nbsp;1.53.10](https://github.com/lobehub/lobe-chat/compare/v1.53.9...v1.53.10)
<sup>Released on **2025-02-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix api key input issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix api key input issue, closes [#6112](https://github.com/lobehub/lobe-chat/issues/6112) ([48e3b85](https://github.com/lobehub/lobe-chat/commit/48e3b85))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 15:55:18 +00:00
Arvin Xu 48e3b85029 🐛 fix: fix api key input issue (#6112)
* fix api key input issue

* try to fix clerk auth
2025-02-13 23:47:11 +08:00
lobehubbot 8ed48c93f2 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 14:40:33 +00:00
semantic-release-bot 017a2998f0 🔖 chore(release): v1.53.9 [skip ci]
### [Version&nbsp;1.53.9](https://github.com/lobehub/lobe-chat/compare/v1.53.8...v1.53.9)
<sup>Released on **2025-02-13**</sup>

#### 💄 Styles

- **misc**: Support select check models.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support select check models, closes [#6106](https://github.com/lobehub/lobe-chat/issues/6106) ([2243bbb](https://github.com/lobehub/lobe-chat/commit/2243bbb))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 14:39:24 +00:00
Arvin Xu 2243bbb049 💄 style: support select check models (#6106)
* support check models

* use select not auto complete

* fix style
2025-02-13 22:30:46 +08:00
wzdnzd 5a012e4996 📝 docs: update custom model list instructions (#6076) 2025-02-13 14:58:01 +08:00
gru-agent[bot] a75100f4c7 test: Add unit tests for ServerService methods in server.test.ts (#6090)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-13 14:57:14 +08:00
lobehubbot 0737775d03 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 05:52:25 +00:00
semantic-release-bot 771279ce72 🔖 chore(release): v1.53.8 [skip ci]
### [Version&nbsp;1.53.8](https://github.com/lobehub/lobe-chat/compare/v1.53.7...v1.53.8)
<sup>Released on **2025-02-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix model fetch for spark and fix the support of model reset.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix model fetch for spark and fix the support of model reset, closes [#6080](https://github.com/lobehub/lobe-chat/issues/6080) ([257fda1](https://github.com/lobehub/lobe-chat/commit/257fda1))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 05:51:20 +00:00
Arvin Xu 257fda1231 🐛 fix: fix model fetch for spark and fix the support of model reset (#6080)
* fix spark fetch issue

* fix lint
2025-02-13 13:43:29 +08:00
lobehubbot 9bef2fb52b 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 04:59:30 +00:00
semantic-release-bot 49a3f682ed 🔖 chore(release): v1.53.7 [skip ci]
### [Version&nbsp;1.53.7](https://github.com/lobehub/lobe-chat/compare/v1.53.6...v1.53.7)
<sup>Released on **2025-02-13**</sup>

#### 💄 Styles

- **misc**: Update model list.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update model list, closes [#6056](https://github.com/lobehub/lobe-chat/issues/6056) ([be0d7f6](https://github.com/lobehub/lobe-chat/commit/be0d7f6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 04:58:29 +00:00
柴米油盐的梦想 be0d7f6329 💄 style: Update model list (#6056)
* 💄 style: Update huggingface model list

* 💄 style: Rename cloudflare model
2025-02-13 12:50:19 +08:00
renovate[bot] 6b5713abf3 Update dependency ubuntu to v24 (#4198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 12:01:21 +08:00
lobehubbot 6ab727e3d3 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 03:21:33 +00:00
semantic-release-bot c888a2d67a 🔖 chore(release): v1.53.6 [skip ci]
### [Version&nbsp;1.53.6](https://github.com/lobehub/lobe-chat/compare/v1.53.5...v1.53.6)
<sup>Released on **2025-02-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix not enable models correctly.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix not enable models correctly, closes [#6071](https://github.com/lobehub/lobe-chat/issues/6071) ([b78328e](https://github.com/lobehub/lobe-chat/commit/b78328e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 03:20:16 +00:00
renovate[bot] 43b8274471 Update dependency lucide-react to ^0.475.0 (#5505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 11:12:17 +08:00
renovate[bot] cfbadca690 Update dependency @huggingface/tasks to ^0.15.0 (#5594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 11:09:31 +08:00
Arvin Xu b78328eee0 🐛 fix: fix not enable models correctly (#6071)
* fix enabled issue

* fix tests
2025-02-13 11:07:38 +08:00
gru-agent[bot] 4aff39640f test: Add unit test for src/server/routers/lambda/aiProvider.ts (#5686)
* Add unit tests for aiProviderRouter functionality in aiProvider.test.ts

* Add export for aiProviderProcedure in aiProvider.ts.

* Update aiProvider.ts
2025-02-13 11:05:54 +08:00
gru-agent[bot] 55bc785277 test: Add unit tests for providerTestUtils using a mock runtime in providerTestUtils.test.ts (#6028)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-13 10:57:04 +08:00
Jack Song 87555bcae9 📝 docs: update docs of next-auth in vercel deployment (#6070)
* Update auth.zh-CN.mdx

fix next auth desc

* Update auth.mdx
2025-02-13 10:55:01 +08:00
gru-agent[bot] 8c4ce2696d test: Add unit tests for AiInfraRepos methods in index.test.ts (#6061)
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-13 10:14:57 +08:00
lobehubbot 1e53ae781b 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-13 01:14:17 +00:00
semantic-release-bot 03ae464fc5 🔖 chore(release): v1.53.5 [skip ci]
### [Version&nbsp;1.53.5](https://github.com/lobehub/lobe-chat/compare/v1.53.4...v1.53.5)
<sup>Released on **2025-02-13**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix latex in thinking tag render.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix latex in thinking tag render, closes [#6063](https://github.com/lobehub/lobe-chat/issues/6063) ([7e89b2d](https://github.com/lobehub/lobe-chat/commit/7e89b2d))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-13 01:13:07 +00:00
Arvin Xu 7e89b2dc94 🐛 fix: fix latex in thinking tag render (#6063)
* fix latex-in-thinking

* fix latex-in-thinking

* fix latex-in-thinking
2025-02-13 09:04:40 +08:00
lobehubbot d421e9321e 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-12 16:11:34 +00:00
semantic-release-bot 15d12df942 🔖 chore(release): v1.53.4 [skip ci]
### [Version&nbsp;1.53.4](https://github.com/lobehub/lobe-chat/compare/v1.53.3...v1.53.4)
<sup>Released on **2025-02-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix ai model abilities issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix ai model abilities issue, closes [#6060](https://github.com/lobehub/lobe-chat/issues/6060) ([718f477](https://github.com/lobehub/lobe-chat/commit/718f477))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-12 16:10:31 +00:00
Arvin Xu 718f477e3f 🐛 fix: fix ai model abilities issue (#6060) 2025-02-13 00:02:31 +08:00
lobehubbot 10c2af180e 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-12 14:37:16 +00:00
semantic-release-bot e503aa259e 🔖 chore(release): v1.53.3 [skip ci]
### [Version&nbsp;1.53.3](https://github.com/lobehub/lobe-chat/compare/v1.53.2...v1.53.3)
<sup>Released on **2025-02-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix tencent cloud api issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix tencent cloud api issue, closes [#6058](https://github.com/lobehub/lobe-chat/issues/6058) ([025d0bc](https://github.com/lobehub/lobe-chat/commit/025d0bc))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-12 14:36:09 +00:00
hedeqiang 025d0bcd62 🐛 fix: fix tencent cloud api issue (#6058)
* fix: tencentcloud

* fix: tencentcloud
2025-02-12 22:27:52 +08:00
lobehubbot 474f7964b7 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-12 05:15:33 +00:00
semantic-release-bot f9556e42c5 🔖 chore(release): v1.53.2 [skip ci]
### [Version&nbsp;1.53.2](https://github.com/lobehub/lobe-chat/compare/v1.53.1...v1.53.2)
<sup>Released on **2025-02-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Disable openrouter client fetch.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Disable openrouter client fetch, closes [#6043](https://github.com/lobehub/lobe-chat/issues/6043) ([63b22ce](https://github.com/lobehub/lobe-chat/commit/63b22ce))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-12 05:14:28 +00:00
Arvin Xu 63b22ce739 🐛 fix: disable openrouter client fetch (#6043)
* update docs

* improve openrouter config

* update docs
2025-02-12 13:06:35 +08:00
lobehubbot 0667ec2873 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-12 04:56:52 +00:00
semantic-release-bot 437a477b20 🔖 chore(release): v1.53.1 [skip ci]
### [Version&nbsp;1.53.1](https://github.com/lobehub/lobe-chat/compare/v1.53.0...v1.53.1)
<sup>Released on **2025-02-12**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix reasoning output for OpenRouter reasoning models like deepseek-r1.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix reasoning output for OpenRouter reasoning models like deepseek-r1, closes [#5903](https://github.com/lobehub/lobe-chat/issues/5903) [#5766](https://github.com/lobehub/lobe-chat/issues/5766) ([bfd9317](https://github.com/lobehub/lobe-chat/commit/bfd9317))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-12 04:55:53 +00:00
TechnoHouse bfd9317feb 🐛 fix: fix reasoning output for OpenRouter reasoning models like deepseek-r1 (#5903)
*  feat: Support include_reasoning for OpenRouter provider's models. Solves #5766

*  feat: Support display OpenRouter's "reasoning" output by transforming
its "reasoning" to be consistent with most other platforms: reasoning outputs wrapped by <think> XML tag.

* Revert openrouter stream transformer: Capture reasoning content inside openai stream processor

* Address PR comments: r1 does not support functional calling

* add unittest for openrouter reasoning stream handling
2025-02-12 12:47:54 +08:00
lobehubbot aabec1fe1d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-11 18:18:30 +00:00
semantic-release-bot d07b4a2303 🔖 chore(release): v1.53.0 [skip ci]
## [Version&nbsp;1.53.0](https://github.com/lobehub/lobe-chat/compare/v1.52.19...v1.53.0)
<sup>Released on **2025-02-11**</sup>

####  Features

- **misc**: Support tencent cloud provider.

#### 💄 Styles

- **misc**: Update i18n, update provider i18n.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's improved

* **misc**: Support tencent cloud provider, closes [#6029](https://github.com/lobehub/lobe-chat/issues/6029) ([6ec6b08](https://github.com/lobehub/lobe-chat/commit/6ec6b08))

#### Styles

* **misc**: Update i18n, closes [#6030](https://github.com/lobehub/lobe-chat/issues/6030) ([ee48e30](https://github.com/lobehub/lobe-chat/commit/ee48e30))
* **misc**: Update provider i18n, closes [#6031](https://github.com/lobehub/lobe-chat/issues/6031) ([e0e231c](https://github.com/lobehub/lobe-chat/commit/e0e231c))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-11 18:17:20 +00:00
Arvin Xu e0e231c7a8 💄 style: update provider i18n (#6031) 2025-02-12 02:09:26 +08:00
Arvin Xu 6ec6b08fd7 feat: support tencent cloud provider (#6029) 2025-02-12 02:04:37 +08:00
Arvin Xu ee48e30758 💄 style: update i18n (#6030)
* update i18n

* update i18n
2025-02-12 02:03:16 +08:00
lobehubbot 8b4cd1309b 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-11 16:12:11 +00:00
semantic-release-bot ac4109364e 🔖 chore(release): v1.52.19 [skip ci]
### [Version&nbsp;1.52.19](https://github.com/lobehub/lobe-chat/compare/v1.52.18...v1.52.19)
<sup>Released on **2025-02-11**</sup>

#### ♻ Code Refactoring

- **misc**: Refactor the agent runtime test case.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Code refactoring

* **misc**: Refactor the agent runtime test case, closes [#6025](https://github.com/lobehub/lobe-chat/issues/6025) ([3414fdd](https://github.com/lobehub/lobe-chat/commit/3414fdd))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-11 16:11:11 +00:00
Arvin Xu 3414fdd2c5 ♻️ refactor: refactor the agent runtime test case (#6025)
* refactor tests

* refactor the runtime tests

* refactor the runtime tests
2025-02-12 00:02:59 +08:00
lobehubbot d11af79c61 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-11 12:10:38 +00:00
semantic-release-bot 79ddef3ef7 🔖 chore(release): v1.52.18 [skip ci]
### [Version&nbsp;1.52.18](https://github.com/lobehub/lobe-chat/compare/v1.52.17...v1.52.18)
<sup>Released on **2025-02-11**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-11 12:09:36 +00:00
Arvin Xu aafa727811 👷 build: fix docker image (#6020) 2025-02-11 19:51:20 +08:00
lobehubbot 4b44e4bcf1 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-11 11:27:47 +00:00
semantic-release-bot f4d0e34545 🔖 chore(release): v1.52.17 [skip ci]
### [Version&nbsp;1.52.17](https://github.com/lobehub/lobe-chat/compare/v1.52.16...v1.52.17)
<sup>Released on **2025-02-11**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-11 11:26:43 +00:00
Arvin Xu 959dd883c0 👷 build: improve Docker workflow (#5995)
* chore: enables parallel Docker builds

* chore: update docker hub username

* chore: update arm os

* add a label trigger

* fix docker login issue

* try again

* fix git hash

* update branch heads

* update lighthouse

---------

Co-authored-by: coulsontl <149155411+coulsontl@users.noreply.github.com>
2025-02-11 19:18:36 +08:00
lobehubbot 3bf6bdc17d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-11 03:27:36 +00:00
semantic-release-bot 3e2e7eeb5a 🔖 chore(release): v1.52.16 [skip ci]
### [Version&nbsp;1.52.16](https://github.com/lobehub/lobe-chat/compare/v1.52.15...v1.52.16)
<sup>Released on **2025-02-11**</sup>

#### 💄 Styles

- **misc**: Support mistral proxy url.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support mistral proxy url, closes [#6002](https://github.com/lobehub/lobe-chat/issues/6002) ([dcb465e](https://github.com/lobehub/lobe-chat/commit/dcb465e))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-11 03:26:38 +00:00
Arvin Xu dcb465eab7 💄 style: support mistral proxy url (#6002) 2025-02-11 11:18:47 +08:00
lobehubbot 5af600a53d 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-10 17:08:33 +00:00
semantic-release-bot 3696aa6eac 🔖 chore(release): v1.52.15 [skip ci]
### [Version&nbsp;1.52.15](https://github.com/lobehub/lobe-chat/compare/v1.52.14...v1.52.15)
<sup>Released on **2025-02-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix lmstudio baseURL.

#### 💄 Styles

- **misc**: Optimized MaxToken Slider.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix lmstudio baseURL, closes [#5988](https://github.com/lobehub/lobe-chat/issues/5988) ([1d19aa6](https://github.com/lobehub/lobe-chat/commit/1d19aa6))

#### Styles

* **misc**: Optimized MaxToken Slider, closes [#5952](https://github.com/lobehub/lobe-chat/issues/5952) ([3cdcb95](https://github.com/lobehub/lobe-chat/commit/3cdcb95))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-10 17:07:21 +00:00
Rylan Cai 5cc967ad95 👷 chore: Add configuration check for docker compose at setup.sh (#5926)
* 👷 chore: add configuration check in local

* 🐛 fix: do not display error msg if correct

* ✏️ typo: fix incorrect description

* 👷 ci: add warnings
2025-02-11 00:59:35 +08:00
sxjeru 3cdcb95431 💄 style: Optimized MaxToken Slider (#5952) 2025-02-11 00:57:52 +08:00
gru-agent[bot] d7c3edba71 test: add unit test for src/utils/client/switchLang.ts (#5971)
* fix language issue

* refactor the language part

* fix tests

* Add cookie setting functionality to switchLang tests for locale changes.

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
Co-authored-by: gru-agent[bot] <185149714+gru-agent[bot]@users.noreply.github.com>
2025-02-11 00:55:49 +08:00
Arvin Xu 1d19aa6fac 🐛 fix: fix lmstudio baseURL (#5988)
* fix lmstudio

* fix lmstudio
2025-02-11 00:51:34 +08:00
lobehubbot 79964b73c4 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-10 15:34:20 +00:00
semantic-release-bot 9085207f6e 🔖 chore(release): v1.52.14 [skip ci]
### [Version&nbsp;1.52.14](https://github.com/lobehub/lobe-chat/compare/v1.52.13...v1.52.14)
<sup>Released on **2025-02-10**</sup>

#### 💄 Styles

- **misc**: Refactor agent settings modal.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Refactor agent settings modal, closes [#5987](https://github.com/lobehub/lobe-chat/issues/5987) ([6482f8a](https://github.com/lobehub/lobe-chat/commit/6482f8a))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-10 15:33:19 +00:00
Arvin Xu 6482f8a332 💄 style: refactor agent settings modal (#5987)
* remove setting modal

* refactor the agent settings modal

* fix tests

* fix tests
2025-02-10 23:25:19 +08:00
lobehubbot d8b522d338 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-10 14:34:22 +00:00
semantic-release-bot 500dca3223 🔖 chore(release): v1.52.13 [skip ci]
### [Version&nbsp;1.52.13](https://github.com/lobehub/lobe-chat/compare/v1.52.12...v1.52.13)
<sup>Released on **2025-02-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix Aliyun deepseek-r1 reasoning parsing with oneapi, Support Aliyun deepseek-r1 reasoning.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix Aliyun deepseek-r1 reasoning parsing with oneapi, closes [#5964](https://github.com/lobehub/lobe-chat/issues/5964) ([0d7e665](https://github.com/lobehub/lobe-chat/commit/0d7e665))
* **misc**: Support Aliyun deepseek-r1 reasoning, closes [#5954](https://github.com/lobehub/lobe-chat/issues/5954) ([cf7a2d6](https://github.com/lobehub/lobe-chat/commit/cf7a2d6))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-10 14:33:08 +00:00
sxjeru cf7a2d642e 🐛 fix: Support Aliyun deepseek-r1 reasoning (#5954)
* Update qwen.ts

* Update qwen.ts
2025-02-10 22:25:05 +08:00
DeepWzh 0d7e6651d7 🐛 fix: fix Aliyun deepseek-r1 reasoning parsing with oneapi (#5964)
* fix: ensure that reasoning_content is a non-empty string when dealing with Aliyun Bailian

* fix: improve handling of reasoning_content and content in OpenAI stream transformation

* test: add openai reasoning test in aliyun bailian api
2025-02-10 22:24:33 +08:00
Rylan Cai ae4aa0e2e1 📝 docs: Add warning to caching in reverse proxy (#5985)
* 📝 docs: add warning

* 📝 docs: add links
2025-02-10 21:28:42 +08:00
lobehubbot 0d7e364bc5 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-10 13:07:14 +00:00
semantic-release-bot ac317ded63 🔖 chore(release): v1.52.12 [skip ci]
### [Version&nbsp;1.52.12](https://github.com/lobehub/lobe-chat/compare/v1.52.11...v1.52.12)
<sup>Released on **2025-02-10**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix language incorrect on page hydration.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix language incorrect on page hydration, closes [#5970](https://github.com/lobehub/lobe-chat/issues/5970) ([91912cf](https://github.com/lobehub/lobe-chat/commit/91912cf))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-10 13:06:11 +00:00
Arvin Xu 91912cf725 🐛 fix: fix language incorrect on page hydration (#5970)
* fix language issue

* refactor the language part

* fix tests
2025-02-10 20:58:20 +08:00
lds 3957ac2f46 📝 docs: Update docs/self-hosting/environment-variables/auth.zh-CN.mdx (#5976) 2025-02-10 20:26:57 +08:00
lobehubbot f8bdf82f03 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-10 02:35:27 +00:00
semantic-release-bot 9be3cd4231 🔖 chore(release): v1.52.11 [skip ci]
### [Version&nbsp;1.52.11](https://github.com/lobehub/lobe-chat/compare/v1.52.10...v1.52.11)
<sup>Released on **2025-02-10**</sup>

#### 💄 Styles

- **misc**: Support Mermaid in Artifacts.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Support Mermaid in Artifacts, closes [#5947](https://github.com/lobehub/lobe-chat/issues/5947) ([892f961](https://github.com/lobehub/lobe-chat/commit/892f961))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-10 02:34:31 +00:00
Arvin Xu 892f9613b1 💄 style: support Mermaid in Artifacts (#5947) 2025-02-10 10:26:41 +08:00
lobehubbot 4079495897 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-09 17:38:57 +00:00
semantic-release-bot 1fb62e84d9 🔖 chore(release): v1.52.10 [skip ci]
### [Version&nbsp;1.52.10](https://github.com/lobehub/lobe-chat/compare/v1.52.9...v1.52.10)
<sup>Released on **2025-02-09**</sup>

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-09 17:37:58 +00:00
Rylan Cai ae9c802e16 📝 docs: Add warnings to disable signup for casdoor (#5942)
* 📝 docs: add prompt for disable sign up

* 📝 docs: add notice for sign up
2025-02-10 01:30:05 +08:00
Arvin Xu eea2d2cc69 👷 build: improve dockerfile of rewrite (#5943) 2025-02-10 01:29:23 +08:00
lobehubbot 704de4a029 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-09 16:11:00 +00:00
semantic-release-bot 0c4d937c0c 🔖 chore(release): v1.52.9 [skip ci]
### [Version&nbsp;1.52.9](https://github.com/lobehub/lobe-chat/compare/v1.52.8...v1.52.9)
<sup>Released on **2025-02-09**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix changelog issue.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### What's fixed

* **misc**: Fix changelog issue, closes [#5941](https://github.com/lobehub/lobe-chat/issues/5941) ([9df47a3](https://github.com/lobehub/lobe-chat/commit/9df47a3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-09 16:09:57 +00:00
Arvin Xu 9df47a3990 🐛 fix: fix changelog issue (#5941) 2025-02-10 00:01:59 +08:00
lobehubbot 5de327de75 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-09 06:18:11 +00:00
semantic-release-bot 80de12ff49 🔖 chore(release): v1.52.8 [skip ci]
### [Version&nbsp;1.52.8](https://github.com/lobehub/lobe-chat/compare/v1.52.7...v1.52.8)
<sup>Released on **2025-02-09**</sup>

#### 💄 Styles

- **misc**: Update github model list, Update openrouter model list.

<br/>

<details>
<summary><kbd>Improvements and Fixes</kbd></summary>

#### Styles

* **misc**: Update github model list, closes [#5920](https://github.com/lobehub/lobe-chat/issues/5920) ([0676d0a](https://github.com/lobehub/lobe-chat/commit/0676d0a))
* **misc**: Update openrouter model list, closes [#5919](https://github.com/lobehub/lobe-chat/issues/5919) ([8a185d3](https://github.com/lobehub/lobe-chat/commit/8a185d3))

</details>

<div align="right">

[![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)

</div>
2025-02-09 06:17:08 +00:00
opoet 0676d0a77a 💄 style: Update github model list (#5920) 2025-02-09 14:08:59 +08:00
opoet 8a185d363a 💄 style: Update openrouter model list (#5919) 2025-02-09 14:08:49 +08:00
Arvin Xu a53af9f0d6 🔨 chore: add vercelIgnoredBuildStep (#5929)
* add

* add

* fix

* branch

* again

* fix
2025-02-09 14:05:51 +08:00
lobehubbot 32d484a3a9 📝 docs(bot): Auto sync agents & plugin to readme 2025-02-09 05:49:50 +00:00
4470 changed files with 464755 additions and 96768 deletions
+183
View File
@@ -0,0 +1,183 @@
---
description: Complete guide for adding a new AI provider documentation to LobeChat
alwaysApply: false
---
# Adding New AI Provider Documentation
This document provides a step-by-step guide for adding documentation for a new AI provider to LobeChat, based on the complete workflow used for adding providers like BFL (Black Forest Labs) and FAL.
## Overview
Adding a new provider requires creating both user-facing documentation and technical configuration files. The process involves:
1. Creating usage documentation (EN + CN)
2. Adding environment variable documentation (EN + CN)
3. Updating Docker configuration files
4. Updating .env.example file
5. Preparing image resources
## Step 1: Create Provider Usage Documentation
Create user-facing documentation that explains how to use the new provider.
### Required Files
Create both English and Chinese versions:
- `docs/usage/providers/{provider-name}.mdx` (English)
- `docs/usage/providers/{provider-name}.zh-CN.mdx` (Chinese)
### Documentation Structure
Follow the structure and format used in existing provider documentation. For reference, see:
- `docs/usage/providers/fal.mdx` (English template)
- `docs/usage/providers/fal.zh-CN.mdx` (Chinese template)
### Key Requirements
- **Images**: Prepare 5-6 screenshots showing the process
- **Cover Image**: Create or obtain a cover image for the provider
- **Accurate URLs**: Use real registration and dashboard URLs
- **Service Type**: Specify whether it's for image generation, text generation, etc.
- **Pricing Warning**: Include pricing information callout
### Important Notes
- **🔒 API Key Security**: Never include real API keys in documentation. Always use placeholder format (e.g., `bfl-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`)
- **🖼️ Image Hosting**: Use LobeHub's CDN for all images: `hub-apac-1.lobeobjects.space`
## Step 2: Update Environment Variables Documentation
Add the new provider's environment variables to the self-hosting documentation.
### Files to Update
- `docs/self-hosting/environment-variables/model-provider.mdx` (English)
- `docs/self-hosting/environment-variables/model-provider.zh-CN.mdx` (Chinese)
### Content to Add
Add two sections for each provider:
```markdown
### `{PROVIDER}_API_KEY`
- Type: Required
- Description: This is the API key you applied for in the {Provider Name} service.
- Default: -
- Example: `{api-key-format-example}`
### `{PROVIDER}_MODEL_LIST`
- Type: Optional
- Description: Used to control the {Provider Name} model list. Use `+` to add a model, `-` to hide a model, and `model_name=display_name` to customize the display name of a model. Separate multiple entries with commas. The definition syntax follows the same rules as other providers' model lists.
- Default: `-`
- Example: `-all,+{model-id-1},+{model-id-2}={display-name}`
The above example disables all models first, then enables `{model-id-1}` and `{model-id-2}` (displayed as `{display-name}`).
[model-list]: /docs/self-hosting/advanced/model-list
```
### Important Notes
- **API Key Format**: Use proper UUID format for examples (e.g., `12345678-1234-1234-1234-123456789abc`)
- **Real Model IDs**: Use actual model IDs from the codebase, not placeholders
- **Consistent Naming**: Follow the pattern `{PROVIDER}_API_KEY` and `{PROVIDER}_MODEL_LIST`
## Step 3: Update Docker Configuration Files
Add environment variables to all Docker configuration files to ensure the provider works in containerized deployments.
### Files to Update
All Dockerfile variants must be updated:
- `Dockerfile`
- `Dockerfile.database`
- `Dockerfile.pglite`
### Changes Required
Add the new provider's environment variables at the **end** of the ENV section, just before the final line:
```dockerfile
# Previous providers...
# 302.AI
AI302_API_KEY="" AI302_MODEL_LIST="" \
# {New Provider 1}
{PROVIDER1}_API_KEY="" {PROVIDER1}_MODEL_LIST="" \
# {New Provider 2}
{PROVIDER2}_API_KEY="" {PROVIDER2}_MODEL_LIST=""
```
### Important Rules
- **Position**: Add new providers at the **end** of the list
- **Ordering**: When adding multiple providers, use alphabetical order (e.g., FAL before BFL)
- **Consistency**: Maintain identical ordering across all Dockerfile variants
- **Format**: Follow the pattern `{PROVIDER}_API_KEY="" {PROVIDER}_MODEL_LIST="" \`
## Step 4: Update .env.example File
Add example configuration entries to help users understand how to configure the provider locally.
### File to Update
- `.env.example`
### Content to Add
Add new sections before the "Market Service" section:
```bash
### {Provider Name} ###
# {PROVIDER}_API_KEY={provider-prefix}-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
### Format Guidelines
- **Section Header**: Use `### {Provider Name} ###` format
- **Commented Example**: Use `#` to comment out the example
- **Key Format**: Use appropriate prefix for the provider (e.g., `bfl-`, `fal-`, `sk-`)
- **Position**: Add before the Market Service section
- **Spacing**: Maintain consistent spacing with existing entries
## Step 5: Image Resources
Prepare all necessary image resources for the documentation.
### Required Images
1. **Cover Image**: Provider logo or branded image
2. **API Dashboard Screenshots**: 3-4 screenshots showing API key creation process
3. **LobeChat Configuration Screenshots**: 2-3 screenshots showing provider setup in LobeChat
### Image Guidelines
- **Quality**: Use high-resolution screenshots
- **Consistency**: Maintain consistent styling across all screenshots
- **Privacy**: Remove or blur any sensitive information
- **Format**: Use PNG format for screenshots
- **Hosting**: Use LobeHub's CDN (`hub-apac-1.lobeobjects.space`) for all images
## Checklist
Before submitting your provider documentation:
- [ ] Created both English and Chinese usage documentation
- [ ] Added environment variable documentation (EN + CN)
- [ ] Updated all 3 Dockerfile variants with consistent ordering
- [ ] Updated .env.example with proper key format
- [ ] Prepared all required screenshots and images
- [ ] Used actual model IDs from the codebase
- [ ] Verified no real API keys are included in documentation
- [ ] Used LobeHub CDN for all image hosting
- [ ] Tested the documentation for clarity and accuracy
## Reference
This guide was created based on the implementation of BFL (Black Forest Labs) provider documentation. For a complete example, refer to:
- Commits: `d2da03e1a` (documentation) and `6a2e95868` (environment variables)
- Files: `docs/usage/providers/bfl.mdx`, `docs/usage/providers/bfl.zh-CN.mdx`
- PR: Current branch `tj/feat/bfl-docs`
+176
View File
@@ -0,0 +1,176 @@
---
description:
globs: src/services/**/*,src/database/**/*,src/server/**/*
alwaysApply: false
---
# LobeChat 后端技术架构指南
本指南旨在阐述 LobeChat 项目的后端分层架构,重点介绍各核心目录的职责以及它们之间的协作方式。
## 目录结构映射
```
src/
├── server/
│ ├── routers/ # tRPC API 路由定义
│ └── services/ # 业务逻辑服务层
│ └── */impls/ # 平台特定实现
├── database/
│ ├── models/ # 数据模型 (单表 CRUD)
│ ├── repositories/ # 仓库层 (复杂查询/聚合)
│ └── schemas/ # Drizzle ORM 表定义
└── services/ # 客户端服务 (调用 tRPC 或直接访问 Model)
```
## 核心架构分层
LobeChat 的后端设计注重模块化、可测试性和灵活性,以适应不同的运行环境(如浏览器端 PGLite、服务端远程 PostgreSQL 以及 Electron 桌面应用)。
其主要分层如下:
1. 客户端服务层 (`src/services`):
- 位于 src/services/。
- 这是客户端业务逻辑的核心层,负责封装各种业务操作和数据处理逻辑。
- 环境适配: 根据不同的运行环境,服务层会选择合适的数据访问方式:
- 本地数据库模式: 直接调用 `Model` 层进行数据操作,适用于浏览器 PGLite 和本地 Electron 应用。
- 远程数据库模式: 通过 `tRPC` 客户端调用服务端 API,适用于需要云同步的场景。
- 类型转换: 对于简单的数据类型转换,直接在此层进行类型断言,如 `this.pluginModel.query() as Promise<LobeTool[]>`
- 每个服务模块通常包含 `client.ts`(本地模式)、`server.ts`(远程模式)和 `type.ts`(接口定义)文件,在实现时应该确保本地模式和远程模式业务逻辑实现一致,只是数据库不同。
2. API 接口层 (`TRPC`):
- 位于 src/server/routers/
- 使用 `tRPC` 构建类型安全的 API。Router 根据运行时环境(如 Edge Functions, Node.js Lambda)进行组织。
- 负责接收客户端请求,并将其路由到相应的 `Service` 层进行处理。
- 新建 lambda 端点时可以参考 src/server/routers/lambda/\_template.ts
3. 仓库层 (`Repositories`):
- 位于 src/database/repositories/。
- 主要处理复杂的跨表查询和数据聚合逻辑,特别是当需要从多个 `Model` 获取数据并进行组合时。
- 与 `Model` 层不同,`Repository` 层专注于复杂的业务查询场景,而不涉及简单的领域模型转换。
- 当业务逻辑涉及多表关联、复杂的数据统计或需要事务处理时,会使用 `Repository` 层。
- 如果数据操作简单(仅涉及单个 `Model`),则通常直接在 `src/services` 层调用 `Model` 并进行简单的类型断言。
4. 模型层 (`Models`):
- 位于 src/database/models/ (例如 src/database/models/plugin.ts 和 src/database/models/document.ts)。
- 提供对数据库中各个表(由 src/database/schemas/ 中的 Drizzle ORM schema 定义)的基本 CRUD (创建、读取、更新、删除) 操作和简单的查询能力。
- `Model` 类专注于单个数据表的直接操作,不涉及复杂的领域模型转换,这些转换通常在上层的 `src/services` 中通过类型断言完成。
- model(例如 Topic 层接口经常需要从对应的 schema 层导入 NewTopic 和 TopicItem
- 创建新的 model 时可以参考 src/database/models/\_template.ts
5. 数据库 (`Database`):
- 客户端模式 (浏览器/PWA): 使用 PGLite (基于 WASM 的 PostgreSQL),数据存储在用户浏览器本地。
- 服务端模式 (云部署): 使用远程 PostgreSQL 数据库。
- Electron 桌面应用:
- Electron 客户端会启动一个本地 Node.js 服务。
- 本地服务通过 `tRPC` 与 Electron 的渲染进程通信。
- 数据库选择依赖于是否开启云同步功能:
- 云同步开启: 连接到远程 PostgreSQL 数据库。
- 云同步关闭: 使用 PGLite (通过 Node.js 的 WASM 实现) 在本地存储数据。
## 数据流向说明
### 浏览器/PWA 模式
```
UI (React) → Zustand action -> Client Service → Model Layer → PGLite (本地数据库)
```
### 服务端模式
```
UI (React) → Zustand action → Client Service -> TRPC Client → TRPC Routers → Repositories/Models → Remote PostgreSQL
```
### Electron 桌面应用模式
```
UI (Electron Renderer) → Zustand action → Client Service -> TRPC Client → 本地 Node.js 服务 → TRPC Routers → Repositories/Models → PGLite/Remote PostgreSQL (取决于云同步设置)
```
## 服务层 (Server Services)
- 位于 src/server/services/。
- 核心职责是封装独立的、可复用的业务逻辑单元。这些服务应易于测试。
- 平台差异抽象: 一个关键特性是通过其内部的 `impls` 子目录(例如 src/server/services/file/impls 包含 s3.ts 和 local.ts)来抹平不同运行环境带来的差异(例如云端使用 S3 存储,桌面版使用本地文件系统)。这使得上层(如 `tRPC` routers)无需关心底层具体实现。
- 目标是使 `tRPC` router 层的逻辑尽可能纯粹,专注于请求处理和业务流程编排。
- 服务可能会调用 `Repository` 层或直接调用 `Model` 层进行数据持久化和检索,也可能调用其他服务。
## 最佳实践 (Best Practices)
### 数据库操作封装原则
**连续的数据库操作应该封装到 Model 层**
当业务逻辑涉及多个相关的数据库操作时,建议将这些操作封装到 Model 层中,而不是在上层(Service 或 Router 层)中进行多次数据库调用。
**优势:**
- **代码复用**: Client DB 环境的 service 实现和 Server DB 的 lambda 层实现可以复用相同的 Model 方法
- **事务一致性**: 相关的数据库操作可以在同一个方法中管理,便于维护数据一致性
- **性能优化**: 减少数据库连接次数,提高查询效率
- **职责清晰**: Model 层专注数据访问,上层专注业务协调
**示例:**
```typescript
// ✅ 推荐:在 Model 层封装连续的数据库操作
class GenerationBatchModel {
async delete(id: string): Promise<{ deletedBatch: BatchItem; thumbnailUrls: string[] }> {
// 1. 查询相关数据
const batchWithGenerations = await this.db.query.generationBatches.findFirst({...});
// 2. 收集需要处理的数据
const thumbnailUrls = [...];
// 3. 执行删除操作
const [deletedBatch] = await this.db.delete(generationBatches)...;
return { deletedBatch, thumbnailUrls };
}
}
// ✅ 上层使用简洁
const { thumbnailUrls } = await model.delete(id);
await fileService.deleteFiles(thumbnailUrls);
```
### 文件操作与数据库操作的执行顺序
**删除操作原则:数据库删除在前,文件删除在后**
当业务逻辑同时涉及数据库记录和文件系统操作时,应该遵循"数据库优先"的原则。
**原因:**
- **用户体验优先**: 如果先删除文件再删除数据库记录,可能出现文件已删除但数据库记录仍存在的情况,用户访问时会遇到文件不存在的错误
- **影响程度较小**: 如果先删除数据库记录再删除文件,即使文件删除失败,用户也看不到这个记录,只是造成一些存储空间浪费,对用户体验影响更小
- **数据一致性**: 数据库记录是业务逻辑的核心,应该优先保证其一致性
**示例:**
```typescript
// ✅ 推荐:先删除数据库记录,再删除文件
async deleteGeneration(id: string) {
// 1. 先删除数据库记录
const deletedGeneration = await generationModel.delete(id);
// 2. 再删除相关文件
if (deletedGeneration.asset?.thumbnailUrl) {
await fileService.deleteFile(deletedGeneration.asset.thumbnailUrl);
}
}
// ❌ 不推荐:先删除文件
async deleteGeneration(id: string) {
const generation = await generationModel.findById(id);
// 如果这里删除成功,但后面数据库删除失败,用户会遇到访问错误
await fileService.deleteFile(generation.asset.thumbnailUrl);
await generationModel.delete(id); // 可能失败
}
```
**创建操作原则:数据库创建在前,文件操作在后**
创建操作同样应该优先处理数据库记录,确保数据的一致性和完整性。
+58
View File
@@ -0,0 +1,58 @@
---
description: How to code review
globs:
alwaysApply: false
---
# Role Description
- You are a senior full-stack engineer skilled in performance optimization, security, and design systems.
- You excel at reviewing code and providing constructive feedback.
- Your task is to review submitted Git diffs **in Chinese** and return a structured review report.
- Review style: concise, direct, focused on what matters most, with actionable suggestions.
## Before the Review
Gather the modified code and context. Please strictly follow the process below:
1. Use `read_file` to read [package.json](mdc:package.json)
2. Use terminal to run command `git diff HEAD | cat` to obtain the diff and list the changed files. If you recieived empty result, run the same command once more.
3. Use `read_file` to open each changed file.
4. Use `read_file` to read [rules-attach.mdc](mdc:.cursor/rules/rules-attach.mdc). Even if you think it's unnecessary, you must read it.
5. combine changed files, step3 and `agent_requestable_workspace_rules`, list the rules which need to read
6. Use `read_file` to read the rules list in step 5
## Review
### Code Style
read [typescript.mdc](mdc:.cursor/rules/typescript.mdc) for the consolidated project code style and optimization rules.
### Code Optimization
The optimization checklist has been consolidated into [typescript.mdc](mdc:.cursor/rules/typescript.mdc): loops, debouncing/throttling, design system components, theming tokens, concurrency with `Promise.*`, minimal DB column selection, and package reuse.
### Obvious Bugs
- Do not silently swallow errors in `catch` blocks; at minimum, log them.
- Revert temporary code used only for testing (e.g., debug logs, temporary configs).
- Remove empty handlers (e.g., an empty `onClick`).
- Confirm the UI degrades gracefully for unauthenticated users.
- Don't leave any debug logs in the code (except when using the `debug` module properly).
- When using the `debug` module, avoid `import { log } from 'debug'` as it logs directly to console. Use proper debug namespaces instead.
- Check logs for sensitive information like api key, etc
## After the Review: output
1. Summary
- Start with a brief explanation of what the change set does.
- Summarize the changes for each modified file (or logical group).
2. Comments Issues
- List the most critical issues first.
- Use an ordered list, which will be convenient for me to reference later.
- For each issue:
- Mark severity tag (`❌ Must fix`, `⚠️ Should fix`, `💅 Nitpick`)
- Provode file path to the relevant file.
- Provide recommended fix
- End with a **git commit** command, instruct the author to run it.
- We use gitmoji to label commit messages, format: [emoji] <type>(<scope>): <subject>
+28
View File
@@ -0,0 +1,28 @@
---
description: cursor rules writing and optimization guide
globs:
alwaysApply: false
---
当你编写或修改 Cursor Rule 时,请遵循以下准则:
- 当你知道 rule 的文件名时,使用 `read_file` 而不是 `fetch_rules` 去读取它们,它们都在项目根目录的 `.cursor/rules/` 文件夹下
- 代码示例
- 示例应尽量精简,仅保留演示核心
- 删除与示例无关的导入/导出语句,但保留必要的导入
- 同一文件存在多个示例时,若前文已演示模块导入,后续示例可省略重复导入
- 无需书写 `export`
- 可省略与演示无关或重复的 props、配置对象属性、try/catch、CSS 等代码
- 删除无关注释,保留有助理解的注释
- 格式
- 修改前请先确认原始文档语言,并保持一致
- 无序列表统一使用 `-`
- 列表末尾的句号是多余的
- 非必要不使用加粗、行内代码等样式,Rule 主要供 LLM 阅读
- 避免中英文逐句对照。若括号内容为示例而非翻译,可保留
- Review
- 修正 Markdown 语法问题
- 纠正错别字
- 指出示例与说明不一致之处
+32
View File
@@ -0,0 +1,32 @@
---
description:
globs:
alwaysApply: true
---
# Guide to Optimize Output(Response) Rendering
## File Path and Code Symbol Rendering
- When rendering file paths, use backtick wrapping instead of markdown links so they can be parsed as clickable links in Cursor IDE.
- Good: `src/components/Button.tsx`
- Bad: [src/components/Button.tsx](src/components/Button.tsx)
- Don't use line and column number in file path, this will make file path not clickable in Cursor IDE.
- Good: `src/components/Button.tsx` `10:20` (add a space between the file path and the line and column number)
- Bad: `src/components/Button.tsx:10:20`
- When rendering functions, variables, or other code symbols, use backtick wrapping so they can be parsed as navigable links in Cursor IDE
- Good: The `useState` hook in `MyComponent`
- Bad: The useState hook in MyComponent
## Markdown Render
- don't use br tag to wrap in table cell
## Terminal Command Output
- If terminal commands don't produce output, it's likely due to paging issues. Try piping the command to `cat` to ensure full output is displayed.
- Good: `git show commit_hash -- file.txt | cat`
- Good: `git log --oneline | cat`
- Reason: Some git commands use pagers by default, which may prevent output from being captured properly
+84
View File
@@ -0,0 +1,84 @@
---
description: 包含添加 console.log 日志请求时
globs:
alwaysApply: false
---
# Debug 包使用指南
本项目使用 [debug](mdc:https:/github.com/debug-js/debug) 包进行调试日志记录。使用此规则来确保团队成员统一调试日志格式。
## 基本用法
1. 导入 debug 包:
```typescript
import debug from 'debug';
```
2. 创建一个命名空间的日志记录器:
```typescript
// 格式: lobe:[模块]:[子模块]
const log = debug('lobe-[模块名]:[子模块名]');
```
3. 使用日志记录器:
```typescript
log('简单消息');
log('带变量的消息: %O', object);
log('格式化数字: %d', number);
```
## 命名空间约定
- 桌面应用相关: `lobe-desktop:[模块]`
- 服务端相关: `lobe-server:[模块]`
- 客户端相关: `lobe-client:[模块]`
- 路由相关: `lobe-[类型]-router:[模块]`
## 格式说明符
- `%O` - 对象展开(推荐用于复杂对象)
- `%o` - 对象
- `%s` - 字符串
- `%d` - 数字
## 示例
查看 [market/index.ts](mdc:src/server/routers/edge/market/index.ts) 中的使用示例:
```typescript
import debug from 'debug';
const log = debug('lobe-edge-router:market');
log('getAgent input: %O', input);
```
## 启用调试
要在开发时启用调试输出,需设置环境变量:
### 在浏览器中
在控制台执行:
```javascript
localStorage.debug = 'lobe-*'
```
### 在 Node.js 环境中
```bash
DEBUG=lobe-* npm run dev
# 或者
DEBUG=lobe-* pnpm dev
```
### 在 Electron 应用中
可以在主进程和渲染进程启动前设置环境变量:
```typescript
process.env.DEBUG = 'lobe-*';
```
+8
View File
@@ -0,0 +1,8 @@
---
description:
globs: src/database/models/**/*
alwaysApply: false
---
1. first read [lobe-chat-backend-architecture.mdc](mdc:.cursor/rules/lobe-chat-backend-architecture.mdc)
2. refer to the [_template.ts](mdc:src/database/models/_template.ts) to create new model
3. if an operation involves multiple models or complex queries, consider defining it in the `repositories` layer under `src/database/repositories/`
+188
View File
@@ -0,0 +1,188 @@
---
description: 桌面端测试
globs:
alwaysApply: false
---
# 桌面端控制器单元测试指南
## 测试框架与目录结构
LobeChat 桌面端使用 Vitest 作为测试框架。控制器的单元测试应放置在对应控制器文件同级的 `__tests__` 目录下,并以原控制器文件名加 `.test.ts` 作为文件名。
```
apps/desktop/src/main/controllers/
├── __tests__/
│ ├── index.test.ts
│ ├── MenuCtr.test.ts
│ └── ...
├── McpCtr.ts
├── MenuCtr.ts
└── ...
```
## 测试文件基本结构
```typescript
import { beforeEach, describe, expect, it, vi } from 'vitest';
import type { App } from '@/core/App';
import YourController from '../YourControllerName';
// 模拟依赖
vi.mock('依赖模块', () => ({
依赖函数: vi.fn(),
}));
// 模拟 App 实例
const mockApp = {
// 按需模拟必要的 App 属性和方法
} as unknown as App;
describe('YourController', () => {
let controller: YourController;
beforeEach(() => {
vi.clearAllMocks();
controller = new YourController(mockApp);
});
describe('方法名', () => {
it('测试场景描述', async () => {
// 准备测试数据
// 执行被测方法
const result = await controller.方法名(参数);
// 验证结果
expect(result).toMatchObject(预期结果);
});
});
});
```
## 模拟外部依赖
### 模拟模块函数
```typescript
const mockFunction = vi.fn();
vi.mock('module-name', () => ({
functionName: mockFunction,
}));
```
### 模拟 Node.js 核心模块
例如模拟 `child_process.exec` 和 `util.promisify`:
```typescript
// 存储模拟的 exec 实现
const mockExecImpl = vi.fn();
// 模拟 child_process.exec
vi.mock('child_process', () => ({
exec: vi.fn((cmd, callback) => {
return mockExecImpl(cmd, callback);
}),
}));
// 模拟 util.promisify
vi.mock('util', () => ({
promisify: vi.fn((fn) => {
return async (cmd: string) => {
return new Promise((resolve, reject) => {
mockExecImpl(cmd, (error: Error | null, result: any) => {
if (error) reject(error);
else resolve(result);
});
});
};
}),
}));
```
## 编写有效的测试用例
### 测试分类
将测试用例分为不同类别,每个类别测试一个特定场景:
```typescript
// 成功场景
it('应该成功完成操作', async () => {});
// 边界条件
it('应该处理边界情况', async () => {});
// 错误处理
it('应该优雅地处理错误', async () => {});
```
### 设置测试数据
```typescript
// 模拟返回值
mockExecImpl.mockImplementation((cmd: string, callback: any) => {
if (cmd === '命令') {
callback(null, { stdout: '成功输出' });
} else {
callback(new Error('错误信息'), null);
}
});
```
### 断言
使用 Vitest 的断言函数验证结果:
```typescript
// 检查基本值
expect(result.success).toBe(true);
// 检查对象部分匹配
expect(result.data).toMatchObject({
key: 'value',
});
// 检查数组
expect(result.items).toHaveLength(2);
expect(result.items[0].name).toBe('expectedName');
// 检查函数调用
expect(mockFunction).toHaveBeenCalledWith(expectedArgs);
expect(mockFunction).toHaveBeenCalledTimes(1);
```
## 最佳实践
1. **隔离测试**:确保每个测试互不影响,使用 `beforeEach` 重置模拟和状态
2. **全面覆盖**:测试正常流程、边界条件和错误处理
3. **清晰命名**:测试名称应清晰描述测试内容和预期结果
4. **避免测试实现细节**:测试应该关注行为而非实现细节,使代码重构不会破坏测试
5. **模拟外部依赖**:使用 `vi.mock()` 模拟所有外部依赖,减少测试的不确定性
## 示例:测试 IPC 事件处理方法
```typescript
it('应该正确处理 IPC 事件', async () => {
// 模拟依赖
mockSomething.mockReturnValue({ result: 'success' });
// 调用 IPC 方法
const result = await controller.ipcMethodName({
param1: 'value1',
param2: 'value2',
});
// 验证结果
expect(result).toEqual({
success: true,
data: { result: 'success' },
});
// 验证依赖调用
expect(mockSomething).toHaveBeenCalledWith('value1', 'value2');
});
```
@@ -0,0 +1,154 @@
---
description: 当要做 electron 相关工作时
globs:
alwaysApply: false
---
**桌面端新功能实现指南**
## 桌面端应用架构概述
LobeChat 桌面端基于 Electron 框架构建,采用主进程-渲染进程架构:
1. **主进程 (Main Process)**
- 位置:`apps/desktop/src/main`
- 职责:控制应用生命周期、系统API交互、窗口管理、后台服务
2. **渲染进程 (Renderer Process)**
- 复用 Web 端代码,位于 `src` 目录
- 通过 IPC 与主进程通信
3. **预加载脚本 (Preload)**
- 位置:`apps/desktop/src/preload`
- 职责:安全地暴露主进程功能给渲染进程
## 添加新桌面端功能流程
### 1. 确定功能需求与设计
首先确定新功能的需求和设计,包括:
- 功能描述和用例
- 是否需要系统级API(如文件系统、网络等)
- UI/UX设计(如必要)
- 与现有功能的交互方式
### 2. 在主进程中实现核心功能
1. **创建控制器 (Controller)**
- 位置:`apps/desktop/src/main/controllers/`
- 示例:创建 `NewFeatureCtr.ts`
- 规范:按 `_template.ts` 模板格式实现
- 注册:在 `apps/desktop/src/main/controllers/index.ts` 导出
2. **定义 IPC 事件处理器**
- 使用 `@ipcClientEvent('eventName')` 装饰器注册事件处理函数
- 处理函数应接收前端传递的参数并返回结果
- 处理可能的错误情况
3. **实现业务逻辑**
- 可能需要调用 Electron API 或 Node.js 原生模块
- 对于复杂功能,可以创建专门的服务类 (`services/`)
### 3. 定义 IPC 通信类型
1. **在共享类型定义中添加新类型**
- 位置:`packages/electron-client-ipc/src/types.ts`
- 添加参数类型接口(如 `NewFeatureParams`
- 添加返回结果类型接口(如 `NewFeatureResult`
### 4. 在渲染进程实现前端功能
1. **创建服务层**
- 位置:`src/services/electron/`
- 添加服务方法调用 IPC
- 使用 `dispatch` 或 `invoke` 函数
```typescript
// src/services/electron/newFeatureService.ts
import { dispatch } from '@lobechat/electron-client-ipc';
import { NewFeatureParams } from 'types';
export const newFeatureService = async (params: NewFeatureParams) => {
return dispatch('newFeatureEventName', params);
};
```
2. **实现 Store Action**
- 位置:`src/store/`
- 添加状态更新逻辑和错误处理
3. **添加 UI 组件**
- 根据需要在适当位置添加UI组件
- 通过 Store 或 Service 层调用功能
### 5. 如果是新增内置工具,遵循工具实现流程
参考 [desktop-local-tools-implement.mdc](mdc:desktop-local-tools-implement.mdc) 了解更多关于添加内置工具的详细步骤。
### 6. 添加测试
1. **单元测试**
- 位置:`apps/desktop/src/main/controllers/__tests__/`
- 测试主进程组件功能
2. **集成测试**
- 测试 IPC 通信和功能完整流程
## 最佳实践
1. **安全性考虑**
- 谨慎处理用户数据和文件系统访问
- 适当验证和清理输入数据
- 限制暴露给渲染进程的API范围
2. **性能优化**
- 对于耗时操作,考虑使用异步方法
- 大型数据传输考虑分批处理
3. **用户体验**
- 为长时间操作添加进度指示
- 提供适当的错误反馈
- 考虑操作的可撤销性
4. **代码组织**
- 遵循项目现有的命名和代码风格约定
- 为新功能添加适当的文档和注释
- 功能模块化,避免过度耦合
## 示例:实现系统通知功能
```typescript
// apps/desktop/src/main/controllers/NotificationCtr.ts
import { BrowserWindow, Notification } from 'electron';
import { ipcClientEvent } from 'electron-client-ipc';
interface ShowNotificationParams {
title: string;
body: string;
}
export class NotificationCtr {
@ipcClientEvent('showNotification')
async handleShowNotification({ title, body }: ShowNotificationParams) {
try {
if (!Notification.isSupported()) {
return { success: false, error: 'Notifications not supported' };
}
const notification = new Notification({
title,
body,
});
notification.show();
return { success: true };
} catch (error) {
console.error('Failed to show notification:', error);
return {
success: false,
error: error instanceof Error ? error.message : 'Unknown error'
};
}
}
}
```
@@ -0,0 +1,80 @@
---
description:
globs:
alwaysApply: false
---
**新增桌面端工具流程:**
1. **定义工具接口 (Manifest):**
* **文件:** `src/tools/[tool_category]/index.ts` (例如: `src/tools/local-files/index.ts`)
* **操作:**
* 在 `ApiName` 对象(例如 `LocalFilesApiName`)中添加一个新的、唯一的 API 名称。
* 在 `Manifest` 对象(例如 `LocalFilesManifest`)的 `api` 数组中,新增一个对象来定义新工具的接口。
* **关键字段:**
* `name`: 使用上一步定义的 API 名称。
* `description`: 清晰描述工具的功能,供 Agent 理解和向用户展示。
* `parameters`: 使用 JSON Schema 定义工具所需的输入参数。
* `type`: 通常是 'object'。
* `properties`: 定义每个参数的名称、`description`、`type` (string, number, boolean, array, etc.),使用英文。
* `required`: 一个字符串数组,列出必须提供的参数名称。
2. **定义相关类型:**
* **文件 1:** `packages/electron-client-ipc/src/types.ts` (或类似的共享 IPC 类型文件)
* **操作:** 定义传递给 IPC 事件的参数类型接口 (例如: `RenameLocalFileParams`, `MoveLocalFileParams`)。确保与 Manifest 中定义的 `parameters` 一致。
* **文件 2:** `src/tools/[tool_category]/type.ts` (例如: `src/tools/local-files/type.ts`)
* **操作:** 定义此工具执行后,存储在前端 Zustand Store 中的状态类型接口 (例如: `LocalRenameFileState`, `LocalMoveFileState`)。这通常包含操作结果(成功/失败)、错误信息以及相关数据(如旧路径、新路径等)。
3. **实现前端状态管理 (Store Action):**
* **文件:** `src/store/chat/slices/builtinTool/actions/[tool_category].ts` (例如: `src/store/chat/slices/builtinTool/actions/localFile.ts`)
* **操作:**
* 导入在步骤 2 中定义的 IPC 参数类型和状态类型。
* 在 Action 接口 (例如: `LocalFileAction`) 中添加新 Action 的方法签名,使用对应的 IPC 参数类型。
* 在 `createSlice` (例如: `localFileSlice`) 中实现该 Action 方法:
* 接收 `id` (消息 ID) 和 `params` (符合 IPC 参数类型)。
* 设置加载状态 (`toggleLocalFileLoading(id, true)`)。
* 调用对应的 `Service` 层方法 (见步骤 4),传递 `params`。
* 使用 `try...catch` 处理 `Service` 调用可能发生的错误。
* **成功时:**
* 调用 `updatePluginState(id, {...})` 更新插件状态,使用步骤 2 中定义的状态类型。
* 调用 `internal_updateMessageContent(id, JSON.stringify({...}))` 更新消息内容,通常包含成功确认信息。
* **失败时:**
* 记录错误 (`console.error`)。
* 调用 `updatePluginState(id, {...})` 更新插件状态,包含错误信息。
* 调用 `internal_updateMessagePluginError(id, {...})` 设置消息的错误状态。
* 调用 `internal_updateMessageContent(id, JSON.stringify({...}))` 更新消息内容,包含错误信息。
* 在 `finally` 块中取消加载状态 (`toggleLocalFileLoading(id, false)`)。
* 返回操作是否成功 (`boolean`)。
4. **实现 Service 层 (调用 IPC):**
* **文件:** `src/services/electron/[tool_category]Service.ts` (例如: `src/services/electron/localFileService.ts`)
* **操作:**
* 导入在步骤 2 中定义的 IPC 参数类型。
* 添加一个新的 `async` 方法,方法名通常与 Action 名称对应 (例如: `renameLocalFile`)。
* 方法接收 `params` (符合 IPC 参数类型)。
* 使用从 `@lobechat/electron-client-ipc` 导入的 `dispatch` (或 `invoke`) 函数,调用与 Manifest 中 `name` 字段匹配的 IPC 事件名称,并将 `params` 传递过去。
* 定义方法的返回类型,通常是 `Promise<{ success: boolean; error?: string }>`,与后端 Controller 返回的结构一致。
5. **实现后端逻辑 (Controller / IPC Handler):**
* **文件:** `apps/desktop/src/main/controllers/[ToolName]Ctr.ts` (例如: `apps/desktop/src/main/controllers/LocalFileCtr.ts`)
* **操作:**
* 导入 Node.js 相关模块 (`fs`, `path` 等) 和 IPC 相关依赖 (`ipcClientEvent`, 参数类型等)。
* 添加一个新的 `async` 方法,方法名通常以 `handle` 开头 (例如: `handleRenameFile`)。
* 使用 `@ipcClientEvent('yourApiName')` 装饰器将此方法注册为对应 IPC 事件的处理器,确保 `'yourApiName'` 与 Manifest 中的 `name` 和 Service 层调用的事件名称一致。
* 方法的参数应解构自 Service 层传递过来的对象,类型与步骤 2 中定义的 IPC 参数类型匹配。
* 实现核心业务逻辑:
* 进行必要的输入验证。
* 执行文件系统操作或其他后端任务 (例如: `fs.promises.rename`)。
* 使用 `try...catch` 捕获执行过程中的错误。
* 处理特定错误码 (`error.code`) 以提供更友好的错误消息。
* 返回一个包含 `success` (boolean) 和可选 `error` (string) 字段的对象。
6. **更新 Agent 文档 (System Role):**
* **文件:** `src/tools/[tool_category]/systemRole.ts` (例如: `src/tools/local-files/systemRole.ts`)
* **操作:**
* 在 `<core_capabilities>` 部分添加新工具的简要描述。
* 如果需要,更新 `<workflow>`。
* 在 `<tool_usage_guidelines>` 部分为新工具添加详细的使用说明,解释其参数、用途和预期行为。
* 如有必要,更新 `<security_considerations>`。
* 如有必要(例如工具返回了新的数据结构或路径),更新 `<response_format>` 中的示例。
通过遵循这些步骤,可以系统地将新的桌面端工具集成到 LobeChat 的插件系统中。
@@ -0,0 +1,197 @@
---
description:
globs:
alwaysApply: false
---
**桌面端菜单配置指南**
## 菜单系统概述
LobeChat 桌面应用有三种主要的菜单类型:
1. **应用菜单 (App Menu)**:显示在应用窗口顶部(macOS)或窗口标题栏(Windows/Linux
2. **上下文菜单 (Context Menu)**:右键点击时显示的菜单
3. **托盘菜单 (Tray Menu)**:点击系统托盘图标显示的菜单
## 菜单相关文件结构
```
apps/desktop/src/main/
├── menus/ # 菜单定义
│ ├── appMenu.ts # 应用菜单配置
│ ├── contextMenu.ts # 上下文菜单配置
│ └── factory.ts # 菜单工厂函数
├── controllers/
│ ├── MenuCtr.ts # 菜单控制器
│ └── TrayMenuCtr.ts # 托盘菜单控制器
```
## 菜单配置流程
### 1. 应用菜单配置
应用菜单在 `apps/desktop/src/main/menus/appMenu.ts` 中定义:
1. **导入依赖**
```typescript
import { app, BrowserWindow, Menu, MenuItem, MenuItemConstructorOptions } from 'electron';
import { is } from 'electron-util';
```
2. **定义菜单项**
- 使用 `MenuItemConstructorOptions` 类型定义菜单结构
- 每个菜单项可以包含:label, accelerator (快捷键), role, submenu, click 等属性
3. **创建菜单工厂函数**
```typescript
export const createAppMenu = (win: BrowserWindow) => {
const template = [
// 定义菜单项...
];
return Menu.buildFromTemplate(template);
};
```
4. **注册菜单**
- 在 `MenuCtr.ts` 控制器中使用 `Menu.setApplicationMenu(menu)` 设置应用菜单
### 2. 上下文菜单配置
上下文菜单通常在特定元素上右键点击时显示:
1. **在主进程中定义菜单模板**
```typescript
// apps/desktop/src/main/menus/contextMenu.ts
export const createContextMenu = () => {
const template = [
// 定义菜单项...
];
return Menu.buildFromTemplate(template);
};
```
2. **在适当的事件处理器中显示菜单**
```typescript
const menu = createContextMenu();
menu.popup();
```
### 3. 托盘菜单配置
托盘菜单在 `TrayMenuCtr.ts` 中配置:
1. **创建托盘图标**
```typescript
this.tray = new Tray(trayIconPath);
```
2. **定义托盘菜单**
```typescript
const contextMenu = Menu.buildFromTemplate([
{ label: '显示主窗口', click: this.showMainWindow },
{ type: 'separator' },
{ label: '退出', click: () => app.quit() },
]);
```
3. **设置托盘菜单**
```typescript
this.tray.setContextMenu(contextMenu);
```
## 多语言支持
为菜单添加多语言支持:
1. **导入本地化工具**
```typescript
import { i18n } from '../locales';
```
2. **使用翻译函数**
```typescript
const template = [
{
label: i18n.t('menu.file'),
submenu: [
{ label: i18n.t('menu.new'), click: createNew },
// ...
]
},
// ...
];
```
3. **在语言切换时更新菜单**
在 `MenuCtr.ts` 中监听语言变化事件并重新创建菜单
## 添加新菜单项流程
1. **确定菜单位置**
- 决定添加到哪个菜单(应用菜单、上下文菜单或托盘菜单)
- 确定在菜单中的位置(主菜单项或子菜单项)
2. **定义菜单项**
```typescript
const newMenuItem: MenuItemConstructorOptions = {
label: '新功能',
accelerator: 'CmdOrCtrl+N',
click: (_, window) => {
// 处理点击事件
if (window) window.webContents.send('trigger-new-feature');
}
};
```
3. **添加到菜单模板**
将新菜单项添加到相应的菜单模板中
4. **对于与渲染进程交互的功能**
- 使用 `window.webContents.send()` 发送 IPC 消息到渲染进程
- 在渲染进程中监听该消息并处理
## 菜单项启用/禁用控制
动态控制菜单项状态:
1. **保存对菜单项的引用**
```typescript
this.menuItems = {};
const menu = Menu.buildFromTemplate(template);
this.menuItems.newFeature = menu.getMenuItemById('new-feature');
```
2. **根据条件更新状态**
```typescript
updateMenuState(state) {
if (this.menuItems.newFeature) {
this.menuItems.newFeature.enabled = state.canUseNewFeature;
}
}
```
## 最佳实践
1. **使用标准角色**
- 尽可能使用 Electron 预定义的角色(如 `role: 'copy'`)以获得本地化和一致的行为
2. **平台特定菜单**
- 使用 `process.platform` 检查为不同平台提供不同菜单
```typescript
if (process.platform === 'darwin') {
template.unshift({ role: 'appMenu' });
}
```
3. **快捷键冲突**
- 避免与系统快捷键冲突
- 使用 `CmdOrCtrl` 代替 `Ctrl` 以支持 macOS 和 Windows/Linux
4. **保持菜单简洁**
- 避免过多嵌套的子菜单
- 将相关功能分组在一起
5. **添加分隔符**
- 使用 `{ type: 'separator' }` 在逻辑上分隔不同组的菜单项
+296
View File
@@ -0,0 +1,296 @@
---
description:
globs:
alwaysApply: false
---
**桌面端窗口管理指南**
## 窗口管理概述
LobeChat 桌面应用使用 Electron 的 `BrowserWindow` 管理应用窗口。主要的窗口管理功能包括:
1. **窗口创建和配置**
2. **窗口状态管理**(大小、位置、最大化等)
3. **多窗口协调**
4. **窗口事件处理**
## 相关文件结构
```
apps/desktop/src/main/
├── appBrowsers.ts # 窗口管理的核心文件
├── controllers/
│ └── BrowserWindowsCtr.ts # 窗口控制器
└── modules/
└── browserWindowManager.ts # 窗口管理模块
```
## 窗口管理流程
### 1. 窗口创建
在 `appBrowsers.ts` 或 `BrowserWindowsCtr.ts` 中定义窗口创建逻辑:
```typescript
export const createMainWindow = () => {
const mainWindow = new BrowserWindow({
width: 1200,
height: 800,
minWidth: 600,
minHeight: 400,
webPreferences: {
preload: path.join(__dirname, '../preload/index.js'),
contextIsolation: true,
nodeIntegration: false,
},
// 其他窗口配置项...
});
// 加载应用内容
if (isDev) {
mainWindow.loadURL('http://localhost:3000');
mainWindow.webContents.openDevTools();
} else {
mainWindow.loadFile(path.join(__dirname, '../../renderer/index.html'));
}
return mainWindow;
};
```
### 2. 窗口状态管理
实现窗口状态持久化保存和恢复:
1. **保存窗口状态**
```typescript
const saveWindowState = (window: BrowserWindow) => {
if (!window.isMinimized() && !window.isMaximized()) {
const position = window.getPosition();
const size = window.getSize();
settings.set('windowState', {
x: position[0],
y: position[1],
width: size[0],
height: size[1],
});
}
};
```
2. **恢复窗口状态**
```typescript
const restoreWindowState = (window: BrowserWindow) => {
const savedState = settings.get('windowState');
if (savedState) {
window.setBounds({
x: savedState.x,
y: savedState.y,
width: savedState.width,
height: savedState.height,
});
}
};
```
3. **监听窗口事件**
```typescript
window.on('close', () => saveWindowState(window));
window.on('moved', () => saveWindowState(window));
window.on('resized', () => saveWindowState(window));
```
### 3. 实现多窗口管理
对于需要多窗口支持的功能:
1. **跟踪窗口**
```typescript
export class WindowManager {
private windows: Map<string, BrowserWindow> = new Map();
createWindow(id: string, options: BrowserWindowConstructorOptions) {
const window = new BrowserWindow(options);
this.windows.set(id, window);
window.on('closed', () => {
this.windows.delete(id);
});
return window;
}
getWindow(id: string) {
return this.windows.get(id);
}
getAllWindows() {
return Array.from(this.windows.values());
}
}
```
2. **窗口间通信**
```typescript
// 从一个窗口向另一个窗口发送消息
sendMessageToWindow(targetWindowId, channel, data) {
const targetWindow = this.getWindow(targetWindowId);
if (targetWindow) {
targetWindow.webContents.send(channel, data);
}
}
```
### 4. 窗口与渲染进程通信
通过 IPC 实现窗口操作:
1. **在主进程中注册 IPC 处理器**
```typescript
// BrowserWindowsCtr.ts
@ipcClientEvent('minimizeWindow')
handleMinimizeWindow() {
const focusedWindow = BrowserWindow.getFocusedWindow();
if (focusedWindow) {
focusedWindow.minimize();
}
return { success: true };
}
@ipcClientEvent('maximizeWindow')
handleMaximizeWindow() {
const focusedWindow = BrowserWindow.getFocusedWindow();
if (focusedWindow) {
if (focusedWindow.isMaximized()) {
focusedWindow.restore();
} else {
focusedWindow.maximize();
}
}
return { success: true };
}
@ipcClientEvent('closeWindow')
handleCloseWindow() {
const focusedWindow = BrowserWindow.getFocusedWindow();
if (focusedWindow) {
focusedWindow.close();
}
return { success: true };
}
```
2. **在渲染进程中调用**
```typescript
// src/services/electron/windowService.ts
import { dispatch } from '@lobechat/electron-client-ipc';
export const windowService = {
minimize: () => dispatch('minimizeWindow'),
maximize: () => dispatch('maximizeWindow'),
close: () => dispatch('closeWindow'),
};
```
### 5. 自定义窗口控制 (无边框窗口)
对于自定义窗口标题栏:
1. **创建无边框窗口**
```typescript
const window = new BrowserWindow({
frame: false,
titleBarStyle: 'hidden',
// 其他选项...
});
```
2. **在渲染进程中实现拖拽区域**
```css
/* CSS */
.titlebar {
-webkit-app-region: drag;
}
.titlebar-button {
-webkit-app-region: no-drag;
}
```
## 最佳实践
1. **性能考虑**
- 避免创建过多窗口
- 使用 `show: false` 创建窗口,在内容加载完成后再显示,避免白屏
2. **安全性**
- 始终设置适当的 `webPreferences` 确保安全
```typescript
webPreferences: {
preload: path.join(__dirname, '../preload/index.js'),
contextIsolation: true,
nodeIntegration: false,
sandbox: true,
}
```
3. **跨平台兼容性**
- 考虑不同操作系统的窗口行为差异
- 使用 `process.platform` 为不同平台提供特定实现
4. **崩溃恢复**
- 监听 `webContents.on('crashed')` 事件处理崩溃
- 提供崩溃恢复选项
5. **内存管理**
- 确保窗口关闭时清理所有相关资源
- 使用 `window.on('closed')` 而不是 `window.on('close')` 进行最终清理
## 示例:创建设置窗口
```typescript
// apps/desktop/src/main/controllers/BrowserWindowsCtr.ts
@ipcClientEvent('openSettings')
handleOpenSettings() {
// 检查设置窗口是否已经存在
if (this.settingsWindow && !this.settingsWindow.isDestroyed()) {
// 如果窗口已存在,将其置于前台
this.settingsWindow.focus();
return { success: true };
}
// 创建新窗口
this.settingsWindow = new BrowserWindow({
width: 800,
height: 600,
title: 'Settings',
parent: this.mainWindow, // 设置父窗口,使其成为模态窗口
modal: true,
webPreferences: {
preload: path.join(__dirname, '../preload/index.js'),
contextIsolation: true,
nodeIntegration: false,
},
});
// 加载设置页面
if (isDev) {
this.settingsWindow.loadURL('http://localhost:3000/settings');
} else {
this.settingsWindow.loadFile(
path.join(__dirname, '../../renderer/index.html'),
{ hash: 'settings' }
);
}
// 监听窗口关闭事件
this.settingsWindow.on('closed', () => {
this.settingsWindow = null;
});
return { success: true };
}
```
@@ -0,0 +1,202 @@
---
description:
globs: src/database/schemas/*
alwaysApply: false
---
# Drizzle ORM Schema Style Guide for lobe-chat
This document outlines the conventions and best practices for defining PostgreSQL Drizzle ORM schemas within the lobe-chat project.
## Configuration
- Drizzle configuration is managed in [drizzle.config.ts](mdc:drizzle.config.ts)
- Schema files are located in the src/database/schemas/ directory
- Migration files are output to `src/database/migrations/`
- The project uses `postgresql` dialect with `strict: true`
## Helper Functions
Commonly used column definitions, especially for timestamps, are centralized in [src/database/schemas/_helpers.ts](mdc:src/database/schemas/_helpers.ts):
- `timestamptz(name: string)`: Creates a timestamp column with timezone
- `createdAt()`, `updatedAt()`, `accessedAt()`: Helper functions for standard timestamp columns
- `timestamps`: An object `{ createdAt, updatedAt, accessedAt }` for easy inclusion in table definitions
## Naming Conventions
- **Table Names**: Use plural snake_case (e.g., `users`, `agents`, `session_groups`)
- **Column Names**: Use snake_case (e.g., `user_id`, `created_at`, `background_color`)
## Column Definitions
### Primary Keys (PKs)
- Typically `text('id')` (or `varchar('id')` for some OIDC tables)
- Often use `.$defaultFn(() => idGenerator('table_name'))` for automatic ID generation with meaningful prefixes
- **ID Prefix Purpose**: Makes it easy for users and developers to distinguish different entity types at a glance
- For internal/system tables that users don't need to see, can use `uuid` or auto-increment keys
- Composite PKs are defined using `primaryKey({ columns: [t.colA, t.colB] })`
### Foreign Keys (FKs)
- Defined using `.references(() => otherTable.id, { onDelete: 'cascade' | 'set null' | 'no action' })`
- FK columns are usually named `related_table_singular_name_id` (e.g., `user_id` references `users.id`)
- Most tables include a `user_id` column referencing `users.id` with `onDelete: 'cascade'`
### Timestamps
- Consistently use the `...timestamps` spread from [_helpers.ts](mdc:src/database/schemas/_helpers.ts) for `created_at`, `updated_at`, and `accessed_at` columns
### Default Values
- `.$defaultFn(() => expression)` for dynamic defaults (e.g., `idGenerator()`, `randomSlug()`)
- `.default(staticValue)` for static defaults (e.g., `boolean('enabled').default(true)`)
### Indexes
- Defined in the table's second argument: `pgTable('name', {...columns}, (t) => ({ indexName: indexType().on(...) }))`
- Use `uniqueIndex()` for unique constraints and `index()` for non-unique indexes
- Naming pattern: `table_name_column(s)_idx` or `table_name_column(s)_unique`
- Many tables feature a `clientId: text('client_id')` column, often part of a composite unique index with `user_id`
### Data Types
- Common types: `text`, `varchar`, `jsonb`, `boolean`, `integer`, `uuid`, `pgTable`
- For `jsonb` fields, specify the TypeScript type using `.$type<MyType>()` for better type safety
## Zod Schemas & Type Inference
- Utilize `drizzle-zod` to generate Zod schemas for validation:
- `createInsertSchema(tableName)`
- `createSelectSchema(tableName)` (less common)
- Export inferred types: `export type NewEntity = typeof tableName.$inferInsert;` and `export type EntityItem = typeof tableName.$inferSelect;`
## Relations
- Table relationships are defined centrally in [src/database/schemas/relations.ts](mdc:src/database/schemas/relations.ts) using the `relations()` utility from `drizzle-orm`
## Code Style & Structure
- **File Organization**: Each main database entity typically has its own schema file (e.g., [user.ts](mdc:src/database/schemas/user.ts), [agent.ts](mdc:src/database/schemas/agent.ts))
- All schemas are re-exported from [src/database/schemas/index.ts](mdc:src/database/schemas/index.ts)
- **ESLint**: Files often start with `/* eslint-disable sort-keys-fix/sort-keys-fix */`
- **Comments**: Use JSDoc-style comments to explain the purpose of tables and complex columns, fields that are self-explanatory do not require jsdoc explanations, such as id, user_id, etc.
## Example Pattern
```typescript
// From src/database/schemas/agent.ts
export const agents = pgTable(
'agents',
{
id: text('id')
.primaryKey()
.$defaultFn(() => idGenerator('agents'))
.notNull(),
slug: varchar('slug', { length: 100 })
.$defaultFn(() => randomSlug(4))
.unique(),
userId: text('user_id')
.references(() => users.id, { onDelete: 'cascade' })
.notNull(),
clientId: text('client_id'),
chatConfig: jsonb('chat_config').$type<LobeAgentChatConfig>(),
...timestamps,
},
// return array instead of object, the object style is deprecated
(t) => [
uniqueIndex('client_id_user_id_unique').on(t.clientId, t.userId),
],
);
export const insertAgentSchema = createInsertSchema(agents);
export type NewAgent = typeof agents.$inferInsert;
export type AgentItem = typeof agents.$inferSelect;
```
## Common Patterns
### 1. userId + clientId Pattern (Legacy)
Some existing tables include both fields for different purposes:
```typescript
// Example from agents table (legacy pattern)
userId: text('user_id')
.references(() => users.id, { onDelete: 'cascade' })
.notNull(),
clientId: text('client_id'),
// Usually with a composite unique index
clientIdUnique: uniqueIndex('agents_client_id_user_id_unique').on(t.clientId, t.userId),
```
- **`userId`**: Server-side user association, ensures data belongs to specific user
- **`clientId`**: Unique key for import/export operations, supports data migration between instances
- **Current Status**: New tables should NOT include `clientId` unless specifically needed for import/export functionality
- **Note**: This pattern is being phased out for new features to simplify the schema
### 2. Junction Tables (Many-to-Many Relationships)
Use composite primary keys for relationship tables:
```typescript
// Example: agents_knowledge_bases (from agent.ts)
export const agentsKnowledgeBases = pgTable(
'agents_knowledge_bases',
{
agentId: text('agent_id').references(() => agents.id, { onDelete: 'cascade' }).notNull(),
knowledgeBaseId: text('knowledge_base_id').references(() => knowledgeBases.id, { onDelete: 'cascade' }).notNull(),
userId: text('user_id').references(() => users.id, { onDelete: 'cascade' }).notNull(),
enabled: boolean('enabled').default(true),
...timestamps,
},
(t) => [
primaryKey({ columns: [t.agentId, t.knowledgeBaseId] }),
],
);
```
**Pattern**: `{entity1}Id` + `{entity2}Id` as composite PK, plus `userId` for ownership
### 3. OIDC Tables Special Patterns
OIDC tables use `varchar` IDs instead of `text` with custom generators:
```typescript
// Example from oidc.ts
export const oidcAuthorizationCodes = pgTable('oidc_authorization_codes', {
id: varchar('id', { length: 255 }).primaryKey(), // varchar not text
data: jsonb('data').notNull(),
expiresAt: timestamptz('expires_at').notNull(),
// ... other fields
});
```
**Reason**: OIDC standards expect specific ID formats and lengths
### 4. File Processing with Async Tasks
File-related tables reference async task IDs for background processing:
```typescript
// Example from files table
export const files = pgTable('files', {
// ... other fields
chunkTaskId: uuid('chunk_task_id').references(() => asyncTasks.id, { onDelete: 'set null' }),
embeddingTaskId: uuid('embedding_task_id').references(() => asyncTasks.id, { onDelete: 'set null' }),
// ...
});
```
**Purpose**:
- Track file chunking progress (breaking files into smaller pieces)
- Track embedding generation progress (converting text to vectors)
- Allow querying task status and handling failures
### 5. Slug Pattern (Legacy)
Some entities include auto-generated slugs - this is legacy code:
```typescript
slug: varchar('slug', { length: 100 })
.$defaultFn(() => randomSlug(4))
.unique(),
// Often with composite unique constraint
slugUserIdUnique: uniqueIndex('slug_user_id_unique').on(t.slug, t.userId),
```
**Current usage**: Only used to identify default agents/sessions (legacy pattern)
**Future refactor**: Will likely be replaced with `isDefault: boolean()` field
**Note**: Avoid using slugs for new features - prefer explicit boolean flags for status tracking
By following these guidelines, maintain consistency, type safety, and maintainability across database schema definitions.
+35
View File
@@ -0,0 +1,35 @@
---
description: Explain how group chat works in LobeHub (Multi-agent orchestratoin)
globs:
alwaysApply: false
---
This rule explains how group chat (multi-agent orchestration) works. Not confused with session group, which is a organization method to manage session.
## Key points
- A supervisor will devide who and how will speak next
- Each agent will speak just like in single chat (if was asked to speak)
- Not coufused with session group
## Related Files
- src/store/chat/slices/message/supervisor.ts
- src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts
- src/prompts/groupChat/index.ts (All prompts here)
## Snippets
```tsx
// Detect whether in group chat
const isGroupSession = useSessionStore(sessionSelectors.isCurrentSessionGroupSession);
// Member actions
const addAgentsToGroup = useChatGroupStore((s) => s.addAgentsToGroup);
const removeAgentFromGroup = useChatGroupStore((s) => s.removeAgentFromGroup);
const persistReorder = useChatGroupStore((s) => s.reorderGroupMembers);
// Get group info
const groupConfig = useChatGroupStore(chatGroupSelectors.currentGroupConfig);
const currentGroupMemebers = useSessionStore(sessionSelectors.currentGroupAgents);
```
+182
View File
@@ -0,0 +1,182 @@
---
globs: *.tsx
alwaysApply: false
---
# LobeChat Internationalization Guide
## Key Points
- Default language: Chinese (zh-CN) as the source language
- Supported languages: 18 languages including English, Japanese, Korean, Arabic, etc.
- Framework: react-i18next with Next.js app router
- Translation automation: @lobehub/i18n-cli for automatic translation, config file: .i18nrc.js
- Never manually modify any json file. You can only modify files in `default` folder
## Directory Structure
```
src/locales/
├── default/ # Source language files (zh-CN)
│ ├── index.ts # Namespace exports
│ ├── common.ts # Common translations
│ ├── chat.ts # Chat-related translations
│ ├── setting.ts # Settings translations
│ └── ... # Other namespace files
└── resources.ts # Type definitions and language configuration
locales/ # Translation files
├── en-US/ # English translations
│ ├── common.json # Common translations
│ ├── chat.json # Chat translations
│ ├── setting.json # Settings translations
│ └── ... # Other namespace JSON files
├── ja-JP/ # Japanese translations
│ ├── common.json
│ ├── chat.json
│ └── ...
└── ... # Other language folders
```
## Workflow for Adding New Translations
### 1. Adding New Translation Keys
Step 1: Add translation keys in the corresponding namespace files under src/locales/default directory
```typescript
// Example: src/locales/default/common.ts
export default {
// ... existing keys
newFeature: {
title: '新功能标题',
description: '功能描述文案',
button: '操作按钮',
},
};
```
Step 2: If creating a new namespace, export it in src/locales/default/index.ts
```typescript
import newNamespace from './newNamespace';
const resources = {
// ... existing namespaces
newNamespace,
} as const;
```
### 2. Translation Process
Development mode:
Generally, you don't need to help me run the automatic translation tool as it takes a long time. I'll run it myself when needed. However, to see immediate results, you still need to translate `locales/zh-CN/namespace.json` first, no need to translate other languages.
Production mode:
```bash
# Generate translations for all languages
npm run i18n
```
## Usage in Components
### Basic Usage
```tsx
import { useTranslation } from 'react-i18next';
const MyComponent = () => {
const { t } = useTranslation('common');
return (
<div>
<h1>{t('newFeature.title')}</h1>
<p>{t('newFeature.description')}</p>
<button>{t('newFeature.button')}</button>
</div>
);
};
```
### Usage with Parameters
```tsx
const { t } = useTranslation('common');
<p>{t('welcome.message', { name: 'John' })}</p>;
// Corresponding language file:
// welcome: { message: 'Welcome {{name}}!' }
```
### Multiple Namespaces
```tsx
const { t } = useTranslation(['common', 'chat']);
<button>{t('common:save')}</button>
<span>{t('chat:typing')}</span>
```
## Type Safety
The project uses TypeScript to implement type-safe translations, with types automatically generated from src/locales/resources.ts:
```typescript
import type { DefaultResources, Locales, NS } from '@/locales/resources';
// Available types:
// - NS: Available namespace keys ('common' | 'chat' | 'setting' | ...)
// - Locales: Supported language codes ('en-US' | 'zh-CN' | 'ja-JP' | ...)
const namespace: NS = 'common';
const locale: Locales = 'en-US';
```
## Best Practices
### 1. Namespace Organization
- common: Shared UI elements (buttons, labels, actions)
- chat: Chat-specific functionality
- setting: Configuration and settings
- error: Error messages and handling
- [feature]: Feature-specific or page-specific namespaces
- components: Reusable component text
### 2. Key Naming Conventions
```typescript
// ✅ Good: Hierarchical structure
export default {
modal: {
confirm: {
title: '确认操作',
message: '确定要执行此操作吗?',
actions: {
confirm: '确认',
cancel: '取消',
},
},
},
};
// ❌ Avoid: Flat structure
export default {
modalConfirmTitle: '确认操作',
modalConfirmMessage: '确定要执行此操作吗?',
};
```
## Troubleshooting
### Missing Translation Keys
- Check if the key exists in src/locales/default/namespace.ts
- Ensure the namespace is correctly imported in the component
- Ensure new namespaces are exported in src/locales/default/index.ts
- 检查键是否存在于 src/locales/default/namespace.ts 中
- 确保在组件中正确导入命名空间
- 确保新命名空间已在 src/locales/default/index.ts 中导出
+119
View File
@@ -0,0 +1,119 @@
---
description: react flex layout package `react-layout-kit` usage
globs:
alwaysApply: false
---
# React Layout Kit 使用指南
react-layout-kit 是一个功能丰富的 React flex 布局组件库,在 lobe-chat 项目中被广泛使用。以下是重点组件的使用方法:
## Flexbox 组件
Flexbox 是最常用的布局组件,用于创建弹性布局,类似于 CSS 的 display: flex。
### 基本用法
```jsx
import { Flexbox } from 'react-layout-kit';
// 默认垂直布局
<Flexbox>
<div>子元素1</div>
<div>子元素2</div>
</Flexbox>
// 水平布局
<Flexbox horizontal>
<div>左侧元素</div>
<div>右侧元素</div>
</Flexbox>
```
### 常用属性
- horizontal: 布尔值,设置为水平方向布局
- flex: 数值或字符串,控制 flex 属性
- gap: 数值,设置子元素之间的间距
- align: 对齐方式,如 'center', 'flex-start' 等
- justify: 主轴对齐方式,如 'space-between', 'center' 等
- padding: 内边距值
- paddingInline: 水平内边距值
- paddingBlock: 垂直内边距值
- width/height: 设置宽高,通常用 '100%' 或具体像素值
- style: 自定义样式对象
### 实际应用示例
```jsx
// 经典三栏布局
<Flexbox horizontal height={'100%'} width={'100%'}>
{/* 左侧边栏 */}
<Flexbox
width={260}
style={{
borderRight: `1px solid ${theme.colorBorderSecondary}`,
height: '100%',
overflowY: 'auto',
}}
>
<SidebarContent />
</Flexbox>
{/* 中间内容区 */}
<Flexbox flex={1} style={{ height: '100%' }}>
{/* 主要内容 */}
<Flexbox flex={1} padding={24} style={{ overflowY: 'auto' }}>
<MainContent />
</Flexbox>
{/* 底部区域 */}
<Flexbox
style={{
borderTop: `1px solid ${theme.colorBorderSecondary}`,
padding: '16px 24px',
}}
>
<Footer />
</Flexbox>
</Flexbox>
</Flexbox>
```
## Center 组件
Center 是对 Flexbox 的封装,使子元素水平和垂直居中。
### 基本用法
```jsx
<Center width={'100%'} height={'100%'}>
<Content />
</Center>
```
Center 组件继承了 Flexbox 的所有属性,同时默认设置了居中对齐。主要用于快速创建居中布局。
### 实际应用示例
```jsx
// 登录页面居中布局
<Flexbox height={'100%'} width={'100%'}>
<Center height={'100%'} width={'100%'}>
<LoginForm />
</Center>
</Flexbox>
// 图标居中显示
<Center className={styles.icon} flex={'none'} height={40} width={40}>
<Icon icon={icon} size={24} />
</Center>
```
## 最佳实践
- 使用 flex={1} 让组件填充可用空间
- 使用 gap 代替传统的 margin 设置元素间距
- 嵌套 Flexbox 创建复杂布局
- 设置 overflow: 'auto' 使内容可滚动
- 使用 horizontal 创建水平布局,默认为垂直布局
- 与 antd-style 的 useTheme hook 配合使用创建主题响应式的布局
+44
View File
@@ -0,0 +1,44 @@
---
alwaysApply: true
---
## Project Description
You are developing an open-source, modern-design AI chat framework: lobe chat.
Emoji logo: 🤯
## Project Technologies Stack
read [package.json](mdc:package.json) to know all npm packages you can use.
The project uses the following technologies:
- pnpm as package manager
- Next.js 15 for frontend and backend, using app router instead of pages router
- react 19, using hooks, functional components, react server components
- TypeScript programming language
- antd, `@lobehub/ui` for component framework
- antd-style for css-in-js framework
- react-layout-kit for flex layout
- react-i18next for i18n
- lucide-react, `@ant-design/icons` for icons
- `@lobehub/icons` for AI provider/model logo icon
- `@formkit/auto-animate` for react list animation
- zustand for global state management
- nuqs for type-safe search params state manager
- SWR for react data fetch
- aHooks for react hooks library
- dayjs for date and time library
- lodash-es for utility library
- fast-deep-equal for deep comparison of JavaScript objects
- zod for data validation
- TRPC for type safe backend
- PGLite for client DB and PostgreSQL for backend DB
- Drizzle ORM
- Vitest for testing, testing-library for react component test
- Prettier for code formatting
- ESLint for code linting
- Cursor AI for code editing and AI coding assistance
Note: All tools and libraries used are the latest versions. The application only needs to be compatible with the latest browsers;
+239
View File
@@ -0,0 +1,239 @@
---
description: Project directory structure overview
alwaysApply: false
---
# LobeChat Project Structure
## Directory Structure
note: some files are not shown for simplicity.
```plaintext
lobe-chat/
├── apps/ # Applications directory
│ └── desktop/ # Electron desktop application
│ ├── src/ # Desktop app source code
│ └── resources/ # Desktop app resources
├── docs/ # Project documentation
│ ├── development/ # Development docs
│ ├── self-hosting/ # Self-hosting docs
│ └── usage/ # Usage guides
├── locales/ # Internationalization files (multiple locales)
│ ├── en-US/ # English (example)
│ └── zh-CN/ # Simplified Chinese (example)
├── packages/ # Monorepo packages directory
│ ├── const/ # Constants definition package
│ ├── database/ # Database related package
│ ├── electron-client-ipc/ # Electron renderer ↔ main IPC client
│ ├── electron-server-ipc/ # Electron main process IPC server
│ ├── model-bank/ # Built-in model presets/catalog exports
│ ├── model-runtime/ # AI model runtime package
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions package
│ ├── file-loaders/ # File processing packages
│ ├── prompts/ # AI prompt management
│ └── web-crawler/ # Web crawling functionality
├── public/ # Static assets
│ ├── icons/ # Application icons
│ ├── images/ # Image resources
│ └── screenshots/ # Application screenshots
├── scripts/ # Build and tool scripts
├── src/ # Main application source code (see below)
├── .cursor/ # Cursor AI configuration
├── docker-compose/ # Docker configuration
├── package.json # Project dependencies
├── pnpm-workspace.yaml # pnpm monorepo configuration
├── next.config.ts # Next.js configuration
├── drizzle.config.ts # Drizzle ORM configuration
└── tsconfig.json # TypeScript configuration
```
## Core Source Directory (`src/`)
```plaintext
src/
├── app/ # Next.js App Router routes
│ ├── (backend)/ # Backend API routes
│ │ ├── api/ # REST API endpoints
│ │ │ ├── auth/ # Authentication endpoints
│ │ │ └── webhooks/ # Webhook handlers for various auth providers
│ │ ├── middleware/ # Request middleware
│ │ ├── oidc/ # OpenID Connect endpoints
│ │ ├── trpc/ # tRPC API routes
│ │ │ ├── async/ # Async tRPC endpoints
│ │ │ ├── desktop/ # Desktop runtime endpoints
│ │ │ ├── edge/ # Edge runtime endpoints
│ │ │ ├── lambda/ # Lambda runtime endpoints
│ │ │ └── tools/ # Tools-specific endpoints
│ │ └── webapi/ # Web API endpoints
│ │ ├── chat/ # Chat-related APIs for various providers
│ │ ├── models/ # Model management APIs
│ │ ├── plugin/ # Plugin system APIs
│ │ ├── stt/ # Speech-to-text APIs
│ │ ├── text-to-image/ # Image generation APIs
│ │ └── tts/ # Text-to-speech APIs
│ ├── [variants]/ # Page route variants
│ │ ├── (main)/ # Main application routes
│ │ │ ├── chat/ # Chat interface and workspace
│ │ │ ├── discover/ # Discover page (assistants, models, providers)
│ │ │ ├── files/ # File management interface
│ │ │ ├── image/ # Image generation interface
│ │ │ ├── profile/ # User profile and stats
│ │ │ ├── repos/ # Knowledge base repositories
│ │ │ └── settings/ # Application settings
│ │ └── @modal/ # Modal routes
│ └── manifest.ts # PWA configuration
├── components/ # Global shared components
│ ├── Analytics/ # Analytics tracking components
│ ├── Error/ # Error handling components
│ └── Loading/ # Loading state components
├── config/ # Application configuration
│ ├── featureFlags/ # Feature flags & experiments
│ └── modelProviders/ # Model provider configurations
├── features/ # Feature components (UI Layer)
│ ├── AgentSetting/ # Agent configuration and management
│ ├── ChatInput/ # Chat input with file upload and tools
│ ├── Conversation/ # Message display and interaction
│ ├── FileManager/ # File upload and knowledge base
│ └── PluginStore/ # Plugin marketplace and management
├── hooks/ # Custom React hooks
├── layout/ # Global layout components
│ ├── AuthProvider/ # Authentication provider
│ └── GlobalProvider/ # Global state provider
├── libs/ # External library integrations
│ ├── analytics/ # Analytics services integration
│ ├── next-auth/ # NextAuth.js configuration
│ └── oidc-provider/ # OIDC provider implementation
├── locales/ # Internationalization resources
│ └── default/ # Default language definitions
├── migrations/ # Client-side data migrations
├── server/ # Server-side code
│ ├── modules/ # Server modules
│ ├── routers/ # tRPC routers
│ └── services/ # Server services
├── services/ # Service layer (per-domain, client/server split)
│ ├── user/ # User services
│ │ ├── client.ts # Client DB (PGLite) implementation
│ │ └── server.ts # Server DB implementation (via tRPC)
│ ├── aiModel/ # AI model services
│ ├── session/ # Session services
│ └── message/ # Message services
├── store/ # Zustand state management
│ ├── agent/ # Agent state
│ ├── chat/ # Chat state
│ └── user/ # User state
├── styles/ # Global styles
├── tools/ # Built-in tool system
│ ├── artifacts/ # Code artifacts and preview
│ └── web-browsing/ # Web search and browsing
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
├── client/ # Client-side utilities
└── server/ # Server-side utilities
```
## Key Monorepo Packages
```plaintext
packages/
├── const/ # Global constants and configurations
├── database/ # Database schemas and models
│ ├── src/models/ # Data models (CRUD operations)
│ ├── src/schemas/ # Drizzle database schemas
│ ├── src/repositories/ # Complex query layer
│ └── migrations/ # Database migration files
├── model-runtime/ # AI model runtime
│ └── src/
│ ├── openai/ # OpenAI provider integration
│ ├── anthropic/ # Anthropic provider integration
│ ├── google/ # Google AI provider integration
│ ├── ollama/ # Ollama local model integration
│ ├── types/ # Runtime type definitions
│ └── utils/ # Runtime utilities
├── types/ # Shared TypeScript type definitions
│ └── src/
│ ├── agent/ # Agent-related types
│ ├── message/ # Message and chat types
│ ├── user/ # User and session types
│ └── tool/ # Tool and plugin types
├── utils/ # Shared utility functions
│ └── src/
│ ├── client/ # Client-side utilities
│ ├── server/ # Server-side utilities
│ ├── fetch/ # HTTP request utilities
│ └── tokenizer/ # Token counting utilities
├── file-loaders/ # File loaders (PDF, DOCX, etc.)
├── prompts/ # AI prompt management
└── web-crawler/ # Web crawling functionality
```
## Architecture Map
- Presentation: `src/features`, `src/components`, `src/layout` — UI composition, global providers
- State: `src/store` — Zustand slices, selectors, middleware
- Client Services: `src/services/<domain>/{client|server}.ts` — client: PGLite; server: tRPC bridge
- API Routers: `src/app/(backend)/webapi` (REST), `src/app/(backend)/trpc/{edge|lambda|async|desktop|tools}`; Lambda router triggers Async router for long-running tasks (e.g., image)
- Server Services: `src/server/services` (business logic), `src/server/modules` (infra adapters)
- Data Access: `packages/database/src/{schemas,models,repositories}` — Schema (Drizzle), Model (CRUD), Repository (complex queries)
- Integrations: `src/libs` — analytics, auth, trpc, logging, runtime helpers
## Data Flow Architecture
### Unified Flow Pattern
```
UI Layer → State Management → Client Service → [Environment Branch] → Database
↓ ↓ ↓ ↓ ↓
React Zustand Environment Local/Remote PGLite/
Components Store Adaptation Routing PostgreSQL
```
### Environment-Specific Routing
| Mode | UI | Service Route | Database |
| --------------- | -------- | ---------------------- | ------------------- |
| **Browser/PWA** | React | Direct Model Access | PGLite (Local) |
| **Server** | React | tRPC → Server Services | PostgreSQL (Remote) |
| **Desktop** | Electron | tRPC → Local Node.js | PGLite/PostgreSQL\* |
_\*Depends on cloud sync configuration_
### Key Characteristics
- **Type Safety**: End-to-end type safety via tRPC and Drizzle ORM
- **Local/Remote Dual Mode**: PGLite enables user data ownership and local control
## Quick Map
- App Routes: `src/app` — UI routes (App Router) and backend routes under `(backend)`
- Web API: `src/app/(backend)/webapi` — REST-like endpoints
- tRPC Routers: `src/server/routers` — typed RPC endpoints by runtime
- Client Services: `src/services` — environment-adaptive client-side business logic
- Server Services: `src/server/services` — platform-agnostic business logic
- Database: `packages/database` — schemas/models/repositories/migrations
- State: `src/store` — Zustand stores and slices
- Integrations: `src/libs` — analytics/auth/trpc/logging/runtime helpers
- Tools: `src/tools` — built-in tool system
## Common Tasks
- Add Web API route: `src/app/(backend)/webapi/<module>/route.ts`
- Add tRPC endpoint: `src/server/routers/{edge|lambda|desktop}/...`
- Add client/server service: `src/services/<domain>/{client|server}.ts` (client: PGLite; server: tRPC)
- Add server service: `src/server/services/<domain>`
- Add a new model/provider: `src/config/modelProviders/<provider>.ts` + `packages/model-bank/src/aiModels/<provider>.ts` + `packages/model-runtime/src/<provider>/index.ts`
- Add DB schema/model/repository: `packages/database/src/{schemas|models|repositories}`
- Add Zustand slice: `src/store/<domain>/slices`
## Env Modes
- `NEXT_PUBLIC_CLIENT_DB`: selects client DB mode (e.g., `pglite`) vs server-backed
- `NEXT_PUBLIC_IS_DESKTOP_APP`: enables desktop-specific routes and behavior
- `NEXT_PUBLIC_SERVICE_MODE`: controls service routing preference (client/server)
## Boundaries
- Keep client logic in `src/services`; server-only logic stays in `src/server/services`
- Dont mix Web API (`webapi/`) with tRPC (`src/server/routers/`)
- Place business UI under `src/features`, global reusable UI under `src/components`
+173
View File
@@ -0,0 +1,173 @@
---
description:
globs: *.tsx
alwaysApply: false
---
# react component 编写指南
- 如果要写复杂样式的话用 antd-style ,简单的话可以用 style 属性直接写内联样式
- 如果需要 flex 布局或者居中布局应该使用 react-layout-kit 的 Flexbox 和 Center 组件
- 选择组件时优先顺序应该是 src/components > 安装的组件 package > lobe-ui > antd
- 使用 selector 访问 zustand store 的数据,而不是直接从 store 获取
## antd-style token system
### 访问 token system 的两种方式
#### 使用 antd-style 的 useTheme hook
```tsx
import { useTheme } from 'antd-style';
const MyComponent = () => {
const theme = useTheme();
return (
<div
style={{
color: theme.colorPrimary,
backgroundColor: theme.colorBgContainer,
padding: theme.padding,
borderRadius: theme.borderRadius,
}}
>
使用主题 token 的组件
</div>
);
};
```
#### 使用 antd-style 的 createStyles
```tsx
const useStyles = createStyles(({ css, token }) => {
return {
container: css`
background-color: ${token.colorBgContainer};
border-radius: ${token.borderRadius}px;
padding: ${token.padding}px;
color: ${token.colorText};
`,
title: css`
font-size: ${token.fontSizeLG}px;
font-weight: ${token.fontWeightStrong};
margin-bottom: ${token.marginSM}px;
`,
content: css`
font-size: ${token.fontSize}px;
line-height: ${token.lineHeight};
`,
};
});
const Card: FC<CardProps> = ({ title, content }) => {
const { styles } = useStyles();
return (
<Flexbox className={styles.container}>
<div className={styles.title}>{title}</div>
<div className={styles.content}>{content}</div>
</Flexbox>
);
};
```
### 一些你经常会忘记使用的 token
请注意使用下面的 token 而不是 css 字面值。可以访问 https://ant.design/docs/react/customize-theme-cn 了解所有 token
- 动画类
- token.motionDurationMid
- token.motionEaseInOut
- 包围盒属性
- token.paddingSM
- token.marginLG
## Lobe UI 包含的组件
- 不知道 `@lobehub/ui` 的组件怎么用,有哪些属性,就自己搜下这个项目其它地方怎么用的,不要瞎猜,大部分组件都是在 antd 的基础上扩展了属性
- 具体用法不懂可以联网搜索,例如 ActionIcon 就爬取 https://ui.lobehub.com/components/action-icon
- 可以阅读 `node_modules/@lobehub/ui/es/index.js` 了解有哪些组件,每个组件的属性是什么
- General
- ActionIcon
- ActionIconGroup
- Block
- Button
- DownloadButton
- Icon
- Data Display
- Avatar
- AvatarGroup
- GroupAvatar
- Collapse
- FileTypeIcon
- FluentEmoji
- GuideCard
- Highlighter
- Hotkey
- Image
- List
- Markdown
- SearchResultCards
- MaterialFileTypeIcon
- Mermaid
- Typography
- Text
- Segmented
- Snippet
- SortableList
- Tag
- Tooltip
- Video
- Data Entry
- AutoComplete
- CodeEditor
- ColorSwatches
- CopyButton
- DatePicker
- EditableText
- EmojiPicker
- Form
- FormModal
- HotkeyInput
- ImageSelect
- Input
- SearchBar
- Select
- SliderWithInput
- ThemeSwitch
- Feedback
- Alert
- Drawer
- Modal
- Layout
- DraggablePanel
- DraggablePanelBody
- DraggablePanelContainer
- DraggablePanelFooter
- DraggablePanelHeader
- Footer
- Grid
- Header
- Layout
- LayoutFooter
- LayoutHeader
- LayoutMain
- LayoutSidebar
- LayoutSidebarInner
- LayoutToc
- MaskShadow
- ScrollShadow
- Navigation
- Burger
- Dropdown
- Menu
- SideNav
- Tabs
- Toc
- Theme
- ConfigProvider
- FontLoader
- ThemeProvider
+52
View File
@@ -0,0 +1,52 @@
---
description:
globs:
alwaysApply: true
---
# 📋 Available Rules Index
The following rules are available via `read_file` from the `.cursor/rules/` directory:
## General
- `project-introduce.mdc` Project description and tech stack
- `cursor-rules.mdc` Cursor rules authoring and optimization guide
- `code-review.mdc` How to code review
## Backend
- `backend-architecture.mdc` Backend layer architecture and design guidelines
- `define-database-model.mdc` Database model definition guidelines
- `drizzle-schema-style-guide.mdc` Style guide for defining Drizzle ORM schemas
## Frontend
- `react-component.mdc` React component style guide and conventions
- `i18n.mdc` Internationalization guide using react-i18next
- `typescript.mdc` TypeScript code style guide
- `packages/react-layout-kit.mdc` Usage guide for react-layout-kit
## State Management
- `zustand-action-patterns.mdc` Recommended patterns for organizing Zustand actions
- `zustand-slice-organization.mdc` Best practices for structuring Zustand slices
## Desktop (Electron)
- `desktop-feature-implementation.mdc` Implementing new Electron desktop features
- `desktop-controller-tests.mdc` Desktop controller unit testing guide
- `desktop-local-tools-implement.mdc` Workflow to add new desktop local tools
- `desktop-menu-configuration.mdc` Desktop menu configuration guide
- `desktop-window-management.mdc` Desktop window management guide
## Debugging
- `debug.mdc` General debugging guide
- `debug-usage.mdc` Using the debug package and namespace conventions
## Testing
- `testing-guide/testing-guide.mdc` Comprehensive testing guide for Vitest
- `testing-guide/electron-ipc-test.mdc` Electron IPC interface testing strategy
- `testing-guide/db-model-test.mdc` Database Model testing guide
+31
View File
@@ -0,0 +1,31 @@
---
description:
globs:
alwaysApply: true
---
## System Role
You are an expert in full-stack Web development, proficient in JavaScript, TypeScript, CSS, React, Node.js, Next.js, Postgresql, Redis, S3, all kinds of network protocols.
You are an LLM expert, you are familiar with all kinds of LLM models, ai agents, ai workflow, prompt engineering and context engineering.
You are an expert in Ai art. In Ai image generation, you are proficient in Stable Diffusion and ComfyUI's architectural principles, workflows, model structures, parameter configurations, training methods, and inference optimization.
You are an expert in UI/UX design, proficient in web interaction patterns, responsive design, accessibility, and user behavior optimization. You excel at improving user retention and paid conversion rates through various interaction details.
## Problem Solving
- When modifying existing code, clearly describe the differences and reasons for the changes
- Provide alternative solutions that may be better overall or superior in specific aspects
- Provide optimization suggestions for deprecated API usage
- Cite sources whenever possible at the end, not inline
- When you provide multiple solutions, provide the recommended solution first, and note it as `Recommended`
- Express uncertainty when there might not be a correct answer, instead of take action by guessing and assuming
## Code Implementation
- Focus on maintainable over being performant
- Be sure to reference file path
- If doc links or required files are missing, ask for them before proceeding with the task rather than making assumptions
- If you're unable to get valid result when using tools, please clearly state in the output
@@ -0,0 +1,455 @@
---
globs: src/database/**/*.test.ts
alwaysApply: false
---
## 🗃️ 数据库 Model 测试指南
测试 `packages/database` 下的数据库 Model 层。
### 测试环境选择 💡
数据库 Model 层通过环境变量控制数据库类型,在两种测试环境下有不同的数据库后端:客户端环境 (PGLite) 和 服务端环境 (PostgreSQL)
### ⚠️ 双环境验证要求
**对于所有 Model 测试,必须在两个环境下都验证通过**:
#### 完整验证流程
```bash
# 1. 先在客户端环境测试(快速验证)
cd packages/database && TEST_SERVER_DB=0 bunx vitest run --silent='passed-only' src/database/models/__tests__/myModel.test.ts
# 2. 再在服务端环境测试(兼容性验证), 需要设置环境变量 `TEST_SERVER_DB=1`
cd packages/database && TEST_SERVER_DB=1 bunx vitest run --silent='passed-only' src/database/models/__tests__/myModel.test.ts #
```
### 创建新 Model 测试的最佳实践 📋
#### 1. 参考现有实现和测试模板
创建新 Model 测试前,**必须先参考现有的实现模式**:
- **Model 实现参考**:
- **测试模板参考**:
- **复杂示例参考**:
#### 2. 用户权限检查 - 安全第一 🔒
这是**最关键的安全要求**。所有涉及用户数据的操作都必须包含用户权限检查:
**❌ 错误示例 - 存在安全漏洞**:
```typescript
// 危险:缺少用户权限检查,任何用户都能操作任何数据
update = async (id: string, data: Partial<MyModel>) => {
return this.db
.update(myTable)
.set(data)
.where(eq(myTable.id, id)) // ❌ 只检查 ID,没有检查 userId
.returning();
};
```
**✅ 正确示例 - 安全的实现**:
```typescript
// 安全:必须同时匹配 ID 和 userId
update = async (id: string, data: Partial<MyModel>) => {
return this.db
.update(myTable)
.set(data)
.where(
and(
eq(myTable.id, id),
eq(myTable.userId, this.userId), // ✅ 用户权限检查
),
)
.returning();
};
```
**必须进行用户权限检查的方法**
- `update()` - 更新操作
- `delete()` - 删除操作
- `findById()` - 查找特定记录
- 任何涉及特定记录的查询或修改操作
#### 3. 测试文件结构和必测场景
**基本测试结构**:
```typescript
// @vitest-environment node
describe('MyModel', () => {
describe('create', () => {
it('should create a new record');
it('should handle edge cases');
});
describe('queryAll', () => {
it('should return records for current user only');
it('should handle empty results');
});
describe('update', () => {
it('should update own records');
it('should NOT update other users records'); // 🔒 安全测试
});
describe('delete', () => {
it('should delete own records');
it('should NOT delete other users records'); // 🔒 安全测试
});
describe('user isolation', () => {
it('should enforce user data isolation'); // 🔒 核心安全测试
});
});
```
**必须测试的安全场景** 🔒:
```typescript
it('should not update records of other users', async () => {
// 创建其他用户的记录
const [otherUserRecord] = await serverDB
.insert(myTable)
.values({ userId: 'other-user', data: 'original' })
.returning();
// 尝试更新其他用户的记录
const result = await myModel.update(otherUserRecord.id, { data: 'hacked' });
// 应该返回 undefined 或空数组(因为权限检查失败)
expect(result).toBeUndefined();
// 验证原始数据未被修改
const unchanged = await serverDB.query.myTable.findFirst({
where: eq(myTable.id, otherUserRecord.id),
});
expect(unchanged?.data).toBe('original'); // 数据应该保持不变
});
```
#### 4. Mock 外部依赖服务
如果 Model 依赖外部服务(如 FileService),需要正确 Mock
**设置 Mock**:
```typescript
// 在文件顶部设置 Mock
const mockGetFullFileUrl = vi.fn();
vi.mock('@/server/services/file', () => ({
FileService: vi.fn().mockImplementation(() => ({
getFullFileUrl: mockGetFullFileUrl,
})),
}));
// 在 beforeEach 中重置和配置 Mock
beforeEach(async () => {
vi.clearAllMocks();
mockGetFullFileUrl.mockImplementation((url: string) => `https://example.com/${url}`);
});
```
**验证 Mock 调用**:
```typescript
it('should process URLs through FileService', async () => {
// ... 测试逻辑
// 验证 Mock 被正确调用
expect(mockGetFullFileUrl).toHaveBeenCalledWith('expected-url');
expect(mockGetFullFileUrl).toHaveBeenCalledTimes(1);
});
```
#### 5. 数据库状态管理
**正确的数据清理模式**:
```typescript
const userId = 'test-user';
const otherUserId = 'other-user';
beforeEach(async () => {
// 清理用户表(级联删除相关数据)
await serverDB.delete(users);
// 创建测试用户
await serverDB.insert(users).values([{ id: userId }, { id: otherUserId }]);
});
afterEach(async () => {
// 清理测试数据
await serverDB.delete(users);
});
```
#### 6. 测试数据类型和外键约束处理 ⚠️
**必须使用 Schema 导出的类型**:
```typescript
// ✅ 正确:使用 schema 导出的类型
import { NewGeneration, NewGenerationBatch } from '../../schemas';
const testBatch: NewGenerationBatch = {
userId,
generationTopicId: 'test-topic-id',
provider: 'test-provider',
model: 'test-model',
prompt: 'Test prompt for image generation',
width: 1024,
height: 1024,
config: {
/* ... */
},
};
const testGeneration: NewGeneration = {
id: 'test-gen-id',
generationBatchId: 'test-batch-id',
asyncTaskId: null, // 处理外键约束
fileId: null, // 处理外键约束
seed: 12345,
userId,
};
```
```typescript
// ❌ 错误:没有类型声明或使用错误类型
const testBatch = {
// 缺少类型声明
generationTopicId: 'test-topic-id',
// ...
};
const testGeneration = {
// 缺少类型声明
asyncTaskId: 'invalid-uuid', // 外键约束错误
fileId: 'non-existent-file', // 外键约束错误
// ...
};
```
**外键约束处理策略**:
1. **使用 null 值**: 对于可选的外键字段,使用 null 避免约束错误
2. **创建关联记录**: 如果需要测试关联关系,先创建被引用的记录
3. **理解约束关系**: 了解哪些字段有外键约束,避免引用不存在的记录
```typescript
// 外键约束处理示例
beforeEach(async () => {
// 清理数据库
await serverDB.delete(users);
// 创建测试用户
await serverDB.insert(users).values([{ id: userId }]);
// 如果需要测试文件关联,创建文件记录
if (needsFileAssociation) {
await serverDB.insert(files).values({
id: 'test-file-id',
userId,
name: 'test.jpg',
url: 'test-url',
size: 1024,
fileType: 'image/jpeg',
});
}
});
```
**排序测试的可预测性**:
```typescript
// ✅ 正确:使用明确的时间戳确保排序结果可预测
it('should find batches by topic id in correct order', async () => {
const oldDate = new Date('2024-01-01T10:00:00Z');
const newDate = new Date('2024-01-02T10:00:00Z');
const batch1 = { ...testBatch, prompt: 'First batch', userId, createdAt: oldDate };
const batch2 = { ...testBatch, prompt: 'Second batch', userId, createdAt: newDate };
await serverDB.insert(generationBatches).values([batch1, batch2]);
const results = await generationBatchModel.findByTopicId(testTopic.id);
expect(results[0].prompt).toBe('Second batch'); // 最新优先 (desc order)
expect(results[1].prompt).toBe('First batch');
});
```
```typescript
// ❌ 错误:依赖数据库的默认时间戳,结果不可预测
it('should find batches by topic id', async () => {
const batch1 = { ...testBatch, prompt: 'First batch', userId };
const batch2 = { ...testBatch, prompt: 'Second batch', userId };
await serverDB.insert(generationBatches).values([batch1, batch2]);
// 插入顺序和数据库时间戳可能不一致,导致测试不稳定
const results = await generationBatchModel.findByTopicId(testTopic.id);
expect(results[0].prompt).toBe('Second batch'); // 可能失败
});
```
### 常见问题和解决方案 💡
#### 问题 1:权限检查缺失导致安全漏洞
**现象**: 测试失败,用户能修改其他用户的数据 **解决**: 在 Model 的 `update` 和 `delete` 方法中添加 `and(eq(table.id, id), eq(table.userId, this.userId))`
#### 问题 2:Mock 未生效或验证失败
**现象**: `undefined is not a spy` 错误 **解决**: 检查 Mock 设置位置和方式,确保在测试文件顶部设置,在 `beforeEach` 中重置
#### 问题 3:测试数据污染
**现象**: 测试间相互影响,结果不稳定 **解决**: 在 `beforeEach` 和 `afterEach` 中正确清理数据库状态
#### 问题 4:外部依赖导致测试失败
**现象**: 因为真实的外部服务调用导致测试不稳定 **解决**: Mock 所有外部依赖,使测试更可控和快速
#### 问题 5:外键约束违反导致测试失败
**现象**: `insert or update on table "xxx" violates foreign key constraint` **解决**:
- 将可选外键字段设为 `null` 而不是无效的字符串值
- 或者先创建被引用的记录,再创建当前记录
```typescript
// ❌ 错误:无效的外键值
const testData = {
asyncTaskId: 'invalid-uuid', // 表中不存在此记录
fileId: 'non-existent-file', // 表中不存在此记录
};
// ✅ 正确:使用 null 值
const testData = {
asyncTaskId: null, // 避免外键约束
fileId: null, // 避免外键约束
};
// ✅ 或者:先创建被引用的记录
beforeEach(async () => {
const [asyncTask] = await serverDB.insert(asyncTasks).values({
id: 'valid-task-id',
status: 'pending',
type: 'generation',
}).returning();
const testData = {
asyncTaskId: asyncTask.id, // 使用有效的外键值
};
});
```
#### 问题 6:排序测试结果不一致
**现象**: 相同的测试有时通过,有时失败,特别是涉及排序的测试 **解决**: 使用明确的时间戳,不要依赖数据库的默认时间戳
```typescript
// ❌ 错误:依赖插入顺序和默认时间戳
await serverDB.insert(table).values([data1, data2]); // 时间戳不可预测
// ✅ 正确:明确指定时间戳
const oldDate = new Date('2024-01-01T10:00:00Z');
const newDate = new Date('2024-01-02T10:00:00Z');
await serverDB.insert(table).values([
{ ...data1, createdAt: oldDate },
{ ...data2, createdAt: newDate },
]);
```
#### 问题 7:Mock 验证失败或调用次数不匹配
**现象**: `expect(mockFunction).toHaveBeenCalledWith(...)` 失败 **解决**:
- 检查 Mock 函数的实际调用参数和期望参数是否完全匹配
- 确认 Mock 在正确的时机被重置和配置
- 使用 `toHaveBeenCalledTimes()` 验证调用次数
```typescript
// 在 beforeEach 中正确配置 Mock
beforeEach(() => {
vi.clearAllMocks(); // 重置所有 Mock
mockGetFullFileUrl.mockImplementation((url: string) => `https://example.com/${url}`);
mockTransformGeneration.mockResolvedValue({
id: 'test-id',
// ... 其他字段
});
});
// 测试中验证 Mock 调用
it('should call FileService with correct parameters', async () => {
await model.someMethod();
// 验证调用参数
expect(mockGetFullFileUrl).toHaveBeenCalledWith('expected-url');
// 验证调用次数
expect(mockGetFullFileUrl).toHaveBeenCalledTimes(1);
});
```
### Model 测试检查清单 ✅
创建 Model 测试时,请确保以下各项都已完成:
#### 🔧 基础配置
- [ ] **双环境验证** - 在客户端环境 (vitest.config.ts) 和服务端环境 (vitest.config.server.ts) 下都测试通过
- [ ] 参考了 `_template.ts` 和现有 Model 的实现模式
- [ ] **使用正确的 Schema 类型** - 测试数据使用 `NewXxx` 类型声明,如 `NewGenerationBatch`、`NewGeneration`
#### 🔒 安全测试
- [ ] **所有涉及用户数据的操作都包含用户权限检查**
- [ ] 包含了用户权限隔离的安全测试
- [ ] 测试了用户无法访问其他用户数据的场景
#### 🗃️ 数据处理
- [ ] **正确处理外键约束** - 使用 `null` 值或先创建被引用记录
- [ ] **排序测试使用明确时间戳** - 不依赖数据库默认时间,确保结果可预测
- [ ] 在 `beforeEach` 和 `afterEach` 中正确管理数据库状态
- [ ] 所有测试都能独立运行且互不干扰
#### 🎭 Mock 和外部依赖
- [ ] 正确 Mock 了外部依赖服务 (如 FileService、GenerationModel)
- [ ] 在 `beforeEach` 中重置和配置 Mock
- [ ] 验证了 Mock 服务的调用参数和次数
- [ ] 测试了外部服务错误场景的处理
#### 📋 测试覆盖
- [ ] 测试覆盖了所有主要方法 (create, query, update, delete)
- [ ] 测试了边界条件和错误场景
- [ ] 包含了空结果处理的测试
- [ ] **确认两个环境下的测试结果一致**
#### 🚨 常见问题检查
- [ ] 没有外键约束违反错误
- [ ] 排序测试结果稳定可预测
- [ ] Mock 验证无失败
- [ ] 无测试数据污染问题
### 安全警告 ⚠️
**数据库 Model 层是安全的第一道防线**。如果 Model 层缺少用户权限检查:
1. **任何用户都能访问和修改其他用户的数据**
2. **即使上层有权限检查,也可能被绕过**
3. **可能导致严重的数据泄露和安全事故**
因此,**每个涉及用户数据的 Model 方法都必须包含用户权限检查,且必须有对应的安全测试来验证这些检查的有效性**。
@@ -0,0 +1,80 @@
---
description: Electron IPC 接口测试策略
alwaysApply: false
---
### Electron IPC 接口测试策略 🖥️
对于涉及 Electron IPC 接口的测试,由于提供真实的 Electron 环境比较复杂,采用 **Mock 返回值** 的方式进行测试。
#### 基本 Mock 设置
```typescript
import { vi } from 'vitest';
import { electronIpcClient } from '@/server/modules/ElectronIPCClient';
// Mock Electron IPC 客户端
vi.mock('@/server/modules/ElectronIPCClient', () => ({
electronIpcClient: {
getFilePathById: vi.fn(),
deleteFiles: vi.fn(),
// 根据需要添加其他 IPC 方法
},
}));
```
#### 在测试中设置 Mock 行为
```typescript
beforeEach(() => {
// 重置所有 Mock
vi.resetAllMocks();
// 设置默认的 Mock 返回值
vi.mocked(electronIpcClient.getFilePathById).mockResolvedValue('/path/to/file.txt');
vi.mocked(electronIpcClient.deleteFiles).mockResolvedValue({
success: true,
});
});
```
#### 测试不同场景的示例
```typescript
it('应该处理文件删除成功的情况', async () => {
// 设置成功场景的 Mock
vi.mocked(electronIpcClient.deleteFiles).mockResolvedValue({
success: true,
});
const result = await service.deleteFiles(['desktop://file1.txt']);
expect(electronIpcClient.deleteFiles).toHaveBeenCalledWith(['desktop://file1.txt']);
expect(result.success).toBe(true);
});
it('应该处理文件删除失败的情况', async () => {
// 设置失败场景的 Mock
vi.mocked(electronIpcClient.deleteFiles).mockRejectedValue(new Error('删除失败'));
const result = await service.deleteFiles(['desktop://file1.txt']);
expect(result.success).toBe(false);
expect(result.errors).toBeDefined();
});
```
#### Mock 策略的优势
1. **环境简化**: 避免了复杂的 Electron 环境搭建
2. **测试可控**: 可以精确控制 IPC 调用的返回值和行为
3. **场景覆盖**: 容易测试各种成功/失败场景
4. **执行速度**: Mock 调用比真实 IPC 调用更快
#### 注意事项
- **Mock 准确性**: 确保 Mock 的行为与真实 IPC 接口行为一致
- **类型安全**: 使用 `vi.mocked()` 确保类型安全
- **Mock 重置**: 在 `beforeEach` 中重置 Mock 状态,避免测试间干扰
- **调用验证**: 不仅要验证返回值,还要验证 IPC 方法是否被正确调用
@@ -0,0 +1,510 @@
---
globs: *.test.ts,*.test.tsx
alwaysApply: false
---
# 测试指南 - LobeChat Testing Guide
## 测试环境概览
LobeChat 项目使用 Vitest 测试库,配置了两种不同的测试环境:
### 客户端数据库测试环境 (DOM Environment)
- **配置文件**: [vitest.config.ts](mdc:vitest.config.ts)
- **环境**: Happy DOM (浏览器环境模拟)
- **数据库**: PGLite (浏览器环境的 PostgreSQL)
- **用途**: 测试前端组件、客户端逻辑、React 组件等
- **设置文件**: [tests/setup.ts](mdc:tests/setup.ts)
### 服务端数据库测试环境 (Node Environment)
目前只有 `packages/database` 下的测试可以通过配置 `TEST_SERVER_DB=1` 环境变量来使用服务端数据库测试
- **配置文件**: [packages/database/vitest.config.mts](mdc:packages/database/vitest.config.mts) 并且设置环境变量 `TEST_SERVER_DB=1`
- **环境**: Node.js
- **数据库**: 真实的 PostgreSQL 数据库
- **并发限制**: 单线程运行 (`singleFork: true`)
- **用途**: 测试数据库模型、服务端逻辑、API 端点等
- **设置文件**: [packages/database/tests/setup-db.ts](mdc:packages/database/tests/setup-db.ts)
## 测试运行命令
** 性能警告**: 项目包含 3000+ 测试用例,完整运行需要约 10 分钟。务必使用文件过滤或测试名称过滤。
### 正确的命令格式
```bash
# 运行所有客户端/服务端测试
bunx vitest run --silent='passed-only' # 客户端测试
cd packages/database && TEST_SERVER_DB=1 bunx vitest run --silent='passed-only' # 服务端测试
# 运行特定测试文件 (支持模糊匹配)
bunx vitest run --silent='passed-only' user.test.ts
# 运行特定测试用例名称 (使用 -t 参数)
bunx vitest run --silent='passed-only' -t "test case name"
# 组合使用文件和测试名称过滤
bunx vitest run --silent='passed-only' filename.test.ts -t "specific test"
# 生成覆盖率报告 (使用 --coverage 参数)
bunx vitest run --silent='passed-only' --coverage
```
### 避免的命令格式
```bash
# 这些命令会运行所有 3000+ 测试用例,耗时约 10 分钟!
npm test
npm test some-file.test.ts
# 不要使用裸 vitest (会进入 watch 模式)
vitest test-file.test.ts
```
## 测试修复原则
### 核心原则
1. **收集足够的上下文**
在修复测试之前,务必做到:
- 完整理解测试的意图和实现
- 强烈建议阅读当前的 git diff 和 PR diff
2. **测试优先修复**
如果是测试本身写错了,应优先修改测试,而不是实现代码。
3. **专注单一问题**
只修复指定的测试,不要顺带添加额外测试。
4. **不自作主张**
发现其他问题时,不要直接修改,需先提出并讨论。
### 测试协作最佳实践
基于实际开发经验总结的重要协作原则:
#### 1. 失败处理策略
**核心原则**: 避免盲目重试,快速识别问题并寻求帮助。
- **失败阈值**: 当连续尝试修复测试 1-2 次都失败后,应立即停止继续尝试
- **问题总结**: 分析失败原因,整理已尝试的解决方案及其失败原因
- **寻求帮助**: 带着清晰的问题摘要和尝试记录向团队寻求帮助
- **避免陷阱**: 不要陷入"不断尝试相同或类似方法"的循环
```typescript
// 错误做法:连续失败后继续盲目尝试
// 第3次、第4次仍在用相似的方法修复同一个问题
// 正确做法:失败1-2次后总结问题
/*
问题总结:
1. 尝试过的方法:修改 mock 数据结构
2. 失败原因:仍然提示类型不匹配
3. 具体错误:Expected 'UserData' but received 'UserProfile'
4. 需要帮助:不确定最新的 UserData 接口定义
*/
```
#### 2. 测试用例命名规范
**核心原则**: 测试应该关注"行为",而不是"实现细节"。
- **描述业务场景**: `describe` 和 `it` 的标题应该描述具体的业务场景和预期行为
- **避免实现绑定**: 不要在测试名称中提及具体的代码行号、覆盖率目标或实现细节
- **保持稳定性**: 测试名称应该在代码重构后仍然有意义
```typescript
// 错误的测试命名
describe('User component coverage', () => {
it('covers line 45-50 in getUserData', () => {
// 为了覆盖第45-50行而写的测试
});
it('tests the else branch', () => {
// 仅为了测试某个分支而存在
});
});
// 正确的测试命名
describe('<UserAvatar />', () => {
it('should render fallback icon when image url is not provided', () => {
// 测试具体的业务场景,自然会覆盖相关代码分支
});
it('should display user initials when avatar image fails to load', () => {
// 描述用户行为和预期结果
});
});
```
**覆盖率提升的正确思路**:
- 通过设计各种业务场景(正常流程、边缘情况、错误处理)来自然提升覆盖率
- 不要为了达到覆盖率数字而写测试,更不要在测试中注释"为了覆盖 xxx 行"
#### 3. 测试组织结构
**核心原则**: 维护清晰的测试层次结构,避免冗余的顶级测试块。
- **复用现有结构**: 添加新测试时,优先在现有的 `describe` 块中寻找合适的位置
- **逻辑分组**: 相关的测试用例应该组织在同一个 `describe` 块内
- **避免碎片化**: 不要为了单个测试用例就创建新的顶级 `describe` 块
```typescript
// 错误的组织方式:创建过多顶级块
describe('<UserProfile />', () => {
it('should render user name', () => {});
});
describe('UserProfile new prop test', () => {
// 不必要的新块
it('should handle email display', () => {});
});
describe('UserProfile edge cases', () => {
// 不必要的新块
it('should handle missing avatar', () => {});
});
// 正确的组织方式:合并相关测试
describe('<UserProfile />', () => {
it('should render user name', () => {});
it('should handle email display', () => {});
it('should handle missing avatar', () => {});
describe('when user data is incomplete', () => {
// 只有在有多个相关子场景时才创建子组
it('should show placeholder for missing name', () => {});
it('should hide email section when email is undefined', () => {});
});
});
```
**组织决策流程**:
1. 是否存在逻辑相关的现有 `describe` 块? → 如果有,添加到其中
2. 是否有多个(3个以上)相关的测试用例? → 如果有,可以考虑创建新的子 `describe`
3. 是否是独立的、无关联的功能模块? → 如果是,才考虑创建新的顶级 `describe`
### 测试修复流程
1. **复现问题**: 定位并运行失败的测试,确认能在本地复现
2. **分析原因**: 阅读测试代码、错误日志和相关文件的 Git 修改历史
3. **建立假设**: 判断问题出在测试逻辑、实现代码还是环境配置
4. **修复验证**: 根据假设进行修复,重新运行测试确认通过
5. **扩大验证**: 运行当前文件内所有测试,确保没有引入新问题
6. **撰写总结**: 说明错误原因和修复方法
### 修复完成后的总结
测试修复完成后,应该提供简要说明,包括:
1. **错误原因分析**: 说明测试失败的根本原因
- 测试逻辑错误
- 实现代码bug
- 环境配置问题
- 依赖变更导致的问题
2. **修复方法说明**: 简述采用的修复方式
- 修改了哪些文件
- 采用了什么解决方案
- 为什么选择这种修复方式
**示例格式**:
```markdown
## 测试修复总结
**错误原因**: 测试中的 mock 数据格式与实际 API 返回格式不匹配,导致断言失败。
**修复方法**: 更新了测试文件中的 mock 数据结构,使其与最新的 API 响应格式保持一致。具体修改了 `user.test.ts` 中的 `mockUserData` 对象结构。
```
## 测试编写最佳实践
### Mock 数据策略:追求"低成本的真实性"
**核心原则**: 测试数据应默认追求真实性,只有在引入"高昂的测试成本"时才进行简化。
#### 什么是"高昂的测试成本"?
"高成本"指的是测试中引入了外部依赖,使测试变慢、不稳定或复杂:
- **文件 I/O 操作**:读写硬盘文件
- **网络请求**:HTTP 调用、数据库连接
- **系统调用**:获取系统时间、环境变量等
#### 推荐做法:Mock 依赖,保留真实数据
```typescript
// 好的做法:Mock I/O 操作,但使用真实的文件内容格式
describe('parseContentType', () => {
beforeEach(() => {
// Mock 文件读取操作(避免真实 I/O)
vi.spyOn(fs, 'readFileSync').mockImplementation((path) => {
// 但返回真实的文件内容格式
if (path.includes('.pdf')) return '%PDF-1.4\n%âãÏÓ'; // 真实 PDF 文件头
if (path.includes('.png')) return '\x89PNG\r\n\x1a\n'; // 真实 PNG 文件头
return '';
});
});
it('should detect PDF content type correctly', () => {
const result = parseContentType('/path/to/file.pdf');
expect(result).toBe('application/pdf');
});
});
// 过度简化:使用不真实的数据
describe('parseContentType', () => {
it('should detect PDF content type correctly', () => {
// 这种简化数据没有测试价值
const result = parseContentType('fake-pdf-content');
expect(result).toBe('application/pdf');
});
});
```
#### 真实标识符的价值
```typescript
// ✅ 使用真实标识符
const result = parseModelString('openai', '+gpt-4,+gpt-3.5-turbo');
// ❌ 使用占位符(价值较低)
const result = parseModelString('test-provider', '+model1,+model2');
```
### 现代化Mock技巧:环境设置与Mock方法
**环境设置 + Mock方法结合使用**
客户端代码测试时,推荐使用环境注释配合现代化Mock方法:
```typescript
/**
* @vitest-environment happy-dom // 提供浏览器API
*/
import { beforeEach, vi } from 'vitest';
beforeEach(() => {
// 现代方法1:使用vi.stubGlobal替代global.xxx = ...
const mockImage = vi.fn().mockImplementation(() => ({
addEventListener: vi.fn(),
naturalHeight: 600,
naturalWidth: 800,
}));
vi.stubGlobal('Image', mockImage);
// 现代方法2:使用vi.spyOn保留原功能,只mock特定方法
vi.spyOn(URL, 'createObjectURL').mockReturnValue('blob:mock-url');
vi.spyOn(URL, 'revokeObjectURL').mockImplementation(() => {});
});
```
**环境选择优先级**
1. **@vitest-environment happy-dom** (推荐) - 轻量、快速,项目已安装
2. **@vitest-environment jsdom** - 功能完整,但需要额外安装jsdom包
3. **不设置环境** - Node.js环境,需要手动mock所有浏览器API
**Mock方法对比**
```typescript
// ❌ 旧方法:直接操作global对象(类型问题)
global.Image = mockImage;
global.URL = { ...global.URL, createObjectURL: mockFn };
// ✅ 现代方法:类型安全的vi API
vi.stubGlobal('Image', mockImage); // 完全替换全局对象
vi.spyOn(URL, 'createObjectURL'); // 部分mock,保留其他功能
```
### 测试覆盖率原则:代码分支优于用例数量
**核心原则**: 优先覆盖所有代码分支,而非编写大量重复用例
```typescript
// ❌ 过度测试:29个测试用例都验证相同分支
describe('getImageDimensions', () => {
it('should reject .txt files');
it('should reject .pdf files');
// ... 25个类似测试,都走相同的验证分支
});
// ✅ 精简测试:4个核心用例覆盖所有分支
describe('getImageDimensions', () => {
it('should return dimensions for valid File object'); // 成功路径 - File
it('should return dimensions for valid data URI'); // 成功路径 - String
it('should return undefined for invalid inputs'); // 输入验证分支
it('should return undefined when image fails to load'); // 错误处理分支
});
```
**分支覆盖策略**
1. **成功路径** - 每种输入类型1个测试即可
2. **边界条件** - 合并类似场景到单个测试
3. **错误处理** - 测试代表性错误即可
4. **业务逻辑** - 覆盖所有if/else分支
**合理测试数量**
- 简单工具函数:2-5个测试
- 复杂业务逻辑:5-10个测试
- 核心安全功能:适当增加,但避免重复路径
### 错误处理测试:测试"行为"而非"文本"
**核心原则**: 测试应该验证程序在错误发生时的行为是可预测的,而不是验证易变的错误信息文本。
#### 推荐的错误测试方式
```typescript
// ✅ 测试错误类型和属性
expect(() => validateUser({})).toThrow(ValidationError);
expect(() => processPayment({})).toThrow(
expect.objectContaining({
code: 'INVALID_PAYMENT_DATA',
statusCode: 400,
}),
);
// ❌ 避免测试具体错误文本
expect(() => processUser({})).toThrow('用户数据不能为空,请检查输入参数');
```
### 疑难解答:警惕模块污染
**识别信号**: 当你的测试出现以下"灵异"现象时,优先怀疑模块污染:
- 单独运行某个测试通过,但和其他测试一起运行就失败
- 测试的执行顺序影响结果
- Mock 设置看起来正确,但实际使用的是旧的 Mock 版本
#### 典型场景:动态 Mock 同一模块
```typescript
// ❌ 问题:动态Mock同一模块
it('dev mode', async () => {
vi.doMock('./config', () => ({ isDev: true }));
const { getSettings } = await import('./service'); // 可能使用缓存
});
// ✅ 解决:清除模块缓存
beforeEach(() => {
vi.resetModules(); // 确保每个测试都是干净环境
});
```
**记住**: `vi.resetModules()` 是解决测试"灵异"失败的终极武器。
## 测试文件组织
### 文件命名约定
`*.test.ts`, `*.test.tsx` (任意位置)
### 测试文件组织风格
项目采用 **测试文件与源文件同目录** 的组织风格:
- 测试文件放在对应源文件的同一目录下
- 命名格式:`原文件名.test.ts` 或 `原文件名.test.tsx`
例如:
```plaintext
src/components/Button/
├── index.tsx # 源文件
└── index.test.tsx # 测试文件
```
- 也有少数情况会统一放到 `__tests__` 文件夹, 例如 `packages/database/src/models/__tests__`
- 测试使用的辅助文件放到 fixtures 文件夹
## 测试调试技巧
### 测试调试步骤
1. **确定测试环境**: 根据文件路径选择正确的配置文件
2. **隔离问题**: 使用 `-t` 参数只运行失败的测试用例
3. **分析错误**: 仔细阅读错误信息、堆栈跟踪和最近的文件修改记录
4. **添加调试**: 在测试中添加 `console.log` 了解执行流程
### TypeScript 类型处理
在测试中,为了提高编写效率和可读性,可以适当放宽 TypeScript 类型检测:
#### 推荐的类型放宽策略
```typescript
// 使用非空断言访问测试中确定存在的属性
const result = await someFunction();
expect(result!.data).toBeDefined();
expect(result!.status).toBe('success');
// 使用 any 类型简化复杂的 Mock 设置
const mockStream = new ReadableStream() as any;
mockStream.toReadableStream = () => mockStream;
// 访问私有成员
await instance['getFromCache']('key'); // 推荐中括号
await (instance as any).getFromCache('key'); // 避免as any
```
#### 适用场景
- **Mock 对象**: 对于测试用的 Mock 数据,使用 `as any` 避免复杂的类型定义
- **第三方库**: 处理复杂的第三方库类型时,适当使用 `any` 提高效率
- **测试断言**: 在确定对象存在的测试场景中,使用 `!` 非空断言
- **私有成员访问**: 优先使用中括号 `instance['privateMethod']()` 而不是 `(instance as any).privateMethod()`
- **临时调试**: 快速编写测试时,先用 `any` 保证功能,后续可选择性地优化类型
#### 注意事项
- **适度使用**: 不要过度依赖 `any`,核心业务逻辑的类型仍应保持严格
- **私有成员访问优先级**: 中括号访问 > `as any` 转换,保持更好的类型安全性
- **文档说明**: 对于使用 `any` 的复杂场景,添加注释说明原因
- **测试覆盖**: 确保即使使用了 `any`,测试仍能有效验证功能正确性
### 检查最近修改记录
**核心原则**:测试突然失败时,优先检查最近的代码修改。
#### 快速检查方法
```bash
git status # 查看当前修改状态
git diff HEAD -- '*.test.*' # 检查测试文件改动
git diff main...HEAD # 对比主分支差异
gh pr diff # 查看PR中的所有改动
```
#### 常见原因与解决
- **最新提交引入bug** → 检查并修复实现代码
- **分支代码滞后** → `git rebase main` 同步主分支
## 特殊场景的测试
针对一些特殊场景的测试,需要阅读相关 rules:
- [Electron IPC 接口测试策略](mdc:./electron-ipc-test.mdc)
- [数据库 Model 测试指南](mdc:./db-model-test.mdc)
## 核心要点
- **命令格式**: 使用 `bunx vitest run --silent='passed-only'` 并指定文件过滤
- **修复原则**: 失败1-2次后寻求帮助,测试命名关注行为而非实现细节
- **调试流程**: 复现 → 分析 → 假设 → 修复 → 验证 → 总结
- **文件组织**: 优先在现有 `describe` 块中添加测试,避免创建冗余顶级块
- **数据策略**: 默认追求真实性,只有高成本(I/O、网络等)时才简化
- **错误测试**: 测试错误类型和行为,避免依赖具体的错误信息文本
- **模块污染**: 测试"灵异"失败时,优先怀疑模块污染,使用 `vi.resetModules()` 解决
- **安全要求**: Model 测试必须包含权限检查,并在双环境下验证通过
+114
View File
@@ -0,0 +1,114 @@
---
description: TypeScript code style and optimization guidelines
globs: *.ts,*.tsx,*.mts
alwaysApply: false
---
# TypeScript Code Style Guide
## Types and Type Safety
- avoid explicit type annotations when TypeScript can infer types.
- avoid implicitly `any` variables; explicitly type when necessary (e.g., `let a: number` instead of `let a`).
- use the most accurate type possible (e.g., prefer `Record<PropertyKey, unknown>` over `object`).
- prefer `interface` over `type` for object shapes (e.g., React component props). Keep `type` for unions, intersections, and utility types.
- prefer `as const satisfies XyzInterface` over plain `as const` when suitable.
- prefer `@ts-expect-error` over `@ts-ignore`
- prefer `Record<string, any>` over `any`
- **Avoid unnecessary null checks**: Before adding `xxx !== null`, `?.`, `??`, or `!.`, read the type definition to confirm the necessary. **Example:**
```typescript
// ❌ Wrong: budget.spend and budget.maxBudget is number, not number | null
if (budget.spend !== null && budget.maxBudget !== null && budget.spend >= budget.maxBudget) {
// ...
}
// ✅ Right
if (budget.spend >= budget.maxBudget) {
// ...
}
```
- **Avoid redundant runtime checks**: Don't add runtime validation for conditions already guaranteed by types or previous checks. Trust the type system and calling contract. **Example:**
```typescript
// ❌ Wrong: Adding impossible-to-fail checks
const due = await db.query.budgets.findMany({
where: and(isNotNull(budgets.budgetDuration)), // Already filtered non-null
});
const result = due.map(b => {
const nextReset = computeNextResetAt(b.budgetResetAt!, b.budgetDuration!);
if (!nextReset) { // This check is impossible to fail
throw new Error(`Unexpected null nextResetAt`);
}
return nextReset;
});
// ✅ Right: Trust the contract
const due = await db.query.budgets.findMany({
where: and(isNotNull(budgets.budgetDuration)),
});
const result = due.map(b => computeNextResetAt(b.budgetResetAt!, b.budgetDuration!));
```
- **Avoid meaningless null/undefined parameters**: Don't accept null/undefined for parameters that have no business meaning when null. Design strict function contracts. **Example:**
```typescript
// ❌ Wrong: Function accepts meaningless null input
function computeNextResetAt(currentResetAt: Date, durationStr: string | null): Date | null {
if (!durationStr) return null; // Why accept null if it just returns null?
}
// ✅ Right: Strict contract, clear responsibility
function computeNextResetAt(currentResetAt: Date, durationStr: string): Date {
// Function has single clear purpose, caller ensures valid input
}
```
## Imports and Modules
- When importing a directory module, prefer the explicit index path like `@/db/index` instead of `@/db`.
## Asynchronous Patterns and Concurrency
- Prefer `async`/`await` over callbacks or chained `.then` promises.
- Prefer async APIs over sync ones (avoid `*Sync`).
- Prefer promise-based variants (e.g., `import { readFile } from 'fs/promises'`) over callback-based APIs from `fs`.
- Where safe, convert sequential async flows to concurrent ones with `Promise.all`, `Promise.race`, etc.
## Code Structure and Readability
- Refactor repeated logic into reusable functions.
- Prefer object destructuring when accessing and using properties.
- Use consistent, descriptive naming; avoid obscure abbreviations.
- Use semantically meaningful variable, function, and class names.
- Replace magic numbers or strings with well-named constants.
- Keep meaningful code comments; do not remove them when applying edits. Update comments when behavior changes.
- Ensure JSDoc comments accurately reflect the implementation.
- Look for opportunities to simplify or modernize code with the latest JavaScript/TypeScript features where it improves clarity.
- Defer formatting to tooling; ignore purely formatting-only issues and autofixable lint problems.
- Respect project Prettier settings.
## UI and Theming
- Use components from `@lobehub/ui`, Ant Design, or existing design system components instead of raw HTML tags (e.g., `Button` vs. `button`).
- Design for dark mode and mobile responsiveness:
- Use the `antd-style` token system instead of hard-coded colors.
- Select appropriate component variants.
## Performance
- Prefer `for…of` loops to index-based `for` loops when feasible.
- Decide whether callbacks should be debounced or throttled based on UX and performance needs.
- Reuse existing npm packages rather than reinventing the wheel (e.g., `lodash-es/omit`).
- Query only the required columns from a database rather than selecting entire rows.
## Time and Consistency
- Instead of calling `Date.now()` multiple times, assign it to a constant once and reuse it to ensure consistency and improve readability.
## Some logging rules
- Never log user private information like api key, etc
- Don't use `import { log } from 'debug'` to log messages, because it will directly log the message to the console.
+360
View File
@@ -0,0 +1,360 @@
---
description:
globs: src/store/**
alwaysApply: false
---
# LobeChat Zustand Action 组织模式
本文档详细说明了 LobeChat 项目中 Zustand Action 的组织方式、命名规范和实现模式,特别关注乐观更新与后端服务的集成。
## Action 类型分层
LobeChat 的 Action 采用分层架构,明确区分不同职责:
### 1. Public Actions
对外暴露的主要接口,供 UI 组件调用:
- 命名:动词形式(`createTopic`, `sendMessage`, `updateTopicTitle`
- 职责:参数验证、流程编排、调用 internal actions
- 示例:[src/store/chat/slices/topic/action.ts](mdc:src/store/chat/slices/topic/action.ts)
```typescript
// Public Action 示例
createTopic: async () => {
const { activeId, internal_createTopic } = get();
const messages = chatSelectors.activeBaseChats(get());
if (messages.length === 0) return;
const topicId = await internal_createTopic({
sessionId: activeId,
title: t('defaultTitle', { ns: 'topic' }),
messages: messages.map((m) => m.id),
});
return topicId;
},
```
### 2. Internal Actions (`internal_*`)
内部实现细节,处理核心业务逻辑:
- 命名:`internal_` 前缀 + 动词(`internal_createTopic`, `internal_updateMessageContent`
- 职责:乐观更新、服务调用、错误处理、状态同步
- 不应该被 UI 组件直接调用
```typescript
// Internal Action 示例 - 乐观更新模式
internal_createTopic: async (params) => {
const tmpId = Date.now().toString();
// 1. 立即更新前端状态(乐观更新)
get().internal_dispatchTopic(
{ type: 'addTopic', value: { ...params, id: tmpId } },
'internal_createTopic',
);
get().internal_updateTopicLoading(tmpId, true);
// 2. 调用后端服务
const topicId = await topicService.createTopic(params);
get().internal_updateTopicLoading(tmpId, false);
// 3. 刷新数据确保一致性
get().internal_updateTopicLoading(topicId, true);
await get().refreshTopic();
get().internal_updateTopicLoading(topicId, false);
return topicId;
},
```
### 3. Dispatch Methods (`internal_dispatch*`)
专门处理状态更新的方法:
- 命名:`internal_dispatch` + 实体名(`internal_dispatchTopic`, `internal_dispatchMessage`
- 职责:调用 reducer、更新 Zustand store、处理状态对比
```typescript
// Dispatch Method 示例
internal_dispatchTopic: (payload, action) => {
const nextTopics = topicReducer(topicSelectors.currentTopics(get()), payload);
const nextMap = { ...get().topicMaps, [get().activeId]: nextTopics };
if (isEqual(nextMap, get().topicMaps)) return;
set({ topicMaps: nextMap }, false, action ?? n(`dispatchTopic/${payload.type}`));
},
```
## 何时使用 Reducer 模式 vs. 简单 `set`
### 使用 Reducer 模式的场景
适用于复杂的数据结构管理,特别是:
- 管理对象列表或映射(如 `messagesMap`, `topicMaps`
- 需要乐观更新的场景
- 状态转换逻辑复杂
- 需要类型安全的 action payload
```typescript
// Reducer 模式示例 - 复杂消息状态管理
export const messagesReducer = (state: ChatMessage[], payload: MessageDispatch): ChatMessage[] => {
switch (payload.type) {
case 'updateMessage': {
return produce(state, (draftState) => {
const index = draftState.findIndex((i) => i.id === payload.id);
if (index < 0) return;
draftState[index] = merge(draftState[index], {
...payload.value,
updatedAt: Date.now()
});
});
}
case 'createMessage': {
return produce(state, (draftState) => {
draftState.push({
...payload.value,
id: payload.id,
createdAt: Date.now(),
updatedAt: Date.now(),
meta: {}
});
});
}
// ...其他复杂状态转换
}
};
```
### 使用简单 `set` 的场景
适用于简单状态更新:
- 切换布尔值
- 更新简单字符串/数字
- 设置单一状态字段
```typescript
// 简单 set 示例
updateInputMessage: (message) => {
if (isEqual(message, get().inputMessage)) return;
set({ inputMessage: message }, false, n('updateInputMessage'));
},
togglePortal: (open?: boolean) => {
set({ showPortal: open ?? !get().showPortal }, false, 'togglePortal');
},
```
## 乐观更新实现模式
乐观更新是 LobeChat 中的核心模式,用于提供流畅的用户体验:
### 标准乐观更新流程
```typescript
// 完整的乐观更新示例
internal_updateMessageContent: async (id, content, extra) => {
const { internal_dispatchMessage, refreshMessages } = get();
// 1. 立即更新前端状态(乐观更新)
internal_dispatchMessage({
id,
type: 'updateMessage',
value: { content },
});
// 2. 调用后端服务
await messageService.updateMessage(id, {
content,
tools: extra?.toolCalls ? internal_transformToolCalls(extra.toolCalls) : undefined,
// ...其他字段
});
// 3. 刷新确保数据一致性
await refreshMessages();
},
```
### 创建操作的乐观更新
```typescript
internal_createMessage: async (message, context) => {
const { internal_createTmpMessage, refreshMessages, internal_toggleMessageLoading } = get();
let tempId = context?.tempMessageId;
if (!tempId) {
// 创建临时消息用于乐观更新
tempId = internal_createTmpMessage(message);
internal_toggleMessageLoading(true, tempId);
}
try {
const id = await messageService.createMessage(message);
if (!context?.skipRefresh) {
await refreshMessages();
}
internal_toggleMessageLoading(false, tempId);
return id;
} catch (e) {
internal_toggleMessageLoading(false, tempId);
// 错误处理:更新消息错误状态
internal_dispatchMessage({
id: tempId,
type: 'updateMessage',
value: { error: { type: ChatErrorType.CreateMessageError, message: e.message } },
});
}
},
```
### 删除操作模式(不使用乐观更新)
删除操作通常不适合乐观更新,因为:
- 删除是破坏性操作,错误恢复复杂
- 用户对删除操作的即时反馈期望较低
- 删除失败时恢复原状态会造成困惑
```typescript
// 删除操作的标准模式 - 无乐观更新
removeGenerationTopic: async (id: string) => {
const { internal_removeGenerationTopic } = get();
await internal_removeGenerationTopic(id);
},
internal_removeGenerationTopic: async (id: string) => {
// 1. 显示加载状态
get().internal_updateGenerationTopicLoading(id, true);
try {
// 2. 直接调用后端服务
await generationTopicService.deleteTopic(id);
// 3. 刷新数据获取最新状态
await get().refreshGenerationTopics();
} finally {
// 4. 确保清除加载状态(无论成功或失败)
get().internal_updateGenerationTopicLoading(id, false);
}
},
```
删除操作的特点:
- 直接调用服务,不预先更新状态
- 依赖 loading 状态提供用户反馈
- 操作完成后刷新整个列表确保一致性
- 使用 `try/finally` 确保 loading 状态总是被清理
## 加载状态管理模式
LobeChat 使用统一的加载状态管理模式:
### 数组式加载状态
```typescript
// 在 initialState.ts 中定义
export interface ChatMessageState {
messageLoadingIds: string[]; // 消息加载状态
messageEditingIds: string[]; // 消息编辑状态
chatLoadingIds: string[]; // 对话生成状态
}
// 在 action 中管理
internal_toggleMessageLoading: (loading, id) => {
set({
messageLoadingIds: toggleBooleanList(get().messageLoadingIds, id, loading),
}, false, `internal_toggleMessageLoading/${loading ? 'start' : 'end'}`);
},
```
### 统一的加载状态工具
```typescript
// 通用的加载状态切换工具
internal_toggleLoadingArrays: (key, loading, id, action) => {
const abortControllerKey = `${key}AbortController`;
if (loading) {
const abortController = new AbortController();
set({
[abortControllerKey]: abortController,
[key]: toggleBooleanList(get()[key] as string[], id!, loading),
}, false, action);
return abortController;
} else {
set({
[abortControllerKey]: undefined,
[key]: id ? toggleBooleanList(get()[key] as string[], id, loading) : [],
}, false, action);
}
},
```
## SWR 集成模式
LobeChat 使用 SWR 进行数据获取和缓存管理:
### Hook 式数据获取
```typescript
// 在 action.ts 中定义 SWR hook
useFetchMessages: (enable, sessionId, activeTopicId) =>
useClientDataSWR<ChatMessage[]>(
enable ? [SWR_USE_FETCH_MESSAGES, sessionId, activeTopicId] : null,
async ([, sessionId, topicId]) => messageService.getMessages(sessionId, topicId),
{
onSuccess: (messages, key) => {
const nextMap = {
...get().messagesMap,
[messageMapKey(sessionId, activeTopicId)]: messages,
};
if (get().messagesInit && isEqual(nextMap, get().messagesMap)) return;
set({ messagesInit: true, messagesMap: nextMap }, false, n('useFetchMessages'));
},
},
),
```
### 缓存失效和刷新
```typescript
// 刷新数据的标准模式
refreshMessages: async () => {
await mutate([SWR_USE_FETCH_MESSAGES, get().activeId, get().activeTopicId]);
},
refreshTopic: async () => {
return mutate([SWR_USE_FETCH_TOPIC, get().activeId]);
},
```
## 命名规范总结
### Action 命名模式
- Public Actions: 动词形式,描述用户意图
- `createTopic`, `sendMessage`, `regenerateMessage`
- Internal Actions: `internal_` + 动词,描述内部操作
- `internal_createTopic`, `internal_updateMessageContent`
- Dispatch Methods: `internal_dispatch` + 实体名
- `internal_dispatchTopic`, `internal_dispatchMessage`
- Toggle Methods: `internal_toggle` + 状态名
- `internal_toggleMessageLoading`, `internal_toggleChatLoading`
### 状态命名模式
- ID 数组: `[entity]LoadingIds`, `[entity]EditingIds`
- 映射结构: `[entity]Maps`, `[entity]Map`
- 当前激活: `active[Entity]Id`
- 初始化标记: `[entity]sInit`
## 最佳实践
1. 合理使用乐观更新:
- ✅ 适用:创建、更新操作(用户交互频繁)
- ❌ 避免:删除操作(破坏性操作,错误恢复复杂)
2. 加载状态管理:使用统一的加载状态数组管理并发操作
3. 类型安全:为所有 action payload 定义 TypeScript 接口
4. SWR 集成:使用 SWR 管理数据获取和缓存失效
5. AbortController:为长时间运行的操作提供取消能力
6. 操作模式选择:
- 创建/更新:乐观更新 + 最终一致性
- 删除:加载状态 + 服务调用 + 数据刷新
这套 Action 组织模式确保了代码的一致性、可维护性,并提供了优秀的用户体验。
@@ -0,0 +1,300 @@
---
description:
globs: src/store/**
alwaysApply: false
---
# LobeChat Zustand Store Slice 组织架构
本文档描述了 LobeChat 项目中 Zustand Store 的模块化 Slice 组织方式,展示如何通过分片架构管理复杂的应用状态。
## 顶层 Store 结构
LobeChat 的 `chat` store (`src/store/chat/`) 采用模块化的 slice 结构来组织状态和逻辑。
### 关键聚合文件
- `src/store/chat/initialState.ts`: 聚合所有 slice 的初始状态
- `src/store/chat/store.ts`: 定义顶层的 `ChatStore`,组合所有 slice 的 actions
- `src/store/chat/selectors.ts`: 统一导出所有 slice 的 selectors
- `src/store/chat/helpers.ts`: 提供聊天相关的辅助函数
### Store 聚合模式
```typescript
// src/store/chat/initialState.ts
import { ChatTopicState, initialTopicState } from './slices/topic/initialState';
import { ChatMessageState, initialMessageState } from './slices/message/initialState';
import { ChatAIChatState, initialAiChatState } from './slices/aiChat/initialState';
export type ChatStoreState = ChatTopicState &
ChatMessageState &
ChatAIChatState &
// ...其他 slice states
export const initialState: ChatStoreState = {
...initialMessageState,
...initialTopicState,
...initialAiChatState,
// ...其他 initial slice states
};
```
```typescript
// src/store/chat/store.ts
import { ChatMessageAction, chatMessage } from './slices/message/action';
import { ChatTopicAction, chatTopic } from './slices/topic/action';
import { ChatAIChatAction, chatAiChat } from './slices/aiChat/actions';
export interface ChatStoreAction
extends ChatMessageAction,
ChatTopicAction,
ChatAIChatAction,
// ...其他 slice actions
const createStore: StateCreator<ChatStore, [['zustand/devtools', never]]> = (...params) => ({
...initialState,
...chatMessage(...params),
...chatTopic(...params),
...chatAiChat(...params),
// ...其他 slice action creators
});
export const useChatStore = createWithEqualityFn<ChatStore>()(
subscribeWithSelector(devtools(createStore)),
shallow,
);
```
## 单个 Slice 的标准结构
每个 slice 位于 `src/store/chat/slices/[sliceName]/` 目录下:
```
src/store/chat/slices/
└── [sliceName]/ # 例如 message, topic, aiChat, builtinTool
├── action.ts # 定义 actions (或者是一个 actions/ 目录)
├── initialState.ts # 定义 state 结构和初始值
├── reducer.ts # (可选) 如果使用 reducer 模式
├── selectors.ts # 定义 selectors
└── index.ts # (可选) 重新导出模块内容
```
### 文件职责说明
1. `initialState.ts`:
- 定义 slice 的 TypeScript 状态接口
- 提供初始状态默认值
```typescript
// 典型的 initialState.ts 结构
export interface ChatTopicState {
activeTopicId?: string;
topicMaps: Record<string, ChatTopic[]>; // 核心数据结构
topicsInit: boolean;
topicLoadingIds: string[];
// ...其他状态字段
}
export const initialTopicState: ChatTopicState = {
activeTopicId: undefined,
topicMaps: {},
topicsInit: false,
topicLoadingIds: [],
// ...其他初始值
};
```
2. `reducer.ts` (复杂状态使用):
- 定义纯函数 reducer,处理同步状态转换
- 使用 `immer` 确保不可变更新
```typescript
// 典型的 reducer.ts 结构
import { produce } from 'immer';
interface AddChatTopicAction {
type: 'addTopic';
value: CreateTopicParams & { id?: string };
}
interface UpdateChatTopicAction {
id: string;
type: 'updateTopic';
value: Partial<ChatTopic>;
}
export type ChatTopicDispatch = AddChatTopicAction | UpdateChatTopicAction;
export const topicReducer = (state: ChatTopic[] = [], payload: ChatTopicDispatch): ChatTopic[] => {
switch (payload.type) {
case 'addTopic': {
return produce(state, (draftState) => {
draftState.unshift({
...payload.value,
id: payload.value.id ?? Date.now().toString(),
createdAt: Date.now(),
});
});
}
case 'updateTopic': {
return produce(state, (draftState) => {
const index = draftState.findIndex((topic) => topic.id === payload.id);
if (index !== -1) {
draftState[index] = { ...draftState[index], ...payload.value };
}
});
}
default:
return state;
}
};
```
3. `selectors.ts`:
- 提供状态查询和计算函数
- 供 UI 组件使用的状态订阅接口
- 重要: 使用 `export const xxxSelectors` 模式聚合所有 selectors
```typescript
// 典型的 selectors.ts 结构
import { ChatStoreState } from '../../initialState';
const currentTopics = (s: ChatStoreState): ChatTopic[] | undefined =>
s.topicMaps[s.activeId];
const currentActiveTopic = (s: ChatStoreState): ChatTopic | undefined => {
return currentTopics(s)?.find((topic) => topic.id === s.activeTopicId);
};
const getTopicById = (id: string) => (s: ChatStoreState): ChatTopic | undefined =>
currentTopics(s)?.find((topic) => topic.id === id);
// 核心模式:使用 xxxSelectors 聚合导出
export const topicSelectors = {
currentActiveTopic,
currentTopics,
getTopicById,
// ...其他 selectors
};
```
## 特殊 Slice 组织模式
### 复杂 Actions 的子目录结构 (aiChat Slice)
当 slice 的 actions 过于复杂时,可以拆分到子目录:
```
src/store/chat/slices/aiChat/
├── actions/
│ ├── generateAIChat.ts # AI 对话生成
│ ├── rag.ts # RAG 检索增强生成
│ ├── memory.ts # 对话记忆管理
│ └── index.ts # 聚合所有 actions
├── initialState.ts
├── selectors.ts
└── index.ts
```
参考:`src/store/chat/slices/aiChat/actions/`
### 工具类 Slice (builtinTool)
管理多种内置工具的状态:
```
src/store/chat/slices/builtinTool/
├── actions/
│ ├── dalle.ts # DALL-E 图像生成
│ ├── search.ts # 搜索功能
│ ├── localFile.ts # 本地文件操作
│ └── index.ts
├── initialState.ts
├── selectors.ts
└── index.ts
```
参考:`src/store/chat/slices/builtinTool/`
## 状态设计模式
### 1. Map 结构用于关联数据
```typescript
// 以 sessionId 为 key,管理多个会话的数据
topicMaps: Record<string, ChatTopic[]>
messagesMap: Record<string, ChatMessage[]>
```
### 2. 数组用于加载状态管理
```typescript
// 管理多个并发操作的加载状态
messageLoadingIds: string[]
topicLoadingIds: string[]
chatLoadingIds: string[]
```
### 3. 可选字段用于当前活动项
```typescript
// 当前激活的实体 ID
activeId: string
activeTopicId?: string
activeThreadId?: string
```
## Slice 集成到顶层 Store
### 1. 状态聚合
```typescript
// 在 initialState.ts 中
export type ChatStoreState = ChatTopicState &
ChatMessageState &
ChatAIChatState &
// ...其他 slice states
```
### 2. Action 接口聚合
```typescript
// 在 store.ts 中
export interface ChatStoreAction
extends ChatMessageAction,
ChatTopicAction,
ChatAIChatAction,
// ...其他 slice actions
```
### 3. Selector 统一导出
```typescript
// 在 selectors.ts 中 - 统一聚合 selectors
export { chatSelectors } from './slices/message/selectors';
export { topicSelectors } from './slices/topic/selectors';
export { aiChatSelectors } from './slices/aiChat/selectors';
// 每个 slice 的 selectors.ts 都使用 xxxSelectors 模式:
// export const chatSelectors = { ... }
// export const topicSelectors = { ... }
// export const aiChatSelectors = { ... }
```
## 最佳实践
1. Slice 划分原则:
- 按功能领域划分(message, topic, aiChat 等)
- 每个 slice 管理相关的状态和操作
- 避免 slice 之间的强耦合
2. 文件命名规范:
- 使用小驼峰命名 slice 目录
- 文件名使用一致的模式(action.ts, selectors.ts 等)
- 复杂 actions 时使用 actions/ 子目录
3. 状态结构设计:
- 扁平化的状态结构,避免深层嵌套
- 使用 Map 结构管理列表数据
- 分离加载状态和业务数据
4. 类型安全:
- 为每个 slice 定义清晰的 TypeScript 接口
- 使用 Zustand 的 StateCreator 确保类型一致性
- 在顶层聚合时保持类型安全
这种模块化的 slice 组织方式使得大型应用的状态管理变得清晰、可维护,并且易于扩展。
+6
View File
@@ -0,0 +1,6 @@
# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)
locales/
apps/desktop/resources/locales/
**/__snapshots__/
**/fixtures/
src/database/migrations/
+4 -3
View File
@@ -1,6 +1,7 @@
{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {
"ghcr.io/devcontainers/features/node:1": {}
}
"ghcr.io/devcontainer-community/devcontainer-features/bun.sh:1": {},
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
},
"image": "mcr.microsoft.com/devcontainers/typescript-node"
}
+9
View File
@@ -0,0 +1,9 @@
# copy this file to .env when you want to develop the desktop app or you will fail
APP_URL=http://localhost:3015
FEATURE_FLAGS=-check_updates,+pin_list
KEY_VAULTS_SECRET=oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE=
DATABASE_URL=postgresql://postgres@localhost:5432/postgres
SEARCH_PROVIDERS=search1api
NEXT_PUBLIC_SERVICE_MODE='server'
NEXT_PUBLIC_IS_DESKTOP_APP=1
NEXT_PUBLIC_ENABLE_NEXT_AUTH=0
+71 -3
View File
@@ -4,9 +4,17 @@
# Specify your API Key selection method, currently supporting `random` and `turn`.
# API_KEY_SELECT_MODE=random
########################################
########### Security Settings ###########
########################################
# Control Content Security Policy headers
# Set to '1' to enable X-Frame-Options and Content-Security-Policy headers
# Default is '0' (enabled)
# ENABLED_CSP=1
########################################
######## Model Provider Service ########
########## AI Provider Service #########
########################################
### OpenAI ###
@@ -33,7 +41,7 @@ OPENAI_API_KEY=sk-xxxxxxxxx
# AZURE_ENDPOINT=https://docs-test-001.openai.azure.com
# Azure's API version, follows the YYYY-MM-DD format
# AZURE_API_VERSION=2024-06-01
# AZURE_API_VERSION=2024-10-21
### Anthropic Service ####
@@ -109,6 +117,11 @@ OPENAI_API_KEY=sk-xxxxxxxxx
# DEEPSEEK_PROXY_URL=https://api.deepseek.com/v1
# DEEPSEEK_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### Qiniu AI ####
# QINIU_PROXY_URL=https://api.qnaigc.com/v1
# QINIU_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### Qwen AI ####
# QWEN_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -122,6 +135,54 @@ OPENAI_API_KEY=sk-xxxxxxxxx
# SILICONCLOUD_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### TencentCloud AI ####
# TENCENT_CLOUD_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### PPIO ####
# PPIO_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### INFINI-AI ###
# INFINIAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### 302.AI ###
# AI302_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### ModelScope ###
# MODELSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### AiHubMix ###
# AIHUBMIX_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### BFL ###
# BFL_API_KEY=bfl-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### FAL ###
# FAL_API_KEY=fal-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### Nebius ###
# NEBIUS_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
### NewAPI Service ###
# NEWAPI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# NEWAPI_PROXY_URL=https://your-newapi-server.com
### Vercel AI Gateway ###
# VERCELAIGATEWAY_API_KEY=your_vercel_ai_gateway_api_key
########################################
############ Market Service ############
########################################
@@ -209,8 +270,15 @@ OPENAI_API_KEY=sk-xxxxxxxxx
# DATABASE_URL=postgres://username:password@host:port/database
# use `openssl rand -base64 32` to generate a key for the encryption of the database
# we use this key to encrypt the user api key
# we use this key to encrypt the user api key and proxy url
#KEY_VAULTS_SECRET=xxxxx/xxxxxxxxxxxxxx=
# Specify the Embedding model and Reranker model(unImplemented)
# DEFAULT_FILES_CONFIG="embedding_model=openai/embedding-text-3-small,reranker_model=cohere/rerank-english-v3.0,query_mode=full_text"
########################################
########## MCP Service Config ##########
########################################
# MCP tool call timeout (milliseconds)
# MCP_TOOL_TIMEOUT=60000
+122
View File
@@ -0,0 +1,122 @@
# LobeChat Development Server Configuration
# This file contains environment variables for both LobeChat server mode and Docker compose setup
COMPOSE_FILE="docker-compose.development.yml"
# ⚠️⚠️⚠️ DO NOT USE THE SECRETS BELOW IN PRODUCTION!
UNSAFE_SECRET="ww+0igxjGRAAR/eTNFQ55VmhQB5KE5trFZseuntThJs="
UNSAFE_PASSWORD="CHANGE_THIS_PASSWORD_IN_PRODUCTION"
# Core Server Configuration
# Service mode - set to 'server' for server-side deployment
NEXT_PUBLIC_SERVICE_MODE=server
# Service Ports Configuration
LOBE_PORT=3010
# Application URL - the base URL where LobeChat will be accessible
APP_URL=http://localhost:${LOBE_PORT}
# Secret key for encrypting vault data (generate with: openssl rand -base64 32)
KEY_VAULTS_SECRET=${UNSAFE_SECRET}
# Database Configuration
# Database name for LobeChat
LOBE_DB_NAME=lobechat
# PostgreSQL password
POSTGRES_PASSWORD=${UNSAFE_PASSWORD}
# PostgreSQL database connection URL
DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@localhost:5432/${LOBE_DB_NAME}
# Database driver type
DATABASE_DRIVER=node
# Authentication Configuration
# Enable NextAuth authentication
NEXT_PUBLIC_ENABLE_NEXT_AUTH=1
# NextAuth secret for JWT signing (generate with: openssl rand -base64 32)
NEXT_AUTH_SECRET=${UNSAFE_SECRET}
NEXTAUTH_URL=${APP_URL}
# Authentication URL
AUTH_URL=${APP_URL}/api/auth
# SSO providers configuration - using Casdoor for development
NEXT_AUTH_SSO_PROVIDERS=casdoor
# Casdoor Configuration
# Casdoor service port
CASDOOR_PORT=8000
# Casdoor OIDC issuer URL
AUTH_CASDOOR_ISSUER=http://localhost:${CASDOOR_PORT}
# Casdoor application client ID
AUTH_CASDOOR_ID=a387a4892ee19b1a2249 # DO NOT USE IN PROD
# Casdoor application client secret
AUTH_CASDOOR_SECRET=dbf205949d704de81b0b5b3603174e23fbecc354 # DO NOT USE IN PROD
# Origin URL for Casdoor internal configuration
origin=http://localhost:${CASDOOR_PORT}
# MinIO Storage Configuration
# MinIO service port
MINIO_PORT=9000
# MinIO root user (admin username)
MINIO_ROOT_USER=admin
# MinIO root password
MINIO_ROOT_PASSWORD=${UNSAFE_PASSWORD}
# MinIO bucket for LobeChat files
MINIO_LOBE_BUCKET=lobe
# S3/MinIO Configuration for LobeChat
# S3/MinIO access key ID
S3_ACCESS_KEY_ID=${MINIO_ROOT_USER}
# S3/MinIO secret access key
S3_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}
# S3/MinIO endpoint URL
S3_ENDPOINT=http://localhost:${MINIO_PORT}
# S3 bucket name for storing files
S3_BUCKET=${MINIO_LOBE_BUCKET}
# Public domain for S3 file access
S3_PUBLIC_DOMAIN=http://localhost:${MINIO_PORT}
# Enable path-style S3 requests (required for MinIO)
S3_ENABLE_PATH_STYLE=1
# Disable S3 ACL setting (for MinIO compatibility)
S3_SET_ACL=0
# Use base64 encoding for LLM vision images
LLM_VISION_IMAGE_USE_BASE64=1
# Search Service Configuration
# SearXNG search engine URL
SEARXNG_URL=http://searxng:8080
# Development Options
# Uncomment to skip authentication during development
# Proxy Configuration (Optional)
# Uncomment if you need proxy support (e.g., for GitHub auth or API access)
# HTTP_PROXY=http://localhost:7890
# HTTPS_PROXY=http://localhost:7890
# AI Model Configuration (Optional)
# Add your AI model API keys and configurations here
# ⚠️ WARNING: Never commit real API keys to version control!
# OPENAI_API_KEY=sk-NEVER_USE_REAL_API_KEYS_IN_CONFIG_FILES
# OPENAI_PROXY_URL=https://api.openai.com/v1
# OPENAI_MODEL_LIST=...
+17
View File
@@ -29,3 +29,20 @@ logs
# misc
# add other ignore file below
.next
# temporary directories
tmp
temp
.temp
.local
docs/.local
# cache directories
.cache
# AI coding tools directories
.claude
.serena
# MCP tools
/.serena/**
+14
View File
@@ -17,6 +17,10 @@ config.rules['unicorn/prefer-spread'] = 0;
config.rules['unicorn/catch-error-name'] = 0;
config.rules['unicorn/no-array-for-each'] = 0;
config.rules['unicorn/prefer-number-properties'] = 0;
config.rules['unicorn/prefer-query-selector'] = 0;
config.rules['unicorn/no-array-callback-reference'] = 0;
// FIXME: Linting error in src/app/[variants]/(main)/chat/features/Migration/DBReader.ts, the fundamental solution should be upgrading typescript-eslint
config.rules['@typescript-eslint/no-useless-constructor'] = 0;
config.overrides = [
{
@@ -32,6 +36,16 @@ config.overrides = [
'mdx/code-blocks': false,
},
},
{
files: ['src/store/image/**/*', 'src/types/generation/**/*'],
rules: {
'@typescript-eslint/no-empty-interface': 0,
'sort-keys-fix/sort-keys-fix': 0,
'typescript-sort-keys/interface': 0,
'typescript-sort-keys/string-enum': 0,
},
},
];
module.exports = config;
+16 -5
View File
@@ -1,28 +1,39 @@
name: '🐛 Bug Report'
description: 'Report an bug'
title: '[Bug] '
labels: ['🐛 Bug']
labels: ['unconfirm']
type: Bug
body:
- type: dropdown
attributes:
label: '📦 Environment'
label: '📦 Platform'
multiple: true
options:
- 'Official Preview'
- 'Official Cloud'
- 'Vercel'
- 'Zeabur'
- 'Sealos'
- 'Netlify'
- 'Docker'
- 'Self hosting Docker'
- 'Other'
validations:
required: true
- type: dropdown
attributes:
label: '📦 Deploymenet mode'
multiple: true
options:
- 'client db (lobe-chat image)'
- 'client pgelite db (lobe-chat-pglite image)'
- 'server db(lobe-chat-database image)'
validations:
required: true
- type: input
attributes:
label: '📌 Version'
validations:
required: true
- type: dropdown
attributes:
label: '💻 Operating System'
+20 -2
View File
@@ -1,14 +1,22 @@
name: '🐛 反馈缺陷'
description: '反馈一个问题缺陷'
title: '[Bug] '
labels: ['🐛 Bug']
labels: ['unconfirm']
type: Bug
body:
- type: markdown
attributes:
value: |
在创建新的 Issue 之前,请先[搜索已有问题](https://github.com/lobehub/lobe-chat/issues),如果发现已有类似的问题,请给它 **👍 点赞**,这样可以帮助我们更快地解决问题。
如果你在使用过程中遇到问题,可以尝试以下方式获取帮助:
- 在 [GitHub Discussions](https://github.com/lobehub/lobe-chat/discussions) 的版块发起讨论。
- 在 [LobeChat 社区](https://discord.gg/AYFPHvv2jT) 提问,与其他用户交流。
- type: dropdown
attributes:
label: '📦 部署环境'
multiple: true
options:
- 'Official Preview'
- 'Official Cloud'
- 'Vercel'
- 'Zeabur'
- 'Sealos'
@@ -17,6 +25,16 @@ body:
- 'Other'
validations:
required: true
- type: dropdown
attributes:
label: '📦 部署模式'
multiple: true
options:
- '客户端模式(lobe-chat 镜像)'
- '客户端 Pglite 模式(lobe-chat-pglite 镜像)'
- '服务端模式(lobe-chat-database 镜像)'
validations:
required: true
- type: input
attributes:
label: '📌 软件版本'
+1 -1
View File
@@ -1,7 +1,7 @@
name: '🌠 Feature Request'
description: 'Suggest an idea'
title: '[Request] '
labels: ['🌠 Feature Request']
type: Feature
body:
- type: textarea
attributes:
@@ -1,7 +1,7 @@
name: '🌠 功能需求'
description: '提出需求或建议'
title: '[Request] '
labels: ['🌠 Feature Request']
type: Feature
body:
- type: textarea
attributes:
+4 -1
View File
@@ -1,4 +1,7 @@
contact_links:
- name: Questions and ideas | 问题和想法
- name: Ask a question for self-hosting | 咨询自部署问题
url: https://github.com/lobehub/lobe-chat/discussions/new?category=self-hosting-%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2
about: Please post questions, and ideas in discussions. | 请在讨论区发布问题和想法。
- name: Questions and ideas | 其他问题和想法
url: https://github.com/lobehub/lobe-chat/discussions/new/choose
about: Please post questions, and ideas in discussions. | 请在讨论区发布问题和想法。
+1
View File
@@ -8,6 +8,7 @@
- [ ] 💄 style
- [ ] 👷 build
- [ ] ⚡️ perf
- [ ] ✅ test
- [ ] 📝 docs
- [ ] 🔨 chore
+256
View File
@@ -0,0 +1,256 @@
/**
* Create or update GitHub issue when i18n workflow fails
* Usage: node create-failure-issue.js
*/
module.exports = async ({ github, context, core }) => {
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
const timestamp = new Date().toISOString();
const date = timestamp.split('T')[0];
// Get error details from environment variables
const errorDetails = {
validateEnv: process.env.ERROR_VALIDATE_ENV || '',
rebaseAttempt: process.env.ERROR_REBASE_ATTEMPT || '',
createBranch: process.env.ERROR_CREATE_BRANCH || '',
installDeps: process.env.ERROR_INSTALL_DEPS || '',
runI18n: process.env.ERROR_RUN_I18N || '',
commitPush: process.env.ERROR_COMMIT_PUSH || '',
};
// Get step conclusions from environment variables
const stepStatus = {
validateEnv: process.env.STEP_VALIDATE_ENV || 'Not run',
checkBranch: process.env.STEP_CHECK_BRANCH || 'Not run',
rebaseAttempt: process.env.STEP_REBASE_ATTEMPT || 'Not run',
createBranch: process.env.STEP_CREATE_BRANCH || 'Not run',
installDeps: process.env.STEP_INSTALL_DEPS || 'Not run',
runI18n: process.env.STEP_RUN_I18N || 'Not run',
commitPush: process.env.STEP_COMMIT_PUSH || 'Not run',
createPr: process.env.STEP_CREATE_PR || 'Not run',
};
// Find the first non-empty error
const mainError =
Object.values(errorDetails).find((error) => error && error.trim()) || 'Unknown error occurred';
// Determine error category for better troubleshooting
const getErrorCategory = (error) => {
if (error.includes('API') || error.includes('authentication')) return 'API/Authentication';
if (error.includes('network') || error.includes('timeout')) return 'Network/Connectivity';
if (error.includes('dependencies') || error.includes('bun')) return 'Dependencies';
if (error.includes('git') || error.includes('branch') || error.includes('rebase'))
return 'Git Operations';
if (error.includes('permission') || error.includes('token')) return 'Permissions';
return 'General';
};
const errorCategory = getErrorCategory(mainError);
const issueTitle = `🚨 Daily i18n Update Failed - ${date}`;
const issueBody = `## 🚨 Automated i18n Update Failure
**Timestamp:** ${timestamp}
**Workflow Run:** [#${context.runNumber}](${runUrl})
**Repository:** ${context.repo.owner}/${context.repo.repo}
**Branch:** ${context.ref}
**Commit:** ${context.sha}
## ❌ Error Details
**Primary Error:** ${mainError}
**Category:** ${errorCategory}
## 🔍 Step Status
| Step | Status |
|------|--------|
| Environment Validation | ${stepStatus.validateEnv} |
| Branch Check | ${stepStatus.checkBranch} |
| Rebase Attempt | ${stepStatus.rebaseAttempt} |
| Branch Creation | ${stepStatus.createBranch} |
| Dependencies | ${stepStatus.installDeps} |
| i18n Update | ${stepStatus.runI18n} |
| Git Operations | ${stepStatus.commitPush} |
| PR Creation | ${stepStatus.createPr} |
## 🔧 Environment Info
- **Runner OS:** ${process.env.RUNNER_OS || 'Unknown'}
- **Bun Version:** ${process.env.BUN_VERSION || 'Default'}
- **Workflow:** \`${context.workflow}\`
## 📋 Debug Information
Debug logs have been uploaded as artifacts and will be available for 7 days.
${getErrorCategoryHelp(errorCategory)}
## 🛠️ General Troubleshooting Steps
1. Check if all required secrets are properly configured
2. Verify OpenAI API quota and billing status
3. Review the workflow run logs for detailed error messages
4. Check if there are any ongoing GitHub API issues
5. Manually trigger the workflow to retry
## 📊 Workflow Statistics
- **Run Number:** ${context.runNumber}
- **Run ID:** ${context.runId}
- **Event:** ${context.eventName}
---
**Auto-generated by:** [\`${context.workflow}\`](${runUrl})
**Labels:** automated, bug, i18n, workflow-failure, ${errorCategory.toLowerCase().replace(/[^a-z0-9]/g, '-')}`;
try {
// Search for existing open issues with similar title
const existingIssues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
labels: 'automated,workflow-failure',
state: 'open',
per_page: 50,
});
const todayPrefix = `🚨 Daily i18n Update Failed - ${date}`;
const existingIssue = existingIssues.data.find((issue) => issue.title.startsWith(todayPrefix));
if (existingIssue) {
// Update existing issue with comment
const commentBody = `## 🔄 Additional Failure
**Timestamp:** ${timestamp}
**Workflow Run:** [#${context.runNumber}](${runUrl})
**Error Category:** ${errorCategory}
**Error:** ${mainError}
Same issue occurred again. Please investigate the recurring problem.
### Quick Actions
- [ ] Check API quotas and billing
- [ ] Verify network connectivity
- [ ] Review recent changes that might cause conflicts
- [ ] Consider manual intervention
---
*This is failure #${(await getFailureCount(github, context, existingIssue.number)) + 1} for today.*`;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: existingIssue.number,
body: commentBody,
});
// Add priority label if this is a recurring issue
const failureCount = await getFailureCount(github, context, existingIssue.number);
if (failureCount >= 2) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: existingIssue.number,
labels: ['priority-high', 'recurring'],
});
}
core.info(`✅ Updated existing issue #${existingIssue.number}`);
core.setOutput('issue-number', existingIssue.number);
core.setOutput('issue-url', existingIssue.html_url);
core.setOutput('action', 'updated');
} else {
// Create new issue
const labels = [
'automated',
'bug',
'i18n',
'workflow-failure',
errorCategory.toLowerCase().replace(/[^a-z0-9]/g, '-'),
];
const issue = await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: issueTitle,
body: issueBody,
labels: labels,
});
core.info(`✅ Created new issue #${issue.data.number}`);
core.setOutput('issue-number', issue.data.number);
core.setOutput('issue-url', issue.data.html_url);
core.setOutput('action', 'created');
}
} catch (error) {
core.setFailed(`Failed to create or update issue: ${error.message}`);
throw error;
}
};
/**
* Get category-specific help text
*/
function getErrorCategoryHelp(category) {
const helpTexts = {
'API/Authentication': `
### 🔑 API/Authentication Issues
- Verify \`OPENAI_API_KEY\` is correctly set and valid
- Check if API key has sufficient quota/credits
- Ensure \`GH_TOKEN\` has necessary permissions
- Test API connectivity manually`,
'Network/Connectivity': `
### 🌐 Network/Connectivity Issues
- Check if OpenAI API is experiencing outages
- Verify proxy settings if using \`OPENAI_PROXY_URL\`
- Retry the workflow as this might be temporary
- Check GitHub Actions service status`,
'Dependencies': `
### 📦 Dependencies Issues
- Verify \`bun\` version compatibility
- Check for package.json changes that might affect dependencies
- Clear cache and retry installation
- Review recent dependency updates`,
'Git Operations': `
### 🔧 Git Operations Issues
- Check for conflicting changes in target branch
- Verify repository permissions
- Review recent commits that might cause conflicts
- Manual branch cleanup might be required`,
'Permissions': `
### 🔐 Permissions Issues
- Verify \`GH_TOKEN\` has \`repo\` and \`issues\` permissions
- Check if token can create/update PRs and branches
- Ensure token hasn't expired
- Review repository settings and branch protection rules`,
'General': `
### 🔍 General Issues
- Review detailed error logs in workflow run
- Check for recent changes in codebase
- Verify all environment variables are set
- Consider running workflow manually with debug enabled`,
};
return helpTexts[category] || helpTexts['General'];
}
/**
* Count how many times this issue has failed today
*/
async function getFailureCount(github, context, issueNumber) {
try {
const comments = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
});
const today = new Date().toISOString().split('T')[0];
return comments.data.filter(
(comment) =>
comment.body.includes('Additional Failure') && comment.created_at.startsWith(today),
).length;
} catch (error) {
return 0;
}
}
+89
View File
@@ -0,0 +1,89 @@
/**
* Generate or update PR comment with Docker build info
*/
module.exports = async ({
github,
context,
dockerMetaJson,
image,
version,
dockerhubUrl,
platforms,
}) => {
const COMMENT_IDENTIFIER = '<!-- DOCKER-BUILD-COMMENT -->';
const parseTags = () => {
try {
if (dockerMetaJson) {
const parsed = JSON.parse(dockerMetaJson);
if (Array.isArray(parsed.tags) && parsed.tags.length > 0) {
return parsed.tags;
}
}
} catch (e) {
// ignore parsing error, fallback below
}
if (image && version) {
return [`${image}:${version}`];
}
return [];
};
const generateCommentBody = () => {
const tags = parseTags();
const buildTime = new Date().toISOString();
// Use the first tag as the main version
const mainTag = tags.length > 0 ? tags[0] : `${image}:${version}`;
const tagVersion = mainTag.includes(':') ? mainTag.split(':')[1] : version;
return [
COMMENT_IDENTIFIER,
'',
'### 🐳 Database Docker Build Completed!',
`**Version**: \`${tagVersion || 'N/A'}\``,
`**Build Time**: \`${buildTime}\``,
'',
dockerhubUrl ? `🔗 View all tags on Docker Hub: ${dockerhubUrl}` : '',
'',
'### Pull Image',
'Download the Docker image to your local machine:',
'',
'```bash',
`docker pull ${mainTag}`,
'```',
'> [!IMPORTANT]',
'> This build is for testing and validation purposes.',
]
.filter(Boolean)
.join('\n');
};
const body = generateCommentBody();
// List comments on the PR
const { data: comments } = await github.rest.issues.listComments({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});
const existing = comments.find((c) => c.body && c.body.includes(COMMENT_IDENTIFIER));
if (existing) {
await github.rest.issues.updateComment({
comment_id: existing.id,
owner: context.repo.owner,
repo: context.repo.repo,
body,
});
return { updated: true, id: existing.id };
}
const result = await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body,
});
return { updated: false, id: result.data.id };
};
+140
View File
@@ -0,0 +1,140 @@
/**
* Generate PR comment with download links for desktop builds
* and handle comment creation/update logic
*/
module.exports = async ({ github, context, releaseUrl, version, tag }) => {
// 用于识别构建评论的标识符
const COMMENT_IDENTIFIER = '<!-- DESKTOP-BUILD-COMMENT -->';
/**
* 生成评论内容
*/
const generateCommentBody = async () => {
try {
// Get release assets to create download links
const release = await github.rest.repos.getReleaseByTag({
owner: context.repo.owner,
repo: context.repo.repo,
tag,
});
// Organize assets by platform
const macAssets = release.data.assets.filter(
(asset) =>
(asset.name.includes('.dmg') || asset.name.includes('.zip')) &&
!asset.name.includes('.blockmap'),
);
const winAssets = release.data.assets.filter(
(asset) => asset.name.includes('.exe') && !asset.name.includes('.blockmap'),
);
const linuxAssets = release.data.assets.filter(
(asset) => asset.name.includes('.AppImage') && !asset.name.includes('.blockmap'),
);
// Generate combined download table
let assetTable = '| Platform | File | Size |\n| --- | --- | --- |\n';
// Add macOS assets with architecture detection
macAssets.forEach((asset) => {
const sizeInMB = (asset.size / (1024 * 1024)).toFixed(2);
// Detect architecture from filename
let architecture = '';
if (asset.name.includes('arm64')) {
architecture = ' (Apple Silicon)';
} else if (asset.name.includes('x64') || asset.name.includes('-mac.')) {
architecture = ' (Intel)';
}
assetTable += `| macOS${architecture} | [${asset.name}](${asset.browser_download_url}) | ${sizeInMB} MB |\n`;
});
// Add Windows assets
winAssets.forEach((asset) => {
const sizeInMB = (asset.size / (1024 * 1024)).toFixed(2);
assetTable += `| Windows | [${asset.name}](${asset.browser_download_url}) | ${sizeInMB} MB |\n`;
});
// Add Linux assets
linuxAssets.forEach((asset) => {
const sizeInMB = (asset.size / (1024 * 1024)).toFixed(2);
assetTable += `| Linux | [${asset.name}](${asset.browser_download_url}) | ${sizeInMB} MB |\n`;
});
return `${COMMENT_IDENTIFIER}
### 🚀 Desktop App Build Completed!
**Version**: \`${version}\`
**Build Time**: \`${new Date().toISOString()}\`
📦 [View All Build Artifacts](${releaseUrl})
## Build Artifacts
${assetTable}
> [!Warning]
>
> Note: This is a temporary build for testing purposes only.`;
} catch (error) {
console.error('Error generating PR comment:', error);
// Fallback to a simple comment if error occurs
return `${COMMENT_IDENTIFIER}
### 🚀 Desktop App Build Completed!
**Version**: \`${version}\`
**Build Time**: \`${new Date().toISOString()}\`
## 📦 [View All Build Artifacts](${releaseUrl})
> Note: This is a temporary build for testing purposes only.
`;
}
};
/**
* 查找并更新或创建PR评论
*/
const updateOrCreateComment = async () => {
// 生成评论内容
const body = await generateCommentBody();
// 查找我们之前可能创建的评论
const { data: comments } = await github.rest.issues.listComments({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});
// 查找包含我们标识符的评论
const buildComment = comments.find((comment) => comment.body.includes(COMMENT_IDENTIFIER));
if (buildComment) {
// 如果找到现有评论,则更新它
await github.rest.issues.updateComment({
comment_id: buildComment.id,
owner: context.repo.owner,
repo: context.repo.repo,
body: body,
});
console.log(`已更新现有评论 ID: ${buildComment.id}`);
return { updated: true, id: buildComment.id };
} else {
// 如果没有找到现有评论,则创建新评论
const result = await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: body,
});
console.log(`已创建新评论 ID: ${result.data.id}`);
return { updated: false, id: result.data.id };
}
};
// 执行评论更新或创建
return await updateOrCreateComment();
};
+62
View File
@@ -0,0 +1,62 @@
/**
* Generate PR pre-release body content
* This script generates the description text for PR pre-releases
*/
module.exports = ({ version, prNumber, branch }) => {
const prLink = `https://github.com/lobehub/lobe-chat/pull/${prNumber}`;
return `
## PR Build Information
**Version**: \`${version}\`
**Release Time**: \`${new Date().toISOString()}\`
**PR**: [#${prNumber}](${prLink})
## ⚠️ Important Notice
This is a **development build** specifically created for testing purposes. Please note:
- This build is **NOT** intended for production use
- Features may be incomplete or unstable
- Use only for validating PR changes in a desktop environment
- May contain experimental code that hasn't been fully reviewed
- No guarantees are provided regarding stability or reliability
### Intended Use
- Focused testing of specific PR changes
- Verification of desktop-specific behaviors
- UI/UX validation on desktop platforms
- Performance testing on target devices
Please report any issues found in this build directly in the PR discussion.
---
## PR 构建信息
**版本**: \`${version}\`
**发布时间**: \`${new Date().toISOString()}\`
**PR**: [#${prNumber}](${prLink})
## ⚠️ 重要提示
这是专为测试目的创建的**开发构建版本**。请注意:
- 本构建**不适用于**生产环境
- 功能可能不完整或不稳定
- 仅用于在桌面环境中验证 PR 更改
- 可能包含尚未完全审核的实验性代码
- 不对稳定性或可靠性提供任何保证
### 适用场景
- 针对性测试特定 PR 变更
- 验证桌面特定的行为表现
- 在桌面平台上进行 UI/UX 验证
- 在目标设备上进行性能测试
如发现任何问题,请直接在 PR 讨论中报告。
`;
};
+71
View File
@@ -0,0 +1,71 @@
name: Daily i18n Update
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
# Add permissions configuration
permissions:
contents: write
pull-requests: write
jobs:
update-i18n:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Configure Git
run: |
git config --global user.name "lobehubbot"
git config --global user.email "i@lobehub.com"
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Update i18n
run: bun run i18n
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_PROXY_URL: ${{ secrets.OPENAI_PROXY_URL }}
- name: create pull request
id: cpr
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GH_TOKEN }}
add-paths: |
locales/**/*.json
labels: |
i18n
automated
style
branch: style/auto-i18n
delete-branch: true
title: '🤖 style: update i18n'
commit-message: '💄 style: update i18n'
body: |
This PR was automatically generated by the i18n update workflow.
Please review the changes and merge if everything looks good.
## 🤖 Automation Info
- Workflow: `${{ github.workflow }}`
- Run ID: `${{ github.run_id }}`
- Commit: `${{ github.sha }}`
<details>
<summary>i18n Update Log</summary>
```bash
$(cat i18n_update.log)
```
</details>
+64
View File
@@ -0,0 +1,64 @@
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 1
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@beta
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read
# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4)
# model: 'claude-opus-4-1-20250805'
allowed_bots: 'bot'
# Optional: Customize the trigger phrase (default: @claude)
# trigger_phrase: "/claude"
# Optional: Trigger when specific user is assigned to an issue
# assignee_trigger: "claude-bot"
# Optional: Allow Claude to run specific commands
allowed_tools: 'Bash(bun run:*),Bash(pnpm run:*),Bash(npm run:*),Bash(npx:*),Bash(bunx:*),Bash(vitest:*),Bash(rg:*),Bash(find:*),Bash(sed:*),Bash(grep:*),Bash(awk:*),Bash(wc:*),Bash(xargs:*)'
# Optional: Add custom instructions for Claude to customize its behavior for your project
# custom_instructions: |
# Follow our coding standards
# Ensure all new code has tests
# Use TypeScript for new files
# Optional: Custom environment variables for Claude
# claude_env: |
# NODE_ENV: test
+356
View File
@@ -0,0 +1,356 @@
name: Desktop PR Build
on:
pull_request:
types: [synchronize, labeled, unlabeled] # PR 更新或标签变化时触发
# 确保同一时间只运行一个相同的 workflow,取消正在进行的旧的运行
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
# Add default permissions
permissions: read-all
env:
PR_TAG_PREFIX: pr- # PR 构建版本的前缀标识
jobs:
test:
name: Code quality check
# 添加 PR label 触发条件,只有添加了 Build Desktop 标签的 PR 才会触发构建
if: contains(github.event.pull_request.labels.*.name, 'Build Desktop')
runs-on: ubuntu-latest # 只在 ubuntu 上运行一次检查
steps:
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
env:
NODE_OPTIONS: --max-old-space-size=6144
- name: Lint
run: bun run lint
env:
NODE_OPTIONS: --max-old-space-size=6144
version:
name: Determine version
# 与 test job 相同的触发条件
if: contains(github.event.pull_request.labels.*.name, 'Build Desktop')
runs-on: ubuntu-latest
outputs:
# 输出版本信息,供后续 job 使用
version: ${{ steps.set_version.outputs.version }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
# 主要逻辑:确定构建版本号
- name: Set version
id: set_version
run: |
# 从 apps/desktop/package.json 读取基础版本号
base_version=$(node -p "require('./apps/desktop/package.json').version")
# PR 构建:在基础版本号上添加 PR 信息
pr_number="${{ github.event.pull_request.number }}"
ci_build_number="${{ github.run_number }}" # CI 构建编号
version="0.0.0-nightly.pr${pr_number}.${ci_build_number}"
echo "version=${version}" >> $GITHUB_OUTPUT
echo "📦 Release Version: ${version} (based on base version ${base_version})"
env:
NODE_OPTIONS: --max-old-space-size=6144
# 输出版本信息总结,方便在 GitHub Actions 界面查看
- name: Version Summary
run: |
echo "🚦 Release Version: ${{ steps.set_version.outputs.version }}"
build:
needs: [version, test]
name: Build Desktop App
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, macos-13, windows-2025, ubuntu-latest]
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
# node-linker=hoisted 模式将可以确保 asar 压缩可用
- name: Install dependencies
run: pnpm install --node-linker=hoisted
- name: Install deps on Desktop
run: npm run install-isolated --prefix=./apps/desktop
# 设置 package.json 的版本号
- name: Set package version
run: npm run workflow:set-desktop-version ${{ needs.version.outputs.version }} nightly
# macOS 构建处理
- name: Build artifact on macOS
if: runner.os == 'macOS'
run: npm run desktop:build
env:
# 设置更新通道,PR构建为nightly,否则为stable
UPDATE_CHANNEL: 'nightly'
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
# 默认添加一个加密 SECRET
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
# macOS 签名和公证配置
CSC_LINK: ${{ secrets.APPLE_CERTIFICATE_BASE64 }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_BASE_URL }}
# allow provisionally
CSC_FOR_PULL_REQUEST: true
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
# Windows 平台构建处理
- name: Build artifact on Windows
if: runner.os == 'Windows'
run: npm run desktop:build
env:
# 设置更新通道,PR构建为nightly,否则为stable
UPDATE_CHANNEL: 'nightly'
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_BASE_URL }}
# 将 TEMP 和 TMP 目录设置到 C 盘
TEMP: C:\temp
TMP: C:\temp
# Linux 平台构建处理
- name: Build artifact on Linux
if: runner.os == 'Linux'
run: npm run desktop:build
env:
# 设置更新通道,PR构建为nightly,否则为stable
UPDATE_CHANNEL: 'nightly'
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_NIGHTLY_DESKTOP_BASE_URL }}
# 处理 macOS latest-mac.yml 重命名 (避免多架构覆盖)
- name: Rename macOS latest-mac.yml for multi-architecture support
if: runner.os == 'macOS'
run: |
cd apps/desktop/release
if [ -f "latest-mac.yml" ]; then
# 使用系统架构检测,与 electron-builder 输出保持一致
SYSTEM_ARCH=$(uname -m)
if [[ "$SYSTEM_ARCH" == "arm64" ]]; then
ARCH_SUFFIX="arm64"
else
ARCH_SUFFIX="x64"
fi
mv latest-mac.yml "latest-mac-${ARCH_SUFFIX}.yml"
echo "✅ Renamed latest-mac.yml to latest-mac-${ARCH_SUFFIX}.yml (detected: $SYSTEM_ARCH)"
ls -la latest-mac-*.yml
else
echo "⚠️ latest-mac.yml not found, skipping rename"
ls -la latest*.yml || echo "No latest*.yml files found"
fi
# 上传构建产物
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: release-${{ matrix.os }}
path: |
apps/desktop/release/latest*
apps/desktop/release/*.dmg*
apps/desktop/release/*.zip*
apps/desktop/release/*.exe*
apps/desktop/release/*.AppImage
apps/desktop/release/*.deb*
apps/desktop/release/*.snap*
apps/desktop/release/*.rpm*
apps/desktop/release/*.tar.gz*
retention-days: 5
# 合并 macOS 多架构 latest-mac.yml 文件
merge-mac-files:
needs: [build, version]
name: Merge macOS Release Files for PR
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
# 下载所有平台的构建产物
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: release
pattern: release-*
merge-multiple: true
# 列出下载的构建产物
- name: List downloaded artifacts
run: ls -R release
# 仅为该步骤在脚本目录安装 yaml 单包,避免安装整个 monorepo 依赖
- name: Install yaml only for merge step
run: |
cd scripts/electronWorkflow
# 在脚本目录创建最小 package.json,防止 bun 向上寻找根 package.json
if [ ! -f package.json ]; then
echo '{"name":"merge-mac-release","private":true}' > package.json
fi
bun add --no-save yaml@2.8.1
# 合并 macOS YAML 文件 (使用 bun 运行 JavaScript)
- name: Merge latest-mac.yml files
run: bun run scripts/electronWorkflow/mergeMacReleaseFiles.js
# 上传合并后的构建产物
- name: Upload artifacts with merged macOS files
uses: actions/upload-artifact@v4
with:
name: merged-release-pr
path: release/
retention-days: 1
publish-pr:
needs: [merge-mac-files, version]
name: Publish PR Build
runs-on: ubuntu-latest
# Grant write permissions for creating release and commenting on PR
permissions:
contents: write
pull-requests: write
outputs:
artifact_path: ${{ steps.set_path.outputs.path }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
# 下载合并后的构建产物
- name: Download merged artifacts
uses: actions/download-artifact@v4
with:
name: merged-release-pr
path: release
# 列出所有构建产物
- name: List final artifacts
run: ls -R release
# 生成PR发布描述
- name: Generate PR Release Body
id: pr_release_body
uses: actions/github-script@v8
with:
result-encoding: string
script: |
const generateReleaseBody = require('${{ github.workspace }}/.github/scripts/pr-release-body.js');
const body = generateReleaseBody({
version: "${{ needs.version.outputs.version }}",
prNumber: "${{ github.event.pull_request.number }}",
branch: "${{ github.head_ref }}"
});
return body;
- name: Create Temporary Release for PR
id: create_release
uses: softprops/action-gh-release@v1
with:
name: PR Build v${{ needs.version.outputs.version }}
tag_name: v${{ needs.version.outputs.version }}
# tag_name: pr-build-${{ github.event.pull_request.number }}-${{ github.sha }}
body: ${{ steps.pr_release_body.outputs.result }}
draft: false
prerelease: true
files: |
release/latest*
release/*.dmg*
release/*.zip*
release/*.exe*
release/*.AppImage
release/*.deb*
release/*.snap*
release/*.rpm*
release/*.tar.gz*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# 在 PR 上添加评论,包含构建信息和下载链接
- name: Comment on PR
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const releaseUrl = "${{ steps.create_release.outputs.url }}";
const prCommentGenerator = require('${{ github.workspace }}/.github/scripts/pr-comment.js');
const result = await prCommentGenerator({
github,
context,
releaseUrl,
version: "${{ needs.version.outputs.version }}",
tag: "v${{ needs.version.outputs.version }}"
});
console.log(`评论状态: ${result.updated ? '已更新' : '已创建'}, ID: ${result.id}`);
+159 -26
View File
@@ -4,43 +4,176 @@ on:
workflow_dispatch:
release:
types: [published]
pull_request:
types: [synchronize, labeled, unlabeled]
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
REGISTRY_IMAGE: lobehub/lobe-chat-database
PR_TAG_PREFIX: pr-
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
build:
# 添加 PR label 触发条件
if: |
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'Build Docker')) ||
github.event_name != 'pull_request'
strategy:
matrix:
include:
- platform: linux/amd64
os: ubuntu-latest
- platform: linux/arm64
os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
name: Build ${{ matrix.platform }} Image
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Log in to Docker Hub
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 为 PR 生成特殊的 tag
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
# PR 构建使用特殊的 tag
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
# release 构建使用版本号
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: lobehub/lobe-chat-database
tags: |
type=raw,value=latest
type=ref,event=tag
- name: Get commit SHA
if: github.ref == 'refs/heads/main'
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Build and export
id: build
uses: docker/build-push-action@v6
with:
platforms: ${{ matrix.platform }}
context: .
file: ./Dockerfile.database
labels: ${{ steps.meta.outputs.labels }}
build-args: |
SHA=${{ steps.vars.outputs.sha_short }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
rm -rf /tmp/digests
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: digest-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
name: Merge
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digest-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
uses: docker/build-push-action@v5
# 为 merge job 添加 PR metadata 生成
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
context: .
file: ./Dockerfile.database # 指定使用 Dockerfile.database 文件
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
images: ${{ env.REGISTRY_IMAGE }}
tags: |
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
- name: Comment on PR with Docker build info
if: github.event_name == 'pull_request'
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const prComment = require('${{ github.workspace }}/.github/scripts/docker-pr-comment.js');
const result = await prComment({
github,
context,
dockerMetaJson: ${{ toJSON(steps.meta.outputs.json) }},
image: "${{ env.REGISTRY_IMAGE }}",
version: "${{ steps.meta.outputs.version }}",
dockerhubUrl: "https://hub.docker.com/r/${{ env.REGISTRY_IMAGE }}/tags",
platforms: "linux/amd64, linux/arm64",
});
core.info(`Status: ${result.updated ? 'Updated' : 'Created'}, ID: ${result.id}`);
+161
View File
@@ -0,0 +1,161 @@
name: Publish Docker Pglite Image
on:
workflow_dispatch:
release:
types: [published]
pull_request:
types: [synchronize, labeled, unlabeled]
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
REGISTRY_IMAGE: lobehub/lobe-chat-pglite
PR_TAG_PREFIX: pr-
jobs:
build:
# 添加 PR label 触发条件
if: |
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'Build Docker')) ||
github.event_name != 'pull_request'
strategy:
matrix:
include:
- platform: linux/amd64
os: ubuntu-latest
- platform: linux/arm64
os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
name: Build ${{ matrix.platform }} Image
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 为 PR 生成特殊的 tag
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
# PR 构建使用特殊的 tag
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
# release 构建使用版本号
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Get commit SHA
if: github.ref == 'refs/heads/main'
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Build and export
id: build
uses: docker/build-push-action@v6
with:
platforms: ${{ matrix.platform }}
context: .
file: ./Dockerfile.pglite
labels: ${{ steps.meta.outputs.labels }}
build-args: |
SHA=${{ steps.vars.outputs.sha_short }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
rm -rf /tmp/digests
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: digest-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
name: Merge
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digest-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 为 merge job 添加 PR metadata 生成
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
+141 -25
View File
@@ -4,42 +4,158 @@ on:
workflow_dispatch:
release:
types: [published]
pull_request:
types: [synchronize, labeled, unlabeled]
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
env:
REGISTRY_IMAGE: lobehub/lobe-chat
PR_TAG_PREFIX: pr-
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
build:
# 添加 PR label 触发条件
if: |
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'Build Docker')) ||
github.event_name != 'pull_request'
strategy:
matrix:
include:
- platform: linux/amd64
os: ubuntu-latest
- platform: linux/arm64
os: ubuntu-24.04-arm
runs-on: ${{ matrix.os }}
name: Build ${{ matrix.platform }} Image
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Log in to Docker Hub
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# 为 PR 生成特殊的 tag
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
# PR 构建使用特殊的 tag
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
# release 构建使用版本号
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: lobehub/lobe-chat
tags: |
type=raw,value=latest
type=ref,event=tag
- name: Get commit SHA
if: github.ref == 'refs/heads/main'
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Build and export
id: build
uses: docker/build-push-action@v6
with:
platforms: ${{ matrix.platform }}
context: .
file: ./Dockerfile
labels: ${{ steps.meta.outputs.labels }}
build-args: |
SHA=${{ steps.vars.outputs.sha_short }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
rm -rf /tmp/digests
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: digest-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
name: Merge
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digest-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
uses: docker/build-push-action@v5
# 为 merge job 添加 PR metadata 生成
- name: Generate PR metadata
if: github.event_name == 'pull_request'
id: pr_meta
run: |
branch_name="${{ github.head_ref }}"
sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
images: ${{ env.REGISTRY_IMAGE }}
tags: |
type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
- name: Docker login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_REGISTRY_USER }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
+7 -15
View File
@@ -18,28 +18,20 @@ on:
jobs:
lighthouse-badger-advanced:
name: ${{ matrix.NAME }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
timeout-minutes: 8
strategy:
fail-fast: false
matrix:
include:
- NAME: 'LobeChat | Welcome'
URLS: 'https://chat-preview.lobehub.com/welcome'
BADGES_ARGS: '-b pagespeed -o lighthouse/welcome -r'
COMMIT_MESSAGE: '🤖 chore: Lighthouse Results | Welcome'
- NAME: 'LobeChat | Chat'
URLS: 'https://chat-preview.lobehub.com/chat'
URLS: 'https://lobechat.com/chat'
BADGES_ARGS: '-b pagespeed -o lighthouse/chat -r'
COMMIT_MESSAGE: '🤖 chore: Lighthouse Results | Chat'
- NAME: 'LobeChat | Market'
URLS: 'https://chat-preview.lobehub.com/market'
BADGES_ARGS: '-b pagespeed -o lighthouse/market -r'
COMMIT_MESSAGE: '🤖 chore: Lighthouse Results | Market'
- NAME: 'LobeChat | Settings'
URLS: 'https://chat-preview.lobehub.com/settings'
BADGES_ARGS: '-b pagespeed -o lighthouse/settings -r'
COMMIT_MESSAGE: '🤖 chore: Lighthouse Results | Settings'
URLS: 'https://lobechat.com/discover'
BADGES_ARGS: '-b pagespeed -o lighthouse/discover -r'
COMMIT_MESSAGE: '🤖 chore: Lighthouse Results | Discover'
steps:
- name: Preparatory Tasks
@@ -50,12 +42,12 @@ jobs:
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
env:
REPO_BRANCH: ${{ matrix.REPO_BRANCH || env.REPO_BRANCH }}
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
repository: ${{ env.REPOSITORY }}
token: ${{ secrets[matrix.TOKEN_NAME] || secrets[env.TOKEN_NAME] }}
ref: ${{ env.BRANCH }}
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
repository: 'myactionway/lighthouse-badges'
path: temp_lighthouse_badges_nested
+290
View File
@@ -0,0 +1,290 @@
name: Release Desktop Beta
on:
release:
types: [published] # 发布 release 时触发构建
# 确保同一时间只运行一个相同的 workflow,取消正在进行的旧的运行
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
# Add default permissions
permissions: read-all
jobs:
test:
name: Code quality check
# 添加 PR label 触发条件,只有添加了 Build Desktop 标签的 PR 才会触发构建
runs-on: ubuntu-latest # 只在 ubuntu 上运行一次检查
steps:
- name: Checkout base
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Lint
run: bun run lint
version:
name: Determine version
runs-on: ubuntu-latest
outputs:
# 输出版本信息,供后续 job 使用
version: ${{ steps.set_version.outputs.version }}
is_pr_build: ${{ steps.set_version.outputs.is_pr_build }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
# 主要逻辑:确定构建版本号
- name: Set version
id: set_version
run: |
# 从 apps/desktop/package.json 读取基础版本号
base_version=$(node -p "require('./apps/desktop/package.json').version")
# Release 事件直接使用 release tag 作为版本号,去掉可能的 v 前缀
version="${{ github.event.release.tag_name }}"
version="${version#v}"
echo "version=${version}" >> $GITHUB_OUTPUT
echo "📦 Release Version: ${version}"
# 输出版本信息总结,方便在 GitHub Actions 界面查看
- name: Version Summary
run: |
echo "🚦 Release Version: ${{ steps.set_version.outputs.version }}"
build:
needs: [version, test]
name: Build Desktop App
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, macos-13, windows-2025, ubuntu-latest]
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
# node-linker=hoisted 模式将可以确保 asar 压缩可用
- name: Install dependencies
run: pnpm install --node-linker=hoisted
- name: Install deps on Desktop
run: npm run install-isolated --prefix=./apps/desktop
# 设置 package.json 的版本号
- name: Set package version
run: npm run workflow:set-desktop-version ${{ needs.version.outputs.version }} beta
# macOS 构建处理
- name: Build artifact on macOS
if: runner.os == 'macOS'
run: npm run desktop:build
env:
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
# 默认添加一个加密 SECRET
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
# macOS 签名和公证配置
CSC_LINK: ${{ secrets.APPLE_CERTIFICATE_BASE64 }}
CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
# allow provisionally
CSC_FOR_PULL_REQUEST: true
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_BETA_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_BETA_DESKTOP_BASE_URL }}
# Windows 平台构建处理
- name: Build artifact on Windows
if: runner.os == 'Windows'
run: npm run desktop:build
env:
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_BETA_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_BETA_DESKTOP_BASE_URL }}
# 将 TEMP 和 TMP 目录设置到 C 盘
TEMP: C:\temp
TMP: C:\temp
# Linux 平台构建处理
- name: Build artifact on Linux
if: runner.os == 'Linux'
run: npm run desktop:build
env:
APP_URL: http://localhost:3015
DATABASE_URL: 'postgresql://postgres@localhost:5432/postgres'
KEY_VAULTS_SECRET: 'oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE='
NEXT_PUBLIC_DESKTOP_PROJECT_ID: ${{ secrets.UMAMI_BETA_DESKTOP_PROJECT_ID }}
NEXT_PUBLIC_DESKTOP_UMAMI_BASE_URL: ${{ secrets.UMAMI_BETA_DESKTOP_BASE_URL }}
# 处理 macOS latest-mac.yml 重命名 (避免多架构覆盖)
- name: Rename macOS latest-mac.yml for multi-architecture support
if: runner.os == 'macOS'
run: |
cd apps/desktop/release
if [ -f "latest-mac.yml" ]; then
# 使用系统架构检测,与 electron-builder 输出保持一致
SYSTEM_ARCH=$(uname -m)
if [[ "$SYSTEM_ARCH" == "arm64" ]]; then
ARCH_SUFFIX="arm64"
else
ARCH_SUFFIX="x64"
fi
mv latest-mac.yml "latest-mac-${ARCH_SUFFIX}.yml"
echo "✅ Renamed latest-mac.yml to latest-mac-${ARCH_SUFFIX}.yml (detected: $SYSTEM_ARCH)"
ls -la latest-mac-*.yml
else
echo "⚠️ latest-mac.yml not found, skipping rename"
ls -la latest*.yml || echo "No latest*.yml files found"
fi
# 上传构建产物 (工作流处理重命名,不依赖 electron-builder 钩子)
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: release-${{ matrix.os }}
path: |
apps/desktop/release/latest*
apps/desktop/release/*.dmg*
apps/desktop/release/*.zip*
apps/desktop/release/*.exe*
apps/desktop/release/*.AppImage
apps/desktop/release/*.deb*
apps/desktop/release/*.snap*
apps/desktop/release/*.rpm*
apps/desktop/release/*.tar.gz*
retention-days: 5
# 合并 macOS 多架构 latest-mac.yml 文件
merge-mac-files:
needs: [build, version]
name: Merge macOS Release Files
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
# 下载所有平台的构建产物
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: release
pattern: release-*
merge-multiple: true
# 列出下载的构建产物
- name: List downloaded artifacts
run: ls -R release
# 仅为该步骤在脚本目录安装 yaml 单包,避免安装整个 monorepo 依赖
- name: Install yaml only for merge step
run: |
cd scripts/electronWorkflow
# 在脚本目录创建最小 package.json,防止 bun 向上寻找根 package.json
if [ ! -f package.json ]; then
echo '{"name":"merge-mac-release","private":true}' > package.json
fi
bun add --no-save yaml@2.8.1
# 合并 macOS YAML 文件 (使用 bun 运行 JavaScript)
- name: Merge latest-mac.yml files
run: bun run scripts/electronWorkflow/mergeMacReleaseFiles.js
# 上传合并后的构建产物
- name: Upload artifacts with merged macOS files
uses: actions/upload-artifact@v4
with:
name: merged-release
path: release/
retention-days: 1
# 发布所有平台构建产物
publish-release:
needs: [merge-mac-files]
name: Publish Beta Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# 下载合并后的构建产物
- name: Download merged artifacts
uses: actions/download-artifact@v4
with:
name: merged-release
path: release
# 列出所有构建产物
- name: List final artifacts
run: ls -R release
# 将构建产物上传到现有 release (现在包含合并后的 latest-mac.yml)
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name }}
files: |
release/latest*
release/*.dmg*
release/*.zip*
release/*.exe*
release/*.AppImage
release/*.deb*
release/*.snap*
release/*.rpm*
release/*.tar.gz*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+17 -7
View File
@@ -11,19 +11,29 @@ jobs:
services:
postgres:
image: pgvector/pgvector:pg16
image: paradedb/paradedb:latest
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
token: ${{ secrets.GH_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
@@ -33,8 +43,8 @@ jobs:
- name: Lint
run: bun run lint
- name: Test Server Coverage
run: bun run test-server:coverage
- name: Test Database Coverage
run: bun run --filter @lobechat/database test
env:
DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
DATABASE_DRIVER: node
@@ -43,8 +53,8 @@ jobs:
S3_PUBLIC_DOMAIN: https://example.com
APP_URL: https://home.com
- name: Test App Coverage
run: bun run test-app:coverage
- name: Test App
run: bun run test-app
- name: Release
run: bun run release
@@ -0,0 +1,27 @@
name: Database Schema Visualization CI
on:
push:
branches:
- main
paths:
- 'docs/development/database-schema.dbml'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: sync database schema to dbdocs
env:
DBDOCS_TOKEN: ${{ secrets.DBDOCS_TOKEN }}
run: npm run db:visualize
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
if: ${{ github.event.repository.fork }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Clean issue notice
uses: actions-cool/issues-helper@v3
+149 -29
View File
@@ -2,52 +2,111 @@ name: Test CI
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
# Package tests - using each package's own test script
test-intenral-packages:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- file-loaders
- prompts
- model-runtime
- web-crawler
- electron-server-ipc
- utils
- context-engine
- agent-runtime
services:
postgres:
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
ports:
- 5432:5432
name: Test package ${{ matrix.package }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v1
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Lint
run: bun run lint
- name: Test ${{ matrix.package }} package with coverage
run: bun run --filter @lobechat/${{ matrix.package }} test:coverage
- name: Test Server Coverage
run: bun run test-server:coverage
env:
DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
DATABASE_DRIVER: node
NEXT_PUBLIC_SERVICE_MODE: server
KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
S3_PUBLIC_DOMAIN: https://example.com
APP_URL: https://home.com
- name: Upload Server coverage to Codecov
- name: Upload ${{ matrix.package }} coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/server/lcov.info
flags: server
files: ./packages/${{ matrix.package }}/coverage/lcov.info
flags: packages/${{ matrix.package }}
test-packages:
runs-on: ubuntu-latest
strategy:
matrix:
package: [model-bank]
name: Test package ${{ matrix.package }}
steps:
- uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Test ${{ matrix.package }} package with coverage
run: bun run --filter ${{ matrix.package }} test:coverage
- name: Upload ${{ matrix.package }} coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/${{ matrix.package }}/coverage/lcov.info
flags: packages/${{ matrix.package }}
# App tests
test-website:
name: Test Website
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Test App Coverage
run: bun run test-app:coverage
@@ -58,3 +117,64 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/app/lcov.info
flags: app
test-databsae:
name: Test Database
runs-on: ubuntu-latest
services:
postgres:
image: paradedb/paradedb:latest
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v5
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- name: Install bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ secrets.BUN_VERSION }}
- name: Install deps
run: bun i
- name: Lint
run: bun run lint
- name: Test Client DB
run: bun run --filter @lobechat/database test:client-db
env:
KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
S3_PUBLIC_DOMAIN: https://example.com
APP_URL: https://home.com
- name: Test Coverage
run: bun run --filter @lobechat/database test:coverage
env:
DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
DATABASE_DRIVER: node
NEXT_PUBLIC_SERVICE_MODE: server
KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
S3_PUBLIC_DOMAIN: https://example.com
APP_URL: https://home.com
- name: Upload Database coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/database/coverage/lcov.info
flags: database
-19
View File
@@ -1,19 +0,0 @@
name: Wiki Sync
on:
workflow_dispatch:
push:
paths:
- 'contributing/**'
branches:
- main
jobs:
update-wiki:
runs-on: ubuntu-latest
name: Wiki sync
steps:
- uses: OrlovM/Wiki-Action@v1
with:
path: 'contributing'
token: ${{ secrets.GH_TOKEN }}
+100 -52
View File
@@ -1,71 +1,119 @@
# Gitignore for LobeHub
################################################################
# general
# System files
.DS_Store
.idea
.vscode
.history
.temp
.env.local
venv
temp
tmp
Thumbs.db
ehthumbs.db
Desktop.ini
# dependencies
node_modules
# Linux/Ubuntu system files
*~
*.swp
*.swo
.fuse_hidden*
.directory
.Trash-*
.nfs*
.gvfs-fuse-daemon-*
# IDE and editors
.idea/
*.sublime-*
.history/
.windsurfrules
*.code-workspace
.vscode/sessions.json
# Temporary files
.temp/
temp/
tmp/
*.tmp
*.temp
*.log
*.cache
.cache/
# Environment files
.env
.env.local
.env*.local
.env.development
venv/
.venv/
# Dependencies
node_modules/
*.lock
package-lock.json
bun.lockb
.pnpm-store/
# ci
coverage
.coverage
# Build outputs
dist/
es/
lib/
.next/
logs/
test-output/
*.tsbuildinfo
next-env.d.ts
# Framework specific
# Umi
.umi/
.umi-production/
.umi-test/
.dumi/tmp*/
# Vercel
.vercel/
# Testing and CI
coverage/
.coverage/
.nyc_output/
.eslintcache
.stylelintcache
# production
dist
es
lib
logs
test-output
# umi
.umi
.umi-production
.umi-test
.dumi/tmp*
# husky
.husky/prepare-commit-msg
# misc
# add other ignore file below
# local env files
.env*.local
# vercel
.vercel
# typescript
*.tsbuildinfo
next-env.d.ts
.next
.env
public/*.js
public/sitemap.xml
public/sitemap-index.xml
bun.lockb
sitemap*.xml
robots.txt
# Service Worker
# Serwist
public/sw*
public/swe-worker*
# Generated files
public/*.js
public/sitemap.xml
public/sitemap-index.xml
sitemap*.xml
robots.txt
# Git hooks
.husky/prepare-commit-msg
# Documents and media
*.patch
*.pdf
# Cloud service keys
vertex-ai-key.json
.pnpm-store
# AI coding tools
.local/
.claude/
.mcp.json
CLAUDE.local.md
# MCP tools
.serena/**
# Misc
./packages/lobe-ui
*.ppt*
*.doc*
*.xls*
prd
GEMINI.md
+2 -1
View File
@@ -24,7 +24,8 @@ module.exports = defineConfig({
'fa-IR',
],
temperature: 0,
modelName: 'gpt-4o-mini',
saveImmediately: true,
modelName: 'gpt-4.1-mini',
experimental: {
jsonMode: true,
},
+4
View File
@@ -1,8 +1,12 @@
lockfile=false
resolution-mode=highest
ignore-workspace-root-check=true
enable-pre-post-scripts=true
# Load dotenv files for all the npm scripts
node-options="--require dotenv-expand/config"
public-hoist-pattern[]=*@umijs/lint*
public-hoist-pattern[]=*changelog*
public-hoist-pattern[]=*commitlint*
+1 -1
View File
@@ -1 +1 @@
lts/iron
lts/jod
-1
View File
@@ -5,7 +5,6 @@
.DS_Store
.editorconfig
.idea
.vscode
.history
.temp
.env.local
+39
View File
@@ -0,0 +1,39 @@
# Stylelintignore for LobeHub
################################################################
# dependencies
node_modules
# ci
coverage
.coverage
# production
dist
es
lib
logs
# framework specific
.next
.umi
.umi-production
.umi-test
.dumi/tmp*
# temporary directories
tmp
temp
.temp
.local
docs/.local
# cache directories
.cache
# AI coding tools directories
.claude
.serena
# MCP tools
/.serena/**
+13
View File
@@ -0,0 +1,13 @@
{
"recommendations": [
"Anthropic.claude-code",
"dbaeumer.vscode-eslint",
"jrr997.antd-docs",
"seatonjiang.gitmoji-vscode",
"styled-components.vscode-styled-components",
"stylelint.vscode-stylelint",
"unifiedjs.vscode-mdx",
"unifiedjs.vscode-remark",
"vitest.explorer",
]
}
+95
View File
@@ -0,0 +1,95 @@
{
"editor.codeActionsOnSave": {
"source.addMissingImports": "explicit",
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit"
},
"editor.formatOnSave": true,
// don't show errors, but fix when save and git pre commit
"eslint.rules.customizations": [
{ "rule": "import/order", "severity": "off" },
{ "rule": "prettier/prettier", "severity": "off" },
{ "rule": "react/jsx-sort-props", "severity": "off" },
{ "rule": "sort-keys-fix/sort-keys-fix", "severity": "off" },
{ "rule": "typescript-sort-keys/interface", "severity": "off" }
],
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
// support mdx
"mdx"
],
"npm.packageManager": "pnpm",
"search.exclude": {
"**/node_modules": true,
// useless to search this big folder
"locales": true
},
"stylelint.validate": [
"css",
"postcss",
// make stylelint work with tsx antd-style css template string
"typescriptreact"
],
"vitest.maximumConfigs": 20,
"workbench.editor.customLabels.patterns": {
"**/app/**/[[]*[]]/[[]*[]]/page.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • page component",
"**/app/**/[[]*[]]/page.tsx": "${dirname(1)}/${dirname} • page component",
"**/app/**/page.tsx": "${dirname} • page component",
"**/app/**/[[]*[]]/[[]*[]]/layout.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • page layout",
"**/app/**/[[]*[]]/layout.tsx": "${dirname(1)}/${dirname} • page layout",
"**/app/**/layout.tsx": "${dirname} • page layout",
"**/app/**/[[]*[]]/[[]*[]]/default.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • slot default",
"**/app/**/[[]*[]]/default.tsx": "${dirname(1)}/${dirname} • slot default",
"**/app/**/default.tsx": "${dirname} • slot default",
"**/app/**/[[]*[]]/[[]*[]]/error.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • error component",
"**/app/**/[[]*[]]/error.tsx": "${dirname(1)}/${dirname} • error component",
"**/app/**/error.tsx": "${dirname} • error component",
"**/app/**/[[]*[]]/[[]*[]]/loading.tsx": "${dirname(2)}/${dirname(1)}/${dirname} • loading component",
"**/app/**/[[]*[]]/loading.tsx": "${dirname(1)}/${dirname} • loading component",
"**/app/**/loading.tsx": "${dirname} • loading component",
"**/src/**/route.ts": "${dirname(1)}/${dirname} • route",
"**/src/**/index.tsx": "${dirname} • component",
"**/packages/database/src/repositories/*/index.ts": "${dirname} • db repository",
"**/packages/database/src/models/*.ts": "${filename} • db model",
"**/packages/database/src/schemas/*.ts": "${filename} • db schema",
"**/src/services/*.ts": "${filename} • service",
"**/src/services/*/client.ts": "${dirname} • client service",
"**/src/services/*/server.ts": "${dirname} • server service",
"**/src/store/*/action.ts": "${dirname} • action",
"**/src/store/*/slices/*/action.ts": "${dirname(2)}/${dirname} • action",
"**/src/store/*/slices/*/actions/*.ts": "${dirname(1)}/${dirname}/${filename} • action",
"**/src/store/*/initialState.ts": "${dirname} • state",
"**/src/store/*/slices/*/initialState.ts": "${dirname(2)}/${dirname} • state",
"**/src/store/*/selectors.ts": "${dirname} • selectors",
"**/src/store/*/slices/*/selectors.ts": "${dirname(2)}/${dirname} • selectors",
"**/src/store/*/reducer.ts": "${dirname} • reducer",
"**/src/store/*/slices/*/reducer.ts": "${dirname(2)}/${dirname} • reducer",
"**/src/config/modelProviders/*.ts": "${filename} • provider",
"**/packages/model-bank/src/aiModels/*.ts": "${filename} • model",
"**/packages/model-runtime/src/*/index.ts": "${dirname} • runtime",
"**/src/server/services/*/index.ts": "${dirname} • server/service",
"**/src/server/routers/lambda/*.ts": "${filename} • lambda",
"**/src/server/routers/async/*.ts": "${filename} • async",
"**/src/server/routers/edge/*.ts": "${filename} • edge",
"**/src/locales/default/*.ts": "${filename} • locale",
"**/index.*": "${dirname}/${filename}.${extname}"
}
}
+130
View File
@@ -0,0 +1,130 @@
# LobeChat Development Guidelines
This document serves as a comprehensive guide for all team members when developing LobeChat.
## Tech Stack
Built with modern technologies:
- **Frontend**: Next.js 15, React 19, TypeScript
- **UI Components**: Ant Design, @lobehub/ui, antd-style
- **State Management**: Zustand, SWR
- **Database**: PostgreSQL, PGLite, Drizzle ORM
- **Testing**: Vitest, Testing Library
- **Package Manager**: pnpm (monorepo structure)
- **Build Tools**: Next.js (Turbopack in dev, Webpack in prod)
## Directory Structure
The project follows a well-organized monorepo structure:
- `apps/` - Main applications
- `packages/` - Shared packages and libraries
- `src/` - Main source code
- `docs/` - Documentation
- `.cursor/rules/` - Development rules and guidelines
## Development Workflow
### Git Workflow
- Use rebase for git pull
- Git commit messages should prefix with gitmoji
- Git branch name format: `username/feat/feature-name`
- Use `.github/PULL_REQUEST_TEMPLATE.md` for PR descriptions
### Package Management
- Use `pnpm` as the primary package manager
- Use `bun` to run npm scripts
- Use `bunx` to run executable npm packages
- Navigate to specific packages using `cd packages/<package-name>`
### Code Style Guidelines
#### TypeScript
- Follow strict TypeScript practices for type safety and code quality
- Use proper type annotations
- Prefer interfaces over types for object shapes
- Use generics for reusable components
#### React Components
- Use functional components with hooks
#### Database Schema
- Follow Drizzle ORM naming conventions
- Use plural snake_case for table names
- Implement proper foreign key relationships
- Follow the schema style guide
### Testing Strategy
**Required Rule**: `testing-guide/testing-guide.mdc`
**Commands**:
- Web: `bunx vitest run --silent='passed-only' '[file-path-pattern]'`
- Packages: `cd packages/[package-name] && bunx vitest run --silent='passed-only' '[file-path-pattern]'`
**Important Notes**:
- Wrap file paths in single quotes to avoid shell expansion
- Never run `bun run test` - this runs all tests and takes ~10 minutes
- If a test fails twice, stop and ask for help
- Always add tests for new code
### Type Checking
- Use `bun run type-check` to check for type errors
- Ensure all TypeScript errors are resolved before committing
### Internationalization
- Add new keys to `src/locales/default/namespace.ts`
- Translate at least `zh-CN` files for development preview
- Use hierarchical nested objects, not flat keys
- Don't run `pnpm i18n` manually (handled by CI)
## Available Development Rules
The project provides comprehensive rules in `.cursor/rules/` directory:
### Core Development
- `backend-architecture.mdc` - Three-layer architecture and data flow
- `react-component.mdc` - Component patterns and UI library usage
- `drizzle-schema-style-guide.mdc` - Database schema conventions
- `define-database-model.mdc` - Model templates and CRUD patterns
- `i18n.mdc` - Internationalization workflow
### State Management & UI
- `zustand-slice-organization.mdc` - Store organization patterns
- `zustand-action-patterns.mdc` - Action implementation patterns
- `packages/react-layout-kit.mdc` - Flex layout component usage
### Testing & Quality
- `testing-guide/testing-guide.mdc` - Comprehensive testing strategy
- `code-review.mdc` - Code review process and standards
### Desktop (Electron)
- `desktop-feature-implementation.mdc` - Main/renderer process patterns
- `desktop-local-tools-implement.mdc` - Tool integration workflow
- `desktop-menu-configuration.mdc` - Menu system configuration
- `desktop-window-management.mdc` - Window management patterns
- `desktop-controller-tests.mdc` - Controller testing guide
## Best Practices
- **Conservative for existing code, modern approaches for new features**
- **Code Language**: Use Chinese for files with existing Chinese comments, American English for new files
- Always add tests for new functionality
- Follow the established patterns in the codebase
- Use proper error handling and logging
- Implement proper accessibility features
- Consider internationalization from the start
+14537
View File
File diff suppressed because it is too large Load Diff
+100
View File
@@ -0,0 +1,100 @@
# CLAUDE.md
This document serves as a shared guideline for all team members when using Claude Code in this repository.
## Tech Stack
read @.cursor/rules/project-introduce.mdc
## Directory Structure
read @.cursor/rules/project-structure.mdc
## Development
### Git Workflow
- use rebase for git pull
- git commit message should prefix with gitmoji
- git branch name format example: tj/feat/feature-name
- use .github/PULL_REQUEST_TEMPLATE.md to generate pull request description
### Package Management
This repository adopts a monorepo structure.
- Use `pnpm` as the primary package manager for dependency management
- Use `bun` to run npm scripts
- Use `bunx` to run executable npm packages
### TypeScript Code Style Guide
see @.cursor/rules/typescript.mdc
### Modify Code Rules
- **Code Language**:
- For files with existing Chinese comments: Continue using Chinese to maintain consistency
- For new files or files without Chinese comments: MUST use American English.
- eg: new react tsx file and new test file
- Conservative for existing code, modern approaches for new features
### Testing
Testing work follows the Rule-Aware Task Execution system above.
- **Required Rule**: `testing-guide/testing-guide.mdc`
- **Command**:
- web: `bunx vitest run --silent='passed-only' '[file-path-pattern]'`
- packages(eg: database): `cd packages/database && bunx vitest run --silent='passed-only' '[file-path-pattern]'`
**Important**:
- wrapped the file path in single quotes to avoid shell expansion
- Never run `bun run test` etc to run tests, this will run all tests and cost about 10mins
- If try to fix the same test twice, but still failed, stop and ask for help.
### Typecheck
- use `bun run type-check` to check type errors.
### i18n
- **Keys**: Add to `src/locales/default/namespace.ts`
- **Dev**: Translate `locales/zh-CN/namespace.json` locale file only for preview
- DON'T run `pnpm i18n`, let CI auto handle it
## Rules Index
Some useful rules of this project. Read them when needed.
**IMPORTANT**: All rule files referenced in this document are located in the `.cursor/rules/` directory. Throughout this document, rule files are referenced by their filename only for brevity.
### 📋 Complete Rule Files
**Core Development**
- `backend-architecture.mdc` - Three-layer architecture, data flow
- `react-component.mdc` - antd-style, Lobe UI usage
- `drizzle-schema-style-guide.mdc` - Schema naming, patterns
- `define-database-model.mdc` - Model templates, CRUD patterns
- `i18n.mdc` - Internationalization workflow
**State & UI**
- `zustand-slice-organization.mdc` - Store organization
- `zustand-action-patterns.mdc` - Action patterns
- `packages/react-layout-kit.mdc` - flex layout components usage
**Testing & Quality**
- `testing-guide/testing-guide.mdc` - Test strategy, mock patterns
- `code-review.mdc` - Review process and standards
**Desktop (Electron)**
- `desktop-feature-implementation.mdc` - Main/renderer process patterns
- `desktop-local-tools-implement.mdc` - Tool integration workflow
- `desktop-menu-configuration.mdc` - App menu, context menu, tray menu
- `desktop-window-management.mdc` - Window creation, state management, multi-window
- `desktop-controller-tests.mdc` - Controller unit testing guide
+57 -20
View File
@@ -1,5 +1,5 @@
## Set global build ENV
ARG NODEJS_VERSION="22"
ARG NODEJS_VERSION="24"
## Base image for all building stages
FROM node:${NODEJS_VERSION}-slim AS base
@@ -44,18 +44,17 @@ ARG NEXT_PUBLIC_POSTHOG_KEY
ARG NEXT_PUBLIC_ANALYTICS_UMAMI
ARG NEXT_PUBLIC_UMAMI_SCRIPT_URL
ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
ARG FEATURE_FLAGS
ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}"
# Make the middleware rewrite through local as default
# refs: https://github.com/lobehub/lobe-chat/issues/5876
ENV MIDDLEWARE_REWRITE_THROUGH_LOCAL="1"
ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}" \
FEATURE_FLAGS="${FEATURE_FLAGS}"
# Sentry
ENV NEXT_PUBLIC_SENTRY_DSN="${NEXT_PUBLIC_SENTRY_DSN}" \
SENTRY_ORG="" \
SENTRY_PROJECT=""
ENV APP_URL="http://app.com"
# Posthog
ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="${NEXT_PUBLIC_ANALYTICS_POSTHOG}" \
NEXT_PUBLIC_POSTHOG_HOST="${NEXT_PUBLIC_POSTHOG_HOST}" \
@@ -67,12 +66,13 @@ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
# Node
ENV NODE_OPTIONS="--max-old-space-size=8192"
ENV NODE_OPTIONS="--max-old-space-size=6144"
WORKDIR /app
COPY package.json ./
COPY package.json pnpm-workspace.yaml ./
COPY .npmrc ./
COPY packages ./packages
RUN \
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
@@ -90,10 +90,7 @@ RUN \
# Use pnpm for corepack
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
# Install the dependencies
&& pnpm i \
# Add sharp dependencies
&& mkdir -p /deps \
&& pnpm add sharp --prefix /deps
&& pnpm i
COPY . .
@@ -105,13 +102,9 @@ FROM busybox:latest AS app
COPY --from=base /distroless/ /
COPY --from=builder /app/public /app/public
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder /app/.next/standalone /app/
COPY --from=builder /app/.next/static /app/.next/static
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
# Copy server launcher
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
@@ -133,7 +126,11 @@ ENV NODE_ENV="production" \
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
NODE_EXTRA_CA_CERTS="" \
NODE_TLS_REJECT_UNAUTHORIZED="" \
SSL_CERT_DIR="/etc/ssl/certs/ca-certificates.crt"
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
# Make the middleware rewrite through local as default
# refs: https://github.com/lobehub/lobe-chat/issues/5876
ENV MIDDLEWARE_REWRITE_THROUGH_LOCAL="1"
# set hostname to localhost
ENV HOSTNAME="0.0.0.0" \
@@ -153,6 +150,8 @@ ENV \
AI21_API_KEY="" AI21_MODEL_LIST="" \
# Ai360
AI360_API_KEY="" AI360_MODEL_LIST="" \
# AiHubMix
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
# Anthropic
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
# Amazon Bedrock
@@ -163,6 +162,8 @@ ENV \
BAICHUAN_API_KEY="" BAICHUAN_MODEL_LIST="" \
# Cloudflare
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
@@ -183,14 +184,24 @@ ENV \
HUNYUAN_API_KEY="" HUNYUAN_MODEL_LIST="" \
# InternLM
INTERNLM_API_KEY="" INTERNLM_MODEL_LIST="" \
# Jina
JINA_API_KEY="" JINA_MODEL_LIST="" JINA_PROXY_URL="" \
# Minimax
MINIMAX_API_KEY="" MINIMAX_MODEL_LIST="" \
# Mistral
MISTRAL_API_KEY="" MISTRAL_MODEL_LIST="" \
# ModelScope
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
# Moonshot
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
# Nebius
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
# NewAPI
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
# Novita
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
# Nvidia NIM
NVIDIA_API_KEY="" NVIDIA_MODEL_LIST="" NVIDIA_PROXY_URL="" \
# Ollama
ENABLED_OLLAMA="" OLLAMA_MODEL_LIST="" OLLAMA_PROXY_URL="" \
# OpenAI
@@ -199,14 +210,22 @@ ENV \
OPENROUTER_API_KEY="" OPENROUTER_MODEL_LIST="" \
# Perplexity
PERPLEXITY_API_KEY="" PERPLEXITY_MODEL_LIST="" PERPLEXITY_PROXY_URL="" \
# PPIO
PPIO_API_KEY="" PPIO_MODEL_LIST="" \
# Qiniu
QINIU_API_KEY="" QINIU_MODEL_LIST="" QINIU_PROXY_URL="" \
# Qwen
QWEN_API_KEY="" QWEN_MODEL_LIST="" QWEN_PROXY_URL="" \
# SambaNova
SAMBANOVA_API_KEY="" SAMBANOVA_MODEL_LIST="" \
# Search1API
SEARCH1API_API_KEY="" SEARCH1API_MODEL_LIST="" \
# SenseNova
SENSENOVA_API_KEY="" SENSENOVA_MODEL_LIST="" \
# SiliconCloud
SILICONCLOUD_API_KEY="" SILICONCLOUD_MODEL_LIST="" SILICONCLOUD_PROXY_URL="" \
# Spark
SPARK_API_KEY="" SPARK_MODEL_LIST="" \
SPARK_API_KEY="" SPARK_MODEL_LIST="" SPARK_PROXY_URL="" SPARK_SEARCH_MODE="" \
# Stepfun
STEPFUN_API_KEY="" STEPFUN_MODEL_LIST="" \
# Taichu
@@ -215,14 +234,32 @@ ENV \
TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
# Upstage
UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
# v0 (Vercel)
V0_API_KEY="" V0_MODEL_LIST="" \
# vLLM
VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
# Wenxin
WENXIN_API_KEY="" WENXIN_MODEL_LIST="" \
# xAI
XAI_API_KEY="" XAI_MODEL_LIST="" XAI_PROXY_URL="" \
# Xinference
XINFERENCE_API_KEY="" XINFERENCE_MODEL_LIST="" XINFERENCE_PROXY_URL="" \
# 01.AI
ZEROONE_API_KEY="" ZEROONE_MODEL_LIST="" \
# Zhipu
ZHIPU_API_KEY="" ZHIPU_MODEL_LIST=""
ZHIPU_API_KEY="" ZHIPU_MODEL_LIST="" \
# Tencent Cloud
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
# Infini-AI
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
# 302.AI
AI302_API_KEY="" AI302_MODEL_LIST="" \
# FAL
FAL_API_KEY="" FAL_MODEL_LIST="" \
# BFL
BFL_API_KEY="" BFL_MODEL_LIST="" \
# Vercel AI Gateway
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
USER nextjs
+63 -21
View File
@@ -1,5 +1,5 @@
## Set global build ENV
ARG NODEJS_VERSION="22"
ARG NODEJS_VERSION="24"
## Base image for all building stages
FROM node:${NODEJS_VERSION}-slim AS base
@@ -46,12 +46,10 @@ ARG NEXT_PUBLIC_POSTHOG_KEY
ARG NEXT_PUBLIC_ANALYTICS_UMAMI
ARG NEXT_PUBLIC_UMAMI_SCRIPT_URL
ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
ARG FEATURE_FLAGS
ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}"
# Make the middleware rewrite through local as default
# refs: https://github.com/lobehub/lobe-chat/issues/5876
ENV MIDDLEWARE_REWRITE_THROUGH_LOCAL="1"
ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}" \
FEATURE_FLAGS="${FEATURE_FLAGS}"
ENV NEXT_PUBLIC_SERVICE_MODE="${NEXT_PUBLIC_SERVICE_MODE:-server}" \
NEXT_PUBLIC_ENABLE_NEXT_AUTH="${NEXT_PUBLIC_ENABLE_NEXT_AUTH:-1}" \
@@ -76,12 +74,13 @@ ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
# Node
ENV NODE_OPTIONS="--max-old-space-size=8192"
ENV NODE_OPTIONS="--max-old-space-size=6144"
WORKDIR /app
COPY package.json ./
COPY package.json pnpm-workspace.yaml ./
COPY .npmrc ./
COPY packages ./packages
RUN \
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
@@ -100,9 +99,11 @@ RUN \
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
# Install the dependencies
&& pnpm i \
# Add sharp and db migration dependencies
# Add db migration dependencies
&& mkdir -p /deps \
&& pnpm add sharp pg drizzle-orm --prefix /deps
&& cd /deps \
&& pnpm init \
&& pnpm add pg drizzle-orm
COPY . .
@@ -114,23 +115,20 @@ FROM busybox:latest AS app
COPY --from=base /distroless/ /
COPY --from=builder /app/public /app/public
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder /app/.next/standalone /app/
COPY --from=builder /app/.next/static /app/.next/static
# Copy database migrations
COPY --from=builder /app/packages/database/migrations /app/migrations
COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs
COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js
# copy dependencies
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
COPY --from=builder /deps/node_modules/pg /app/node_modules/pg
COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm
# Copy database migrations
COPY --from=builder /app/src/database/migrations /app/migrations
COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs
COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js
# Copy server launcher
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
@@ -151,7 +149,11 @@ ENV NODE_ENV="production" \
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
NODE_EXTRA_CA_CERTS="" \
NODE_TLS_REJECT_UNAUTHORIZED="" \
SSL_CERT_DIR="/etc/ssl/certs/ca-certificates.crt"
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
# Make the middleware rewrite through local as default
# refs: https://github.com/lobehub/lobe-chat/issues/5876
ENV MIDDLEWARE_REWRITE_THROUGH_LOCAL="1"
# set hostname to localhost
ENV HOSTNAME="0.0.0.0" \
@@ -190,6 +192,8 @@ ENV \
AI21_API_KEY="" AI21_MODEL_LIST="" \
# Ai360
AI360_API_KEY="" AI360_MODEL_LIST="" \
# AiHubMix
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
# Anthropic
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
# Amazon Bedrock
@@ -200,6 +204,8 @@ ENV \
BAICHUAN_API_KEY="" BAICHUAN_MODEL_LIST="" \
# Cloudflare
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
@@ -220,14 +226,24 @@ ENV \
HUNYUAN_API_KEY="" HUNYUAN_MODEL_LIST="" \
# InternLM
INTERNLM_API_KEY="" INTERNLM_MODEL_LIST="" \
# Jina
JINA_API_KEY="" JINA_MODEL_LIST="" JINA_PROXY_URL="" \
# Minimax
MINIMAX_API_KEY="" MINIMAX_MODEL_LIST="" \
# Mistral
MISTRAL_API_KEY="" MISTRAL_MODEL_LIST="" \
# ModelScope
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
# Moonshot
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
# Nebius
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
# NewAPI
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
# Novita
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
# Nvidia NIM
NVIDIA_API_KEY="" NVIDIA_MODEL_LIST="" NVIDIA_PROXY_URL="" \
# Ollama
ENABLED_OLLAMA="" OLLAMA_MODEL_LIST="" OLLAMA_PROXY_URL="" \
# OpenAI
@@ -236,14 +252,22 @@ ENV \
OPENROUTER_API_KEY="" OPENROUTER_MODEL_LIST="" \
# Perplexity
PERPLEXITY_API_KEY="" PERPLEXITY_MODEL_LIST="" PERPLEXITY_PROXY_URL="" \
# PPIO
PPIO_API_KEY="" PPIO_MODEL_LIST="" \
# Qiniu
QINIU_API_KEY="" QINIU_MODEL_LIST="" QINIU_PROXY_URL="" \
# Qwen
QWEN_API_KEY="" QWEN_MODEL_LIST="" QWEN_PROXY_URL="" \
# SambaNova
SAMBANOVA_API_KEY="" SAMBANOVA_MODEL_LIST="" \
# Search1API
SEARCH1API_API_KEY="" SEARCH1API_MODEL_LIST="" \
# SenseNova
SENSENOVA_API_KEY="" SENSENOVA_MODEL_LIST="" \
# SiliconCloud
SILICONCLOUD_API_KEY="" SILICONCLOUD_MODEL_LIST="" SILICONCLOUD_PROXY_URL="" \
# Spark
SPARK_API_KEY="" SPARK_MODEL_LIST="" \
SPARK_API_KEY="" SPARK_MODEL_LIST="" SPARK_PROXY_URL="" SPARK_SEARCH_MODE="" \
# Stepfun
STEPFUN_API_KEY="" STEPFUN_MODEL_LIST="" \
# Taichu
@@ -252,14 +276,32 @@ ENV \
TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
# Upstage
UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
# v0 (Vercel)
V0_API_KEY="" V0_MODEL_LIST="" \
# vLLM
VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
# Wenxin
WENXIN_API_KEY="" WENXIN_MODEL_LIST="" \
# xAI
XAI_API_KEY="" XAI_MODEL_LIST="" XAI_PROXY_URL="" \
# Xinference
XINFERENCE_API_KEY="" XINFERENCE_MODEL_LIST="" XINFERENCE_PROXY_URL="" \
# 01.AI
ZEROONE_API_KEY="" ZEROONE_MODEL_LIST="" \
# Zhipu
ZHIPU_API_KEY="" ZHIPU_MODEL_LIST=""
ZHIPU_API_KEY="" ZHIPU_MODEL_LIST="" \
# Tencent Cloud
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
# Infini-AI
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
# 302.AI
AI302_API_KEY="" AI302_MODEL_LIST="" \
# FAL
FAL_API_KEY="" FAL_MODEL_LIST="" \
# BFL
BFL_API_KEY="" BFL_MODEL_LIST="" \
# Vercel AI Gateway
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
USER nextjs
+268
View File
@@ -0,0 +1,268 @@
## Set global build ENV
ARG NODEJS_VERSION="24"
## Base image for all building stages
FROM node:${NODEJS_VERSION}-slim AS base
ARG USE_CN_MIRROR
ENV DEBIAN_FRONTEND="noninteractive"
RUN \
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
if [ "${USE_CN_MIRROR:-false}" = "true" ]; then \
sed -i "s/deb.debian.org/mirrors.ustc.edu.cn/g" "/etc/apt/sources.list.d/debian.sources"; \
fi \
# Add required package
&& apt update \
&& apt install ca-certificates proxychains-ng -qy \
# Prepare required package to distroless
&& mkdir -p /distroless/bin /distroless/etc /distroless/etc/ssl/certs /distroless/lib \
# Copy proxychains to distroless
&& cp /usr/lib/$(arch)-linux-gnu/libproxychains.so.4 /distroless/lib/libproxychains.so.4 \
&& cp /usr/lib/$(arch)-linux-gnu/libdl.so.2 /distroless/lib/libdl.so.2 \
&& cp /usr/bin/proxychains4 /distroless/bin/proxychains \
&& cp /etc/proxychains4.conf /distroless/etc/proxychains4.conf \
# Copy node to distroless
&& cp /usr/lib/$(arch)-linux-gnu/libstdc++.so.6 /distroless/lib/libstdc++.so.6 \
&& cp /usr/lib/$(arch)-linux-gnu/libgcc_s.so.1 /distroless/lib/libgcc_s.so.1 \
&& cp /usr/local/bin/node /distroless/bin/node \
# Copy CA certificates to distroless
&& cp /etc/ssl/certs/ca-certificates.crt /distroless/etc/ssl/certs/ca-certificates.crt \
# Cleanup temp files
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
## Builder image, install all the dependencies and build the app
FROM base AS builder
ARG USE_CN_MIRROR
ARG NEXT_PUBLIC_BASE_PATH
ARG NEXT_PUBLIC_SENTRY_DSN
ARG NEXT_PUBLIC_ANALYTICS_POSTHOG
ARG NEXT_PUBLIC_POSTHOG_HOST
ARG NEXT_PUBLIC_POSTHOG_KEY
ARG NEXT_PUBLIC_ANALYTICS_UMAMI
ARG NEXT_PUBLIC_UMAMI_SCRIPT_URL
ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
ARG FEATURE_FLAGS
ENV NEXT_PUBLIC_CLIENT_DB="pglite"
ENV NEXT_PUBLIC_BASE_PATH="${NEXT_PUBLIC_BASE_PATH}" \
FEATURE_FLAGS="${FEATURE_FLAGS}"
# Sentry
ENV NEXT_PUBLIC_SENTRY_DSN="${NEXT_PUBLIC_SENTRY_DSN}" \
SENTRY_ORG="" \
SENTRY_PROJECT=""
ENV APP_URL="http://app.com"
# Posthog
ENV NEXT_PUBLIC_ANALYTICS_POSTHOG="${NEXT_PUBLIC_ANALYTICS_POSTHOG}" \
NEXT_PUBLIC_POSTHOG_HOST="${NEXT_PUBLIC_POSTHOG_HOST}" \
NEXT_PUBLIC_POSTHOG_KEY="${NEXT_PUBLIC_POSTHOG_KEY}"
# Umami
ENV NEXT_PUBLIC_ANALYTICS_UMAMI="${NEXT_PUBLIC_ANALYTICS_UMAMI}" \
NEXT_PUBLIC_UMAMI_SCRIPT_URL="${NEXT_PUBLIC_UMAMI_SCRIPT_URL}" \
NEXT_PUBLIC_UMAMI_WEBSITE_ID="${NEXT_PUBLIC_UMAMI_WEBSITE_ID}"
# Node
ENV NODE_OPTIONS="--max-old-space-size=6144"
WORKDIR /app
COPY package.json pnpm-workspace.yaml ./
COPY .npmrc ./
COPY packages ./packages
RUN \
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
if [ "${USE_CN_MIRROR:-false}" = "true" ]; then \
export SENTRYCLI_CDNURL="https://npmmirror.com/mirrors/sentry-cli"; \
npm config set registry "https://registry.npmmirror.com/"; \
echo 'canvas_binary_host_mirror=https://npmmirror.com/mirrors/canvas' >> .npmrc; \
fi \
# Set the registry for corepack
&& export COREPACK_NPM_REGISTRY=$(npm config get registry | sed 's/\/$//') \
# Update corepack to latest (nodejs/corepack#612)
&& npm i -g corepack@latest \
# Enable corepack
&& corepack enable \
# Use pnpm for corepack
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
# Install the dependencies
&& pnpm i
COPY . .
# run build standalone for docker version
RUN npm run build:docker
## Application image, copy all the files for production
FROM busybox:latest AS app
COPY --from=base /distroless/ /
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder /app/.next/standalone /app/
# Copy server launcher
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
RUN \
# Add nextjs:nodejs to run the app
addgroup -S -g 1001 nodejs \
&& adduser -D -G nodejs -H -S -h /app -u 1001 nextjs \
# Set permission for nextjs:nodejs
&& chown -R nextjs:nodejs /app /etc/proxychains4.conf
## Production image, copy all the files and run next
FROM scratch
# Copy all the files from app, set the correct permission for prerender cache
COPY --from=app / /
ENV NODE_ENV="production" \
NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \
NODE_EXTRA_CA_CERTS="" \
NODE_TLS_REJECT_UNAUTHORIZED="" \
SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
# Make the middleware rewrite through local as default
# refs: https://github.com/lobehub/lobe-chat/issues/5876
ENV MIDDLEWARE_REWRITE_THROUGH_LOCAL="1"
# set hostname to localhost
ENV HOSTNAME="0.0.0.0" \
PORT="3210"
# General Variables
ENV ACCESS_CODE="" \
API_KEY_SELECT_MODE="" \
DEFAULT_AGENT_CONFIG="" \
SYSTEM_AGENT="" \
FEATURE_FLAGS="" \
PROXY_URL=""
# Model Variables
ENV \
# AI21
AI21_API_KEY="" AI21_MODEL_LIST="" \
# Ai360
AI360_API_KEY="" AI360_MODEL_LIST="" \
# AiHubMix
AIHUBMIX_API_KEY="" AIHUBMIX_MODEL_LIST="" \
# Anthropic
ANTHROPIC_API_KEY="" ANTHROPIC_MODEL_LIST="" ANTHROPIC_PROXY_URL="" \
# Amazon Bedrock
AWS_ACCESS_KEY_ID="" AWS_SECRET_ACCESS_KEY="" AWS_REGION="" AWS_BEDROCK_MODEL_LIST="" \
# Azure OpenAI
AZURE_API_KEY="" AZURE_API_VERSION="" AZURE_ENDPOINT="" AZURE_MODEL_LIST="" \
# Baichuan
BAICHUAN_API_KEY="" BAICHUAN_MODEL_LIST="" \
# Cloudflare
CLOUDFLARE_API_KEY="" CLOUDFLARE_BASE_URL_OR_ACCOUNT_ID="" CLOUDFLARE_MODEL_LIST="" \
# Cohere
COHERE_API_KEY="" COHERE_MODEL_LIST="" COHERE_PROXY_URL="" \
# DeepSeek
DEEPSEEK_API_KEY="" DEEPSEEK_MODEL_LIST="" \
# Fireworks AI
FIREWORKSAI_API_KEY="" FIREWORKSAI_MODEL_LIST="" \
# Gitee AI
GITEE_AI_API_KEY="" GITEE_AI_MODEL_LIST="" \
# GitHub
GITHUB_TOKEN="" GITHUB_MODEL_LIST="" \
# Google
GOOGLE_API_KEY="" GOOGLE_MODEL_LIST="" GOOGLE_PROXY_URL="" \
# Groq
GROQ_API_KEY="" GROQ_MODEL_LIST="" GROQ_PROXY_URL="" \
# Higress
HIGRESS_API_KEY="" HIGRESS_MODEL_LIST="" HIGRESS_PROXY_URL="" \
# HuggingFace
HUGGINGFACE_API_KEY="" HUGGINGFACE_MODEL_LIST="" HUGGINGFACE_PROXY_URL="" \
# Hunyuan
HUNYUAN_API_KEY="" HUNYUAN_MODEL_LIST="" \
# InternLM
INTERNLM_API_KEY="" INTERNLM_MODEL_LIST="" \
# Jina
JINA_API_KEY="" JINA_MODEL_LIST="" JINA_PROXY_URL="" \
# Minimax
MINIMAX_API_KEY="" MINIMAX_MODEL_LIST="" \
# Mistral
MISTRAL_API_KEY="" MISTRAL_MODEL_LIST="" \
# ModelScope
MODELSCOPE_API_KEY="" MODELSCOPE_MODEL_LIST="" MODELSCOPE_PROXY_URL="" \
# Moonshot
MOONSHOT_API_KEY="" MOONSHOT_MODEL_LIST="" MOONSHOT_PROXY_URL="" \
# Nebius
NEBIUS_API_KEY="" NEBIUS_MODEL_LIST="" NEBIUS_PROXY_URL="" \
# NewAPI
NEWAPI_API_KEY="" NEWAPI_PROXY_URL="" \
# Novita
NOVITA_API_KEY="" NOVITA_MODEL_LIST="" \
# Nvidia NIM
NVIDIA_API_KEY="" NVIDIA_MODEL_LIST="" NVIDIA_PROXY_URL="" \
# Ollama
ENABLED_OLLAMA="" OLLAMA_MODEL_LIST="" OLLAMA_PROXY_URL="" \
# OpenAI
OPENAI_API_KEY="" OPENAI_MODEL_LIST="" OPENAI_PROXY_URL="" \
# OpenRouter
OPENROUTER_API_KEY="" OPENROUTER_MODEL_LIST="" \
# Perplexity
PERPLEXITY_API_KEY="" PERPLEXITY_MODEL_LIST="" PERPLEXITY_PROXY_URL="" \
# Qiniu
QINIU_API_KEY="" QINIU_MODEL_LIST="" QINIU_PROXY_URL="" \
# Qwen
QWEN_API_KEY="" QWEN_MODEL_LIST="" QWEN_PROXY_URL="" \
# SambaNova
SAMBANOVA_API_KEY="" SAMBANOVA_MODEL_LIST="" \
# SenseNova
SENSENOVA_API_KEY="" SENSENOVA_MODEL_LIST="" \
# SiliconCloud
SILICONCLOUD_API_KEY="" SILICONCLOUD_MODEL_LIST="" SILICONCLOUD_PROXY_URL="" \
# Spark
SPARK_API_KEY="" SPARK_MODEL_LIST="" SPARK_PROXY_URL="" SPARK_SEARCH_MODE="" \
# Stepfun
STEPFUN_API_KEY="" STEPFUN_MODEL_LIST="" \
# Taichu
TAICHU_API_KEY="" TAICHU_MODEL_LIST="" \
# TogetherAI
TOGETHERAI_API_KEY="" TOGETHERAI_MODEL_LIST="" \
# Upstage
UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
# v0 (Vercel)
V0_API_KEY="" V0_MODEL_LIST="" \
# vLLM
VLLM_API_KEY="" VLLM_MODEL_LIST="" VLLM_PROXY_URL="" \
# Wenxin
WENXIN_API_KEY="" WENXIN_MODEL_LIST="" \
# xAI
XAI_API_KEY="" XAI_MODEL_LIST="" XAI_PROXY_URL="" \
# Xinference
XINFERENCE_API_KEY="" XINFERENCE_MODEL_LIST="" XINFERENCE_PROXY_URL="" \
# 01.AI
ZEROONE_API_KEY="" ZEROONE_MODEL_LIST="" \
# Zhipu
ZHIPU_API_KEY="" ZHIPU_MODEL_LIST="" \
# Tencent Cloud
TENCENT_CLOUD_API_KEY="" TENCENT_CLOUD_MODEL_LIST="" \
# Infini-AI
INFINIAI_API_KEY="" INFINIAI_MODEL_LIST="" \
# 302.AI
AI302_API_KEY="" AI302_MODEL_LIST="" \
# FAL
FAL_API_KEY="" FAL_MODEL_LIST="" \
# BFL
BFL_API_KEY="" BFL_MODEL_LIST="" \
# Vercel AI Gateway
VERCELAIGATEWAY_API_KEY="" VERCELAIGATEWAY_MODEL_LIST=""
USER nextjs
EXPOSE 3210/tcp
ENTRYPOINT ["/bin/node"]
CMD ["/app/startServer.js"]
+2 -16
View File
@@ -1,10 +1,10 @@
Apache License Version 2.0
LobeHub Community License
Copyright (c) 2024/06/17 - current LobeHub LLC. All rights reserved.
----------
From 1.0, LobeChat is licensed under the Apache License 2.0, with the following additional conditions:
From 1.0, LobeChat is licensed under the LobeHub Community License, based on Apache License 2.0 with the following additional conditions:
1. The commercial usage of LobeChat:
@@ -22,17 +22,3 @@ Please contact hello@lobehub.com by email to inquire about licensing matters.
b. Your contributed code may be used for commercial purposes, including but not limited to its cloud edition.
Apart from the specific conditions mentioned above, all other rights and restrictions follow the Apache License 2.0. Detailed information about the Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0.
----------
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-844
View File
@@ -1,844 +0,0 @@
<div align="center"><a name="readme-top"></a>
[![][image-banner]][vercel-link]
# Lobe Chat
オープンソースのモダンデザイン ChatGPT/LLMs UI / フレームワーク。<br/>
音声合成、マルチモーダル、拡張可能な([function call][docs-functionc-call])プラグインシステムをサポート。<br/>
プライベートな OpenAI ChatGPT/Claude/Gemini/Groq/Ollama チャットアプリケーションをワンクリックで**無料**でデプロイ。
[English](./README.md) · [繁體中文](./README.zh-TW.md) · [简体中文](./README.zh-CN.md) · **日本語** · [公式サイト][official-site] · [変更履歴][changelog] · [ドキュメント][docs] · [ブログ][blog] · [フィードバック][github-issues-link]
<!-- SHIELD GROUP -->
[![][github-release-shield]][github-release-link]
[![][docker-release-shield]][docker-release-link]
[![][vercel-shield]][vercel-link]
[![][discord-shield]][discord-link]<br/>
[![][codecov-shield]][codecov-link]
[![][github-action-test-shield]][github-action-test-link]
[![][github-action-release-shield]][github-action-release-link]
[![][github-releasedate-shield]][github-releasedate-link]<br/>
[![][github-contributors-shield]][github-contributors-link]
[![][github-forks-shield]][github-forks-link]
[![][github-stars-shield]][github-stars-link]
[![][github-issues-shield]][github-issues-link]
[![][github-license-shield]][github-license-link]<br>
[![][sponsor-shield]][sponsor-link]
**LobeChat リポジトリを共有**
[![][share-x-shield]][share-x-link]
[![][share-telegram-shield]][share-telegram-link]
[![][share-whatsapp-shield]][share-whatsapp-link]
[![][share-reddit-shield]][share-reddit-link]
[![][share-weibo-shield]][share-weibo-link]
[![][share-mastodon-shield]][share-mastodon-link]
[![][share-linkedin-shield]][share-linkedin-link]
<sup>新しい時代の思考と創造を先導します。あなたのために、スーパー個人のために作られました。</sup>
[![][github-trending-shield]][github-trending-url]
[![][image-overview]][vercel-link]
</div>
<details>
<summary><kbd>目次</kbd></summary>
#### TOC
- [👋🏻 はじめに & コミュニティに参加](#-はじめに--コミュニティに参加)
- [✨ 特徴](#-特徴)
- [`1` マルチモデルサービスプロバイダーのサポート](#1-マルチモデルサービスプロバイダーのサポート)
- [`2` ローカル大規模言語モデル (LLM) のサポート](#2-ローカル大規模言語モデル-llm-のサポート)
- [`3` モデルの視覚認識](#3-モデルの視覚認識)
- [`4` TTS & STT 音声会話](#4-tts--stt-音声会話)
- [`5` テキストから画像生成](#5-テキストから画像生成)
- [`6` プラグインシステム (Function Calling)](#6-プラグインシステム-function-calling)
- [`7` エージェントマーケット (GPTs)](#7-エージェントマーケット-gpts)
- [`8` ローカル / リモートデータベースのサポート](#8-ローカル--リモートデータベースのサポート)
- [`9` マルチユーザ管理のサポート](#9-マルチユーザ管理のサポート)
- [`10` プログレッシブウェブアプリ (PWA)](#10-プログレッシブウェブアプリ-pwa)
- [`11` モバイルデバイスの適応](#11-モバイルデバイスの適応)
- [`12` カスタムテーマ](#12-カスタムテーマ)
- [`*` その他の特徴](#-その他の特徴)
- [⚡️ パフォーマンス](#-パフォーマンス)
- [🛳 自己ホスティング](#-自己ホスティング)
- [`A` Vercel、Zeabur、Sealos でのデプロイ](#a-vercelzeabursealos-でのデプロイ)
- [`B` Docker でのデプロイ](#b-docker-でのデプロイ)
- [環境変数](#環境変数)
- [📦 エコシステム](#-エコシステム)
- [🧩 プラグイン](#-プラグイン)
- [⌨️ ローカル開発](#-ローカル開発)
- [🤝 コントリビュート](#-コントリビュート)
- [❤️ スポンサー](#-スポンサー)
- [🔗 その他の製品](#-その他の製品)
####
<br/>
</details>
## 👋🏻 はじめに & コミュニティに参加
私たちは、AIGC のためのモダンデザインコンポーネントとツールを提供することを目指すデザインエンジニアのグループです。
ブートストラッピングアプローチを採用することで、開発者とユーザーに対してよりオープンで透明性のある、使いやすい製品エコシステムを提供することを目指しています。
ユーザーやプロの開発者にとって、LobeHub はあなたの AI エージェントの遊び場となるでしょう。LobeChat は現在アクティブに開発中であり、遭遇した[問題][issues-link]についてのフィードバックを歓迎します。
| [![][vercel-shield-badge]][vercel-link] | インストールや登録は不要です!私たちのウェブサイトにアクセスして、直接体験してください。 |
| :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |
| [![][discord-shield-badge]][discord-link] | 私たちの Discord コミュニティに参加しましょう!ここでは、LobeHub の開発者や他の熱心なユーザーとつながることができます。 |
> \[!IMPORTANT]
>
> **スターを付けてください**。GitHub からのすべてのリリース通知を遅延なく受け取ることができます~⭐️
[![][image-star]][github-stars-link]
<details>
<summary><kbd>スター履歴</kbd></summary>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&theme=dark&type=Date">
<img width="100%" src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date">
</picture>
</details>
## ✨ 特徴
[![][image-feat-privoder]][docs-feat-provider]
### `1` [マルチモデルサービスプロバイダーのサポート][docs-feat-provider]
LobeChat の継続的な開発において、AI 会話サービスを提供する際のモデルサービスプロバイダーの多様性がコミュニティのニーズを満たすために重要であることを深く理解しています。そのため、単一のモデルサービスプロバイダーに限定せず、複数のモデルサービスプロバイダーをサポートすることで、ユーザーにより多様で豊富な会話の選択肢を提供しています。
このようにして、LobeChat は異なるユーザーのニーズにより柔軟に対応し、開発者にも幅広い選択肢を提供します。
#### サポートされているモデルサービスプロバイダー
以下のモデルサービスプロバイダーをサポートしています:
<!-- PROVIDER LIST -->
- **[OpenAI](https://lobechat.com/discover/provider/openai)**: OpenAI は、世界をリードする人工知能研究機関であり、GPT シリーズなどのモデルを開発し、自然言語処理の最前線を推進しています。OpenAI は、革新と効率的な AI ソリューションを通じて、さまざまな業界を変革することに取り組んでいます。彼らの製品は、顕著な性能と経済性を持ち、研究、ビジネス、革新アプリケーションで広く使用されています。
- **[Ollama](https://lobechat.com/discover/provider/ollama)**: Ollama が提供するモデルは、コード生成、数学演算、多言語処理、対話インタラクションなどの分野を広くカバーし、企業向けおよびローカライズされた展開の多様なニーズに対応しています。
- **[Anthropic](https://lobechat.com/discover/provider/anthropic)**: Anthropic は、人工知能の研究と開発に特化した企業であり、Claude 3.5 Sonnet、Claude 3 Sonnet、Claude 3 Opus、Claude 3 Haiku などの先進的な言語モデルを提供しています。これらのモデルは、知性、速度、コストの理想的なバランスを実現しており、企業向けのワークロードから迅速な応答が求められるさまざまなアプリケーションシーンに適しています。Claude 3.5 Sonnet は最新のモデルであり、複数の評価で優れたパフォーマンスを示し、高いコストパフォーマンスを維持しています。
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock は、Amazon AWS が提供するサービスで、企業に先進的な AI 言語モデルと視覚モデルを提供することに特化しています。そのモデルファミリーには、Anthropic の Claude シリーズや Meta の Llama 3.1 シリーズなどが含まれ、軽量から高性能までのさまざまな選択肢を提供し、テキスト生成、対話、画像処理などの多様なタスクをサポートし、異なる規模とニーズの企業アプリケーションに適しています。
- **[Google](https://lobechat.com/discover/provider/google)**: Google の Gemini シリーズは、Google DeepMind によって開発された最先端で汎用的な AI モデルであり、多モーダル設計に特化しており、テキスト、コード、画像、音声、動画のシームレスな理解と処理をサポートします。データセンターからモバイルデバイスまでのさまざまな環境に適しており、AI モデルの効率と適用範囲を大幅に向上させています。
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek は、人工知能技術の研究と応用に特化した企業であり、最新のモデル DeepSeek-V2.5 は、汎用対話とコード処理能力を融合させ、人間の好みの整合、ライティングタスク、指示の遵守などの面で顕著な向上を実現しています。
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API は、数千のモデルをさまざまなタスクに対して探索するための迅速かつ無料の方法を提供します。新しいアプリケーションのプロトタイプを作成している場合でも、機械学習の機能を試している場合でも、この API は複数の分野の高性能モデルに即座にアクセスできるようにします。
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter は、OpenAI、Anthropic、LLaMA などのさまざまな最先端の大規模モデルインターフェースを提供するサービスプラットフォームであり、多様な開発と応用のニーズに適しています。ユーザーは、自身のニーズに応じて最適なモデルと価格を柔軟に選択し、AI 体験の向上を支援します。
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: Cloudflare のグローバルネットワーク上で、サーバーレス GPU によって駆動される機械学習モデルを実行します。
- **[GitHub](https://lobechat.com/discover/provider/github)**: GitHub モデルを使用することで、開発者は AI エンジニアになり、業界をリードする AI モデルを使って構築できます。
<details><summary><kbd>See more providers (+26)</kbd></summary>
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI は、さまざまな大規模言語モデルと AI 画像生成の API サービスを提供するプラットフォームであり、柔軟で信頼性が高く、コスト効率に優れています。Llama3、Mistral などの最新のオープンソースモデルをサポートし、生成的 AI アプリケーションの開発に向けた包括的でユーザーフレンドリーかつ自動スケーリングの API ソリューションを提供し、AI スタートアップの急成長を支援します。
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI は、革新的な AI モデルを通じて先進的な性能を実現することに取り組んでおり、迅速なスケーリングサポートや直感的な展開プロセスを含む広範なカスタマイズ能力を提供し、企業のさまざまなニーズに応えています。
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI は、先進的な言語モデルサービスのリーダーであり、機能呼び出しと多モーダル処理に特化しています。最新のモデル Firefunction V2 は Llama-3 に基づいており、関数呼び出し、対話、指示の遵守に最適化されています。視覚言語モデル FireLLaVA-13B は、画像とテキストの混合入力をサポートしています。他の注目すべきモデルには、Llama シリーズや Mixtral シリーズがあり、高効率の多言語指示遵守と生成サポートを提供しています。
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq の LPU 推論エンジンは、最新の独立した大規模言語モデル(LLM)ベンチマークテストで卓越したパフォーマンスを示し、その驚異的な速度と効率で AI ソリューションの基準を再定義しています。Groq は、即時推論速度の代表であり、クラウドベースの展開で良好なパフォーマンスを発揮しています。
- **[Perplexity](https://lobechat.com/discover/provider/perplexity)**: Perplexity は、先進的な対話生成モデルの提供者であり、さまざまな Llama 3.1 モデルを提供し、オンラインおよびオフラインアプリケーションをサポートし、特に複雑な自然言語処理タスクに適しています。
- **[Mistral](https://lobechat.com/discover/provider/mistral)**: Mistral は、先進的な汎用、専門、研究型モデルを提供し、複雑な推論、多言語タスク、コード生成などの分野で広く使用されています。機能呼び出しインターフェースを通じて、ユーザーはカスタム機能を統合し、特定のアプリケーションを実現できます。
- **[Ai21Labs](https://lobechat.com/discover/provider/ai21)**: AI21 Labs は企業向けに基盤モデルと人工知能システムを構築し、生成的人工知能の生産への応用を加速します。
- **[Upstage](https://lobechat.com/discover/provider/upstage)**: Upstage は、さまざまなビジネスニーズに応じた AI モデルの開発に特化しており、Solar LLM や文書 AI を含み、人造一般知能(AGI)の実現を目指しています。Chat API を通じてシンプルな対話エージェントを作成し、機能呼び出し、翻訳、埋め込み、特定分野のアプリケーションをサポートします。
- **[xAI](https://lobechat.com/discover/provider/xai)**: xAI は、人類の科学的発見を加速するための人工知能を構築することに専念している企業です。私たちの使命は、宇宙に対する共通の理解を促進することです。
- **[Qwen](https://lobechat.com/discover/provider/qwen)**: 通義千問は、アリババクラウドが独自に開発した超大規模言語モデルであり、強力な自然言語理解と生成能力を持っています。さまざまな質問に答えたり、文章を創作したり、意見を表現したり、コードを執筆したりすることができ、さまざまな分野で活躍しています。
- **[Wenxin](https://lobechat.com/discover/provider/wenxin)**: 企業向けのワンストップ大規模モデルと AI ネイティブアプリケーションの開発およびサービスプラットフォームで、最も包括的で使いやすい生成的人工知能モデルの開発とアプリケーション開発の全プロセスツールチェーンを提供します。
- **[Hunyuan](https://lobechat.com/discover/provider/hunyuan)**: テンセントが開発した大規模言語モデルであり、強力な中国語の創作能力、複雑な文脈における論理的推論能力、そして信頼性の高いタスク実行能力を備えています。
- **[ZhiPu](https://lobechat.com/discover/provider/zhipu)**: 智谱 AI は、多モーダルおよび言語モデルのオープンプラットフォームを提供し、テキスト処理、画像理解、プログラミング支援など、幅広い AI アプリケーションシーンをサポートしています。
- **[SiliconCloud](https://lobechat.com/discover/provider/siliconcloud)**: SiliconFlow は、AGI を加速させ、人類に利益をもたらすことを目指し、使いやすくコスト効率の高い GenAI スタックを通じて大規模 AI の効率を向上させることに取り組んでいます。
- **[01.AI](https://lobechat.com/discover/provider/zeroone)**: 01.AI は、AI 2.0 時代の人工知能技術に特化し、「人 + 人工知能」の革新と応用を推進し、超強力なモデルと先進的な AI 技術を用いて人類の生産性を向上させ、技術の力を実現します。
- **[Spark](https://lobechat.com/discover/provider/spark)**: 科大訊飛星火大モデルは、多分野、多言語の強力な AI 能力を提供し、先進的な自然言語処理技術を利用して、スマートハードウェア、スマート医療、スマート金融などのさまざまな垂直シーンに適した革新的なアプリケーションを構築します。
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: 商湯日日新は、商湯の強力な基盤支援に基づき、高効率で使いやすい全スタックの大規模モデルサービスを提供します。
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: 階級星辰大モデルは、業界をリードする多モーダルおよび複雑な推論能力を備え、超長文の理解と強力な自律的検索エンジン機能をサポートしています。
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot は、北京月之暗面科技有限公司が提供するオープンプラットフォームであり、さまざまな自然言語処理モデルを提供し、コンテンツ創作、学術研究、スマート推薦、医療診断などの広範な応用分野を持ち、長文処理や複雑な生成タスクをサポートしています。
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: 百川智能は、人工知能大モデルの研究開発に特化した企業であり、そのモデルは国内の知識百科、長文処理、生成創作などの中国語タスクで卓越したパフォーマンスを示し、海外の主流モデルを超えています。百川智能は、業界をリードする多モーダル能力を持ち、複数の権威ある評価で優れたパフォーマンスを示しています。そのモデルには、Baichuan 4、Baichuan 3 Turbo、Baichuan 3 Turbo 128k などが含まれ、異なるアプリケーションシーンに最適化され、高コストパフォーマンスのソリューションを提供しています。
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax は 2021 年に設立された汎用人工知能テクノロジー企業であり、ユーザーと共に知能を共創することに取り組んでいます。MiniMax は、さまざまなモードの汎用大モデルを独自に開発しており、トリリオンパラメータの MoE テキスト大モデル、音声大モデル、画像大モデルを含んでいます。また、海螺 AI などのアプリケーションも展開しています。
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: 大規模モデルの研究と開発ツールチェーンに特化したオープンソース組織です。すべての AI 開発者に対して、高効率で使いやすいオープンプラットフォームを提供し、最先端の大規模モデルとアルゴリズム技術を身近に感じられるようにします。
- **[Higress](https://lobechat.com/discover/provider/higress)**: Higress は、阿里内部で Tengine のリロードが長期接続のビジネスに悪影響を及ぼすことや、gRPC/Dubbo の負荷分散能力が不足している問題を解決するために生まれた、クラウドネイティブな API ゲートウェイです。
- **[Gitee AI](https://lobechat.com/discover/provider/giteeai)**: Gitee AI の Serverless API は、AI 開発者に開梱即使用の大モデル推論 API サービスを提供する。
- **[Taichu](https://lobechat.com/discover/provider/taichu)**: 中科院自動化研究所と武漢人工知能研究院が新世代の多モーダル大モデルを発表し、多輪問答、テキスト創作、画像生成、3D 理解、信号分析などの包括的な問答タスクをサポートし、より強力な認知、理解、創作能力を持ち、新しいインタラクティブな体験を提供します。
- **[360 AI](https://lobechat.com/discover/provider/ai360)**: 360 AI は、360 社が提供する AI モデルとサービスプラットフォームであり、360GPT2 Pro、360GPT Pro、360GPT Turbo、360GPT Turbo Responsibility 8K など、さまざまな先進的な自然言語処理モデルを提供しています。これらのモデルは、大規模なパラメータと多モーダル能力を組み合わせており、テキスト生成、意味理解、対話システム、コード生成などの分野で広く使用されています。柔軟な価格戦略を通じて、360 AI は多様なユーザーのニーズに応え、開発者の統合をサポートし、スマートアプリケーションの革新と発展を促進します。
</details>
> 📊 Total providers: [<kbd>**36**</kbd>](https://lobechat.com/discover/providers)
<!-- PROVIDER LIST -->
同時に、私たちはさらに多くのモデルサービスプロバイダーをサポートする計画を立てており、サービスプロバイダーのライブラリをさらに充実させる予定です。 LobeChat があなたのお気に入りのサービスプロバイダーをサポートすることを希望する場合は、[💬 コミュニティディスカッション](https://github.com/lobehub/lobe-chat/discussions/1284)に参加してください。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-local]][docs-feat-local]
### `2` [ローカル大規模言語モデル (LLM) のサポート][docs-feat-local]
特定のユーザーのニーズに応えるために、LobeChat は[Ollama](https://ollama.ai)に基づいてローカルモデルの使用をサポートしており、ユーザーが自分自身またはサードパーティのモデルを柔軟に使用できるようにしています。
> \[!TIP]
>
> [📘 LobeChat での Ollama の使用][docs-usage-ollama]について詳しくはこちらをご覧ください。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-vision]][docs-feat-vision]
### `3` [モデルの視覚認識][docs-feat-vision]
LobeChat は、OpenAI の最新の視覚認識機能を備えた[`gpt-4-vision`](https://platform.openai.com/docs/guides/vision)モデルをサポートしています。
これは視覚を認識できるマルチモーダルインテリジェンスです。ユーザーは簡単に画像をアップロードしたり、画像をドラッグアンドドロップして対話ボックスに入れることができ、
エージェントは画像の内容を認識し、これに基づいてインテリジェントな会話を行い、よりスマートで多様なチャットシナリオを作成します。
この機能は、新しいインタラクティブな方法を提供し、コミュニケーションがテキストを超えて視覚要素を含むことを可能にします。
日常の使用での画像共有や特定の業界での画像解釈に関係なく、エージェントは優れた会話体験を提供します。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-tts]][docs-feat-tts]
### `4` [TTS & STT 音声会話][docs-feat-tts]
LobeChat は、テキストから音声への変換(Text-to-Speech、TTS)および音声からテキストへの変換(Speech-to-Text、STT)技術をサポートしており、
テキストメッセージを明瞭な音声出力に変換し、ユーザーが実際の人と話しているかのように対話エージェントと対話できるようにします。
ユーザーは、エージェントに適した音声を選択することができます。
さらに、TTS は聴覚学習を好む人や忙しい中で情報を受け取りたい人にとって優れたソリューションを提供します。
LobeChat では、異なる地域や文化的背景のユーザーのニーズに応えるために、さまざまな高品質の音声オプション(OpenAI Audio、Microsoft Edge Speech)を慎重に選択しました。
ユーザーは、個人の好みや特定のシナリオに応じて適切な音声を選択し、パーソナライズされたコミュニケーション体験を得ることができます。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-t2i]][docs-feat-t2i]
### `5` [テキストから画像生成][docs-feat-t2i]
最新のテキストから画像生成技術をサポートし、LobeChat はユーザーがエージェントとの対話中に直接画像作成ツールを呼び出すことができるようになりました。
[`DALL-E 3`](https://openai.com/dall-e-3)、[`MidJourney`](https://www.midjourney.com/)、[`Pollinations`](https://pollinations.ai/)などの AI ツールの能力を活用することで、
エージェントはあなたのアイデアを画像に変えることができます。
これにより、プライベートで没入感のある創造プロセスが可能になり、個人的な対話に視覚的なストーリーテリングをシームレスに統合することができます。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-plugin]][docs-feat-plugin]
### `6` [プラグインシステム (Function Calling)][docs-feat-plugin]
LobeChat のプラグインエコシステムは、そのコア機能の重要な拡張であり、LobeChat アシスタントの実用性と柔軟性を大幅に向上させます。
<video controls src="https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2" muted="false"></video>
プラグインを利用することで、LobeChat アシスタントはリアルタイムの情報を取得して処理することができ、ウェブ情報を検索し、ユーザーに即時かつ関連性の高いニュースを提供することができます。
さらに、これらのプラグインはニュースの集約に限定されず、他の実用的な機能にも拡張できます。たとえば、ドキュメントの迅速な検索、画像の生成、Bilibili、Steam などのさまざまなプラットフォームからのデータの取得、さまざまなサードパーティサービスとの連携などです。
> \[!TIP]
>
> [📘 プラグインの使用][docs-usage-plugin]について詳しくはこちらをご覧ください。
<!-- PLUGIN LIST -->
| 最近追加 | 説明 |
| ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| [ウェブ](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | ページを読み取り分析して、Google の結果から包括的な回答を提供するスマートウェブ検索。<br/>`ウェブ` `検索` |
| [MintbaseSearch](https://lobechat.com/discover/plugin/mintbasesearch)<br/><sup>By **mintbase** on **2024-12-31**</sup> | NEAR プロトコル上の任意の NFT データを見つける。<br/>`暗号通貨` `nft` |
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | BingApi を基にインターネットから情報を検索<br/>`bingsearch` |
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2024-12-22**</sup> | 株を分析し、包括的なリアルタイムの投資データと分析を取得します。<br/>`stock` |
> 📊 Total plugins: [<kbd>**49**</kbd>](https://lobechat.com/discover/plugins)
<!-- PLUGIN LIST -->
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-agent]][docs-feat-agent]
### `7` [エージェントマーケット (GPTs)][docs-feat-agent]
LobeChat エージェントマーケットプレイスでは、クリエイターが多くの優れたエージェントを発見できる活気に満ちた革新的なコミュニティを提供しています。
これらのエージェントは、仕事のシナリオで重要な役割を果たすだけでなく、学習プロセスでも大いに便利です。
私たちのマーケットプレイスは、単なるショーケースプラットフォームではなく、協力の場でもあります。ここでは、誰もが自分の知恵を貢献し、開発したエージェントを共有できます。
> \[!TIP]
>
> [🤖/🏪 エージェントを提出][submit-agents-link]することで、簡単にエージェント作品をプラットフォームに提出できます。
> 重要なのは、LobeChat が高度な自動化国際化(i18n)ワークフローを確立しており、
> あなたのエージェントを複数の言語バージョンにシームレスに翻訳できることです。
> これにより、ユーザーがどの言語を話していても、エージェントを障害なく体験できます。
> \[!IMPORTANT]
>
> すべてのユーザーがこの成長するエコシステムに参加し、エージェントの反復と最適化に参加することを歓迎します。
> 一緒に、より面白く、実用的で革新的なエージェントを作成し、エージェントの多様性と実用性をさらに豊かにしましょう。
<!-- AGENT LIST -->
| 最近追加 | 説明 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [命理研究者](https://lobechat.com/discover/assistant/fate-researcher)<br/><sup>By **[Jack980506](https://github.com/Jack980506)** on **2025-02-06**</sup> | 八字命に精通<br/>`命理学` `八字` `伝統文化` |
| [言語の魅力学習メンター](https://lobechat.com/discover/assistant/bad-language-helper)<br/><sup>By **[Guducat](https://github.com/Guducat)** on **2025-02-06**</sup> | 言語の魅力と多様な応答を教えるのが得意<br/>`言語学習` `対話例` |
| [Allinone](https://lobechat.com/discover/assistant/allinone-v-1)<br/><sup>By **[AXuanCreator](https://github.com/AXuanCreator)** on **2025-02-06**</sup> | 革新・未来・卓越<br/>`プログラミング` `低コスト` `簡潔な回答` |
| [ディープシンカー](https://lobechat.com/discover/assistant/deep-thinker)<br/><sup>By **[prolapser](https://github.com/prolapser)** on **2025-02-06**</sup> | 深い人間のような思考と分析。<br/>`思考` `推論` `反省` `考え` `思索` |
> 📊 Total agents: [<kbd>**485**</kbd> ](https://lobechat.com/discover/assistants)
<!-- AGENT LIST -->
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-database]][docs-feat-database]
### `8` [ローカル / リモートデータベースのサポート][docs-feat-database]
LobeChat は、サーバーサイドデータベースとローカルデータベースの両方の使用をサポートしています。ニーズに応じて、適切なデプロイメントソリューションを選択できます:
- **ローカルデータベース**:データとプライバシー保護に対するより多くの制御を希望するユーザーに適しています。LobeChat は CRDTConflict-Free Replicated Data Type)技術を使用してマルチデバイス同期を実現しています。これはシームレスなデータ同期体験を提供することを目的とした実験的な機能です。
- **サーバーサイドデータベース**:より便利なユーザー体験を希望するユーザーに適しています。LobeChat は PostgreSQL をサーバーサイドデータベースとしてサポートしています。サーバーサイドデータベースの設定方法についての詳細なドキュメントは、[サーバーサイドデータベースの設定](https://lobehub.com/docs/self-hosting/advanced/server-database)をご覧ください。
どのデータベースを選択しても、LobeChat は優れたユーザー体験を提供します。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-auth]][docs-feat-auth]
### `9` [マルチユーザ管理のサポート][docs-feat-auth]
LobeChat はマルチユーザ管理をサポートし、異なるニーズに応じて 2 つの主要なユーザ認証および管理ソリューションを提供します:
- **next-auth**LobeChat は、複数の認証方法(OAuth、メールログイン、資格情報ログインなど)をサポートする柔軟で強力な認証ライブラリである`next-auth`を統合しています。`next-auth`を使用すると、ユーザの登録、ログイン、セッション管理、ソーシャルログインなどの機能を簡単に実装し、ユーザデータのセキュリティとプライバシーを確保できます。
- **Clerk**:より高度なユーザ管理機能が必要なユーザ向けに、LobeChat は`Clerk`もサポートしています。`Clerk`は、現代的なユーザ管理プラットフォームであり、多要素認証(MFA)、ユーザプロファイル管理、ログイン活動の監視など、より豊富な機能を提供します。`Clerk`を使用すると、より高いセキュリティと柔軟性を得ることができ、複雑なユーザ管理ニーズに簡単に対応できます。
どのユーザ管理ソリューションを選択しても、LobeChat は優れたユーザー体験と強力な機能サポートを提供します。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-pwa]][docs-feat-pwa]
### `10` [プログレッシブウェブアプリ (PWA)][docs-feat-pwa]
私たちは、今日のマルチデバイス環境でユーザーにシームレスな体験を提供することの重要性を深く理解しています。
そのため、プログレッシブウェブアプリケーション([PWA](https://support.google.com/chrome/answer/9658361))技術を採用しました。
これは、ウェブアプリケーションをネイティブアプリに近い体験に引き上げるモダンなウェブ技術です。
PWA を通じて、LobeChat はデスクトップとモバイルデバイスの両方で高度に最適化されたユーザー体験を提供しながら、その軽量で高性能な特性を維持します。
視覚的および感覚的には、インターフェースを慎重に設計し、ネイティブアプリと区別がつかないようにし、
スムーズなアニメーション、レスポンシブレイアウト、および異なるデバイスの画面解像度に適応するようにしています。
> \[!NOTE]
>
> PWA のインストールプロセスに慣れていない場合は、以下の手順に従って LobeChat をデスクトップアプリケーション(モバイルデバイスにも適用)として追加できます:
>
> - コンピュータで Chrome または Edge ブラウザを起動します。
> - LobeChat のウェブページにアクセスします。
> - アドレスバーの右上にある<kbd>インストール</kbd>アイコンをクリックします。
> - 画面の指示に従って PWA のインストールを完了します。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-mobile]][docs-feat-mobile]
### `11` [モバイルデバイスの適応][docs-feat-mobile]
モバイルデバイスのユーザー体験を向上させるために、一連の最適化設計を行いました。現在、モバイルユーザー体験のバージョンを繰り返し改善しています。ご意見やアイデアがある場合は、GitHub Issues や Pull Requests を通じてフィードバックをお寄せください。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-theme]][docs-feat-theme]
### `12` [カスタムテーマ][docs-feat-theme]
デザインエンジニアリング指向のアプリケーションとして、LobeChat はユーザーの個別体験を重視しており、
柔軟で多様なテーマモードを導入しています。日中のライトモードと夜間のダークモードを含みます。
テーマモードの切り替えに加えて、さまざまな色のカスタマイズオプションを提供し、ユーザーが自分の好みに応じてアプリケーションのテーマカラーを調整できるようにしています。
落ち着いたダークブルー、活気のあるピーチピンク、プロフェッショナルなグレーホワイトなど、LobeChat では自分のスタイルに合った色の選択肢を見つけることができます。
> \[!TIP]
>
> デフォルトの設定は、ユーザーのシステムのカラーモードをインテリジェントに認識し、テーマを自動的に切り替えて、オペレーティングシステムと一貫した視覚体験を提供します。
> 詳細を手動で制御するのが好きなユーザーには、直感的な設定オプションと、会話シナリオに対してチャットバブルモードとドキュメントモードの選択肢を提供します。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
### `*` その他の特徴
これらの特徴に加えて、LobeChat は基本的な技術基盤も優れています:
- [x] 💨 **迅速なデプロイ**:Vercel プラットフォームまたは Docker イメージを使用して、ワンクリックでデプロイを行い、1 分以内にプロセスを完了できます。複雑な設定は不要です。
- [x] 🌐 **カスタムドメイン**:ユーザーが独自のドメインを持っている場合、プラットフォームにバインドして、どこからでも対話エージェントに迅速にアクセスできます。
- [x] 🔒 **プライバシー保護**:すべてのデータはユーザーのブラウザにローカルに保存され、ユーザーのプライバシーを保護します。
- [x] 💎 **洗練された UI デザイン**:慎重に設計されたインターフェースで、エレガントな外観とスムーズなインタラクションを提供します。ライトモードとダークモードをサポートし、モバイルフレンドリーです。PWA サポートにより、よりネイティブに近い体験を提供します。
- [x] 🗣️ **スムーズな会話体験**:流れるような応答により、スムーズな会話体験を提供します。Markdown レンダリングを完全にサポートし、コードのハイライト、LaTex の数式、Mermaid のフローチャートなどを含みます。
> ✨ LobeChat の進化に伴い、さらに多くの機能が追加されます。
---
> \[!NOTE]
>
> 今後の[ロードマップ][github-project-link]計画は、Projects セクションで確認できます。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ⚡️ パフォーマンス
> \[!NOTE]
>
> 完全なレポートのリストは[📘 Lighthouse レポート][docs-lighthouse]で確認できます。
| デスクトップ | モバイル |
| :-------------------------------------------: | :------------------------------------------: |
| ![][chat-desktop] | ![][chat-mobile] |
| [📑 Lighthouse レポート][chat-desktop-report] | [📑 Lighthouse レポート][chat-mobile-report] |
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🛳 自己ホスティング
LobeChat は、Vercel と[Docker イメージ][docker-release-link]を使用した自己ホスティングバージョンを提供しています。これにより、事前の知識がなくても数分で独自のチャットボットをデプロイできます。
> \[!TIP]
>
> [📘 独自の LobeChat を構築する][docs-self-hosting]について詳しくはこちらをご覧ください。
### `A` Vercel、Zeabur、Sealos でのデプロイ
このサービスを Vercel または Zeabur でデプロイしたい場合は、以下の手順に従ってください:
- [OpenAI API Key](https://platform.openai.com/account/api-keys)を準備します。
- 下のボタンをクリックしてデプロイを開始します:GitHub アカウントで直接ログインし、環境変数セクションに`OPENAI_API_KEY`(必須)と`ACCESS_CODE`(推奨)を入力します。
- デプロイが完了したら、使用を開始できます。
- カスタムドメインをバインド(オプション):Vercel が割り当てたドメインの DNS は一部の地域で汚染されているため、カスタムドメインをバインドすることで直接接続できます。
<div align="center">
| Vercel でデプロイ | Zeabur でデプロイ | Sealos でデプロイ |
| :-------------------------------------: | :---------------------------------------------------------: | :---------------------------------------------------------: |
| [![][deploy-button-image]][deploy-link] | [![][deploy-on-zeabur-button-image]][deploy-on-zeabur-link] | [![][deploy-on-sealos-button-image]][deploy-on-sealos-link] |
</div>
#### フォーク後
フォーク後、リポジトリのアクションページで他のアクションを無効にし、アップストリーム同期アクションのみを保持します。
#### 更新を維持
README のワンクリックデプロイ手順に従って独自のプロジェクトをデプロイした場合、「更新が利用可能です」というプロンプトが常に表示されることがあります。これは、Vercel がデフォルトで新しいプロジェクトを作成し、フォークしないため、更新を正確に検出できないためです。
> \[!TIP]
>
> [📘 最新バージョンと自動同期][docs-upstream-sync]の手順に従って再デプロイすることをお勧めします。
<br/>
### `B` Docker でのデプロイ
[![][docker-release-shield]][docker-release-link]
[![][docker-size-shield]][docker-size-link]
[![][docker-pulls-shield]][docker-pulls-link]
LobeChat サービスを独自のプライベートデバイスにデプロイするための Docker イメージを提供しています。以下のコマンドを使用して LobeChat サービスを開始します:
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
```
> \[!TIP]
>
> OpenAI サービスをプロキシ経由で使用する必要がある場合は、`OPENAI_PROXY_URL`環境変数を使用してプロキシアドレスを設定できます:
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
```
> \[!NOTE]
>
> Docker を使用したデプロイの詳細な手順については、[📘 Docker デプロイガイド][docs-docker]を参照してください。
<br/>
### 環境変数
このプロジェクトは、環境変数で設定される追加の構成項目を提供します:
| 環境変数 | 必須 | 説明 | 例 |
| ------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `OPENAI_API_KEY` | はい | これは OpenAI アカウントページで申請した API キーです | `sk-xxxxxx...xxxxxx` |
| `OPENAI_PROXY_URL` | いいえ | OpenAI インターフェイスプロキシを手動で設定する場合、この設定項目を使って、デフォルトの OpenAI API リクエストベース URL を上書きすることができます。 | `https://api.chatanywhere.cn` または `https://aihubmix.com/v1` <br/>デフォルトの値は<br/>`https://api.openai.com/v1` |
| `ACCESS_CODE` | いいえ | このサービスにアクセスするためのパスワードを追加します。漏洩を避けるために長いパスワードを設定することができます。この値にカンマが含まれる場合は、パスワードの配列となります。 | `awCTe)re_r74` または `rtrt_ewee3@09!` または `code1,code2,code3` |
| `OPENAI_MODEL_LIST` | いいえ | モデルリストをコントロールするために使用します。モデルを追加するには `+` を、モデルを非表示にするには `-` を、モデルの表示名をカンマ区切りでカスタマイズするには `model_name=display_name` を使用します。 | `qwen-7b-chat,+glm-6b,-gpt-3.5-turbo` |
> \[!NOTE]
>
> 環境変数の完全なリストは [📘環境変数][docs-env-var] にあります
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 📦 エコシステム
| NPM | リポジトリ | 説明 | バージョン |
| --------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------- |
| [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | AIGC ウェブアプリケーション構築専用のオープンソース UI コンポーネントライブラリ。 | [![][lobe-ui-shield]][lobe-ui-link] |
| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 人気の AI/LLM モデルブランドの SVG ロゴとアイコン集。 | [![][lobe-icons-shield]][lobe-icons-link] |
| [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | 高品質で信頼性の高い TTS/STT React Hooks ライブラリ | [![][lobe-tts-shield]][lobe-tts-link] |
| [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub の ESlint、Stylelint、Commitlint、Prettier、Remark、Semantic Release の設定。 | [![][lobe-lint-shield]][lobe-lint-link] |
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🧩 プラグイン
プラグインは、LobeChat の[関数呼び出し][docs-functionc-call]機能を拡張する手段を提供します。プラグインを使用して、新しい関数呼び出しやメッセージ結果の新しいレンダリング方法を導入することができます。プラグイン開発に興味がある方は、Wiki の[📘プラグイン開発ガイド][docs-plugin-dev]を参照してください。
- [lobe-chat-plugins][lobe-chat-plugins]: これは LobeChat のプラグインインデックスです。このリポジトリから index.json にアクセスし、LobeChat で利用可能なプラグインのリストをユーザに表示します。
- [chat-plugin-template][chat-plugin-template]: これは LobeChat プラグイン開発用のプラグインテンプレートです。
- [@lobehub/chat-plugin-sdk][chat-plugin-sdk]: LobeChat プラグイン SDK は、Lobe Chat 用の優れたチャットプラグインの作成を支援します。
- [@lobehub/chat-plugins-gateway][chat-plugins-gateway]: LobeChat Plugins Gateway は、LobeChat プラグインのためのゲートウェイを提供するバックエンドサービスです。このサービスは Vercel を使用してデプロイされます。プライマリ API の POST /api/v1/runner は Edge Function としてデプロイされます。
> \[!NOTE]
>
> プラグインシステムは現在大規模な開発中です。詳しくは以下の issue をご覧ください:
>
> - [x] [**プラグインフェイズ 1**](https://github.com/lobehub/lobe-chat/issues/73): プラグインを本体から分離し、メンテナンスのためにプラグインを独立したリポジトリに分割し、プラグインの動的ロードを実現する。
> - [x] [**プラグインフェイズ 2**](https://github.com/lobehub/lobe-chat/issues/97): プラグイン使用の安全性と安定性、より正確な異常状態の提示、プラグインアーキテクチャの保守性、開発者フレンドリー。
> - [x] [**プラグインフェイズ 3**](https://github.com/lobehub/lobe-chat/issues/149): より高度で包括的なカスタマイズ機能、プラグイン認証のサポート、サンプル。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ⌨️ ローカル開発
GitHub Codespaces を使ってオンライン開発ができます:
[![][codespaces-shield]][codespaces-link]
Or clone it for local development:
```fish
$ git clone https://github.com/lobehub/lobe-chat.git
$ cd lobe-chat
$ pnpm install
$ pnpm dev
```
より詳しい情報をお知りになりたい方は、[📘開発ガイド][docs-dev-guide]をご覧ください。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🤝 コントリビュート
どのようなタイプのコントリビュートも大歓迎です;コードを提供することに興味がある方は、GitHub の [Issues][github-issues-link] や [Projects][github-project-link] をチェックして、あなたの力をお貸しください。
> \[!TIP]
>
> 私たちは技術主導のフォーラムを創設し、知識の交流とアイデアの交換を促進することで、相互のインスピレーションと協力的なイノベーションを生み出すことを目指しています。
>
> LobeChat の改善にご協力ください。製品設計のフィードバックやユーザー体験に関するディスカッションを直接お寄せください。
>
> **プリンシパルメンテナー:** [@arvinxx](https://github.com/arvinxx) [@canisminor1990](https://github.com/canisminor1990)
[![][pr-welcome-shield]][pr-welcome-link]
[![][submit-agents-shield]][submit-agents-link]
[![][submit-plugin-shield]][submit-plugin-link]
<a href="https://github.com/lobehub/lobe-chat/graphs/contributors" target="_blank">
<table>
<tr>
<th colspan="2">
<br><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat"><br><br>
</th>
</tr>
<tr>
<td>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
</picture>
</td>
<td rowspan="2">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=light">
</picture>
</td>
</tr>
<tr>
<td>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
</picture>
</td>
</tr>
</table>
</a>
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ❤️ スポンサー
あなたの一度きりの寄付が、私たちの銀河系で輝きを放ちます!皆様は流れ星であり、私たちの旅路に迅速かつ明るい影響を与えます。私たちを信じてくださり、ありがとうございます。皆様の寛大なお気持ちが、私たちの使命に向かって、一度に輝かしい閃光を放つよう導いてくださるのです。
<a href="https://opencollective.com/lobehub" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true">
<img src="https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true">
</picture>
</a>
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🔗 その他の製品
- **[🅰️ Lobe SD Theme][lobe-theme]:** Stable Diffusion WebUI のためのモダンなテーマ、絶妙なインターフェースデザイン、高度にカスタマイズ可能な UI、効率を高める機能。
- **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** Midjourney の WebUI は、AI を活用しテキストプロンプトから豊富で多様な画像を素早く生成し、創造性を刺激して会話を盛り上げます。
- **[🌏 Lobe i18n][lobe-i18n] :** Lobe i18n は ChatGPT を利用した国際化翻訳プロセスの自動化ツールです。大きなファイルの自動分割、増分更新、OpenAI モデル、API プロキシ、温度のカスタマイズオプションなどの機能をサポートしています。
- **[💌 Lobe Commit][lobe-commit]:** Lobe Commit は、Langchain/ChatGPT を活用して Gitmoji ベースのコミットメッセージを生成する CLI ツールです。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
---
<details><summary><h4>📝 License</h4></summary>
[![][fossa-license-shield]][fossa-license-link]
</details>
Copyright © 2024 [LobeHub][profile-link]. <br />
This project is [Apache 2.0](./LICENSE) licensed.
<!-- LINK GROUP -->
[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
[blog]: https://lobehub.com/blog
[changelog]: https://lobehub.com/changelog
[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/chat_preview_lobehub_com_chat.html
[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/chat_preview_lobehub_com_chat.html
[chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk
[chat-plugin-template]: https://github.com/lobehub/chat-plugin-template
[chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway
[codecov-link]: https://codecov.io/gh/lobehub/lobe-chat
[codecov-shield]: https://img.shields.io/codecov/c/github/lobehub/lobe-chat?labelColor=black&style=flat-square&logo=codecov&logoColor=white
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
[codespaces-shield]: https://github.com/codespaces/badge.svg
[deploy-button-image]: https://vercel.com/button
[deploy-link]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&env=OPENAI_API_KEY,ACCESS_CODE&envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%7C%20Access%20Code%20can%20protect%20your%20website&envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&project-name=lobe-chat&repository-name=lobe-chat
[deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
[deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
[deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
[deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
[discord-link]: https://discord.gg/AYFPHvv2jT
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
[docs]: https://lobehub.com/docs/usage/start
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
[docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
[docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
[docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
[docs-feat-database]: https://lobehub.com/docs/usage/features/database
[docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
[docs-feat-mobile]: https://lobehub.com/docs/usage/features/mobile
[docs-feat-plugin]: https://lobehub.com/docs/usage/features/plugin-system
[docs-feat-provider]: https://lobehub.com/docs/usage/features/multi-ai-providers
[docs-feat-pwa]: https://lobehub.com/docs/usage/features/pwa
[docs-feat-t2i]: https://lobehub.com/docs/usage/features/text-to-image
[docs-feat-theme]: https://lobehub.com/docs/usage/features/theme
[docs-feat-tts]: https://lobehub.com/docs/usage/features/tts
[docs-feat-vision]: https://lobehub.com/docs/usage/features/vision
[docs-functionc-call]: https://lobehub.com/blog/openai-function-call
[docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse
[docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development
[docs-self-hosting]: https://lobehub.com/docs/self-hosting/start
[docs-upstream-sync]: https://lobehub.com/docs/self-hosting/advanced/upstream-sync
[docs-usage-ollama]: https://lobehub.com/docs/usage/providers/ollama
[docs-usage-plugin]: https://lobehub.com/docs/usage/plugins/basic
[fossa-license-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat
[fossa-license-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large
[github-action-release-link]: https://github.com/actions/workflows/lobehub/lobe-chat/release.yml
[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
[github-action-test-link]: https://github.com/actions/workflows/lobehub/lobe-chat/test.yml
[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
[github-contributors-link]: https://github.com/lobehub/lobe-chat/graphs/contributors
[github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&labelColor=black&style=flat-square
[github-forks-link]: https://github.com/lobehub/lobe-chat/network/members
[github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&labelColor=black&style=flat-square
[github-issues-link]: https://github.com/lobehub/lobe-chat/issues
[github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&labelColor=black&style=flat-square
[github-license-link]: https://github.com/lobehub/lobe-chat/blob/main/LICENSE
[github-license-shield]: https://img.shields.io/badge/license-apache%202.0-white?labelColor=black&style=flat-square
[github-project-link]: https://github.com/lobehub/lobe-chat/projects
[github-release-link]: https://github.com/lobehub/lobe-chat/releases
[github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&labelColor=black&logo=github&style=flat-square
[github-releasedate-link]: https://github.com/lobehub/lobe-chat/releases
[github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&style=flat-square
[github-stars-link]: https://github.com/lobehub/lobe-chat/network/stargazers
[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
[github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
[github-trending-url]: https://trendshift.io/repositories/2256
[image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
[image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
[image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
[image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
[image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
[image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
[image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
[image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
[image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
[image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
[image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
[image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
[image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
[image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
[image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
[issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
[lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
[lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
[lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n
[lobe-icons-github]: https://github.com/lobehub/lobe-icons
[lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons
[lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-lint-github]: https://github.com/lobehub/lobe-lint
[lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint
[lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui
[lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme
[lobe-tts-github]: https://github.com/lobehub/lobe-tts
[lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts
[lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-ui-github]: https://github.com/lobehub/lobe-ui
[lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui
[lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[official-site]: https://lobehub.com
[pr-welcome-link]: https://github.com/lobehub/lobe-chat/pulls
[pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge
[profile-link]: https://github.com/lobehub
[share-linkedin-link]: https://linkedin.com/feed
[share-linkedin-shield]: https://img.shields.io/badge/-share%20on%20linkedin-black?labelColor=black&logo=linkedin&logoColor=white&style=flat-square
[share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20(Function%20Calling),%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT/LLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI
[share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square
[share-reddit-link]: https://www.reddit.com/submit?title=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
[share-telegram-link]: https://t.me/share/url"?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black&logo=telegram&logoColor=white&style=flat-square
[share-weibo-link]: http://service.weibo.com/share/share.php?sharesource=weibo&title=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black&logo=sinaweibo&logoColor=white&style=flat-square
[share-whatsapp-link]: https://api.whatsapp.com/send?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat%20%23chatbot%20%23chatGPT%20%23openAI
[share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black&logo=whatsapp&logoColor=white&style=flat-square
[share-x-link]: https://x.com/intent/tweet?hashtags=chatbot%2CchatGPT%2CopenAI&text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square
[sponsor-link]: https://opencollective.com/lobehub 'Become ❤️ LobeHub Sponsor'
[sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square
[submit-agents-link]: https://github.com/lobehub/lobe-chat-agents
[submit-agents-shield]: https://img.shields.io/badge/🤖/🏪_submit_agent-%E2%86%92-c4f042?labelColor=black&style=for-the-badge
[submit-plugin-link]: https://github.com/lobehub/lobe-chat-plugins
[submit-plugin-shield]: https://img.shields.io/badge/🧩/🏪_submit_plugin-%E2%86%92-95f3d9?labelColor=black&style=for-the-badge
[vercel-link]: https://chat-preview.lobehub.com
[vercel-shield]: https://img.shields.io/badge/vercel-online-55b467?labelColor=black&logo=vercel&style=flat-square
[vercel-shield-badge]: https://img.shields.io/badge/TRY%20LOBECHAT-ONLINE-55b467?labelColor=black&logo=vercel&style=for-the-badge
+207 -98
View File
@@ -4,11 +4,11 @@
# Lobe Chat
An open-source, modern-design ChatGPT/LLMs UI/Framework.<br/>
Supports speech-synthesis, multi-modal, and extensible ([function call][docs-functionc-call]) plugin system.<br/>
An open-source, modern design ChatGPT/LLMs UI/framework.<br/>
Supports speech synthesis, multi-modal, and extensible ([function call][docs-function-call]) plugin system.<br/>
One-click **FREE** deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/Ollama chat application.
**English** · [繁體中文](./README.zh-TW.md) · [简体中文](./README.zh-CN.md) · [日本語](./README.ja-JP.md) · [Official Site][official-site] · [Changelog][changelog] · [Documents][docs] · [Blog][blog] · [Feedback][github-issues-link]
**English** · [简体中文](./README.zh-CN.md) · [Official Site][official-site] · [Changelog][changelog] · [Documents][docs] · [Blog][blog] · [Feedback][github-issues-link]
<!-- SHIELD GROUP -->
@@ -39,9 +39,9 @@ One-click **FREE** deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/
<sup>Pioneering the new age of thinking and creating. Built for you, the Super Individual.</sup>
[![][github-trending-shield]][github-trending-url]
[![][github-trending-shield]][github-trending-url] <br /> <br /> <a href="https://vercel.com/oss"> <img alt="Vercel OSS Program" src="https://vercel.com/oss/program-badge.svg" /> </a>
[![][image-overview]][vercel-link]
![][image-overview]
</div>
@@ -52,19 +52,26 @@ One-click **FREE** deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/
- [👋🏻 Getting Started & Join Our Community](#-getting-started--join-our-community)
- [✨ Features](#-features)
- [`1` File Upload/Knowledge Base](#1-file-uploadknowledge-base)
- [`2` Multi-Model Service Provider Support](#2-multi-model-service-provider-support)
- [`3` Local Large Language Model (LLM) Support](#3-local-large-language-model-llm-support)
- [`4` Model Visual Recognition](#4-model-visual-recognition)
- [`5` TTS & STT Voice Conversation](#5-tts--stt-voice-conversation)
- [`6` Text to Image Generation](#6-text-to-image-generation)
- [`7` Plugin System (Function Calling)](#7-plugin-system-function-calling)
- [`8` Agent Market (GPTs)](#8-agent-market-gpts)
- [`9` Support Local / Remote Database](#9-support-local--remote-database)
- [`10` Support Multi-User Management](#10-support-multi-user-management)
- [`11` Progressive Web App (PWA)](#11-progressive-web-app-pwa)
- [`12` Mobile Device Adaptation](#12-mobile-device-adaptation)
- [`13` Custom Themes](#13-custom-themes)
- [✨ MCP Plugin One-Click Installation](#-mcp-plugin-one-click-installation)
- [🏪 MCP Marketplace](#-mcp-marketplace)
- [🖥️ Desktop App](#-desktop-app)
- [🌐 Smart Internet Search](#-smart-internet-search)
- [Chain of Thought](#chain-of-thought)
- [Branching Conversations](#branching-conversations)
- [Artifacts Support](#artifacts-support)
- [File Upload /Knowledge Base](#file-upload-knowledge-base)
- [Multi-Model Service Provider Support](#multi-model-service-provider-support)
- [Local Large Language Model (LLM) Support](#local-large-language-model-llm-support)
- [Model Visual Recognition](#model-visual-recognition)
- [TTS & STT Voice Conversation](#tts--stt-voice-conversation)
- [Text to Image Generation](#text-to-image-generation)
- [Plugin System (Function Calling)](#plugin-system-function-calling)
- [Agent Market (GPTs)](#agent-market-gpts)
- [Support Local / Remote Database](#support-local--remote-database)
- [Support Multi-User Management](#support-multi-user-management)
- [Progressive Web App (PWA)](#progressive-web-app-pwa)
- [Mobile Device Adaptation](#mobile-device-adaptation)
- [Custom Themes](#custom-themes)
- [`*` What's more](#-whats-more)
- [⚡️ Performance](#-performance)
- [🛳 Self Hosting](#-self-hosting)
@@ -111,9 +118,98 @@ Whether for users or professional developers, LobeHub will be your AI Agent play
## ✨ Features
Transform your AI experience with LobeChat's powerful features designed for seamless connectivity, enhanced productivity, and unlimited creativity.
![][image-feat-mcp]
### ✨ MCP Plugin One-Click Installation
**Seamlessly Connect Your AI to the World**
Unlock the full potential of your AI by enabling smooth, secure, and dynamic interactions with external tools, data sources, and services. LobeChat's MCP (Model Context Protocol) plugin system breaks down the barriers between your AI and the digital ecosystem, allowing for unprecedented connectivity and functionality.
Transform your conversations into powerful workflows by connecting to databases, APIs, file systems, and more. Experience the freedom of AI that truly understands and interacts with your world.
[![][back-to-top]](#readme-top)
![][image-feat-mcp-market]
### 🏪 MCP Marketplace
**Discover, Connect, Extend**
Browse a growing library of MCP plugins to expand your AI's capabilities and streamline your workflows effortlessly. Visit [lobehub.com/mcp](https://lobehub.com/mcp) to explore the MCP Marketplace, which offers a curated collection of integrations that enhance your AI's ability to work with various tools and services.
From productivity tools to development environments, discover new ways to extend your AI's reach and effectiveness. Connect with the community and find the perfect plugins for your specific needs.
[![][back-to-top]](#readme-top)
![][image-feat-desktop]
### 🖥️ Desktop App
**Peak Performance, Zero Distractions**
Get the full LobeChat experience without browser limitations—comprehensive, focused, and always ready to go. Our desktop application provides a dedicated environment for your AI interactions, ensuring optimal performance and minimal distractions.
Experience faster response times, better resource management, and a more stable connection to your AI assistant. The desktop app is designed for users who demand the best performance from their AI tools.
[![][back-to-top]](#readme-top)
![][image-feat-web-search]
### 🌐 Smart Internet Search
**Online Knowledge On Demand**
With real-time internet access, your AI keeps up with the world—news, data, trends, and more. Stay informed and get the most current information available, enabling your AI to provide accurate and up-to-date responses.
Access live information, verify facts, and explore current events without leaving your conversation. Your AI becomes a gateway to the world's knowledge, always current and comprehensive.
[![][back-to-top]](#readme-top)
[![][image-feat-cot]][docs-feat-cot]
### [Chain of Thought][docs-feat-cot]
Experience AI reasoning like never before. Watch as complex problems unfold step by step through our innovative Chain of Thought (CoT) visualization. This breakthrough feature provides unprecedented transparency into AI's decision-making process, allowing you to observe how conclusions are reached in real-time.
By breaking down complex reasoning into clear, logical steps, you can better understand and validate the AI's problem-solving approach. Whether you're debugging, learning, or simply curious about AI reasoning, CoT visualization transforms abstract thinking into an engaging, interactive experience.
[![][back-to-top]](#readme-top)
[![][image-feat-branch]][docs-feat-branch]
### [Branching Conversations][docs-feat-branch]
Introducing a more natural and flexible way to chat with AI. With Branch Conversations, your discussions can flow in multiple directions, just like human conversations do. Create new conversation branches from any message, giving you the freedom to explore different paths while preserving the original context.
Choose between two powerful modes:
- **Continuation Mode:** Seamlessly extend your current discussion while maintaining valuable context
- **Standalone Mode:** Start fresh with a new topic based on any previous message
This groundbreaking feature transforms linear conversations into dynamic, tree-like structures, enabling deeper exploration of ideas and more productive interactions.
[![][back-to-top]](#readme-top)
[![][image-feat-artifacts]][docs-feat-artifacts]
### [Artifacts Support][docs-feat-artifacts]
Experience the power of Claude Artifacts, now integrated into LobeChat. This revolutionary feature expands the boundaries of AI-human interaction, enabling real-time creation and visualization of diverse content formats.
Create and visualize with unprecedented flexibility:
- Generate and display dynamic SVG graphics
- Build and render interactive HTML pages in real-time
- Produce professional documents in multiple formats
[![][back-to-top]](#readme-top)
[![][image-feat-knowledgebase]][docs-feat-knowledgebase]
### `1` [File Upload/Knowledge Base][docs-feat-knowledgebase]
### [File Upload /Knowledge Base][docs-feat-knowledgebase]
LobeChat supports file upload and knowledge base functionality. You can upload various types of files including documents, images, audio, and video, as well as create knowledge bases, making it convenient for users to manage and search for files. Additionally, you can utilize files and knowledge base features during conversations, enabling a richer dialogue experience.
@@ -131,7 +227,7 @@ LobeChat supports file upload and knowledge base functionality. You can upload v
[![][image-feat-privoder]][docs-feat-provider]
### `2` [Multi-Model Service Provider Support][docs-feat-provider]
### [Multi-Model Service Provider Support][docs-feat-provider]
In the continuous development of LobeChat, we deeply understand the importance of diversity in model service providers for meeting the needs of the community when providing AI conversation services. Therefore, we have expanded our support to multiple model service providers, rather than being limited to a single one, in order to offer users a more diverse and rich selection of conversations.
@@ -149,23 +245,27 @@ We have implemented support for the following model service providers:
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock is a service provided by Amazon AWS, focusing on delivering advanced AI language and visual models for enterprises. Its model family includes Anthropic's Claude series, Meta's Llama 3.1 series, and more, offering a range of options from lightweight to high-performance, supporting tasks such as text generation, conversation, and image processing for businesses of varying scales and needs.
- **[Google](https://lobechat.com/discover/provider/google)**: Google's Gemini series represents its most advanced, versatile AI models, developed by Google DeepMind, designed for multimodal capabilities, supporting seamless understanding and processing of text, code, images, audio, and video. Suitable for various environments from data centers to mobile devices, it significantly enhances the efficiency and applicability of AI models.
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek is a company focused on AI technology research and application, with its latest model DeepSeek-V2.5 integrating general dialogue and code processing capabilities, achieving significant improvements in human preference alignment, writing tasks, and instruction following.
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: The HuggingFace Inference API provides a fast and free way for you to explore thousands of models for various tasks. Whether you are prototyping for a new application or experimenting with the capabilities of machine learning, this API gives you instant access to high-performance models across multiple domains.
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot is an open-source platform launched by Beijing Dark Side Technology Co., Ltd., providing various natural language processing models with a wide range of applications, including but not limited to content creation, academic research, intelligent recommendations, and medical diagnosis, supporting long text processing and complex generation tasks.
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter is a service platform providing access to various cutting-edge large model interfaces, supporting OpenAI, Anthropic, LLaMA, and more, suitable for diverse development and application needs. Users can flexibly choose the optimal model and pricing based on their requirements, enhancing the AI experience.
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: The HuggingFace Inference API provides a fast and free way for you to explore thousands of models for various tasks. Whether you are prototyping for a new application or experimenting with the capabilities of machine learning, this API gives you instant access to high-performance models across multiple domains.
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: Run serverless GPU-powered machine learning models on Cloudflare's global network.
<details><summary><kbd>See more providers (+32)</kbd></summary>
- **[GitHub](https://lobechat.com/discover/provider/github)**: With GitHub Models, developers can become AI engineers and leverage the industry's leading AI models.
<details><summary><kbd>See more providers (+26)</kbd></summary>
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI is a platform providing a variety of large language models and AI image generation API services, flexible, reliable, and cost-effective. It supports the latest open-source models like Llama3 and Mistral, offering a comprehensive, user-friendly, and auto-scaling API solution for generative AI application development, suitable for the rapid growth of AI startups.
- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO supports stable and cost-efficient open-source LLM APIs, such as DeepSeek, Llama, Qwen etc.
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI is an on-demand AI application platform offering the most comprehensive AI APIs and online AI applications available on the market.
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI is dedicated to achieving leading performance through innovative AI models, offering extensive customization capabilities, including rapid scaling support and intuitive deployment processes to meet various enterprise needs.
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI is a leading provider of advanced language model services, focusing on functional calling and multimodal processing. Its latest model, Firefunction V2, is based on Llama-3, optimized for function calling, conversation, and instruction following. The visual language model FireLLaVA-13B supports mixed input of images and text. Other notable models include the Llama series and Mixtral series, providing efficient multilingual instruction following and generation support.
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq's LPU inference engine has excelled in the latest independent large language model (LLM) benchmarks, redefining the standards for AI solutions with its remarkable speed and efficiency. Groq represents instant inference speed, demonstrating strong performance in cloud-based deployments.
- **[Perplexity](https://lobechat.com/discover/provider/perplexity)**: Perplexity is a leading provider of conversational generation models, offering various advanced Llama 3.1 models that support both online and offline applications, particularly suited for complex natural language processing tasks.
- **[Mistral](https://lobechat.com/discover/provider/mistral)**: Mistral provides advanced general, specialized, and research models widely used in complex reasoning, multilingual tasks, and code generation. Through functional calling interfaces, users can integrate custom functionalities for specific applications.
- **[ModelScope](https://lobechat.com/discover/provider/modelscope)**: ModelScope is a model-as-a-service platform launched by Alibaba Cloud, offering a wide range of AI models and inference services.
- **[Ai21Labs](https://lobechat.com/discover/provider/ai21)**: AI21 Labs builds foundational models and AI systems for enterprises, accelerating the application of generative AI in production.
- **[Upstage](https://lobechat.com/discover/provider/upstage)**: Upstage focuses on developing AI models for various business needs, including Solar LLM and document AI, aiming to achieve artificial general intelligence (AGI) for work. It allows for the creation of simple conversational agents through Chat API and supports functional calling, translation, embedding, and domain-specific applications.
- **[xAI](https://lobechat.com/discover/provider/xai)**: xAI is a company dedicated to building artificial intelligence to accelerate human scientific discovery. Our mission is to advance our collective understanding of the universe.
- **[Qwen](https://lobechat.com/discover/provider/qwen)**: Tongyi Qianwen is a large-scale language model independently developed by Alibaba Cloud, featuring strong natural language understanding and generation capabilities. It can answer various questions, create written content, express opinions, and write code, playing a role in multiple fields.
- **[xAI (Grok)](https://lobechat.com/discover/provider/xai)**: xAI is a company dedicated to building artificial intelligence to accelerate human scientific discovery. Our mission is to advance our collective understanding of the universe.
- **[Aliyun Bailian](https://lobechat.com/discover/provider/qwen)**: Tongyi Qianwen is a large-scale language model independently developed by Alibaba Cloud, featuring strong natural language understanding and generation capabilities. It can answer various questions, create written content, express opinions, and write code, playing a role in multiple fields.
- **[Wenxin](https://lobechat.com/discover/provider/wenxin)**: An enterprise-level one-stop platform for large model and AI-native application development and services, providing the most comprehensive and user-friendly toolchain for the entire process of generative artificial intelligence model development and application development.
- **[Hunyuan](https://lobechat.com/discover/provider/hunyuan)**: A large language model developed by Tencent, equipped with powerful Chinese creative capabilities, logical reasoning abilities in complex contexts, and reliable task execution skills.
- **[ZhiPu](https://lobechat.com/discover/provider/zhipu)**: Zhipu AI offers an open platform for multimodal and language models, supporting a wide range of AI application scenarios, including text processing, image understanding, and programming assistance.
@@ -174,7 +274,6 @@ We have implemented support for the following model service providers:
- **[Spark](https://lobechat.com/discover/provider/spark)**: iFlytek's Spark model provides powerful AI capabilities across multiple domains and languages, utilizing advanced natural language processing technology to build innovative applications suitable for smart hardware, smart healthcare, smart finance, and other vertical scenarios.
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: SenseNova, backed by SenseTime's robust infrastructure, offers efficient and user-friendly full-stack large model services.
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: StepFun's large model possesses industry-leading multimodal and complex reasoning capabilities, supporting ultra-long text understanding and powerful autonomous scheduling search engine functions.
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot is an open-source platform launched by Beijing Dark Side Technology Co., Ltd., providing various natural language processing models with a wide range of applications, including but not limited to content creation, academic research, intelligent recommendations, and medical diagnosis, supporting long text processing and complex generation tasks.
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: Baichuan Intelligence is a company focused on the research and development of large AI models, with its models excelling in domestic knowledge encyclopedias, long text processing, and generative creation tasks in Chinese, surpassing mainstream foreign models. Baichuan Intelligence also possesses industry-leading multimodal capabilities, performing excellently in multiple authoritative evaluations. Its models include Baichuan 4, Baichuan 3 Turbo, and Baichuan 3 Turbo 128k, each optimized for different application scenarios, providing cost-effective solutions.
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax is a general artificial intelligence technology company established in 2021, dedicated to co-creating intelligence with users. MiniMax has independently developed general large models of different modalities, including trillion-parameter MoE text models, voice models, and image models, and has launched applications such as Conch AI.
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: An open-source organization dedicated to the research and development of large model toolchains. It provides an efficient and user-friendly open-source platform for all AI developers, making cutting-edge large models and algorithm technologies easily accessible.
@@ -182,10 +281,13 @@ We have implemented support for the following model service providers:
- **[Gitee AI](https://lobechat.com/discover/provider/giteeai)**: Gitee AI's Serverless API provides AI developers with an out of the box large model inference API service.
- **[Taichu](https://lobechat.com/discover/provider/taichu)**: The Institute of Automation, Chinese Academy of Sciences, and Wuhan Artificial Intelligence Research Institute have launched a new generation of multimodal large models, supporting comprehensive question-answering tasks such as multi-turn Q\&A, text creation, image generation, 3D understanding, and signal analysis, with stronger cognitive, understanding, and creative abilities, providing a new interactive experience.
- **[360 AI](https://lobechat.com/discover/provider/ai360)**: 360 AI is an AI model and service platform launched by 360 Company, offering various advanced natural language processing models, including 360GPT2 Pro, 360GPT Pro, 360GPT Turbo, and 360GPT Turbo Responsibility 8K. These models combine large-scale parameters and multimodal capabilities, widely applied in text generation, semantic understanding, dialogue systems, and code generation. With flexible pricing strategies, 360 AI meets diverse user needs, supports developer integration, and promotes the innovation and development of intelligent applications.
- **[Search1API](https://lobechat.com/discover/provider/search1api)**: Search1API provides access to the DeepSeek series of models that can connect to the internet as needed, including standard and fast versions, supporting a variety of model sizes.
- **[InfiniAI](https://lobechat.com/discover/provider/infiniai)**: Provides high-performance, easy-to-use, and secure large model services for application developers, covering the entire process from large model development to service deployment.
- **[Qiniu](https://lobechat.com/discover/provider/qiniu)**: Qiniu, as a long-established cloud service provider, delivers cost-effective and reliable AI inference services for both real-time and batch processing, with a simple and user-friendly experience.
</details>
> 📊 Total providers: [<kbd>**36**</kbd>](https://lobechat.com/discover/providers)
> 📊 Total providers: [<kbd>**42**</kbd>](https://lobechat.com/discover/providers)
<!-- PROVIDER LIST -->
@@ -199,7 +301,7 @@ At the same time, we are also planning to support more model service providers.
[![][image-feat-local]][docs-feat-local]
### `3` [Local Large Language Model (LLM) Support][docs-feat-local]
### [Local Large Language Model (LLM) Support][docs-feat-local]
To meet the specific needs of users, LobeChat also supports the use of local models based on [Ollama](https://ollama.ai), allowing users to flexibly use their own or third-party models.
@@ -215,7 +317,7 @@ To meet the specific needs of users, LobeChat also supports the use of local mod
[![][image-feat-vision]][docs-feat-vision]
### `4` [Model Visual Recognition][docs-feat-vision]
### [Model Visual Recognition][docs-feat-vision]
LobeChat now supports OpenAI's latest [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) model with visual recognition capabilities,
a multimodal intelligence that can perceive visuals. Users can easily upload or drag and drop images into the dialogue box,
@@ -233,7 +335,7 @@ Whether it's sharing images in daily use or interpreting images within specific
[![][image-feat-tts]][docs-feat-tts]
### `5` [TTS & STT Voice Conversation][docs-feat-tts]
### [TTS & STT Voice Conversation][docs-feat-tts]
LobeChat supports Text-to-Speech (TTS) and Speech-to-Text (STT) technologies, enabling our application to convert text messages into clear voice outputs,
allowing users to interact with our conversational agent as if they were talking to a real person. Users can choose from a variety of voices to pair with the agent.
@@ -250,7 +352,7 @@ Users can choose the voice that suits their personal preferences or specific sce
[![][image-feat-t2i]][docs-feat-t2i]
### `6` [Text to Image Generation][docs-feat-t2i]
### [Text to Image Generation][docs-feat-t2i]
With support for the latest text-to-image generation technology, LobeChat now allows users to invoke image creation tools directly within conversations with the agent. By leveraging the capabilities of AI tools such as [`DALL-E 3`](https://openai.com/dall-e-3), [`MidJourney`](https://www.midjourney.com/), and [`Pollinations`](https://pollinations.ai/), the agents are now equipped to transform your ideas into images.
@@ -264,7 +366,7 @@ This enables a more private and immersive creative process, allowing for the sea
[![][image-feat-plugin]][docs-feat-plugin]
### `7` [Plugin System (Function Calling)][docs-feat-plugin]
### [Plugin System (Function Calling)][docs-feat-plugin]
The plugin ecosystem of LobeChat is an important extension of its core functionality, greatly enhancing the practicality and flexibility of the LobeChat assistant.
@@ -280,14 +382,14 @@ In addition, these plugins are not limited to news aggregation, but can also ext
<!-- PLUGIN LIST -->
| Recent Submits | Description |
| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| [Web](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | Smart web search that reads and analyzes pages to deliver comprehensive answers from Google results.<br/>`web` `search` |
| [MintbaseSearch](https://lobechat.com/discover/plugin/mintbasesearch)<br/><sup>By **mintbase** on **2024-12-31**</sup> | Find any NFT data on the NEAR Protocol.<br/>`crypto` `nft` |
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | Search for information from the internet base BingApi<br/>`bingsearch` |
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2024-12-22**</sup> | Analyze stocks and get comprehensive real-time investment data and analytics.<br/>`stock` |
| Recent Submits | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| [Web](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | Smart web search that reads and analyzes pages to deliver comprehensive answers from Google results.<br/>`web` `search` |
| [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | Search for information from the internet base BingApi<br/>`bingsearch` |
| [Google CSE](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | Searches Google through their official CSE API.<br/>`web` `search` |
| [Tongyi wanxiang Image Generator](https://lobechat.com/discover/plugin/alps-tongyi-image)<br/><sup>By **YoungTx** on **2024-08-09**</sup> | This plugin uses Alibaba's Tongyi Wanxiang model to generate images based on text prompts.<br/>`image` `tongyi` `wanxiang` |
> 📊 Total plugins: [<kbd>**49**</kbd>](https://lobechat.com/discover/plugins)
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)
<!-- PLUGIN LIST -->
@@ -299,7 +401,7 @@ In addition, these plugins are not limited to news aggregation, but can also ext
[![][image-feat-agent]][docs-feat-agent]
### `8` [Agent Market (GPTs)][docs-feat-agent]
### [Agent Market (GPTs)][docs-feat-agent]
In LobeChat Agent Marketplace, creators can discover a vibrant and innovative community that brings together a multitude of well-designed agents,
which not only play an important role in work scenarios but also offer great convenience in learning processes.
@@ -319,14 +421,14 @@ Our marketplace is not just a showcase platform but also a collaborative space.
<!-- AGENT LIST -->
| Recent Submits | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [Astrology Researcher](https://lobechat.com/discover/assistant/fate-researcher)<br/><sup>By **[Jack980506](https://github.com/Jack980506)** on **2025-02-06**</sup> | Expert in BaZi astrology<br/>`astrology` `ba-zi` `traditional-culture` |
| [Language Charm Learning Mentor](https://lobechat.com/discover/assistant/bad-language-helper)<br/><sup>By **[Guducat](https://github.com/Guducat)** on **2025-02-06**</sup> | Specializes in teaching the charm of language and witty responses<br/>`language-learning` `dialogue-examples` |
| [Allinone](https://lobechat.com/discover/assistant/allinone-v-1)<br/><sup>By **[AXuanCreator](https://github.com/AXuanCreator)** on **2025-02-06**</sup> | Innovation · Future · Excellence<br/>`programming` `low-cost` `concise-answers` |
| [Deep Thinker](https://lobechat.com/discover/assistant/deep-thinker)<br/><sup>By **[prolapser](https://github.com/prolapser)** on **2025-02-06**</sup> | Deep, human-like thinking and analysis.<br/>`thinking` `reasoning` `reflection` `thought` `musings` |
| Recent Submits | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Turtle Soup Host](https://lobechat.com/discover/assistant/lateral-thinking-puzzle)<br/><sup>By **[CSY2022](https://github.com/CSY2022)** on **2025-06-19**</sup> | A turtle soup host needs to provide the scenario, the complete story (truth of the event), and the key point (the condition for guessing correctly).<br/>`turtle-soup` `reasoning` `interaction` `puzzle` `role-playing` |
| [Gourmet Reviewer🍟](https://lobechat.com/discover/assistant/food-reviewer)<br/><sup>By **[renhai-lab](https://github.com/renhai-lab)** on **2025-06-17**</sup> | Food critique expert<br/>`gourmet` `review` `writing` |
| [Academic Writing Assistant](https://lobechat.com/discover/assistant/academic-writing-assistant)<br/><sup>By **[swarfte](https://github.com/swarfte)** on **2025-06-17**</sup> | Expert in academic research paper writing and formal documentation<br/>`academic-writing` `research` `formal-style` |
| [Minecraft Senior Developer](https://lobechat.com/discover/assistant/java-development)<br/><sup>By **[iamyuuk](https://github.com/iamyuuk)** on **2025-06-17**</sup> | Expert in advanced Java development and Minecraft mod and server plugin development<br/>`development` `programming` `minecraft` `java` |
> 📊 Total agents: [<kbd>**485**</kbd> ](https://lobechat.com/discover/assistants)
> 📊 Total agents: [<kbd>**505**</kbd> ](https://lobechat.com/discover/assistants)
<!-- AGENT LIST -->
@@ -338,7 +440,7 @@ Our marketplace is not just a showcase platform but also a collaborative space.
[![][image-feat-database]][docs-feat-database]
### `9` [Support Local / Remote Database][docs-feat-database]
### [Support Local / Remote Database][docs-feat-database]
LobeChat supports the use of both server-side and local databases. Depending on your needs, you can choose the appropriate deployment solution:
@@ -355,7 +457,7 @@ Regardless of which database you choose, LobeChat can provide you with an excell
[![][image-feat-auth]][docs-feat-auth]
### `10` [Support Multi-User Management][docs-feat-auth]
### [Support Multi-User Management][docs-feat-auth]
LobeChat supports multi-user management and provides two main user authentication and management solutions to meet different needs:
@@ -373,13 +475,13 @@ Regardless of which user management solution you choose, LobeChat can provide yo
[![][image-feat-pwa]][docs-feat-pwa]
### `11` [Progressive Web App (PWA)][docs-feat-pwa]
### [Progressive Web App (PWA)][docs-feat-pwa]
We deeply understand the importance of providing a seamless experience for users in today's multi-device environment.
Therefore, we have adopted Progressive Web Application ([PWA](https://support.google.com/chrome/answer/9658361)) technology,
a modern web technology that elevates web applications to an experience close to that of native apps.
Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining its lightweight and high-performance characteristics.
Through PWA, LobeChat can offer a highly optimized user experience on both desktop and mobile devices while maintaining high-performance characteristics.
Visually and in terms of feel, we have also meticulously designed the interface to ensure it is indistinguishable from native apps,
providing smooth animations, responsive layouts, and adapting to different device screen resolutions.
@@ -400,7 +502,7 @@ providing smooth animations, responsive layouts, and adapting to different devic
[![][image-feat-mobile]][docs-feat-mobile]
### `12` [Mobile Device Adaptation][docs-feat-mobile]
### [Mobile Device Adaptation][docs-feat-mobile]
We have carried out a series of optimization designs for mobile devices to enhance the user's mobile experience. Currently, we are iterating on the mobile user experience to achieve smoother and more intuitive interactions. If you have any suggestions or ideas, we welcome you to provide feedback through GitHub Issues or Pull Requests.
@@ -412,7 +514,7 @@ We have carried out a series of optimization designs for mobile devices to enhan
[![][image-feat-theme]][docs-feat-theme]
### `13` [Custom Themes][docs-feat-theme]
### [Custom Themes][docs-feat-theme]
As a design-engineering-oriented application, LobeChat places great emphasis on users' personalized experiences,
hence introducing flexible and diverse theme modes, including a light mode for daytime and a dark mode for nighttime.
@@ -518,25 +620,22 @@ If you have deployed your own project following the one-click deployment steps i
We provide a Docker image for deploying the LobeChat service on your own private device. Use the following command to start the LobeChat service:
1. create a folder to for storage files
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
$ mkdir lobe-chat-db && cd lobe-chat-db
```
> \[!TIP]
>
> If you need to use the OpenAI service through a proxy, you can configure the proxy address using the `OPENAI_PROXY_URL` environment variable:
2. init the LobeChat infrastructure
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
bash <(curl -fsSL https://lobe.li/setup.sh)
```
3. Start the LobeChat service
```fish
docker compose up -d
```
> \[!NOTE]
@@ -583,7 +682,7 @@ This project provides some additional configuration items set with environment v
## 🧩 Plugins
Plugins provide a means to extend the [Function Calling][docs-functionc-call] capabilities of LobeChat. They can be used to introduce new function calls and even new ways to render message results. If you are interested in plugin development, please refer to our [📘 Plugin Development Guide][docs-plugin-dev] in the Wiki.
Plugins provide a means to extend the [Function Calling][docs-function-call] capabilities of LobeChat. They can be used to introduce new function calls and even new ways to render message results. If you are interested in plugin development, please refer to our [📘 Plugin Development Guide][docs-plugin-dev] in the Wiki.
- [lobe-chat-plugins][lobe-chat-plugins]: This is the plugin index for LobeChat. It accesses index.json from this repository to display a list of available plugins for LobeChat to the user.
- [chat-plugin-template][chat-plugin-template]: This is the plugin template for LobeChat plugin development.
@@ -629,7 +728,7 @@ If you would like to learn more details, please feel free to look at our [📘 D
## 🤝 Contributing
Contributions of all types are more than welcome; if you are interested in contributing code, feel free to check out our GitHub [Issues][github-issues-link] and [Projects][github-project-link] to get stuck in to show us what youre made of.
Contributions of all types are more than welcome; if you are interested in contributing code, feel free to check out our GitHub [Issues][github-issues-link] and [Projects][github-project-link] to get stuck in to show us what you're made of.
> \[!TIP]
>
@@ -719,8 +818,8 @@ Every bit counts and your one-time donation sparkles in our galaxy of support! Y
</details>
Copyright © 2024 [LobeHub][profile-link]. <br />
This project is [Apache 2.0](./LICENSE) licensed.
Copyright © 2025 [LobeHub][profile-link]. <br />
This project is [LobeHub Community License](./LICENSE) licensed.
<!-- LINK GROUP -->
@@ -745,24 +844,27 @@ This project is [Apache 2.0](./LICENSE) licensed.
[deploy-on-repocloud-button-image]: https://d16t0pc4846x52.cloudfront.net/deploylobe.svg
[deploy-on-repocloud-link]: https://repocloud.io/details/?app_id=248
[deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
[deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
[deploy-on-sealos-link]: https://template.usw.sealos.io/deploy?templateName=lobe-chat-db
[deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
[deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
[discord-link]: https://discord.gg/AYFPHvv2jT
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square&sort=semver
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat-database?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat-database?color=369eff&labelColor=black&style=flat-square&sort=semver
[docs]: https://lobehub.com/docs/usage/start
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
[docs-docker]: https://lobehub.com/docs/self-hosting/server-database/docker-compose
[docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
[docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
[docs-feat-artifacts]: https://lobehub.com/docs/usage/features/artifacts
[docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
[docs-feat-branch]: https://lobehub.com/docs/usage/features/branching-conversations
[docs-feat-cot]: https://lobehub.com/docs/usage/features/cot
[docs-feat-database]: https://lobehub.com/docs/usage/features/database
[docs-feat-knowledgebase]: https://lobehub.com/blog/knowledge-base
[docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
@@ -774,7 +876,7 @@ This project is [Apache 2.0](./LICENSE) licensed.
[docs-feat-theme]: https://lobehub.com/docs/usage/features/theme
[docs-feat-tts]: https://lobehub.com/docs/usage/features/tts
[docs-feat-vision]: https://lobehub.com/docs/usage/features/vision
[docs-functionc-call]: https://lobehub.com/blog/openai-function-call
[docs-function-call]: https://lobehub.com/blog/openai-function-call
[docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse
[docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development
[docs-self-hosting]: https://lobehub.com/docs/self-hosting/start
@@ -804,22 +906,29 @@ This project is [Apache 2.0](./LICENSE) licensed.
[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
[github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
[github-trending-url]: https://trendshift.io/repositories/2256
[image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
[image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
[image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
[image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
[image-feat-knowledgebase]: https://github.com/user-attachments/assets/77e58e1c-c82f-4341-b159-f4eeede9967f
[image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
[image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
[image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
[image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
[image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
[image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
[image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
[image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
[image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
[image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
[image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
[image-banner]: https://github.com/user-attachments/assets/6f293c7f-47b4-47eb-9202-fe68a942d35b
[image-feat-agent]: https://github.com/user-attachments/assets/b3ab6e35-4fbc-468d-af10-e3e0c687350f
[image-feat-artifacts]: https://github.com/user-attachments/assets/7f95fad6-b210-4e6e-84a0-7f39e96f3a00
[image-feat-auth]: https://github.com/user-attachments/assets/80bb232e-19d1-4f97-98d6-e291f3585e6d
[image-feat-branch]: https://github.com/user-attachments/assets/92f72082-02bd-4835-9c54-b089aad7fd41
[image-feat-cot]: https://github.com/user-attachments/assets/f74f1139-d115-4e9c-8c43-040a53797a5e
[image-feat-database]: https://github.com/user-attachments/assets/f1697c8b-d1fb-4dac-ba05-153c6295d91d
[image-feat-desktop]: https://github.com/user-attachments/assets/a7bac8d3-ea96-4000-bb39-fadc9b610f96
[image-feat-knowledgebase]: https://github.com/user-attachments/assets/7da7a3b2-92fd-4630-9f4e-8560c74955ae
[image-feat-local]: https://github.com/user-attachments/assets/1239da50-d832-4632-a7ef-bd754c0f3850
[image-feat-mcp]: https://github.com/user-attachments/assets/1be85d36-3975-4413-931f-27e05e440995
[image-feat-mcp-market]: https://github.com/user-attachments/assets/bb114f9f-24c5-4000-a984-c10d187da5a0
[image-feat-mobile]: https://github.com/user-attachments/assets/32cf43c4-96bd-4a4c-bfb6-59acde6fe380
[image-feat-plugin]: https://github.com/user-attachments/assets/66a891ac-01b6-4e3f-b978-2eb07b489b1b
[image-feat-privoder]: https://github.com/user-attachments/assets/e553e407-42de-4919-977d-7dbfcf44a821
[image-feat-pwa]: https://github.com/user-attachments/assets/9647f70f-b71b-43b6-9564-7cdd12d1c24d
[image-feat-t2i]: https://github.com/user-attachments/assets/708274a7-2458-494b-a6ec-b73dfa1fa7c2
[image-feat-theme]: https://github.com/user-attachments/assets/b47c39f1-806f-492b-8fcb-b0fa973937c1
[image-feat-tts]: https://github.com/user-attachments/assets/50189597-2cc3-4002-b4c8-756a52ad5c0a
[image-feat-vision]: https://github.com/user-attachments/assets/18574a1f-46c2-4cbc-af2c-35a86e128a07
[image-feat-web-search]: https://github.com/user-attachments/assets/cfdc48ac-b5f8-4a00-acee-db8f2eba09ad
[image-overview]: https://github.com/user-attachments/assets/dbfaa84a-2c82-4dd9-815c-5be616f264a4
[image-star]: https://github.com/user-attachments/assets/c3b482e7-cef5-4e94-bef9-226900ecfaab
[issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
[lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
[lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
@@ -844,7 +953,7 @@ This project is [Apache 2.0](./LICENSE) licensed.
[profile-link]: https://github.com/lobehub
[share-linkedin-link]: https://linkedin.com/feed
[share-linkedin-shield]: https://img.shields.io/badge/-share%20on%20linkedin-black?labelColor=black&logo=linkedin&logoColor=white&style=flat-square
[share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20(Function%20Calling),%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT/LLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI
[share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20%28Function%20Calling%29,%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI
[share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square
[share-reddit-link]: https://www.reddit.com/submit?title=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source%2C%20extensible%20%28Function%20Calling%29%2C%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT%2FLLM%20web%20application.%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
+205 -98
View File
@@ -8,7 +8,7 @@
支持语音合成、多模态、可扩展的([function call][docs-functionc-call])插件系统<br/>
一键**免费**拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用
[English](./README.md) · [繁體中文](./README.zh-TW.md) · **简体中文** · [日本語](./README.ja-JP.md) · [官网][official-site] · [更新日志][changelog] · [文档][docs] · [博客][blog] · [反馈问题][github-issues-link]
[English](./README.md) · **简体中文** · [官网][official-site] · [更新日志][changelog] · [文档][docs] · [博客][blog] · [反馈问题][github-issues-link]
<!-- SHIELD GROUP -->
@@ -41,7 +41,7 @@
[![][github-trending-shield]][github-trending-url]
[![][github-hello-shield]][github-hello-url]
[![][image-overview]][vercel-link]
![][image-overview]
</div>
@@ -52,20 +52,27 @@
- [👋🏻 开始使用 & 交流](#-开始使用--交流)
- [✨ 特性一览](#-特性一览)
- [`1` 文件上传 / 知识库](#1-文件上传--知识库)
- [`2` 多模型服务商支持](#2-多模型服务商支持)
- [`3` 支持本地大语言模型 (LLM)](#3-支持本地大语言模型-llm)
- [`4` 模型视觉识别 (Model Visual)](#4-模型视觉识别-model-visual)
- [`5` TTS & STT 语音会话](#5-tts--stt-语音会话)
- [`6` Text to Image 文生图](#6-text-to-image-文生图)
- [`7` 插件系统 (Tools Calling)](#7-插件系统-tools-calling)
- [`8` 助手市场 (GPTs)](#8-助手市场-gpts)
- [`9` 支持本地 / 远程数据库](#9-支持本地--远程数据库)
- [`10` 支持多用户管理](#10-支持多用户管理)
- [`11` 渐进式 Web 应用 (PWA)](#11-渐进式-web-应用-pwa)
- [`12` 移动设备适配](#12-移动设备适配)
- [`13` 自定义主题](#13-自定义主题)
- [更多特性](#更多特性)
- [✨ MCP 插件一键安装](#-mcp-插件一键安装)
- [🏪 MCP 市场](#-mcp-市场)
- [🖥️ 桌面应用](#-桌面应用)
- [🌐 智能联网搜索](#-智能联网搜索)
- [思维链 (CoT)](#思维链-cot)
- [分支对话](#分支对话)
- [支持白板 (Artifacts)](#支持白板-artifacts)
- [文件上传 / 知识库](#文件上传--知识库)
- [多模型服务商支持](#多模型服务商支持)
- [支持本地大语言模型 (LLM)](#支持本地大语言模型-llm)
- [模型视觉识别 (Model Visual)](#模型视觉识别-model-visual)
- [TTS & STT 语音会话](#tts--stt-语音会话)
- [Text to Image 文生图](#text-to-image-文生图)
- [插件系统 (Tools Calling)](#插件系统-tools-calling)
- [助手市场 (GPTs)](#助手市场-gpts)
- [支持本地 / 远程数据库](#支持本地--远程数据库)
- [支持多用户管理](#支持多用户管理)
- [渐进式 Web 应用 (PWA)](#渐进式-web-应用-pwa)
- [移动设备适配](#移动设备适配)
- [自定义主题](#自定义主题)
- [`*` 更多特性](#-更多特性)
- [⚡️ 性能测试](#-性能测试)
- [🛳 开箱即用](#-开箱即用)
- [`A` 使用 Vercel、Zeabur 、Sealos 或 阿里云计算巢 部署](#a-使用-vercelzeabur-sealos-或-阿里云计算巢-部署)
@@ -111,9 +118,98 @@
## ✨ 特性一览
通过 LobeChat 的强大功能,体验为无缝连接、提升效率和无限创意而设计的全新 AI 体验。
### ✨ MCP 插件一键安装
[![](https://github.com/user-attachments/assets/1be85d36-3975-4413-931f-27e05e440995)](https://lobehub.com/mcp)
**无缝连接你的 AI 与世界**
通过启用与外部工具、数据源和服务的平滑、安全和动态交互,释放你的 AI 的全部潜力。基于 MCP(模型上下文协议)的插件系统打破了 AI 与数字生态系统之间的壁垒,实现了前所未有的连接性和功能性。
将对话转化为强大的工作流程,连接数据库、API、文件系统等。体验真正理解并与你的世界互动的 AI Agent。
[![][back-to-top]](#readme-top)
### 🏪 MCP 市场
![][image-feat-mcp-market]
**发现、连接、扩展**
浏览不断增长的 MCP 插件库,轻松扩展你的 AI 能力并简化工作流程。访问 [lobehub.com/mcp](https://lobehub.com/mcp) 探索 MCP 市场,提供精选的集成集合,增强你的 AI 与各种工具和服务协作的能力。
从生产力工具到开发环境,发现扩展 AI 覆盖范围和效率的新方式。与社区连接,找到满足特定需求的完美插件。
[![][back-to-top]](#readme-top)
### 🖥️ 桌面应用
![][image-feat-desktop]
**巅峰性能,零干扰**
获得完整的 LobeChat 体验,摆脱浏览器限制 —— 轻量级、专注且随时就绪。我们的桌面应用程序为你的 AI 交互提供专用环境,确保最佳性能和最小干扰。
体验更快的响应时间、更好的资源管理和与 AI 助手的更稳定连接。桌面应用专为要求 AI 工具最佳性能的用户设计。
[![][back-to-top]](#readme-top)
### 🌐 智能联网搜索
![][image-feat-web-search]
**在线知识,按需获取**
通过实时联网访问,你的 AI 与世界保持同步 —— 新闻、数据、趋势等。保持信息更新,获取最新可用信息,使你的 AI 能够提供准确和最新的回复。
访问实时信息,验证事实,探索当前事件,无需离开对话。你的 AI 成为通向世界知识的门户,始终保持最新和全面。
[![][back-to-top]](#readme-top)
[![][image-feat-cot]][docs-feat-cot]
### [思维链 (CoT)][docs-feat-cot]
体验前所未有的 AI 推理过程。通过创新的思维链(CoT)可视化功能,您可以实时观察复杂问题是如何一步步被解析的。这项突破性的功能为 AI 的决策过程提供了前所未有的透明度,让您能够清晰地了解结论是如何得出的。
通过将复杂的推理过程分解为清晰的逻辑步骤,您可以更好地理解和验证 AI 的解题思路。无论您是在调试问题、学习知识,还是单纯对 AI 推理感兴趣,思维链可视化都能将抽象思维转化为一种引人入胜的互动体验。
[![][back-to-top]](#readme-top)
[![][image-feat-branch]][docs-feat-branch]
### [分支对话][docs-feat-branch]
为您带来更自然、更灵活的 AI 对话方式。通过分支对话功能,您的讨论可以像人类对话一样自然延伸。在任意消息处创建新的对话分支,让您在保留原有上下文的同时,自由探索不同的对话方向。
两种强大模式任您选择:
- **延续模式**:无缝延展当前讨论,保持宝贵的对话上下文
- **独立模式**:基于任意历史消息,开启全新话题探讨
这项突破性功能将线性对话转变为动态的树状结构,让您能够更深入地探索想法,实现更高效的互动体验。
[![][back-to-top]](#readme-top)
[![][image-feat-artifacts]][docs-feat-artifacts]
### [支持白板 (Artifacts)][docs-feat-artifacts]
体验集成于 LobeChat 的 Claude Artifacts 能力。这项革命性功能突破了 AI 人机交互的边界,让您能够实时创建和可视化各种格式的内容。
以前所未有的灵活度进行创作与可视化:
- 生成并展示动态 SVG 图形
- 实时构建与渲染交互式 HTML 页面
- 输出多种格式的专业文档
[![][back-to-top]](#readme-top)
[![][image-feat-knowledgebase]][docs-feat-knowledgebase]
### `1` [文件上传 / 知识库][docs-feat-knowledgebase]
### [文件上传 / 知识库][docs-feat-knowledgebase]
LobeChat 支持文件上传与知识库功能,你可以上传文件、图片、音频、视频等多种类型的文件,以及创建知识库,方便用户管理和查找文件。同时在对话中使用文件和知识库功能,实现更加丰富的对话体验。
@@ -131,7 +227,7 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
[![][image-feat-privoder]][docs-feat-provider]
### `2` [多模型服务商支持][docs-feat-provider]
### [多模型服务商支持][docs-feat-provider]
在 LobeChat 的不断发展过程中,我们深刻理解到在提供 AI 会话服务时模型服务商的多样性对于满足社区需求的重要性。因此,我们不再局限于单一的模型服务商,而是拓展了对多种模型服务商的支持,以便为用户提供更为丰富和多样化的会话选择。
@@ -149,23 +245,27 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock 是亚马逊 AWS 提供的一项服务,专注于为企业提供先进的 AI 语言模型和视觉模型。其模型家族包括 Anthropic 的 Claude 系列、Meta 的 Llama 3.1 系列等,涵盖从轻量级到高性能的多种选择,支持文本生成、对话、图像处理等多种任务,适用于不同规模和需求的企业应用。
- **[Google](https://lobechat.com/discover/provider/google)**: Google 的 Gemini 系列是其最先进、通用的 AI 模型,由 Google DeepMind 打造,专为多模态设计,支持文本、代码、图像、音频和视频的无缝理解与处理。适用于从数据中心到移动设备的多种环境,极大提升了 AI 模型的效率与应用广泛性。
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek 是一家专注于人工智能技术研究和应用的公司,其最新模型 DeepSeek-V3 多项评测成绩超越 Qwen2.5-72B 和 Llama-3.1-405B 等开源模型,性能对齐领军闭源模型 GPT-4o 与 Claude-3.5-Sonnet。
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的开源平台,提供多种自然语言处理模型,应用领域广泛,包括但不限于内容创作、学术研究、智能推荐、医疗诊断等,支持长文本处理和复杂生成任务
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter 是一个提供多种前沿大模型接口的服务平台,支持 OpenAI、Anthropic、LLaMA 及更多,适合多样化的开发和应用需求。用户可根据自身需求灵活选择最优的模型和价格,助力 AI 体验的提升。
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一种快速且免费的方式,让您可以探索成千上万种模型,适用于各种任务。无论您是在为新应用程序进行原型设计,还是在尝试机器学习的功能,这个 API 都能让您即时访问多个领域的高性能模型。
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: 在 Cloudflare 的全球网络上运行由无服务器 GPU 驱动的机器学习模型。
<details><summary><kbd>See more providers (+32)</kbd></summary>
- **[GitHub](https://lobechat.com/discover/provider/github)**: 通过 GitHub 模型,开发人员可以成为 AI 工程师,并使用行业领先的 AI 模型进行构建。
<details><summary><kbd>See more providers (+26)</kbd></summary>
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI 是一个提供多种大语言模型与 AI 图像生成的 API 服务的平台,灵活、可靠且具有成本效益。它支持 Llama3、Mistral 等最新的开源模型,并为生成式 AI 应用开发提供了全面、用户友好且自动扩展的 API 解决方案,适合 AI 初创公司的快速发展。
- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO 派欧云提供稳定、高性价比的开源模型 API 服务,支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。
- **[302.AI](https://lobechat.com/discover/provider/ai302)**: 302.AI 是一个按需付费的 AI 应用平台,提供市面上最全的 AI API 和 AI 在线应用
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI 致力于通过创新的 AI 模型实现领先的性能,提供广泛的自定义能力,包括快速扩展支持和直观的部署流程,满足企业的各种需求。
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI 是一家领先的高级语言模型服务商,专注于功能调用和多模态处理。其最新模型 Firefunction V2 基于 Llama-3,优化用于函数调用、对话及指令跟随。视觉语言模型 FireLLaVA-13B 支持图像和文本混合输入。其他 notable 模型包括 Llama 系列和 Mixtral 系列,提供高效的多语言指令跟随与生成支持。
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq 的 LPU 推理引擎在最新的独立大语言模型(LLM)基准测试中表现卓越,以其惊人的速度和效率重新定义了 AI 解决方案的标准。Groq 是一种即时推理速度的代表,在基于云的部署中展现了良好的性能。
- **[Perplexity](https://lobechat.com/discover/provider/perplexity)**: Perplexity 是一家领先的对话生成模型提供商,提供多种先进的 Llama 3.1 模型,支持在线和离线应用,特别适用于复杂的自然语言处理任务。
- **[Mistral](https://lobechat.com/discover/provider/mistral)**: Mistral 提供先进的通用、专业和研究型模型,广泛应用于复杂推理、多语言任务、代码生成等领域,通过功能调用接口,用户可以集成自定义功能,实现特定应用。
- **[ModelScope](https://lobechat.com/discover/provider/modelscope)**: ModelScope 是阿里云推出的模型即服务平台,提供丰富的 AI 模型和推理服务。
- **[Ai21Labs](https://lobechat.com/discover/provider/ai21)**: AI21 Labs 为企业构建基础模型和人工智能系统,加速生成性人工智能在生产中的应用。
- **[Upstage](https://lobechat.com/discover/provider/upstage)**: Upstage 专注于为各种商业需求开发 AI 模型,包括 Solar LLM 和文档 AI,旨在实现工作的人造通用智能(AGI)。通过 Chat API 创建简单的对话代理,并支持功能调用、翻译、嵌入以及特定领域应用。
- **[xAI](https://lobechat.com/discover/provider/xai)**: xAI 是一家致力于构建人工智能以加速人类科学发现的公司。我们的使命是推动我们对宇宙的共同理解。
- **[Qwen](https://lobechat.com/discover/provider/qwen)**: 通义千问是阿里云自主研发的超大规模语言模型,具有强大的自然语言理解和生成能力。它可以回答各种问题、创作文字内容、表达观点看法、撰写代码等,在多个领域发挥作用。
- **[xAI (Grok)](https://lobechat.com/discover/provider/xai)**: xAI 是一家致力于构建人工智能以加速人类科学发现的公司。我们的使命是推动我们对宇宙的共同理解。
- **[Aliyun Bailian](https://lobechat.com/discover/provider/qwen)**: 通义千问是阿里云自主研发的超大规模语言模型,具有强大的自然语言理解和生成能力。它可以回答各种问题、创作文字内容、表达观点看法、撰写代码等,在多个领域发挥作用。
- **[Wenxin](https://lobechat.com/discover/provider/wenxin)**: 企业级一站式大模型与 AI 原生应用开发及服务平台,提供最全面易用的生成式人工智能模型开发、应用开发全流程工具链
- **[Hunyuan](https://lobechat.com/discover/provider/hunyuan)**: 由腾讯研发的大语言模型,具备强大的中文创作能力,复杂语境下的逻辑推理能力,以及可靠的任务执行能力
- **[ZhiPu](https://lobechat.com/discover/provider/zhipu)**: 智谱 AI 提供多模态与语言模型的开放平台,支持广泛的 AI 应用场景,包括文本处理、图像理解与编程辅助等。
@@ -174,7 +274,6 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
- **[Spark](https://lobechat.com/discover/provider/spark)**: 科大讯飞星火大模型提供多领域、多语言的强大 AI 能力,利用先进的自然语言处理技术,构建适用于智能硬件、智慧医疗、智慧金融等多种垂直场景的创新应用。
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: 商汤日日新,依托商汤大装置的强大的基础支撑,提供高效易用的全栈大模型服务。
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: 阶级星辰大模型具备行业领先的多模态及复杂推理能力,支持超长文本理解和强大的自主调度搜索引擎功能。
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的开源平台,提供多种自然语言处理模型,应用领域广泛,包括但不限于内容创作、学术研究、智能推荐、医疗诊断等,支持长文本处理和复杂生成任务。
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: 百川智能是一家专注于人工智能大模型研发的公司,其模型在国内知识百科、长文本处理和生成创作等中文任务上表现卓越,超越了国外主流模型。百川智能还具备行业领先的多模态能力,在多项权威评测中表现优异。其模型包括 Baichuan 4、Baichuan 3 Turbo 和 Baichuan 3 Turbo 128k 等,分别针对不同应用场景进行优化,提供高性价比的解决方案。
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax 是 2021 年成立的通用人工智能科技公司,致力于与用户共创智能。MiniMax 自主研发了不同模态的通用大模型,其中包括万亿参数的 MoE 文本大模型、语音大模型以及图像大模型。并推出了海螺 AI 等应用。
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: 致力于大模型研究与开发工具链的开源组织。为所有 AI 开发者提供高效、易用的开源平台,让最前沿的大模型与算法技术触手可及
@@ -182,14 +281,17 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
- **[Gitee AI](https://lobechat.com/discover/provider/giteeai)**: Gitee AI 的 Serverless API 为 AI 开发者提供开箱即用的大模型推理 API 服务。
- **[Taichu](https://lobechat.com/discover/provider/taichu)**: 中科院自动化研究所和武汉人工智能研究院推出新一代多模态大模型,支持多轮问答、文本创作、图像生成、3D 理解、信号分析等全面问答任务,拥有更强的认知、理解、创作能力,带来全新互动体验。
- **[360 AI](https://lobechat.com/discover/provider/ai360)**: 360 AI 是 360 公司推出的 AI 模型和服务平台,提供多种先进的自然语言处理模型,包括 360GPT2 Pro、360GPT Pro、360GPT Turbo 和 360GPT Turbo Responsibility 8K。这些模型结合了大规模参数和多模态能力,广泛应用于文本生成、语义理解、对话系统与代码生成等领域。通过灵活的定价策略,360 AI 满足多样化用户需求,支持开发者集成,推动智能化应用的革新和发展。
- **[Search1API](https://lobechat.com/discover/provider/search1api)**: Search1API 提供可根据需要自行联网的 DeepSeek 系列模型的访问,包括标准版和快速版本,支持多种参数规模的模型选择。
- **[InfiniAI](https://lobechat.com/discover/provider/infiniai)**: 为应用开发者提供高性能、易上手、安全可靠的大模型服务,覆盖从大模型开发到大模型服务化部署的全流程。
- **[Qiniu](https://lobechat.com/discover/provider/qiniu)**: 七牛作为老牌云服务厂商,提供高性价比稳定的实时、批量 AI 推理服务,简单易用。
</details>
> 📊 Total providers: [<kbd>**36**</kbd>](https://lobechat.com/discover/providers)
> 📊 Total providers: [<kbd>**42**</kbd>](https://lobechat.com/discover/providers)
<!-- PROVIDER LIST -->
同时,我们也在计划支持更多的模型服务商,以进一步丰富我们的服务商库。如果你希望让 LobeChat 支持你喜爱的服务商,欢迎加入我们的 [💬 社区讨论](https://github.com/lobehub/lobe-chat/discussions/1284)。
同时,我们也在计划支持更多的模型服务商,以进一步丰富我们的服务商库。如果你希望让 LobeChat 支持你喜爱的服务商,欢迎加入我们的 [💬 社区讨论](https://github.com/lobehub/lobe-chat/discussions/6157)。
<div align="right">
@@ -199,7 +301,7 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
[![][image-feat-local]][docs-feat-local]
### `3` [支持本地大语言模型 (LLM)][docs-feat-local]
### [支持本地大语言模型 (LLM)][docs-feat-local]
为了满足特定用户的需求,LobeChat 还基于 [Ollama](https://ollama.ai) 支持了本地模型的使用,让用户能够更灵活地使用自己的或第三方的模型。
@@ -215,7 +317,7 @@ LobeChat 支持文件上传与知识库功能,你可以上传文件、图片
[![][image-feat-vision]][docs-feat-vision]
### `4` [模型视觉识别 (Model Visual)][docs-feat-vision]
### [模型视觉识别 (Model Visual)][docs-feat-vision]
LobeChat 已经支持 OpenAI 最新的 [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) 支持视觉识别的模型,这是一个具备视觉识别能力的多模态应用。
用户可以轻松上传图片或者拖拽图片到对话框中,助手将能够识别图片内容,并在此基础上进行智能对话,构建更智能、更多元化的聊天场景。
@@ -230,7 +332,7 @@ LobeChat 已经支持 OpenAI 最新的 [`gpt-4-vision`](https://platform.openai.
[![][image-feat-tts]][docs-feat-tts]
### `5` [TTS & STT 语音会话][docs-feat-tts]
### [TTS & STT 语音会话][docs-feat-tts]
LobeChat 支持文字转语音(Text-to-SpeechTTS)和语音转文字(Speech-to-Text,STT)技术,这使得我们的应用能够将文本信息转化为清晰的语音输出,用户可以像与真人交谈一样与我们的对话助手进行交流。
用户可以从多种声音中选择,给助手搭配合适的音源。 同时,对于那些倾向于听觉学习或者想要在忙碌中获取信息的用户来说,TTS 提供了一个极佳的解决方案。
@@ -245,7 +347,7 @@ LobeChat 支持文字转语音(Text-to-SpeechTTS)和语音转文字(Spe
[![][image-feat-t2i]][docs-feat-t2i]
### `6` [Text to Image 文生图][docs-feat-t2i]
### [Text to Image 文生图][docs-feat-t2i]
支持最新的文本到图片生成技术,LobeChat 现在能够让用户在与助手对话中直接调用文生图工具进行创作。
通过利用 [`DALL-E 3`](https://openai.com/dall-e-3)、[`MidJourney`](https://www.midjourney.com/) 和 [`Pollinations`](https://pollinations.ai/) 等 AI 工具的能力, 助手们现在可以将你的想法转化为图像。
@@ -259,7 +361,7 @@ LobeChat 支持文字转语音(Text-to-SpeechTTS)和语音转文字(Spe
[![][image-feat-plugin]][docs-feat-plugin]
### `7` [插件系统 (Tools Calling)][docs-feat-plugin]
### [插件系统 (Tools Calling)][docs-feat-plugin]
LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地增强了 ChatGPT 的实用性和灵活性。
@@ -273,14 +375,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
<!-- PLUGIN LIST -->
| 最近新增 | 描述 |
| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [网页](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | 智能网页搜索,读取和分析页面,以提供来自 Google 结果的全面答案。<br/>`网页` `搜索` |
| [MintbaseSearch](https://lobechat.com/discover/plugin/mintbasesearch)<br/><sup>By **mintbase** on **2024-12-31**</sup> | 在 NEAR 协议上查找任何 NFT 数据。<br/>`加密货币` `nft` |
| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch` |
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2024-12-22**</sup> | 分析股票并获取全面的实时投资数据和分析。<br/>`股票` |
| 最近新增 | 描述 |
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [网页](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup> | 智能网页搜索,读取和分析页面,以提供来自 Google 结果的全面答案。<br/>`网页` `搜索` |
| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch` |
| [谷歌自定义搜索引擎](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | 通过他们的官方自定义搜索引擎 API 搜索谷歌。<br/>`网络` `搜索` |
| [通义万象图像生成器](https://lobechat.com/discover/plugin/alps-tongyi-image)<br/><sup>By **YoungTx** on **2024-08-09**</sup> | 此插件使用阿里巴巴的通义万象模型根据文本提示生成图像。<br/>`图像` `通义` `万象` |
> 📊 Total plugins: [<kbd>**49**</kbd>](https://lobechat.com/discover/plugins)
> 📊 Total plugins: [<kbd>**41**</kbd>](https://lobechat.com/discover/plugins)
<!-- PLUGIN LIST -->
@@ -292,7 +394,7 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
[![][image-feat-agent]][docs-feat-agent]
### `8` [助手市场 (GPTs)][docs-feat-agent]
### [助手市场 (GPTs)][docs-feat-agent]
在 LobeChat 的助手市场中,创作者们可以发现一个充满活力和创新的社区,它汇聚了众多精心设计的助手,这些助手不仅在工作场景中发挥着重要作用,也在学习过程中提供了极大的便利。
我们的市场不仅是一个展示平台,更是一个协作的空间。在这里,每个人都可以贡献自己的智慧,分享个人开发的助手。
@@ -308,14 +410,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
<!-- AGENT LIST -->
| 最近新增 | 描述 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [命理研究员](https://lobechat.com/discover/assistant/fate-researcher)<br/><sup>By **[Jack980506](https://github.com/Jack980506)** on **2025-02-06**</sup> | 精通八字命<br/>`命理学` `八字` `传统文化` |
| [语言魅力学习导师](https://lobechat.com/discover/assistant/bad-language-helper)<br/><sup>By **[Guducat](https://github.com/Guducat)** on **2025-02-06**</sup> | 擅长教学语言的魅力与花样回复<br/>`语言学习` `对话示例` |
| [Allinone](https://lobechat.com/discover/assistant/allinone-v-1)<br/><sup>By **[AXuanCreator](https://github.com/AXuanCreator)** on **2025-02-06**</sup> | 创新・未来・卓越<br/>`编程` `低成本` `简洁回答` |
| [深思](https://lobechat.com/discover/assistant/deep-thinker)<br/><sup>By **[prolapser](https://github.com/prolapser)** on **2025-02-06**</sup> | 深刻的人类思维和分析。<br/>`思考` `推理` `反思` `思想` `沉思` |
| 最近新增 | 描述 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| [海龟汤主持人](https://lobechat.com/discover/assistant/lateral-thinking-puzzle)<br/><sup>By **[CSY2022](https://github.com/CSY2022)** on **2025-06-19**</sup> | 一个海龟汤主持人,需要自己提供汤面,汤底与关键点(猜中的判定条件)。<br/>`海龟汤` `推理` `互动` `谜题` `角色扮演` |
| [美食评论员🍟](https://lobechat.com/discover/assistant/food-reviewer)<br/><sup>By **[renhai-lab](https://github.com/renhai-lab)** on **2025-06-17**</sup> | 美食评价专家<br/>`美食` `评价` `写作` |
| [学术写作助手](https://lobechat.com/discover/assistant/academic-writing-assistant)<br/><sup>By **[swarfte](https://github.com/swarfte)** on **2025-06-17**</sup> | 专业的学术研究论文写作和正式文档编写专家<br/>`学术写作` `研究` `正式风格` |
| [Minecraft 资深开发](https://lobechat.com/discover/assistant/java-development)<br/><sup>By **[iamyuuk](https://github.com/iamyuuk)** on **2025-06-17**</sup> | 擅长高级 Java 开发及 Minecraft 开发<br/>`开发` `编程` `minecraft` `java` |
> 📊 Total agents: [<kbd>**485**</kbd> ](https://lobechat.com/discover/assistants)
> 📊 Total agents: [<kbd>**505**</kbd> ](https://lobechat.com/discover/assistants)
<!-- AGENT LIST -->
@@ -327,7 +429,7 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
[![][image-feat-database]][docs-feat-database]
### `9` [支持本地 / 远程数据库][docs-feat-database]
### [支持本地 / 远程数据库][docs-feat-database]
LobeChat 支持同时使用服务端数据库和本地数据库。根据您的需求,您可以选择合适的部署方案:
@@ -344,7 +446,7 @@ LobeChat 支持同时使用服务端数据库和本地数据库。根据您的
[![][image-feat-auth]][docs-feat-auth]
### `10` [支持多用户管理][docs-feat-auth]
### [支持多用户管理][docs-feat-auth]
LobeChat 支持多用户管理,提供了两种主要的用户认证和管理方案,以满足不同需求:
@@ -362,7 +464,7 @@ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理
[![][image-feat-pwa]][docs-feat-pwa]
### `11` [渐进式 Web 应用 (PWA)][docs-feat-pwa]
### [渐进式 Web 应用 (PWA)][docs-feat-pwa]
我们深知在当今多设备环境下为用户提供无缝体验的重要性。为此,我们采用了渐进式 Web 应用 [PWA](https://support.google.com/chrome/answer/9658361) 技术,
这是一种能够将网页应用提升至接近原生应用体验的现代 Web 技术。通过 PWA,LobeChat 能够在桌面和移动设备上提供高度优化的用户体验,同时保持轻量级和高性能的特点。
@@ -375,7 +477,6 @@ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理
> - 在电脑上运行 Chrome 或 Edge 浏览器 .
> - 访问 LobeChat 网页 .
> - 在地址栏的右上角,单击 <kbd>安装</kbd> 图标 .
> - 根据屏幕上的指示完成 PWA 的安装 .
<div align="right">
@@ -385,7 +486,7 @@ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理
[![][image-feat-mobile]][docs-feat-mobile]
### `12` [移动设备适配][docs-feat-mobile]
### [移动设备适配][docs-feat-mobile]
针对移动设备进行了一系列的优化设计,以提升用户的移动体验。目前,我们正在对移动端的用户体验进行版本迭代,以实现更加流畅和直观的交互。如果您有任何建议或想法,我们非常欢迎您通过 GitHub Issues 或者 Pull Requests 提供反馈。
@@ -397,7 +498,7 @@ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理
[![][image-feat-theme]][docs-feat-theme]
### `13` [自定义主题][docs-feat-theme]
### [自定义主题][docs-feat-theme]
作为设计工程师出身,LobeChat 在界面设计上充分考虑用户的个性化体验,因此引入了灵活多变的主题模式,其中包括日间的亮色模式和夜间的深色模式。
除了主题模式的切换,还提供了一系列的颜色定制选项,允许用户根据自己的喜好来调整应用的主题色彩。无论是想要沉稳的深蓝,还是希望活泼的桃粉,或者是专业的灰白,用户都能够在 LobeChat 中找到匹配自己风格的颜色选择。
@@ -412,7 +513,7 @@ LobeChat 支持多用户管理,提供了两种主要的用户认证和管理
</div>
### 更多特性
### `*` 更多特性
除了上述功能特性以外,LobeChat 所具有的设计和技术能力将为你带来更多使用保障:
@@ -484,7 +585,7 @@ LobeChat 提供了 Vercel 的 自托管版本 和 [Docker 镜像][docker-release
#### 保持更新
如果你根据 README 中的一键部署步骤部署了自己的项目,你可能会发现总是被提示 有可用更新。这是因为 Vercel 默认为你创建新项目而非 fork 本项目,这将导致无法准确检测更新。
如果你根据 README 中的一键部署步骤部署了自己的项目,你可能会发现总是被提示 "有可用更新"。这是因为 Vercel 默认为你创建新项目而非 fork 本项目,这将导致无法准确检测更新。
> \[!TIP]
>
@@ -498,27 +599,24 @@ LobeChat 提供了 Vercel 的 自托管版本 和 [Docker 镜像][docker-release
[![][docker-size-shield]][docker-size-link]
[![][docker-pulls-shield]][docker-pulls-link]
我们提供了 Docker 镜像,供你在自己的私有设备上部署 LobeChat 服务。使用以下命令即可使用一键启动 LobeChat 服务:
我们提供了一个用于在您自己的私有设备上部署 LobeChat 服务的 Docker 镜像。请使用以下命令启动 LobeChat 服务:
1. 创建一个用于存储文件的文件夹
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
$ mkdir lobe-chat-db && cd lobe-chat-db
```
> \[!TIP]
>
> 如果你需要通过代理使用 OpenAI 服务,你可以使用 `OPENAI_PROXY_URL` 环境变量来配置代理地址:
2. 启动一键脚本
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
bash <(curl -fsSL https://lobe.li/setup.sh) -l zh_CN
```
3. 启动 LobeChat
```fish
docker compose up -d
```
> \[!NOTE]
@@ -741,8 +839,8 @@ $ pnpm run dev
</details>
Copyright © 2023 [LobeHub][profile-link]. <br />
This project is [Apache 2.0](./LICENSE) licensed.
Copyright © 2025 [LobeHub][profile-link]. <br />
This project is [LobeHub Community License](./LICENSE) licensed.
<!-- LINK GROUP -->
@@ -750,9 +848,9 @@ This project is [Apache 2.0](./LICENSE) licensed.
[blog]: https://lobehub.com/zh/blog
[changelog]: https://lobehub.com/changelog
[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/chat_preview_lobehub_com_chat.html
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/lobechat_com_chat.html
[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/chat_preview_lobehub_com_chat.html
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/lobechat_com_chat.html
[chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk
[chat-plugin-template]: https://github.com/lobehub/chat-plugin-template
[chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway
@@ -765,24 +863,27 @@ This project is [Apache 2.0](./LICENSE) licensed.
[deploy-on-alibaba-cloud-button-image]: https://service-info-public.oss-cn-hangzhou.aliyuncs.com/computenest-en.svg
[deploy-on-alibaba-cloud-link]: https://computenest.console.aliyun.com/service/instance/create/default?type=user&ServiceName=LobeChat%E7%A4%BE%E5%8C%BA%E7%89%88
[deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
[deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
[deploy-on-sealos-link]: https://template.hzh.sealos.run/deploy?templateName=lobe-chat-db
[deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
[deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
[discord-link]: https://discord.gg/AYFPHvv2jT
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square&sort=semver
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat-database?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat-database?color=369eff&labelColor=black&style=flat-square&sort=semver
[docs]: https://lobehub.com/zh/docs/usage/start
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
[docs-docker]: https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose
[docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
[docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
[docs-feat-artifacts]: https://lobehub.com/docs/usage/features/artifacts
[docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
[docs-feat-branch]: https://lobehub.com/docs/usage/features/branching-conversations
[docs-feat-cot]: https://lobehub.com/docs/usage/features/cot
[docs-feat-database]: https://lobehub.com/docs/usage/features/database
[docs-feat-knowledgebase]: https://lobehub.com/blog/knowledge-base
[docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
@@ -826,22 +927,28 @@ This project is [Apache 2.0](./LICENSE) licensed.
[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
[github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
[github-trending-url]: https://trendshift.io/repositories/2256
[image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
[image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
[image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
[image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
[image-feat-knowledgebase]: https://github.com/user-attachments/assets/77e58e1c-c82f-4341-b159-f4eeede9967f
[image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
[image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
[image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
[image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
[image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
[image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
[image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
[image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
[image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
[image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
[image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
[image-banner]: https://github.com/user-attachments/assets/6f293c7f-47b4-47eb-9202-fe68a942d35b
[image-feat-agent]: https://github.com/user-attachments/assets/b3ab6e35-4fbc-468d-af10-e3e0c687350f
[image-feat-artifacts]: https://github.com/user-attachments/assets/7f95fad6-b210-4e6e-84a0-7f39e96f3a00
[image-feat-auth]: https://github.com/user-attachments/assets/80bb232e-19d1-4f97-98d6-e291f3585e6d
[image-feat-branch]: https://github.com/user-attachments/assets/92f72082-02bd-4835-9c54-b089aad7fd41
[image-feat-cot]: https://github.com/user-attachments/assets/f74f1139-d115-4e9c-8c43-040a53797a5e
[image-feat-database]: https://github.com/user-attachments/assets/f1697c8b-d1fb-4dac-ba05-153c6295d91d
[image-feat-desktop]: https://github.com/user-attachments/assets/a7bac8d3-ea96-4000-bb39-fadc9b610f96
[image-feat-knowledgebase]: https://github.com/user-attachments/assets/7da7a3b2-92fd-4630-9f4e-8560c74955ae
[image-feat-local]: https://github.com/user-attachments/assets/1239da50-d832-4632-a7ef-bd754c0f3850
[image-feat-mcp-market]: https://github.com/user-attachments/assets/bb114f9f-24c5-4000-a984-c10d187da5a0
[image-feat-mobile]: https://github.com/user-attachments/assets/32cf43c4-96bd-4a4c-bfb6-59acde6fe380
[image-feat-plugin]: https://github.com/user-attachments/assets/66a891ac-01b6-4e3f-b978-2eb07b489b1b
[image-feat-privoder]: https://github.com/user-attachments/assets/e553e407-42de-4919-977d-7dbfcf44a821
[image-feat-pwa]: https://github.com/user-attachments/assets/9647f70f-b71b-43b6-9564-7cdd12d1c24d
[image-feat-t2i]: https://github.com/user-attachments/assets/708274a7-2458-494b-a6ec-b73dfa1fa7c2
[image-feat-theme]: https://github.com/user-attachments/assets/b47c39f1-806f-492b-8fcb-b0fa973937c1
[image-feat-tts]: https://github.com/user-attachments/assets/50189597-2cc3-4002-b4c8-756a52ad5c0a
[image-feat-vision]: https://github.com/user-attachments/assets/18574a1f-46c2-4cbc-af2c-35a86e128a07
[image-feat-web-search]: https://github.com/user-attachments/assets/cfdc48ac-b5f8-4a00-acee-db8f2eba09ad
[image-overview]: https://github.com/user-attachments/assets/dbfaa84a-2c82-4dd9-815c-5be616f264a4
[image-star]: https://github.com/user-attachments/assets/c3b482e7-cef5-4e94-bef9-226900ecfaab
[issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
[lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
[lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
-892
View File
@@ -1,892 +0,0 @@
<div align="center"><a name="readme-top"></a>
[![][image-banner]][vercel-link]
<h1>Lobe Chat</h1>
現代風格的開源 ChatGPT/LLMs 使用介面/框架
支持語音合成、多模態、可擴展的([function call][docs-functionc-call])插件系統
一鍵**免費**部署私人的 OpenAI ChatGPT/Claude/Gemini/Groq/Ollama 聊天應用
[English](./README.md) · **繁體中文** · [簡體中文](./README.zh-CN.md) · [日本語](./README.ja-JP.md) · [官網][official-site] · [更新日誌][changelog] · [文檔][docs] · [部落格][blog] · [反饋問題][github-issues-link]
<!-- SHIELD GROUP -->
[![][github-release-shield]][github-release-link]
[![][docker-release-shield]][docker-release-link]
[![][vercel-shield]][vercel-link]
[![][discord-shield]][discord-link]<br/>
[![][codecov-shield]][codecov-link]
[![][github-action-test-shield]][github-action-test-link]
[![][github-action-release-shield]][github-action-release-link]
[![][github-releasedate-shield]][github-releasedate-link]<br/>
[![][github-contributors-shield]][github-contributors-link]
[![][github-forks-shield]][github-forks-link]
[![][github-stars-shield]][github-stars-link]
[![][github-issues-shield]][github-issues-link]
[![][github-license-shield]][github-license-link]<br>
[![][sponsor-shield]][sponsor-link]
**分享 LobeChat 給你的好友**
[![][share-x-shield]][share-x-link]
[![][share-telegram-shield]][share-telegram-link]
[![][share-whatsapp-shield]][share-whatsapp-link]
[![][share-reddit-shield]][share-reddit-link]
[![][share-weibo-shield]][share-weibo-link]
[![][share-mastodon-shield]][share-mastodon-link]
<sup>探索私人生產力的未來,在個體崛起的時代中為你打造。</sup>
[![][github-trending-shield]][github-trending-url]
[![][github-hello-shield]][github-hello-url]
[![][image-overview]][vercel-link]
</div>
<details>
<summary><kbd>目錄樹</kbd></summary>
#### TOC
- [👋🏻 開始使用 \& 交流](#-開始使用--交流)
- [✨ 特性一覽](#-特性一覽)
- [`1` 文件上傳 / 知識庫](#1-文件上傳--知識庫)
- [`2` 多模型服務商支持](#2-多模型服務商支持)
- [已支持的模型服務商](#已支持的模型服務商)
- [`3` 支持本地大型語言模型 (LLM)](#3-支持本地大型語言模型-llm)
- [`4` 模型視覺識別 (Model Visual)](#4-模型視覺識別-model-visual)
- [`5` TTS \& STT 語音轉化](#5-tts--stt-語音轉化)
- [`6` Text to Image 文生圖](#6-text-to-image-文生圖)
- [`7` 插件系統 (Tools Calling)](#7-插件系統-tools-calling)
- [`8` 助手市集 (GPTs)](#8-助手市集-gpts)
- [`9` 支持本地 / 遠程數據庫](#9-支持本地--遠程數據庫)
- [`10` 支持多用戶管理](#10-支持多用戶管理)
- [`11` 漸進式 Web 應用 (PWA)](#11-漸進式-web-應用-pwa)
- [`12` 移動設備適配](#12-移動設備適配)
- [`13` 自定義主題](#13-自定義主題)
- [更多特性](#更多特性)
- [⚡️ 性能測試](#-性能測試)
- [🛳 開箱即用](#-開箱即用)
- [`A` 使用 Vercel、Zeabur 、Sealos 或 Alibaba Cloud 部署](#a-使用-vercelzeabur-sealos-或-alibaba-cloud-部署)
- [Fork 之後](#fork-之後)
- [保持更新](#保持更新)
- [`B` 使用 Docker 部署](#b-使用-docker-部署)
- [環境變量](#環境變量)
- [獲取 OpenAI API Key](#獲取-openai-api-key)
- [`A` 通過 OpenAI 官方渠道](#a-通過-openai-官方渠道)
- [`B` 通過 OpenAI 第三方代理商](#b-通過-openai-第三方代理商)
- [📦 生態系統](#-生態系統)
- [🧩 插件體系](#-插件體系)
- [⌨️ 本地開發](#-本地開發)
- [🤝 參與貢獻](#-參與貢獻)
- [❤ 社區贊助](#-社區贊助)
- [🔗 更多工具](#-更多工具)
####
<br/>
</details>
## 👋🏻 開始使用 & 交流
我們是一群充滿熱情的設計工程師,希望為 AIGC 提供現代化的設計組件和工具,並以開源的方式分享。
透過採用Bootstrapping 的方式,我們的目標是為開發人員和使用者提供一個更加開放、透明和使用者友好的產品生態系統。
LobeHub 旨在成為普通用戶與專業開發者測試 AI 助手的場所。LobeChat 目前正在積極開發中,有任何需求或者問題,歡迎提交 [issues][issues-link]
| [![][vercel-shield-badge]][vercel-link] | 無需安裝或註冊!訪問我們的網站立刻體驗 |
| :---------------------------------------- | :--------------------------------------------------------------------------- |
| [![][discord-shield-badge]][discord-link] | 加入我們的 Discord 和開發者交流,和其他用戶們分享心得! |
> \[!IMPORTANT]
>
> **收藏項目**,你將從 GitHub 上訂閱所有發佈通知~⭐️
[![][image-star]][github-stars-link]
<details><summary><kbd>收藏圖表</kbd></summary>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&theme=dark&type=Date">
<img src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date">
</picture>
</details>
## ✨ 特性一覽
[![][image-feat-knowledgebase]][docs-feat-knowledgebase]
### `1` [文件上傳 / 知識庫][docs-feat-knowledgebase]
LobeChat 支持文件上傳與知識庫功能,你可以上傳文件、圖片、聲音、影片等多種類型的文件,以及創建知識庫,方便用戶管理和查找文件。同時在對話中使用文件和知識庫功能,實現更加豐富的對話體驗。
<https://github.com/user-attachments/assets/faa8cf67-e743-4590-8bf6-ebf6ccc34175>
> \[!TIP]
>
> 查閱 [📘 LobeChat 知識庫上線 —— 此刻起,跬步千里](https://lobehub.com/zh/blog/knowledge-base) 瞭解詳情。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-privoder]][docs-feat-provider]
### `2` [多模型服務商支持][docs-feat-provider]
在 LobeChat 的不斷發展過程中,我們深刻意識到在提供 AI 會話服務時,模型服務商的多樣性對於滿足社區需求的重要性。因此,我們拓展了對多種模型服務商的支持,為用戶提供更豐富、多樣化的選擇。
通過這種方式,LobeChat 能夠更靈活地適應不同用戶的需求,同時也為開發者提供了更為廣泛的選擇空間。
#### 已支持的模型服務商
我們已經實現了對以下模型服務商的支持:
<!-- PROVIDER LIST -->
- **[OpenAI](https://lobechat.com/discover/provider/openai)**: OpenAI 是全球領先的人工智能研究機構,其開發的模型如 GPT 系列推動了自然語言處理的前沿。OpenAI 致力於通過創新和高效的 AI 解決方案改變多個行業。他們的產品具有顯著的性能和經濟性,廣泛用於研究、商業和創新應用。
- **[Ollama](https://lobechat.com/discover/provider/ollama)**: Ollama 提供的模型廣泛涵蓋代碼生成、數學運算、多語種處理和對話互動等領域,支持企業級和本地化部署的多樣化需求。
- **[Anthropic](https://lobechat.com/discover/provider/anthropic)**: Anthropic 是一家專注於人工智能研究和開發的公司,提供了一系列先進的語言模型,如 Claude 3.5 Sonnet、Claude 3 Sonnet、Claude 3 Opus 和 Claude 3 Haiku。這些模型在智能、速度和成本之間取得了理想的平衡,適用於從企業級工作負載到快速響應的各種應用場景。Claude 3.5 Sonnet 作為其最新模型,在多項評估中表現優異,同時保持了較高的性價比。
- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock 是亞馬遜 AWS 提供的一項服務,專注於為企業提供先進的 AI 語言模型和視覺模型。其模型家族包括 Anthropic 的 Claude 系列、Meta 的 Llama 3.1 系列等,涵蓋從輕量級到高性能的多種選擇,支持文本生成、對話、圖像處理等多種任務,適用於不同規模和需求的企業應用。
- **[Google](https://lobechat.com/discover/provider/google)**: Google 的 Gemini 系列是其最先進、通用的 AI 模型,由 Google DeepMind 打造,專為多模態設計,支持文本、代碼、圖像、聲音和影片的無縫理解與處理。適用於從數據中心到移動設備的多種環境,極大提升了 AI 模型的效率與應用廣泛性。
- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek 是一家專注於人工智能技術研究和應用的公司,其最新模型 DeepSeek-V3 多項評測成績超越 Qwen2.5-72B 和 Llama-3.1-405B 等開源模型,性能對齊領軍閉源模型 GPT-4o 與 Claude-3.5-Sonnet。
- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一種快速且免費的方式,讓您可以探索成千上萬種模型,適用於各種任務。無論您是在為新應用程序進行原型設計,還是在嘗試機器學習的功能,這個 API 都能讓您即時訪問多個領域的高性能模型。
- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter 是一個提供多種前沿大模型接口的服務平台,支持 OpenAI、Anthropic、LLaMA 及更多,適合多樣化的開發和應用需求。用戶可根據自身需求靈活選擇最優的模型和價格,助力 AI 體驗的提升。
- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: 在 Cloudflare 的全球網絡上運行由無服務器 GPU 驅動的機器學習模型。
- **[GitHub](https://lobechat.com/discover/provider/github)**: 通過 GitHub 模型,開發人員可以成為 AI 工程師,並使用行業領先的 AI 模型進行構建。
<details><summary><kbd>瀏覽更多供應商 (+26)</kbd></summary>
- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI 是一個提供多種大語言模型與 AI 圖像生成的 API 服務的平台,靈活、可靠且具有成本效益。它支持 Llama3、Mistral 等最新的開源模型,並為生成式 AI 應用開發提供了全面、用戶友好且自動擴展的 API 解決方案,適合 AI 初創公司的快速發展。
- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI 致力於通過創新的 AI 模型實現領先的性能,提供廣泛的自定義能力,包括快速擴展支持和直觀的部署流程,滿足企業的各種需求。
- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI 是一家領先的高級語言模型服務商,專注於功能調用和多模態處理。其最新模型 Firefunction V2 基於 Llama-3,優化用於函數調用、對話及指令跟隨。視覺語言模型 FireLLaVA-13B 支持圖像和文本混合輸入。其他 notable 模型包括 Llama 系列和 Mixtral 系列,提供高效的多語言指令跟隨與生成支持。
- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq 的 LPU 推理引擎在最新的獨立大語言模型(LLM)基準測試中表現卓越,以其驚人的速度和效率重新定義了 AI 解決方案的標準。Groq 是一種即時推理速度的代表,在基於雲的部署中展現了良好的性能。
- **[Perplexity](https://lobechat.com/discover/provider/perplexity)**: Perplexity 是一家領先的對話生成模型提供商,提供多種先進的 Llama 3.1 模型,支持在線和離線應用,特別適用於複雜的自然語言處理任務。
- **[Mistral](https://lobechat.com/discover/provider/mistral)**: Mistral 提供先進的通用、專業和研究型模型,廣泛應用於複雜推理、多語言任務、代碼生成等領域,通過功能調用接口,用戶可以集成自定義功能,實現特定應用。
- **[Ai21Labs](https://lobechat.com/discover/provider/ai21)**: AI21 Labs 為企業構建基礎模型和人工智能系統,加速生成性人工智能在生產中的應用。
- **[Upstage](https://lobechat.com/discover/provider/upstage)**: Upstage 專注於為各種商業需求開發 AI 模型,包括 Solar LLM 和文檔 AI,旨在實現工作的人造通用智能(AGI)。通過 Chat API 創建簡單的對話代理,並支持功能調用、翻譯、嵌入以及特定領域應用。
- **[xAI](https://lobechat.com/discover/provider/xai)**: xAI 是一家致力於構建人工智能以加速人類科學發現的公司。我們的使命是推動我們對宇宙的共同理解。
- **[Qwen](https://lobechat.com/discover/provider/qwen)**: 通義千問是阿里雲自主研發的超大規模語言模型,具有強大的自然語言理解和生成能力。它可以回答各種問題、創作文字內容、表達觀點看法、撰寫代碼等,在多個領域發揮作用。
- **[Wenxin](https://lobechat.com/discover/provider/wenxin)**: 企業級一站式大模型與 AI 原生應用開發及服務平台,提供最全面易用的生成式人工智能模型開發、應用開發全流程工具鏈
- **[Hunyuan](https://lobechat.com/discover/provider/hunyuan)**: 由騰訊研發的大語言模型,具備強大的中文創作能力,複雜語境下的邏輯推理能力,以及可靠的任務執行能力
- **[Spark](https://lobechat.com/discover/provider/spark)**: 科大訊飛星火大模型提供多領域、多語言的強大 AI 能力,利用先進的自然語言處理技術,構建適用於智能硬件、智慧醫療、智慧金融等多種垂直場景的創新應用。
- **[ZhiPu](https://lobechat.com/discover/provider/zhipu)**: 智譜 AI 提供多模態與語言模型的開放平台,支持廣泛的 AI 應用場景,包括文本處理、圖像理解與編程輔助等。
- **[01.AI](https://lobechat.com/discover/provider/zeroone)**: 零一萬物致力於推動以人為本的 AI 2.0 技術革命,旨在通過大語言模型創造巨大的經濟和社會價值,並開創新的 AI 生態與商業模式。
- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: 商湯日日新,依託商湯大裝置的強大的基礎支撐,提供高效易用的全棧大模型服務。
- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: 階級星辰大模型具備行業領先的多模態及複雜推理能力,支持超長文本理解和強大的自主調度搜索引擎功能。
- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的開源平台,提供多種自然語言處理模型,應用領域廣泛,包括但不限於內容創作、學術研究、智能推薦、醫療診斷等,支持長文本處理和複雜生成任務。
- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: 百川智能是一家專注於人工智能大模型研發的公司,其模型在國內知識百科、長文本處理和生成創作等中文任務上表現卓越,超越了國外主流模型。百川智能還具備行業領先的多模態能力,在多項權威評測中表現優異。其模型包括 Baichuan 4、Baichuan 3 Turbo 和 Baichuan 3 Turbo 128k 等,分別針對不同應用場景進行優化,提供高性價比的解決方案。
- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax 是 2021 年成立的通用人工智能科技公司,致力於與用戶共創智能。MiniMax 自主研發了不同模態的通用大模型,其中包括萬億參數的 MoE 文本大模型、語音大模型以及圖像大模型。並推出了海螺 AI 等應用。
- **[360 AI](https://lobechat.com/discover/provider/ai360)**: 360 AI 是 360 公司推出的 AI 模型和服務平台,提供多種先進的自然語言處理模型,包括 360GPT2 Pro、360GPT Pro、360GPT Turbo 和 360GPT Turbo Responsibility 8K。這些模型結合了大規模參數和多模態能力,廣泛應用於文本生成、語義理解、對話系統與代碼生成等領域。通過靈活的定價策略,360 AI 滿足多樣化用戶需求,支持開發者集成,推動智能化應用的革新和發展。
- **[Taichu](https://lobechat.com/discover/provider/taichu)**: 中科院自動化研究所和武漢人工智能研究院推出新一代多模態大模型,支持多輪問答、文本創作、圖像生成、3D 理解、信號分析等全面問答任務,擁有更強的認知、理解、創作能力,帶來全新互動體驗。
- **[InternLM](https://lobechat.com/discover/provider/internlm)**: 致力於大模型研究與開發工具鏈的開源組織。為所有 AI 開發者提供高效、易用的開源平台,讓最前沿的大模型與算法技術觸手可及
- **[SiliconCloud](https://lobechat.com/discover/provider/siliconcloud)**: SiliconCloud,基於優秀開源基礎模型的高性價比 GenAI 雲服務
- **[Higress](https://lobechat.com/discover/provider/higress)**: Higress 是一款雲原生 API 網關,在阿里內部為解決 Tengine reload 對長連接業務有損,以及 gRPC/Dubbo 負載均衡能力不足而誕生。
- **[Gitee AI](https://lobechat.com/discover/provider/giteeai)**: Gitee AI 的 Serverless API 為 AI 開發者提供開箱即用的大模型推理 API 服務。
</details>
> 📊 供應商總數: [<kbd>**36**</kbd>](https://lobechat.com/discover/providers)
<!-- PROVIDER LIST -->
同時,我們也在計劃支持更多的模型服務商,以進一步豐富我們的服務商庫。如果你希望讓 LobeChat 支持你喜愛的服務商,歡迎加入我們的 [💬 社區討論](https://github.com/lobehub/lobe-chat/discussions/1284)。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-local]][docs-feat-local]
### `3` [支持本地大型語言模型 (LLM)][docs-feat-local]
為了滿足特定用戶的需求,LobeChat 還基於 [Ollama](https://ollama.ai) 支持了本地模型的使用,讓用戶能夠更靈活地使用自己的或第三方的模型。
> \[!TIP]
>
> 查閱 [📘 在 LobeChat 中使用 Ollama][docs-usage-ollama] 獲得更多訊息
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-vision]][docs-feat-vision]
### `4` [模型視覺識別 (Model Visual)][docs-feat-vision]
LobeChat 已經支持 OpenAI 最新的 [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) 支持視覺識別的模型,這是一個具備視覺識別能力的多模態應用。
用戶可以輕鬆上傳圖片或者拖拽圖片到對話框中,助手將能夠識別圖片內容,並在此基礎上進行智能對話,構建更智能、更多元化的聊天場景。
這一特性打開了新的互動方式,使得交流不再局限於文字,而是可以涵蓋豐富的視覺元素。無論是日常使用中的圖片分享,還是在特定行業內的圖像解讀,助手都能提供出色的對話體驗。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-tts]][docs-feat-tts]
### `5` [TTS & STT 語音轉化][docs-feat-tts]
LobeChat 支持文字轉語音(Text-to-SpeechTTS)和語音轉文字(Speech-to-Text,STT)技術,這使得我們的應用能夠將文本信息轉化為清晰的語音輸出,用戶可以像與真人交談一樣與我們的對話助手進行交流。
用戶可以從多種聲音中選擇,給助手搭配合適的音源。 同時,對於那些傾向於聽覺學習或者想要在忙碌中獲取信息的用戶來說,TTS 提供了一個極佳的解決方案。
在 LobeChat 中,我們精心挑選了一系列高品質的聲音選項 (OpenAI Audio, Microsoft Edge Speech),以滿足不同地域和文化背景用戶的需求。用戶可以根據個人喜好或者特定場景來選擇合適的語音,從而獲得個性化的交流體驗。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-t2i]][docs-feat-t2i]
### `6` [Text to Image 文生圖][docs-feat-t2i]
支持最新的文本到圖片生成技術,LobeChat 現在能夠讓用戶在與助手對話中直接調用文生圖工具進行創作。
通過利用 [`DALL-E 3`](https://openai.com/dall-e-3)、[`MidJourney`](https://www.midjourney.com/) 和 [`Pollinations`](https://pollinations.ai/) 等 AI 工具的能力, 助手們現在可以將你的想法轉化為圖像。
同時可以更私密和沈浸式地完成你的創作過程。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-plugin]][docs-feat-plugin]
### `7` [插件系統 (Tools Calling)][docs-feat-plugin]
LobeChat 的插件生態系統是其核心功能的重要擴展,它極大地增強了 ChatGPT 的實用性和靈活性。
<video controls src="https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2" muted="false"></video>
通過利用插件,ChatGPT 能夠實現實時信息的獲取和處理,例如自動獲取最新新聞頭條,為用戶提供即時且相關的資訊。
此外,這些插件不僅局限於新聞聚合,還可以擴展到其他實用的功能,如快速檢索文檔、生成圖象、獲取電商平台數據,以及其他各式各樣的第三方服務。
> 通過文檔瞭解更多 [📘 插件使用][docs-usage-plugin]
<!-- PLUGIN LIST -->
| 最近新增 | 描述 |
| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [MintbaseSearch](https://lobechat.com/discover/plugin/mintbasesearch)<br/><sup>By **mintbase** on **2024-12-31**</sup> | 在 NEAR 協議上查找任何 NFT 數據。<br/>`加密貨幣` `nft` |
| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2024-12-22**</sup> | 分析股票並獲取全面的實時投資數據和分析。<br/>`股票` |
| [谷歌自定義搜索引擎](https://lobechat.com/discover/plugin/google-cse)<br/><sup>By **vsnthdev** on **2024-12-02**</sup> | 通過他們的官方自定義搜索引擎 API 搜索谷歌。<br/>`網絡` `搜索` |
| [Speak](https://lobechat.com/discover/plugin/speak)<br/><sup>By **speak** on **2024-12-02**</sup> | 使用 Speak,您的 AI 語言導師,學習如何用另一種語言說任何事情。<br/>`教育` `語言` |
> 📊 Total plugins: [<kbd>**48**</kbd>](https://lobechat.com/discover/plugins)
<!-- PLUGIN LIST -->
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-agent]][docs-feat-agent]
### `8` [助手市集 (GPTs)][docs-feat-agent]
在 LobeChat 的助手市集中,創作者們可以發現一個充滿活力和創新的社區,它匯聚了眾多精心設計的助手,這些助手不僅在工作場景中發揮著重要作用,也在學習過程中提供了極大的便利。
我們的市集不僅是一個展示平台,更是一個協作的空間。在這裡,每個人都可以貢獻自己的智慧,分享個人開發的助手。
> \[!TIP]
>
> 通過 [🤖/🏪 提交助手][submit-agents-link] ,你可以輕鬆地將你的助手作品提交到我們的平台。我們特別強調的是,LobeChat 建立了一套精密的自動化國際化(i18n)工作流程, 它的強大之處在於能夠無縫地將你的助手轉化為多種語言版本。
> 這意味著,不論你的用戶使用何種語言,他們都能無障礙地體驗到你的助手。
> \[!IMPORTANT]
>
> 我歡迎所有用戶加入這個不斷成長的生態系統,共同參與到助手的迭代與優化中來。共同創造出更多有趣、實用且具有創新性的助手,進一步豐富助手的多樣性和實用性。
<!-- AGENT LIST -->
| 最近新增 | 描述 |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [系統指令專家](https://lobechat.com/discover/assistant/instructer)<br/><sup>By **[yuyun2000](https://github.com/yuyun2000)** on **2024-12-04**</sup> | 擅長精煉與生成高效系統指令<br/>`系統指令` `寫作` `細節優化` `用戶需求` |
| [日語幫助記憶師](https://lobechat.com/discover/assistant/japan-language-helper)<br/><sup>By **[sharkbear212](https://github.com/sharkbear212)** on **2024-12-04**</sup> | 擅長日語五十音,平假名,片假名,單詞和短語解釋與記憶技巧<br/>`解釋` `記憶技巧` `日語教學` |
| [詩詞卡片設計師](https://lobechat.com/discover/assistant/poetry-card-designer)<br/><sup>By **[lianxin255](https://github.com/lianxin255)** on **2024-12-03**</sup> | 擅長設計詩詞卡片,提升藝術感與吸引力<br/>`詩詞卡片設計` `卡片` `創意` `藝術表現` |
| [日常醫生](https://lobechat.com/discover/assistant/yunchat-docter)<br/><sup>By **[yuyun2000](https://github.com/yuyun2000)** on **2024-11-30**</sup> | 擅長外科診療與個性化健康管理<br/>`全科醫學` `外科` `健康咨詢` `個性化治療` `醫學教育` |
> 📊 助手總數: [<kbd>**453**</kbd> ](https://lobechat.com/discover/assistants)
<!-- AGENT LIST -->
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-database]][docs-feat-database]
### `9` [支持本地 / 遠程數據庫][docs-feat-database]
LobeChat 支持同時使用服務端數據庫和本地數據庫。根據您的需求,您可以選擇合適的部署方案:
- 本地數據庫:適合希望對數據有更多掌控感和隱私保護的用戶。LobeChat 採用了 CRDT (Conflict-Free Replicated Data Type) 技術,實現了多端同步功能。這是一項實驗性功能,旨在提供無縫的數據同步體驗。
- 服務端數據庫:適合希望更便捷使用體驗的用戶。LobeChat 支持 PostgreSQL 作為服務端數據庫。關於如何配置服務端數據庫的詳細文檔,請前往 [配置服務端數據庫](https://lobehub.com/zh/docs/self-hosting/advanced/server-database)。
無論您選擇哪種數據庫,LobeChat 都能為您提供卓越的用戶體驗。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-auth]][docs-feat-auth]
### `10` [支持多用戶管理][docs-feat-auth]
LobeChat 支持多用戶管理,提供了兩種主要的用戶認證和管理方案,以滿足不同需求:
- **next-auth**LobeChat 集成了 `next-auth`,一個靈活且強大的身份驗證庫,支持多種身份驗證方式,包括 OAuth、郵件登錄、憑證登錄等。通過 `next-auth`,您可以輕鬆實現用戶的註冊、登錄、會話管理以及社交登錄等功能,確保用戶數據的安全性和隱私性。
- [**Clerk**](https://go.clerk.com/exgqLG0):對於需要更高級用戶管理功能的用戶,LobeChat 還支持 `Clerk`,一個現代化的用戶管理平台。`Clerk` 提供了更豐富的功能,如多因素認證 (MFA)、白名單、用戶管理、登錄活動監控等。通過 `Clerk`,您可以獲得更高的安全性和靈活性,輕鬆應對生產級的用戶管理需求。
您可以根據自己的需求,選擇合適的用戶管理方案。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-pwa]][docs-feat-pwa]
### `11` [漸進式 Web 應用 (PWA)][docs-feat-pwa]
我們深知在當今多設備環境下為用戶提供無縫體驗的重要性。為此,我們採用了漸進式 Web 應用 [PWA](https://support.google.com/chrome/answer/9658361) 技術,
這是一種能夠將網頁應用提升至接近原生應用體驗的現代 Web 技術。通過 PWA,LobeChat 能夠在桌面和移動設備上提供高度優化的用戶體驗,同時保持輕量級和高性能的特點。
在視覺和感覺上,我們也經過精心設計,以確保它的界面與原生應用無差別,提供流暢的動畫、響應式佈局和適配不同設備的屏幕分辨率。
> \[!NOTE]
>
> 若您未熟悉 PWA 的安裝過程,您可以按照以下步驟將 LobeChat 添加為您的桌面應用(也適用於移動設備):
>
> - 在電腦上運行 Chrome 或 Edge 瀏覽器 .
> - 訪問 LobeChat 網頁 .
> - 在地址欄的右上角,單擊 <kbd>安裝</kbd> 圖標 .
> - 根據屏幕上的指示完成 PWA 的安裝 .
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-mobile]][docs-feat-mobile]
### `12` [移動設備適配][docs-feat-mobile]
針對移動設備進行了一系列的優化設計,以提升用戶的移動體驗。目前,我們正在對移動端的用戶體驗進行版本迭代,以實現更加流暢和直觀的交互。如果您有任何建議或想法,我們非常歡迎您通過 GitHub Issues 或者 Pull Requests 提供反饋。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
[![][image-feat-theme]][docs-feat-theme]
### `13` [自定義主題][docs-feat-theme]
作為設計工程師出身,LobeChat 在界面設計上充分考慮用戶的個性化體驗,因此引入了靈活多變的主題模式,其中包括日間的亮色模式和夜間的深色模式。
除了主題模式的切換,還提供了一系列的顏色定制選項,允許用戶根據自己的喜好來調整應用的主題色彩。無論是想要沈穩的深藍,還是希望活潑的桃粉,或者是專業的灰白,用戶都能夠在 LobeChat 中找到匹配自己風格的顏色選擇。
> \[!TIP]
>
> 默認配置能夠智能地識別用戶系統的顏色模式,自動進行主題切換,以確保應用界面與操作系統保持一致的視覺體驗。對於喜歡手動調控細節的用戶,LobeChat 同樣提供了直觀的設置選項,針對聊天場景也提供了對話氣泡模式和文檔模式的選擇。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
### 更多特性
除了上述功能特性以外,LobeChat 所具有的設計和技術能力將為你帶來更多使用保障:
- [x] 💎 **精緻 UI 設計**:經過精心設計的界面,具有優雅的外觀和流暢的交互效果,支持亮暗色主題,適配移動端。支持 PWA,提供更加接近原生應用的體驗。
- [x] 🗣️ **流暢的對話體驗**:流式響應帶來流暢的對話體驗,並且支持完整的 Markdown 渲染,包括代碼高亮、LaTex 公式、Mermaid 流程圖等。
- [x] 💨 **快速部署**:使用 Vercel 平台或者我們的 Docker 鏡像,只需點擊一鍵部署按鈕,即可在 1 分鐘內完成部署,無需複雜的配置過程。
- [x] 🔒 **隱私安全**:所有數據保存在用戶瀏覽器本地,保證用戶的隱私安全。
- [x] 🌐 **自定義域名**:如果用戶擁有自己的域名,可以將其綁定到平台上,方便在任何地方快速訪問對話助手。
> ✨ 隨著產品迭代持續更新,我們將會帶來更多更多令人激動的功能!
---
> \[!NOTE]
>
> 你可以在 Projects 中找到我們後續的 [Roadmap][github-project-link] 計劃
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ⚡️ 性能測試
> \[!NOTE]
>
> 完整測試報告可見 [📘 Lighthouse 性能測試][docs-lighthouse]
| Desktop | Mobile |
| :-------------------------------------------: | :------------------------------------------: |
| ![][chat-desktop] | ![][chat-mobile] |
| [📑 Lighthouse 測試報告][chat-desktop-report] | [📑 Lighthouse 測試報告][chat-mobile-report] |
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🛳 開箱即用
LobeChat 提供了 Vercel 的 自托管版本 和 [Docker 鏡像][docker-release-link],這使你可以在幾分鐘內構建自己的聊天機器人,無需任何基礎知識。
> \[!TIP]
>
> 完整教程請查閱 [📘 構建屬於自己的 Lobe Chat][docs-self-hosting]
### `A` 使用 Vercel、Zeabur 、Sealos 或 Alibaba Cloud 部署
如果想在 Vercel 、 Zeabur 或 阿里雲 上部署該服務,可以按照以下步驟進行操作:
- 準備好你的 [OpenAI API Key](https://platform.openai.com/account/api-keys) 。
- 點擊下方按鈕開始部署: 直接使用 GitHub 賬號登錄即可,記得在環境變量頁填入 `OPENAI_API_KEY` (必填) and `ACCESS_CODE`(推薦);
- 部署完畢後,即可開始使用;
- 綁定自定義域名(可選):Vercel 分配的域名 DNS 在某些區域被污染了,綁定自定義域名即可直連。目前 Zeabur 提供的域名還未被污染,大多數地區都可以直連。
<div align="center">
| 使用 Vercel 部署 | 使用 Zeabur 部署 | 使用 Sealos 部署 | 使用 Alibaba Cloud 部署 |
| :-------------------------------------: | :---------------------------------------------------------: | :---------------------------------------------------------: | :-----------------------------------------------------------------------: |
| [![][deploy-button-image]][deploy-link] | [![][deploy-on-zeabur-button-image]][deploy-on-zeabur-link] | [![][deploy-on-sealos-button-image]][deploy-on-sealos-link] | [![][deploy-on-alibaba-cloud-button-image]][deploy-on-alibaba-cloud-link] |
</div>
#### Fork 之後
在 Fork 後,請只保留 "upstream sync" Action 並在你 fork 的 GitHub Repo 中禁用其他 Action。
#### 保持更新
如果你根據 README 中的一鍵部署步驟部署了自己的項目,你可能會發現總是被提示 “有可用更新”。這是因為 Vercel 默認為你創建新項目而非 fork 本項目,這將導致無法準確檢測更新。
> \[!TIP]
>
> 我們建議按照 [📘 自動同步更新][docs-upstream-sync] 步驟重新部署。
<br/>
### `B` 使用 Docker 部署
[![][docker-release-shield]][docker-release-link]
[![][docker-size-shield]][docker-size-link]
[![][docker-pulls-shield]][docker-pulls-link]
我們提供了 Docker 鏡像,供你在自己的個人設備上部署 LobeChat 服務。使用以下命令即可使用一鍵啓動 LobeChat 服務:
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
```
> \[!TIP]
>
> 如果你需要通過代理使用 OpenAI 服務,你可以使用 `OPENAI_PROXY_URL` 環境變量來配置代理地址:
```fish
$ docker run -d -p 3210:3210 \
-e OPENAI_API_KEY=sk-xxxx \
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
-e ACCESS_CODE=lobe66 \
--name lobe-chat \
lobehub/lobe-chat
```
> \[!NOTE]
>
> 有關 Docker 部署的詳細說明,詳見 [📘 使用 Docker 部署][docs-docker]
<br/>
### 環境變量
本項目提供了一些額外的配置項,使用環境變量進行設置:
| 環境變量 | 類型 | 描述 | 示例 |
| ------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `OPENAI_API_KEY` | 必選 | 這是你在 OpenAI 賬戶頁面申請的 API 密鑰 | `sk-xxxxxx...xxxxxx` |
| `OPENAI_PROXY_URL` | 可選 | 如果你手動配置了 OpenAI 接口代理,可以使用此配置項來覆蓋默認的 OpenAI API 請求基礎 URL | `https://api.chatanywhere.cn``https://aihubmix.com/v1`<br/>默認值:<br/>`https://api.openai.com/v1` |
| `ACCESS_CODE` | 可選 | 添加訪問此服務的密碼,你可以設置一個長密碼以防被爆破,該值用逗號分隔時為密碼數組 | `awCTe)re_r74` or `rtrt_ewee3@09!` or `code1,code2,code3` |
| `OPENAI_MODEL_LIST` | 可選 | 用來控制模型列表,使用 `+` 增加一個模型,使用 `-` 來隱藏一個模型,使用 `模型名=展示名` 來自定義模型的展示名,用英文逗號隔開。 | `qwen-7b-chat,+glm-6b,-gpt-3.5-turbo` |
> \[!NOTE]
>
> 完整環境變量可見 [📘 環境變量][docs-env-var]
<br/>
### 獲取 OpenAI API Key
API Key 是使用 LobeChat 進行大語言模型會話的必要信息,本節以 OpenAI 模型服務商為例,簡要介紹獲取 API Key 的方式。
#### `A` 通過 OpenAI 官方渠道
- 註冊一個 [OpenAI 賬戶](https://platform.openai.com/signup),你需要使用國際手機號、非大陸郵箱進行註冊;
- 註冊完畢後,前往 [API Keys](https://platform.openai.com/api-keys) 頁面,點擊 `Create new secret key` 創建新的 API Key:
| 步驟 1:打開創建窗口 | 步驟 2:創建 API Key | 步驟 3:獲取 API Key |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296253192-ff2193dd-f125-4e58-82e8-91bc376c0d68.png" height="200"/> | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296254170-803bacf0-4471-4171-ae79-0eab08d621d1.png" height="200"/> | <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296255167-f2745f2b-f083-4ba8-bc78-9b558e0002de.png" height="200"/> |
- 將此 API Key 填寫到 LobeChat 的 API Key 配置中,即可開始使用。
> \[!TIP]
>
> 賬戶註冊後,一般有 5 美元的免費額度,但有效期只有三個月。
> 如果你希望長期使用你的 API Key,你需要完成支付的信用卡綁定。由於 OpenAI 只支持外幣信用卡,因此你需要找到合適的支付渠道,此處不再詳細展開。
<br/>
#### `B` 通過 OpenAI 第三方代理商
如果你發現註冊 OpenAI 賬戶或者綁定外幣信用卡比較麻煩,可以考慮借助一些知名的 OpenAI 第三方代理商來獲取 API Key,這可以有效降低獲取 OpenAI API Key 的門檻。但與此同時,一旦使用三方服務,你可能也需要承擔潛在的風險,
請根據你自己的實際情況自行決策。以下是常見的第三方模型代理商列表,供你參考:
| | 服務商 | 特性說明 | Proxy 代理地址 | 鏈接 |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------- | ------------------------- | ------------------------------- |
| <img src="https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/296272721-c3ac0bf3-e433-4496-89c4-ebdc20689c17.jpg" width="48" /> | **AiHubMix** | 使用 OpenAI 企業接口,全站模型價格為官方 **86 折**(含 GPT-4 | `https://aihubmix.com/v1` | [獲取](https://lobe.li/XHnZIUP) |
> \[!WARNING]
>
> **免責申明**: 在此推薦的 OpenAI API Key 由第三方代理商提供,所以我們不對 API Key 的 **有效性** 和 **安全性** 負責,請你自行承擔購買和使用 API Key 的風險。
> \[!NOTE]
>
> 如果你是模型服務商,並認為自己的服務足夠穩定且價格實惠,歡迎聯繫我們,我們會在自行體驗和測試後酌情推薦。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 📦 生態系統
| NPM | 倉庫 | 描述 | 版本 |
| --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- |
| [@lobehub/ui][lobe-ui-link] | [lobehub/lobe-ui][lobe-ui-github] | 構建 AIGC 網頁應用程序而設計的開源 UI 組件庫 | [![][lobe-ui-shield]][lobe-ui-link] |
| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流 AI / LLM 模型和公司 SVG Logo 與 Icon 合集 | [![][lobe-icons-shield]][lobe-icons-link] |
| [@lobehub/tts][lobe-tts-link] | [lobehub/lobe-tts][lobe-tts-github] | AI TTS / STT 語音合成 / 識別 React Hooks 庫 | [![][lobe-tts-shield]][lobe-tts-link] |
| [@lobehub/lint][lobe-lint-link] | [lobehub/lobe-lint][lobe-lint-github] | LobeHub 代碼樣式規範 ESlintStylelintCommitlintPrettierRemark 和 Semantic Release | [![][lobe-lint-shield]][lobe-lint-link] |
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🧩 插件體系
插件提供了擴展 LobeChat [Function Calling][docs-functionc-call] 能力的方法。可以用於引入新的 Function Calling,甚至是新的消息結果渲染方式。如果你對插件開發感興趣,請在 Wiki 中查閱我們的 [📘 插件開發指引][docs-plugin-dev] 。
- [lobe-chat-plugins][lobe-chat-plugins]:插件索引從該倉庫的 index.json 中獲取插件列表並顯示給用戶。
- [chat-plugin-template][chat-plugin-template]:插件開發模版,你可以通過項目模版快速新建插件項目。
- [@lobehub/chat-plugin-sdk][chat-plugin-sdk]:插件 SDK 可幫助您創建出色的 Lobe Chat 插件。
- [@lobehub/chat-plugins-gateway][chat-plugins-gateway]:插件網關是一個後端服務,作為 LobeChat 插件的網關。我們使用 Vercel 部署此服務。主要的 API POST /api/v1/runner 被部署為 Edge Function。
> \[!NOTE]
>
> 插件系統目前正在進行重大開發。您可以在以下 Issues 中瞭解更多信息:
>
> - [x] [**插件一期**](https://github.com/lobehub/lobe-chat/issues/73): 實現插件與主體分離,將插件拆分為獨立倉庫維護,並實現插件的動態加載
> - [x] [**插件二期**](https://github.com/lobehub/lobe-chat/issues/97): 插件的安全性與使用的穩定性,更加精准地呈現異常狀態,插件架構的可維護性與開發者友好
> - [x] [**插件三期**](https://github.com/lobehub/lobe-chat/issues/149):更高階與完善的自定義能力,支持插件鑒權與示例
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ⌨️ 本地開發
可以使用 GitHub Codespaces 進行在線開發:
[![][codespaces-shield]][codespaces-link]
或者使用以下命令進行本地開發:
```fish
$ git clone https://github.com/lobehub/lobe-chat.git
$ cd lobe-chat
$ pnpm install
$ pnpm run dev
```
如果你希望瞭解更多詳情,歡迎可以查閱我們的 [📘 開發指南][docs-dev-guide]
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🤝 參與貢獻
我們非常歡迎各種形式的貢獻。如果你對貢獻代碼感興趣,可以查看我們的 GitHub [Issues][github-issues-link] 和 [Projects][github-project-link],大展身手,向我們展示你的奇思妙想。
> \[!TIP]
>
> 我們希望創建一個技術分享型社區,一個可以促進知識共享、想法交流,激發彼此鼓勵和協作的環境。
> 同時歡迎聯繫我們提供產品功能和使用體驗反饋,幫助我們將 LobeChat 建設得更好。
>
> **組織維護者:** [@arvinxx](https://github.com/arvinxx) [@canisminor1990](https://github.com/canisminor1990)
[![][pr-welcome-shield]][pr-welcome-link]
[![][submit-agents-shield]][submit-agents-link]
[![][submit-plugin-shield]][submit-plugin-link]
<a href="https://github.com/lobehub/lobe-chat/graphs/contributors" target="_blank">
<table>
<tr>
<th colspan="2">
<br><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat"><br><br>
</th>
</tr>
<tr>
<td>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
</picture>
</td>
<td rowspan="2">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=light">
</picture>
</td>
</tr>
<tr>
<td>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark">
<img src="https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light">
</picture>
</td>
</tr>
</table>
</a>
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## ❤ 社區贊助
每一分支持都珍貴無比,匯聚成我們支持的璀璨銀河!你就像一顆划破夜空的流星,瞬間點亮我們前行的道路。感謝你對我們的信任 —— 你的支持筆就像星辰導航,一次又一次地為項目指明前進的光芒。
<a href="https://opencollective.com/lobehub" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true">
<img src="https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true">
</picture>
</a>
<div align="right">
[![][back-to-top]](#readme-top)
</div>
## 🔗 更多工具
- **[🅰️ Lobe SD Theme][lobe-theme]:** Stable Diffusion WebUI 的現代主題,精緻的界面設計,高度可定制的 UI,以及提高效率的功能。
- **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** Midjourney WebUI, 能夠根據文本提示快速生成豐富多樣的圖像,激發創造力,增強對話交流。
- **[🌏 Lobe i18n][lobe-i18n]:** Lobe i18n 是一個由 ChatGPT 驅動的 i18n(國際化)翻譯過程的自動化工具。它支持自動分割大文件、增量更新,以及為 OpenAI 模型、API 代理和溫度提供定制選項的功能。
- **[💌 Lobe Commit][lobe-commit]:** Lobe Commit 是一個 CLI 工具,它利用 Langchain/ChatGPT 生成基於 Gitmoji 的提交消息。
<div align="right">
[![][back-to-top]](#readme-top)
</div>
---
<details><summary><h4>📝 許可證</h4></summary>
[![][fossa-license-shield]][fossa-license-link]
</details>
Copyright © 2023 [LobeHub][profile-link]. <br />
This project is [Apache 2.0](./LICENSE) licensed.
<!-- LINK GROUP -->
[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
[blog]: https://lobehub.com/zh/blog
[changelog]: https://lobehub.com/changelog
[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg
[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/chat_preview_lobehub_com_chat.html
[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg
[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/chat_preview_lobehub_com_chat.html
[chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk
[chat-plugin-template]: https://github.com/lobehub/chat-plugin-template
[chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway
[codecov-link]: https://codecov.io/gh/lobehub/lobe-chat
[codecov-shield]: https://img.shields.io/codecov/c/github/lobehub/lobe-chat?labelColor=black&style=flat-square&logo=codecov&logoColor=white
[codespaces-link]: https://codespaces.new/lobehub/lobe-chat
[codespaces-shield]: https://github.com/codespaces/badge.svg
[deploy-button-image]: https://vercel.com/button
[deploy-link]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&env=OPENAI_API_KEY,ACCESS_CODE&envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%7C%20Access%20Code%20can%20protect%20your%20website&envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&project-name=lobe-chat&repository-name=lobe-chat
[deploy-on-alibaba-cloud-button-image]: https://service-info-public.oss-cn-hangzhou.aliyuncs.com/computenest-en.svg
[deploy-on-alibaba-cloud-link]: https://computenest.console.aliyun.com/service/instance/create/default?type=user&ServiceName=LobeChat%E7%A4%BE%E5%8C%BA%E7%89%88
[deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg
[deploy-on-sealos-link]: https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dlobe-chat
[deploy-on-zeabur-button-image]: https://zeabur.com/button.svg
[deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI
[discord-link]: https://discord.gg/AYFPHvv2jT
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
[docs]: https://lobehub.com/zh/docs/usage/start
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
[docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables
[docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market
[docs-feat-auth]: https://lobehub.com/docs/usage/features/auth
[docs-feat-database]: https://lobehub.com/docs/usage/features/database
[docs-feat-knowledgebase]: https://lobehub.com/blog/knowledge-base
[docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm
[docs-feat-mobile]: https://lobehub.com/docs/usage/features/mobile
[docs-feat-plugin]: https://lobehub.com/docs/usage/features/plugin-system
[docs-feat-provider]: https://lobehub.com/docs/usage/features/multi-ai-providers
[docs-feat-pwa]: https://lobehub.com/docs/usage/features/pwa
[docs-feat-t2i]: https://lobehub.com/docs/usage/features/text-to-image
[docs-feat-theme]: https://lobehub.com/docs/usage/features/theme
[docs-feat-tts]: https://lobehub.com/docs/usage/features/tts
[docs-feat-vision]: https://lobehub.com/docs/usage/features/vision
[docs-functionc-call]: https://lobehub.com/zh/blog/openai-function-call
[docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse.zh-CN
[docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development
[docs-self-hosting]: https://lobehub.com/docs/self-hosting/start
[docs-upstream-sync]: https://lobehub.com/docs/self-hosting/advanced/upstream-sync
[docs-usage-ollama]: https://lobehub.com/docs/usage/providers/ollama
[docs-usage-plugin]: https://lobehub.com/docs/usage/plugins/basic
[fossa-license-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat
[fossa-license-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large
[github-action-release-link]: https://github.com/lobehub/lobe-chat/actions/workflows/release.yml
[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
[github-action-test-link]: https://github.com/lobehub/lobe-chat/actions/workflows/test.yml
[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
[github-contributors-link]: https://github.com/lobehub/lobe-chat/graphs/contributors
[github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&labelColor=black&style=flat-square
[github-forks-link]: https://github.com/lobehub/lobe-chat/network/members
[github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&labelColor=black&style=flat-square
[github-hello-shield]: https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=39701baf5a734cb894ec812248a5655a&claim_uid=HxYvFN34htJzGCD&theme=dark&theme=neutral&theme=dark&theme=neutral
[github-hello-url]: https://hellogithub.com/repository/39701baf5a734cb894ec812248a5655a
[github-issues-link]: https://github.com/lobehub/lobe-chat/issues
[github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&labelColor=black&style=flat-square
[github-license-link]: https://github.com/lobehub/lobe-chat/blob/main/LICENSE
[github-license-shield]: https://img.shields.io/badge/license-apache%202.0-white?labelColor=black&style=flat-square
[github-project-link]: https://github.com/lobehub/lobe-chat/projects
[github-release-link]: https://github.com/lobehub/lobe-chat/releases
[github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&labelColor=black&logo=github&style=flat-square
[github-releasedate-link]: https://github.com/lobehub/lobe-chat/releases
[github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&style=flat-square
[github-stars-link]: https://github.com/lobehub/lobe-chat/network/stargazers
[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square
[github-trending-shield]: https://trendshift.io/api/badge/repositories/2256
[github-trending-url]: https://trendshift.io/repositories/2256
[image-banner]: https://github.com/lobehub/lobe-chat/assets/28616219/9f155dff-4737-429f-9cad-a70a1a860c5f
[image-feat-agent]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png
[image-feat-auth]: https://github.com/lobehub/lobe-chat/assets/17870709/8ce70e15-40df-451e-b700-66090fe5b8c2
[image-feat-database]: https://github.com/lobehub/lobe-chat/assets/17870709/c27a0234-a4e9-40e5-8bcb-42d5ce7e40f9
[image-feat-knowledgebase]: https://github.com/user-attachments/assets/77e58e1c-c82f-4341-b159-f4eeede9967f
[image-feat-local]: https://github.com/lobehub/lobe-chat/assets/28616219/ca9a21bc-ea6c-4c90-bf4a-fa53b4fb2b5c
[image-feat-mobile]: https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp
[image-feat-plugin]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png
[image-feat-privoder]: https://github.com/lobehub/lobe-chat/assets/28616219/b164bc54-8ba2-4c1e-b2f2-f4d7f7e7a551
[image-feat-pwa]: https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp
[image-feat-t2i]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/297746445-0ff762b9-aa08-4337-afb7-12f932b6efbb.png
[image-feat-theme]: https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp
[image-feat-tts]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072124-c9853d8d-f1b5-44a8-a305-45ebc0f6d19a.png
[image-feat-vision]: https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/284072129-382bdf30-e3d6-4411-b5a0-249710b8ba08.png
[image-overview]: https://github.com/lobehub/lobe-chat/assets/17870709/56b95d48-f573-41cd-8b38-387bf88bc4bf
[image-star]: https://github.com/lobehub/lobe-chat/assets/17870709/cb06b748-513f-47c2-8740-d876858d7855
[issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat
[lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins
[lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit
[lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n
[lobe-icons-github]: https://github.com/lobehub/lobe-icons
[lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons
[lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-lint-github]: https://github.com/lobehub/lobe-lint
[lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint
[lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui
[lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme
[lobe-tts-github]: https://github.com/lobehub/lobe-tts
[lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts
[lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[lobe-ui-github]: https://github.com/lobehub/lobe-ui
[lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui
[lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
[official-site]: https://lobehub.com
[pr-welcome-link]: https://github.com/lobehub/lobe-chat/pulls
[pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge
[profile-link]: https://github.com/lobehub
[share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20(Function%20Calling),%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT/LLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI
[share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square
[share-reddit-link]: https://www.reddit.com/submit?title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
[share-telegram-link]: https://t.me/share/url"?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black&logo=telegram&logoColor=white&style=flat-square
[share-weibo-link]: http://service.weibo.com/share/share.php?sharesource=weibo&title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black&logo=sinaweibo&logoColor=white&style=flat-square
[share-whatsapp-link]: https://api.whatsapp.com/send?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat%20%23chatbot%20%23chatGPT%20%23openAI
[share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black&logo=whatsapp&logoColor=white&style=flat-square
[share-x-link]: https://x.com/intent/tweet?hashtags=chatbot%2CchatGPT%2CopenAI&text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat
[share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square
[sponsor-link]: https://opencollective.com/lobehub 'Become ❤ LobeHub Sponsor'
[sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square
[submit-agents-link]: https://github.com/lobehub/lobe-chat-agents
[submit-agents-shield]: https://img.shields.io/badge/🤖/🏪_submit_agent-%E2%86%92-c4f042?labelColor=black&style=for-the-badge
[submit-plugin-link]: https://github.com/lobehub/lobe-chat-plugins
[submit-plugin-shield]: https://img.shields.io/badge/🧩/🏪_submit_plugin-%E2%86%92-95f3d9?labelColor=black&style=for-the-badge
[vercel-link]: https://chat-preview.lobehub.com
[vercel-shield]: https://img.shields.io/badge/vercel-online-55b467?labelColor=black&logo=vercel&style=flat-square
[vercel-shield-badge]: https://img.shields.io/badge/TRY%20LOBECHAT-ONLINE-55b467?labelColor=black&logo=vercel&style=for-the-badge
+8
View File
@@ -0,0 +1,8 @@
node_modules
dist
out
.DS_Store
.eslintcache
*.log*
standalone
release
+32
View File
@@ -0,0 +1,32 @@
const { defineConfig } = require('@lobehub/i18n-cli');
module.exports = defineConfig({
entry: 'resources/locales/zh-CN',
entryLocale: 'zh-CN',
output: 'resources/locales',
outputLocales: [
'ar',
'bg-BG',
'zh-TW',
'en-US',
'ru-RU',
'ja-JP',
'ko-KR',
'fr-FR',
'tr-TR',
'es-ES',
'pt-BR',
'de-DE',
'it-IT',
'nl-NL',
'pl-PL',
'vi-VN',
'fa-IR',
],
saveImmediately: true,
temperature: 0,
modelName: 'gpt-4.1-mini',
experimental: {
jsonMode: true,
},
});
+6
View File
@@ -0,0 +1,6 @@
lockfile=false
shamefully-hoist=true
ignore-workspace-root-check=true
electron_mirror=https://npmmirror.com/mirrors/electron/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
+495
View File
@@ -0,0 +1,495 @@
## 核心框架组件目录架构
### 主进程核心组件
```
apps/desktop/src/main/
├── core/ // 核心功能
│ ├── App.ts // 应用核心类,整合所有管理器
│ ├── Browser.ts // 浏览器窗口类
│ ├── BrowserManager.ts // 浏览器窗口管理
│ ├── I18nManager.ts // 国际化管理
│ ├── IoCContainer.ts // 依赖注入容器
│ ├── MenuManager.ts // 菜单管理核心类,负责选择和协调平台实现
│ ├── ShortcutManager.ts // 快捷键管理
│ ├── StoreManager.ts // 存储管理
│ └── UpdaterManager.ts // 更新管理
├── controllers/ // 控制器层,处理渲染进程调用
│ ├── AuthCtr.ts // 认证控制器
│ ├── BrowserWindowsCtr.ts // 浏览器窗口控制器
│ ├── DevtoolsCtr.ts // 开发工具控制器
│ ├── LocalFileCtr.ts // 本地文件控制器
│ ├── MenuCtr.ts // 菜单控制器
│ ├── RemoteServerConfigCtr.ts // 远程服务器配置控制器
│ ├── RemoteServerSyncCtr.ts // 远程服务器同步控制器
│ ├── ShortcutCtr.ts // 快捷键控制器
│ ├── SystemCtr.ts // 系统控制器
│ ├── UpdaterCtr.ts // 更新控制器
│ ├── UploadFileCtr.ts // 文件上传控制器
│ └── index.ts // 控制器导出
├── services/ // 服务层
│ ├── fileSearchSrv.ts // 文件搜索服务
│ ├── fileSrv.ts // 文件服务
│ └── index.ts // 服务导出
├── modules/ // 功能模块
│ ├── fileSearch/ // 文件搜索模块
│ └── updater/ // 更新模块
├── menus/ // 菜单实现目录
│ ├── index.ts // 导出平台实现和接口
│ ├── types.ts // 定义菜单平台接口 IMenuPlatform
│ └── impl/ // 平台特定实现目录
│ ├── BaseMenuPlatform.ts // 基础平台类,注入App
│ ├── DarwinMenu.ts // macOS 充血模型实现
│ ├── WindowsMenu.ts // Windows 充血模型实现
│ └── LinuxMenu.ts // Linux 充血模型实现
├── shortcuts/ // 快捷键实现
│ ├── config.ts // 快捷键配置
│ └── index.ts // 快捷键导出
├── utils/ // 工具函数
│ ├── file-system.ts // 文件系统工具
│ ├── logger.ts // 日志工具
│ └── next-electron-rsc.ts // Next.js Electron RSC 工具
├── types/ // 类型定义
│ ├── fileSearch.ts // 文件搜索类型
│ └── store.ts // 存储类型
├── const/ // 常量定义
│ ├── dir.ts // 目录常量
│ ├── env.ts // 环境常量
│ └── store.ts // 存储常量
├── locales/ // 国际化资源
│ ├── index.ts // 导出 i18n 相关功能
│ ├── resources.ts // 资源加载逻辑
│ └── default/ // 默认中文翻译源文件
│ ├── index.ts // 导出所有翻译
│ ├── menu.ts // 菜单翻译
│ ├── dialog.ts // 对话框翻译
│ └── common.ts // 通用翻译
└── index.ts // 主进程入口文件
```
### 预加载脚本
```
apps/desktop/src/preload/
├── index.ts // 预加载脚本入口
└── apis/ // 预加载 API
└── ... // 各种 API 实现
```
### 共享代码
```
apps/desktop/src/common/
├── constants/ // 共享常量
├── types/ // 共享类型
└── utils/ // 共享工具函数
```
## 功能模块实现
### 菜单实现框架
```
apps/desktop/src/main/
├── core/
│ ├── App.ts // 应用核心类
│ ├── BrowserManager.ts // 浏览器窗口管理
│ └── MenuManager.ts // 菜单管理核心类,负责选择和协调平台实现
├── menus/ // 菜单实现目录
│ ├── index.ts // 导出平台实现和接口
│ ├── types.ts // 定义菜单平台接口 IMenuPlatform
│ └── impl/ // 平台特定实现目录
│ ├── BaseMenuPlatform.ts // 基础平台类,注入App
│ ├── DarwinMenu.ts // macOS 充血模型实现
│ ├── WindowsMenu.ts // Windows 充血模型实现
│ └── LinuxMenu.ts // Linux 充血模型实现
├── controllers/
│ └── MenuCtr.ts // 菜单控制器,处理渲染进程调用
```
### 国际化 (i18n) 实现
```
apps/desktop/src/main/
├── core/
│ ├── I18nManager.ts // i18n 管理器
│ └── App.ts // 应用主类,集成 i18n
├── locales/
│ ├── index.ts // 导出 i18n 相关功能
│ ├── resources.ts // 资源加载逻辑
│ └── default/ // 默认中文翻译源文件
│ ├── index.ts // 导出所有翻译
│ ├── menu.ts // 菜单翻译
│ ├── dialog.ts // 对话框翻译
│ └── common.ts // 通用翻译
```
主进程 i18n 国际化管理使用方式:
1. 直接导入 i18nManager 实例:
```typescript
import i18nManager from '@/locales';
```
2. 使用翻译函数:
```typescript
import { t } from '@/locales';
const translated = t('key');
```
3. 添加新翻译:
在 locales/default/ 目录下添加翻译源文件
## 核心模块详细说明
### 认证模块 (Auth)
认证模块负责处理用户身份验证和授权流程,主要包括:
1. **AuthCtr 控制器**:实现 OAuth 授权流程
- 请求授权:打开浏览器进行 OAuth 认证
- 处理回调:接收授权码并交换访问令牌
- 令牌刷新:自动刷新过期的访问令牌
- 事件广播:向渲染进程通知授权状态变化
```typescript
// 认证流程示例
@ipcClientEvent('requestAuthorization')
async requestAuthorization(config: DataSyncConfig) {
// 生成状态参数防止 CSRF 攻击
this.authRequestState = crypto.randomBytes(16).toString('hex');
// 构建授权 URL
const authUrl = new URL('/oidc/auth', remoteUrl);
authUrl.search = querystring.stringify({
client_id: 'lobe-chat',
response_type: 'code',
redirect_uri: `${protocolPrefix}://auth/callback`,
scope: 'openid profile',
state: this.authRequestState,
});
// 在默认浏览器中打开授权 URL
await shell.openExternal(authUrl.toString());
}
```
2. **桌面端特定认证**
- 在桌面应用中使用固定的用户 ID
- 支持与 Clerk 和 NextAuth 等认证系统集成
### 存储模块 (Store)
存储模块使用 electron-store 实现持久化数据存储:
1. **StoreManager 类**
- 提供统一的存储接口
- 支持类型安全的存取操作
- 管理应用配置和用户数据
```typescript
// 存储管理器使用示例
export class StoreManager {
private store: Store<ElectronMainStore>;
// 获取配置项
get<K extends StoreKey>(key: K, defaultValue?: ElectronMainStore[K]): ElectronMainStore[K] {
return this.store.get(key, defaultValue as any);
}
// 设置配置项
set<K extends StoreKey>(key: K, value: ElectronMainStore[K]): void {
this.store.set(key, value);
}
// 删除配置项
delete(key: StoreKey): void {
this.store.delete(key);
}
}
```
2. **存储用途**
- 窗口状态保存
- 用户偏好设置
- 认证令牌存储
- 快捷键配置
- 国际化语言设置
### 快捷键模块 (Shortcuts)
快捷键模块管理全局键盘快捷键:
1. **ShortcutManager 类**
- 注册和管理全局快捷键
- 支持自定义快捷键配置
- 提供快捷键状态查询
```typescript
// 快捷键管理器示例
export class ShortcutManager {
private shortcuts: Map<string, () => void> = new Map();
private shortcutsConfig: Record<string, string> = {};
// 注册快捷键
registerShortcut(accelerator: string, callback: () => void): boolean {
const success = globalShortcut.register(accelerator, callback);
if (success) {
this.shortcuts.set(accelerator, callback);
}
return success;
}
// 更新快捷键配置
updateShortcutConfig(id: string, accelerator: string): boolean {
this.shortcutsConfig[id] = accelerator;
this.saveShortcutsConfig();
this.registerConfiguredShortcuts();
return true;
}
}
```
2. **快捷键装饰器**
- 使用 `@shortcut` 装饰器简化快捷键注册
- 通过 IoC 容器管理快捷键映射
### 控制框架 (Control Framework)
控制框架实现了主进程和渲染进程之间的通信:
1. **ControllerModule 基类**
- 所有控制器的基础类
- 提供生命周期钩子 (beforeAppReady, afterAppReady)
- 注入 App 实例
```typescript
// 控制器基类和装饰器
export class ControllerModule implements IControllerModule {
constructor(public app: App) {
this.app = app;
}
}
// IPC 客户端事件装饰器
export const ipcClientEvent = (method: keyof ClientDispatchEvents) =>
ipcDecorator(method, 'client');
// IPC 服务器事件装饰器
export const ipcServerEvent = (method: keyof ServerDispatchEvents) =>
ipcDecorator(method, 'server');
```
2. **IoC 容器**
- 依赖注入容器管理控制器实例
- 注册和解析 IPC 事件处理程序
- 管理快捷键和控制器方法的映射
### 服务逻辑 (Service Logic)
服务层提供业务逻辑实现:
1. **ServiceModule 基类**
- 所有服务的基础类
- 注入 App 实例
- 提供业务逻辑封装
```typescript
// 服务模块基类
export class ServiceModule {
constructor(public app: App) {
this.app = app;
}
}
```
2. **服务实现**
- fileSearchSrv:文件搜索服务
- fileSrv:文件操作服务
### 数据存储 (Electron Settings)
Electron Settings 基于 electron-store 实现,提供类型安全的数据存储:
1. **存储配置**
- 使用 JSON 文件存储配置
- 支持默认值设置
- 自动创建存储目录
```typescript
// 存储初始化
this.store = new Store<ElectronMainStore>({
defaults: STORE_DEFAULTS,
name: STORE_NAME,
});
// 确保存储目录存在
const storagePath = this.store.get('storagePath');
makeSureDirExist(storagePath);
```
2. **存储操作**
- 类型安全的 get/set 方法
- 支持删除和清除操作
- 提供存储编辑器功能
### 主进程和渲染进程通信 (Main-Renderer Communication)
主进程和渲染进程通信基于 Electron IPC 机制:
1. **IPC 事件处理**
- 使用装饰器注册 IPC 事件处理程序
- 支持客户端事件和服务器事件
- 自动映射控制器方法到 IPC 事件
```typescript
// IPC 事件初始化
private initializeIPCEvents() {
// 注册客户端事件处理程序
this.ipcClientEventMap.forEach((eventInfo, key) => {
ipcMain.handle(key, async (e, ...data) => {
return await eventInfo.controller[eventInfo.methodName](...data);
});
});
// 注册服务器事件处理程序
const ipcServerEvents = {} as ElectronIPCEventHandler;
this.ipcServerEventMap.forEach((eventInfo, key) => {
ipcServerEvents[key] = async (payload) => {
return await eventInfo.controller[eventInfo.methodName](payload);
};
});
// 创建 IPC 服务器
this.ipcServer = new ElectronIPCServer(name, ipcServerEvents);
}
```
2. **事件广播**
- 主进程向渲染进程广播事件
- 支持向所有窗口或特定窗口发送消息
### 日志系统 (Logging)
日志系统提供统一的日志记录接口:
1. **日志工具**
- 基于 debug 和 electron-log 实现
- 支持不同日志级别 (debug, info, warn, error, verbose)
- 根据环境自动调整日志行为
```typescript
// 创建日志记录器
export const createLogger = (namespace: string) => {
const debugLogger = debug(namespace);
return {
debug: (message, ...args) => {
debugLogger(message, ...args);
},
error: (message, ...args) => {
if (process.env.NODE_ENV === 'production') {
electronLog.error(message, ...args);
}
debugLogger(`ERROR: ${message}`, ...args);
},
// 其他日志级别...
};
};
```
2. **日志配置**
- 开发环境显示详细日志
- 生产环境记录到文件
- 支持命名空间隔离日志
### 自动更新 (Auto Updates)
自动更新模块基于 electron-updater 实现:
1. **UpdaterManager 类**
- 检查更新
- 下载更新
- 安装更新
- 支持立即安装或下次启动安装
```typescript
// 更新管理器示例
export class UpdaterManager {
// 检查更新
public checkForUpdates = async ({ manual = false }: { manual?: boolean } = {}) => {
if (this.checking || this.downloading) return;
this.checking = true;
this.isManualCheck = manual;
try {
await autoUpdater.checkForUpdates();
} catch (error) {
logger.error('Error checking for updates:', error.message);
} finally {
this.checking = false;
}
};
// 下载更新
public downloadUpdate = async (manual: boolean = false) => {
if (this.downloading || !this.updateAvailable) return;
this.downloading = true;
try {
await autoUpdater.downloadUpdate();
} catch (error) {
this.downloading = false;
logger.error('Error downloading update:', error);
}
};
}
```
2. **更新配置**
- 支持多渠道发布 (stable, beta, nightly)
- 自动检查更新
- 更新事件通知
## 桌面端架构图
```
┌─────────────────────────────────────────────────────────────────┐
│ Electron Application │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌──────────────────────────┐ │
│ │ Main Process │ │ Renderer Process │ │
│ │ │ │ │ │
│ │ ┌─────────────┐│ │ ┌────────────────────┐ │ │
│ │ │ Core ││ │ │ │ │ │
│ │ │ Managers ││ │ │ │ │ │
│ │ └─────────────┘│ │ │ Next.js App │ │ │
│ │ │ │ │ │ │ │ │
│ │ ┌─────▼─────┐ │ │ │ │ │ │
│ │ │Controllers│ │◄──────────┼──┤ │ │ │
│ │ └─────┬─────┘ │ IPC │ └────────────────────┘ │ │
│ │ │ │Communication │ │
│ │ ┌─────▼─────┐ │ │ │ │
│ │ │ Services │ │ │ │ │
│ │ └─────┬─────┘ │ │ │ │
│ │ │ │ │ │ │
│ │ ┌─────▼─────┐ │ │ │ │
│ │ │ Modules │ │ │ │ │
│ │ └───────────┘ │ │ │ │
│ │ │ │ │ │
│ └─────────────────┘ └──────────────────────────┘ │
│ │
│ ┌───────────────────┐ │
│ │ Preload Script │ │
│ │ (Bridge between │ │
│ │ Main & Renderer) │ │
│ └───────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
+353
View File
@@ -0,0 +1,353 @@
# 🤯 LobeHub Desktop Application
LobeHub Desktop is a cross-platform desktop application for [LobeChat](https://github.com/lobehub/lobe-chat), built with Electron, providing a more native desktop experience and functionality.
## ✨ Features
- **🌍 Cross-platform Support**: Supports macOS (Intel/Apple Silicon), Windows, and Linux systems
- **🔄 Auto Updates**: Built-in update mechanism ensures you always have the latest version
- **🌐 Multi-language Support**: Complete i18n support for 18+ languages with lazy loading
- **🎨 Native Integration**: Deep OS integration with native menus, shortcuts, and notifications
- **🔒 Secure & Reliable**: macOS notarized, encrypted token storage, secure OAuth flow
- **📦 Multiple Release Channels**: Stable, beta, and nightly build versions
- **⚡ Advanced Window Management**: Multi-window architecture with theme synchronization
- **🔗 Remote Server Sync**: Secure data synchronization with remote LobeChat instances
- **🎯 Developer Tools**: Built-in development panel and comprehensive debugging tools
## 🚀 Development Setup
### Prerequisites
- **Node.js** 22+
- **pnpm** 10+
- **Electron** compatible development environment
### Quick Start
```bash
# Install dependencies
pnpm install-isolated
# Start development server
pnpm electron:dev
# Type checking
pnpm typecheck
# Run tests
pnpm test
```
### Environment Configuration
Copy `.env.desktop` to `.env` and configure as needed:
```bash
cp .env.desktop .env
```
> \[!WARNING]
> Backup your `.env` file before making changes to avoid losing configurations.
### Build Commands
| Command | Description |
| ------------------ | --------------------------------------- |
| `pnpm build` | Build for all platforms |
| `pnpm build:mac` | Build for macOS (Intel + Apple Silicon) |
| `pnpm build:win` | Build for Windows |
| `pnpm build:linux` | Build for Linux |
| `pnpm build-local` | Local development build |
### Development Workflow
```bash
# 1. Development
pnpm electron:dev # Start with hot reload
# 2. Code Quality
pnpm lint # ESLint checking
pnpm format # Prettier formatting
pnpm typecheck # TypeScript validation
# 3. Testing
pnpm test # Run Vitest tests
# 4. Build & Package
pnpm build # Production build
pnpm build-local # Local testing build
```
## 🎯 Release Channels
| Channel | Description | Stability | Auto-Updates |
| ----------- | -------------------------------- | --------- | ------------ |
| **Stable** | Thoroughly tested releases | 🟢 High | ✅ Yes |
| **Beta** | Pre-release with new features | 🟡 Medium | ✅ Yes |
| **Nightly** | Daily builds with latest changes | 🟠 Low | ✅ Yes |
## 🛠 Technology Stack
### Core Framework
- **Electron** `37.1.0` - Cross-platform desktop framework
- **Node.js** `22+` - Backend runtime
- **TypeScript** `5.7+` - Type-safe development
- **Vite** `6.2+` - Build tooling
### Architecture & Patterns
- **Dependency Injection** - IoC container with decorator-based registration
- **Event-Driven Architecture** - IPC communication between processes
- **Module Federation** - Dynamic controller and service loading
- **Observer Pattern** - State management and UI synchronization
### Development Tools
- **Vitest** - Unit testing framework
- **ESLint** - Code linting
- **Prettier** - Code formatting
- **electron-builder** - Application packaging
- **electron-updater** - Auto-update mechanism
### Security & Storage
- **Electron Safe Storage** - Encrypted token storage
- **OAuth 2.0 + PKCE** - Secure authentication flow
- **electron-store** - Persistent configuration
- **Custom Protocol Handler** - Secure callback handling
## 🏗 Architecture
The desktop application uses a sophisticated dependency injection and event-driven architecture:
### 📁 Core Structure
```
src/main/core/
├── App.ts # 🎯 Main application orchestrator
├── IoCContainer.ts # 🔌 Dependency injection container
├── window/ # 🪟 Window management modules
│ ├── WindowThemeManager.ts # 🎨 Theme synchronization
│ ├── WindowPositionManager.ts # 📐 Position persistence
│ ├── WindowErrorHandler.ts # ⚠️ Error boundaries
│ └── WindowConfigBuilder.ts # ⚙️ Configuration builder
├── browser/ # 🌐 Browser management modules
│ ├── Browser.ts # 🪟 Individual window instances
│ └── BrowserManager.ts # 👥 Multi-window coordinator
├── ui/ # 🎨 UI system modules
│ ├── Tray.ts # 📍 System tray integration
│ ├── TrayManager.ts # 🔧 Tray management
│ ├── MenuManager.ts # 📋 Native menu system
│ └── ShortcutManager.ts # ⌨️ Global shortcuts
└── infrastructure/ # 🔧 Infrastructure services
├── StoreManager.ts # 💾 Configuration storage
├── I18nManager.ts # 🌍 Internationalization
├── UpdaterManager.ts # 📦 Auto-update system
└── StaticFileServerManager.ts # 🗂️ Local file serving
```
### 🔄 Application Lifecycle
The `App.ts` class orchestrates the entire application lifecycle through key phases:
#### 1. 🚀 Initialization Phase
- **System Information Logging** - Captures OS, CPU, RAM, and locale details
- **Store Manager Setup** - Initializes persistent configuration storage
- **Dynamic Module Loading** - Auto-discovers controllers and services via glob imports
- **IPC Event Registration** - Sets up inter-process communication channels
#### 2. 🏃 Bootstrap Phase
- **Single Instance Check** - Ensures only one application instance runs
- **IPC Server Launch** - Starts the communication server
- **Core Manager Initialization** - Sequential initialization of all managers:
- 🌍 I18n for internationalization
- 📋 Menu system for native menus
- 🗂️ Static file server for local assets
- ⌨️ Global shortcuts registration
- 🪟 Browser window management
- 📍 System tray (Windows only)
- 📦 Auto-updater system
### 🔧 Core Components Deep Dive
#### 🌐 Browser Management System
- **Multi-Window Architecture** - Supports chat, settings, and devtools windows
- **Window State Management** - Handles positioning, theming, and lifecycle
- **WebContents Mapping** - Bidirectional mapping between WebContents and identifiers
- **Event Broadcasting** - Centralized event distribution to all or specific windows
#### 🔌 Dependency Injection & Event System
- **IoC Container** - WeakMap-based container for decorated controller methods
- **Decorator Registration** - `@ipcClientEvent` and `@ipcServerEvent` decorators
- **Automatic Event Mapping** - Events registered during controller loading
- **Service Locator** - Type-safe service and controller retrieval
#### 🪟 Window Management
- **Theme-Aware Windows** - Automatic adaptation to system dark/light mode
- **Platform-Specific Styling** - Windows title bar and overlay customization
- **Position Persistence** - Save and restore window positions across sessions
- **Error Boundaries** - Centralized error handling for window operations
#### 🔧 Infrastructure Services
##### 🌍 I18n Manager
- **18+ Language Support** with lazy loading and namespace organization
- **System Integration** with Electron's locale detection
- **Dynamic UI Refresh** on language changes
- **Resource Management** with efficient loading strategies
##### 📦 Update Manager
- **Multi-Channel Support** (stable, beta, nightly) with configurable intervals
- **Background Downloads** with progress tracking and user notifications
- **Rollback Protection** with error handling and recovery mechanisms
- **Channel Management** with automatic channel switching
##### 💾 Store Manager
- **Type-Safe Storage** using electron-store with TypeScript interfaces
- **Encrypted Secrets** via Electron's Safe Storage API
- **Configuration Validation** with default value management
- **File System Integration** with automatic directory creation
##### 🗂️ Static File Server
- **Local HTTP Server** for serving application assets and user files
- **Security Controls** with request filtering and access validation
- **File Management** with upload, download, and deletion capabilities
- **Path Resolution** with intelligent routing between storage locations
#### 🎨 UI System Integration
- **Global Shortcuts** - Platform-aware keyboard shortcut registration with conflict detection
- **System Tray** - Native integration with context menus and notifications
- **Native Menus** - Platform-specific application and context menus with i18n
- **Theme Synchronization** - Automatic theme updates across all UI components
### 🏛 Controller & Service Architecture
#### 🎮 Controller Pattern
- **IPC Event Handling** - Processes events from renderer with decorator-based registration
- **Lifecycle Hooks** - `beforeAppReady` and `afterAppReady` for initialization phases
- **Type-Safe Communication** - Strong typing for all IPC events and responses
- **Error Boundaries** - Comprehensive error handling with proper propagation
#### 🔧 Service Pattern
- **Business Logic Encapsulation** - Clean separation of concerns
- **Dependency Management** - Managed through IoC container
- **Cross-Controller Sharing** - Services accessible via service locator pattern
- **Resource Management** - Proper initialization and cleanup
### 🔗 Inter-Process Communication
#### 📡 IPC System Features
- **Bidirectional Communication** - Main↔Renderer and Main↔Next.js server
- **Type-Safe Events** - TypeScript interfaces for all event parameters
- **Context Awareness** - Events include sender context for window-specific operations
- **Error Propagation** - Centralized error handling with proper status codes
#### 🛡️ Security Features
- **OAuth 2.0 + PKCE** - Secure authentication with state parameter validation
- **Encrypted Token Storage** - Using Electron's Safe Storage API when available
- **Custom Protocol Handler** - Secure callback handling for OAuth flows
- **Request Filtering** - Security controls for web requests and external links
## 🧪 Testing
### Test Structure
```bash
apps/desktop/src/main/controllers/__tests__/ # Controller unit tests
tests/ # Integration tests
```
### Running Tests
```bash
pnpm test # Run all tests
pnpm test:watch # Watch mode
pnpm typecheck # Type validation
```
### Test Coverage
- **Controller Tests** - IPC event handling validation
- **Service Tests** - Business logic verification
- **Integration Tests** - End-to-end workflow testing
- **Type Tests** - TypeScript interface validation
## 🔒 Security Features
### Authentication & Authorization
- **OAuth 2.0 Flow** with PKCE for secure token exchange
- **State Parameter Validation** to prevent CSRF attacks
- **Encrypted Token Storage** using platform-native secure storage
- **Automatic Token Refresh** with fallback to re-authentication
### Application Security
- **Code Signing** - macOS notarization for enhanced security
- **Sandboxing** - Controlled access to system resources
- **CSP Controls** - Content Security Policy management
- **Request Filtering** - Security controls for external requests
### Data Protection
- **Encrypted Configuration** - Sensitive data encrypted at rest
- **Secure IPC** - Type-safe communication channels
- **Path Validation** - Secure file system access controls
- **Network Security** - HTTPS enforcement and proxy support
## 🤝 Contribution
Desktop application development involves complex cross-platform considerations and native integrations. We welcome community contributions to improve functionality, performance, and user experience. You can participate in improvements through:
### How to Contribute
1. **Platform Support**: Enhance cross-platform compatibility and native integrations
2. **Performance Optimization**: Improve application startup time, memory usage, and responsiveness
3. **Feature Development**: Add new desktop-specific features and capabilities
4. **Bug Fixes**: Fix platform-specific issues and edge cases
5. **Security Improvements**: Enhance security measures and authentication flows
6. **UI/UX Enhancements**: Improve desktop user interface and experience
### Contribution Process
1. Fork the [LobeChat repository](https://github.com/lobehub/lobe-chat)
2. Set up the desktop development environment following our setup guide
3. Make your changes to the desktop application
4. Submit a Pull Request describing:
- Platform compatibility testing results
- Performance impact analysis
- Security considerations
- User experience improvements
- Breaking changes (if any)
### Development Areas
- **Core Architecture**: Dependency injection, event system, and lifecycle management
- **Window Management**: Multi-window support, theme synchronization, and state persistence
- **IPC Communication**: Type-safe inter-process communication between main and renderer
- **Platform Integration**: Native menus, shortcuts, notifications, and system tray
- **Security Features**: OAuth flows, token encryption, and secure storage
- **Auto-Update System**: Multi-channel updates and rollback mechanisms
## 📚 Additional Resources
- **Development Guide**: [`Development.md`](./Development.md) - Comprehensive development documentation
- **Architecture Docs**: [`/docs`](../../docs/) - Detailed technical specifications
- **Contributing**: [`CONTRIBUTING.md`](../../CONTRIBUTING.md) - Contribution guidelines
- **Issues & Support**: [GitHub Issues](https://github.com/lobehub/lobe-chat/issues)
+353
View File
@@ -0,0 +1,353 @@
# 🤯 LobeHub 桌面应用程序
LobeHub Desktop 是 [LobeChat](https://github.com/lobehub/lobe-chat) 的跨平台桌面应用程序,使用 Electron 构建,提供了更加原生的桌面体验和功能。
## ✨ 功能特点
- **🌍 跨平台支持**:支持 macOS (Intel/Apple Silicon)、Windows 和 Linux 系统
- **🔄 自动更新**:内置更新机制,确保您始终使用最新版本
- **🌐 多语言支持**:完整的 i18n 支持,包含 18+ 种语言的懒加载
- **🎨 原生集成**:与操作系统深度集成,提供原生菜单、快捷键和通知
- **🔒 安全可靠**:macOS 公证认证,加密令牌存储,安全的 OAuth 流程
- **📦 多渠道发布**:提供稳定版、测试版和每日构建版本
- **⚡ 高级窗口管理**:多窗口架构,支持主题同步
- **🔗 远程服务器同步**:与远程 LobeChat 实例的安全数据同步
- **🎯 开发者工具**:内置开发面板和全面的调试工具
## 🚀 开发环境设置
### 前提条件
- **Node.js** 22+
- **pnpm** 10+
- **Electron** 兼容的开发环境
### 快速开始
```bash
# 安装依赖
pnpm install-isolated
# 启动开发服务器
pnpm electron:dev
# 类型检查
pnpm typecheck
# 运行测试
pnpm test
```
### 环境变量配置
复制 `.env.desktop``.env` 并根据需要配置:
```bash
cp .env.desktop .env
```
> \[!WARNING]
> 在进行更改之前请备份您的 `.env` 文件,避免丢失配置。
### 构建命令
| 命令 | 描述 |
| ------------------ | ---------------------------------- |
| `pnpm build` | 构建所有平台 |
| `pnpm build:mac` | 构建 macOS (Intel + Apple Silicon) |
| `pnpm build:win` | 构建 Windows |
| `pnpm build:linux` | 构建 Linux |
| `pnpm build-local` | 本地开发构建 |
### 开发工作流
```bash
# 1. 开发
pnpm electron:dev # 启动热重载开发服务器
# 2. 代码质量
pnpm lint # ESLint 检查
pnpm format # Prettier 格式化
pnpm typecheck # TypeScript 验证
# 3. 测试
pnpm test # 运行 Vitest 测试
# 4. 构建和打包
pnpm build # 生产构建
pnpm build-local # 本地测试构建
```
## 🎯 发布渠道
| 渠道 | 描述 | 稳定性 | 自动更新 |
| ------------------------ | ---------------------- | ------ | -------- |
| **稳定版** | 经过充分测试的正式版本 | 🟢 高 | ✅ 是 |
| **测试版 (Beta)** | 包含新功能的预发布版本 | 🟡 中 | ✅ 是 |
| **每日构建版 (Nightly)** | 包含最新更改的每日构建 | 🟠 低 | ✅ 是 |
## 🛠 技术栈
### 核心框架
- **Electron** `37.1.0` - 跨平台桌面框架
- **Node.js** `22+` - 后端运行时
- **TypeScript** `5.7+` - 类型安全开发
- **Vite** `6.2+` - 构建工具
### 架构和模式
- **依赖注入** - 基于装饰器注册的 IoC 容器
- **事件驱动架构** - 进程间 IPC 通信
- **模块联邦** - 动态控制器和服务加载
- **观察者模式** - 状态管理和 UI 同步
### 开发工具
- **Vitest** - 单元测试框架
- **ESLint** - 代码检查
- **Prettier** - 代码格式化
- **electron-builder** - 应用程序打包
- **electron-updater** - 自动更新机制
### 安全和存储
- **Electron Safe Storage** - 加密令牌存储
- **OAuth 2.0 + PKCE** - 安全认证流程
- **electron-store** - 持久化配置
- **自定义协议处理器** - 安全回调处理
## 🏗 架构设计
桌面应用程序采用了复杂的依赖注入和事件驱动架构:
### 📁 核心结构
```
src/main/core/
├── App.ts # 🎯 主应用程序协调器
├── IoCContainer.ts # 🔌 依赖注入容器
├── window/ # 🪟 窗口管理模块
│ ├── WindowThemeManager.ts # 🎨 主题同步
│ ├── WindowPositionManager.ts # 📐 位置持久化
│ ├── WindowErrorHandler.ts # ⚠️ 错误边界
│ └── WindowConfigBuilder.ts # ⚙️ 配置构建器
├── browser/ # 🌐 浏览器管理模块
│ ├── Browser.ts # 🪟 单个窗口实例
│ └── BrowserManager.ts # 👥 多窗口协调器
├── ui/ # 🎨 UI 系统模块
│ ├── Tray.ts # 📍 系统托盘集成
│ ├── TrayManager.ts # 🔧 托盘管理
│ ├── MenuManager.ts # 📋 原生菜单系统
│ └── ShortcutManager.ts # ⌨️ 全局快捷键
└── infrastructure/ # 🔧 基础设施服务
├── StoreManager.ts # 💾 配置存储
├── I18nManager.ts # 🌍 国际化
├── UpdaterManager.ts # 📦 自动更新系统
└── StaticFileServerManager.ts # 🗂️ 本地文件服务
```
### 🔄 应用程序生命周期
`App.ts` 类通过几个关键阶段协调整个应用程序的生命周期:
#### 1. 🚀 初始化阶段
- **系统信息记录** - 捕获操作系统、CPU、内存和区域设置详细信息
- **存储管理器设置** - 初始化持久配置存储
- **动态模块加载** - 通过 glob 导入自动发现控制器和服务
- **IPC 事件注册** - 设置进程间通信通道
#### 2. 🏃 引导阶段
- **单实例检查** - 确保只运行一个应用程序实例
- **IPC 服务器启动** - 启动通信服务器
- **核心管理器初始化** - 按顺序初始化所有管理器:
- 🌍 国际化管理器
- 📋 原生菜单系统
- 🗂️ 本地资源服务器
- ⌨️ 全局快捷键注册
- 🪟 浏览器窗口管理
- 📍 系统托盘(仅 Windows
- 📦 自动更新系统
### 🔧 核心组件深度解析
#### 🌐 浏览器管理系统
- **多窗口架构** - 支持聊天、设置和开发工具窗口
- **窗口状态管理** - 处理定位、主题和生命周期
- **WebContents 映射** - WebContents 和标识符之间的双向映射
- **事件广播** - 向所有或特定窗口的集中事件分发
#### 🔌 依赖注入和事件系统
- **IoC 容器** - 基于 WeakMap 的装饰控制器方法容器
- **装饰器注册** - `@ipcClientEvent``@ipcServerEvent` 装饰器
- **自动事件映射** - 控制器加载期间注册的事件
- **服务定位器** - 类型安全的服务和控制器检索
#### 🪟 窗口管理
- **主题感知窗口** - 自动适应系统深色 / 浅色模式
- **平台特定样式** - Windows 标题栏和覆盖自定义
- **位置持久化** - 跨会话保存和恢复窗口位置
- **错误边界** - 窗口操作的集中错误处理
#### 🔧 基础设施服务
##### 🌍 国际化管理器
- **18+ 语言支持** 懒加载和命名空间组织
- **系统集成** 与 Electron 的区域检测集成
- **动态 UI 刷新** 语言更改时的 UI 更新
- **资源管理** 高效的加载策略
##### 📦 更新管理器
- **多渠道支持** (稳定版、测试版、每日构建)可配置间隔
- **后台下载** 进度跟踪和用户通知
- **回滚保护** 错误处理和恢复机制
- **渠道管理** 自动渠道切换
##### 💾 存储管理器
- **类型安全存储** 使用带有 TypeScript 接口的 electron-store
- **加密机密** 通过 Electron 的安全存储 API
- **配置验证** 默认值管理
- **文件系统集成** 自动目录创建
##### 🗂️ 静态文件服务器
- **本地 HTTP 服务器** 用于提供应用程序资源和用户文件
- **安全控制** 请求过滤和访问验证
- **文件管理** 上传、下载和删除功能
- **路径解析** 存储位置之间的智能路由
#### 🎨 UI 系统集成
- **全局快捷键** - 平台感知的键盘快捷键注册与冲突检测
- **系统托盘** - 带有上下文菜单和通知的原生集成
- **原生菜单** - 带有 i18n 的平台特定应用程序和上下文菜单
- **主题同步** - 所有 UI 组件的自动主题更新
### 🏛 控制器和服务架构
#### 🎮 控制器模式
- **IPC 事件处理** - 通过基于装饰器的注册处理来自渲染器的事件
- **生命周期钩子** - 初始化阶段的 `beforeAppReady``afterAppReady`
- **类型安全通信** - 所有 IPC 事件和响应的强类型
- **错误边界** - 具有适当传播的全面错误处理
#### 🔧 服务模式
- **业务逻辑封装** - 关注点的清晰分离
- **依赖管理** - 通过 IoC 容器管理
- **跨控制器共享** - 通过服务定位器模式访问的服务
- **资源管理** - 适当的初始化和清理
### 🔗 进程间通信
#### 📡 IPC 系统功能
- **双向通信** - Main↔Renderer 和 Main↔Next.js 服务器
- **类型安全事件** - 所有事件参数的 TypeScript 接口
- **上下文感知** - 事件包含用于窗口特定操作的发送者上下文
- **错误传播** - 具有适当状态码的集中错误处理
#### 🛡️ 安全功能
- **OAuth 2.0 + PKCE** - 具有状态参数验证的安全认证
- **加密令牌存储** - 在可用时使用 Electron 的安全存储 API
- **自定义协议处理器** - OAuth 流程的安全回调处理
- **请求过滤** - 网络请求和外部链接的安全控制
## 🧪 测试
### 测试结构
```bash
apps/desktop/src/main/controllers/__tests__/ # 控制器单元测试
tests/ # 集成测试
```
### 运行测试
```bash
pnpm test # 运行所有测试
pnpm test:watch # 监视模式
pnpm typecheck # 类型验证
```
### 测试覆盖
- **控制器测试** - IPC 事件处理验证
- **服务测试** - 业务逻辑验证
- **集成测试** - 端到端工作流测试
- **类型测试** - TypeScript 接口验证
## 🔒 安全功能
### 认证和授权
- **OAuth 2.0 流程** 使用 PKCE 进行安全令牌交换
- **状态参数验证** 防止 CSRF 攻击
- **加密令牌存储** 使用平台原生安全存储
- **自动令牌刷新** 在失败时回退到重新认证
### 应用程序安全
- **代码签名** - macOS 公证认证以增强安全性
- **沙盒** - 对系统资源的受控访问
- **CSP 控制** - 内容安全策略管理
- **请求过滤** - 外部请求的安全控制
### 数据保护
- **加密配置** - 敏感数据静态加密
- **安全 IPC** - 类型安全的通信通道
- **路径验证** - 安全的文件系统访问控制
- **网络安全** - HTTPS 强制和代理支持
## 🤝 参与贡献
桌面应用程序开发涉及复杂的跨平台考虑和原生集成。我们欢迎社区贡献来改进功能、性能和用户体验。您可以通过以下方式参与改进:
### 如何贡献
1. **平台支持**:增强跨平台兼容性和原生集成
2. **性能优化**:改进应用程序启动时间、内存使用和响应性
3. **功能开发**:添加新的桌面特定功能和能力
4. **错误修复**:修复平台特定问题和边缘情况
5. **安全改进**:增强安全措施和认证流程
6. **UI/UX 增强**:改进桌面用户界面和体验
### 贡献流程
1. Fork [LobeChat 仓库](https://github.com/lobehub/lobe-chat)
2. 按照我们的设置指南建立桌面开发环境
3. 对桌面应用程序进行修改
4. 提交 Pull Request 并描述:
- 平台兼容性测试结果
- 性能影响分析
- 安全考虑
- 用户体验改进
- 破坏性更改(如有)
### 开发领域
- **核心架构**:依赖注入、事件系统和生命周期管理
- **窗口管理**:多窗口支持、主题同步和状态持久化
- **IPC 通信**:主进程和渲染进程之间的类型安全进程间通信
- **平台集成**:原生菜单、快捷键、通知和系统托盘
- **安全功能**:OAuth 流程、令牌加密和安全存储
- **自动更新系统**:多渠道更新和回滚机制
## 📚 其他资源
- **开发指南**[`Development.md`](./Development.md) - 全面的开发文档
- **架构文档**[`/docs`](../../docs/) - 详细的技术规范
- **贡献指南**[`CONTRIBUTING.md`](../../CONTRIBUTING.md) - 贡献指导
- **问题和支持**[GitHub Issues](https://github.com/lobehub/lobe-chat/issues)
Binary file not shown.
Binary file not shown.
Binary file not shown.
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>
Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

+6
View File
@@ -0,0 +1,6 @@
provider: github
owner: lobehub
repo: lobe-chat
updaterCacheDirName: electron-app-updater
allowPrerelease: true
channel: nightly
+141
View File
@@ -0,0 +1,141 @@
const dotenv = require('dotenv');
const os = require('node:os');
dotenv.config();
const packageJSON = require('./package.json');
const channel = process.env.UPDATE_CHANNEL;
const arch = os.arch();
const hasAppleCertificate = Boolean(process.env.CSC_LINK);
console.log(`🚄 Build Version ${packageJSON.version}, Channel: ${channel}`);
console.log(`🏗️ Building for architecture: ${arch}`);
const isNightly = channel === 'nightly';
const isBeta = packageJSON.name.includes('beta');
// https://www.electron.build/code-signing-mac#how-to-disable-code-signing-during-the-build-process-on-macos
if (!hasAppleCertificate) {
// Disable auto discovery to keep electron-builder from searching unavailable signing identities
process.env.CSC_IDENTITY_AUTO_DISCOVERY = 'false';
console.log('⚠️ Apple certificate link not found, macOS artifacts will be unsigned.');
}
// 根据版本类型确定协议 scheme
const getProtocolScheme = () => {
if (isNightly) return 'lobehub-nightly';
if (isBeta) return 'lobehub-beta';
return 'lobehub';
};
const protocolScheme = getProtocolScheme();
/**
* @type {import('electron-builder').Configuration}
* @see https://www.electron.build/configuration
*/
const config = {
appId: isNightly
? 'com.lobehub.lobehub-desktop-nightly'
: isBeta
? 'com.lobehub.lobehub-desktop-beta'
: 'com.lobehub.lobehub-desktop',
appImage: {
artifactName: '${productName}-${version}.${ext}',
},
asar: true,
asarUnpack: [
// https://github.com/electron-userland/electron-builder/issues/9001#issuecomment-2778802044
'**/node_modules/sharp/**/*',
'**/node_modules/@img/**/*',
],
detectUpdateChannel: true,
directories: {
buildResources: 'build',
output: 'release',
},
dmg: {
artifactName: '${productName}-${version}-${arch}.${ext}',
},
electronDownload: {
mirror: 'https://npmmirror.com/mirrors/electron/',
},
files: [
'dist',
'resources',
'!resources/locales',
'!dist/next/docs',
'!dist/next/packages',
'!dist/next/.next/server/app/sitemap',
'!dist/next/.next/static/media',
],
generateUpdatesFilesForAllChannels: true,
linux: {
category: 'Utility',
maintainer: 'electronjs.org',
target: ['AppImage', 'snap', 'deb', 'rpm', 'tar.gz'],
},
mac: {
compression: 'maximum',
entitlementsInherit: 'build/entitlements.mac.plist',
extendInfo: {
CFBundleURLTypes: [
{
CFBundleURLName: 'LobeHub Protocol',
CFBundleURLSchemes: [protocolScheme],
},
],
NSCameraUsageDescription: "Application requests access to the device's camera.",
NSDocumentsFolderUsageDescription:
"Application requests access to the user's Documents folder.",
NSDownloadsFolderUsageDescription:
"Application requests access to the user's Downloads folder.",
NSMicrophoneUsageDescription: "Application requests access to the device's microphone.",
},
gatekeeperAssess: false,
hardenedRuntime: hasAppleCertificate,
notarize: hasAppleCertificate,
...(hasAppleCertificate ? {} : { identity: null }),
target:
// 降低构建时间,nightly 只打 dmg
// 根据当前机器架构只构建对应架构的包
isNightly
? [{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'dmg' }]
: [
{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'dmg' },
{ arch: [arch === 'arm64' ? 'arm64' : 'x64'], target: 'zip' },
],
},
npmRebuild: true,
nsis: {
allowToChangeInstallationDirectory: true,
artifactName: '${productName}-${version}-setup.${ext}',
createDesktopShortcut: 'always',
installerHeader: './build/nsis-header.bmp',
installerSidebar: './build/nsis-sidebar.bmp',
oneClick: false,
shortcutName: '${productName}',
uninstallDisplayName: '${productName}',
uninstallerSidebar: './build/nsis-sidebar.bmp',
},
protocols: [
{
name: 'LobeHub Protocol',
schemes: [protocolScheme],
},
],
publish: [
{
owner: 'lobehub',
provider: 'github',
repo: 'lobe-chat',
},
],
win: {
executableName: 'LobeHub',
},
};
module.exports = config;
+45
View File
@@ -0,0 +1,45 @@
import dotenv from 'dotenv';
import { defineConfig, externalizeDepsPlugin } from 'electron-vite';
import { resolve } from 'node:path';
dotenv.config();
const isDev = process.env.NODE_ENV === 'development';
const updateChannel = process.env.UPDATE_CHANNEL;
console.log(`[electron-vite.config.ts] Detected UPDATE_CHANNEL: ${updateChannel}`); // 添加日志确认
export default defineConfig({
main: {
build: {
minify: !isDev,
outDir: 'dist/main',
sourcemap: isDev ? 'inline' : false,
},
// 这里是关键:在构建时进行文本替换
define: {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
'process.env.OFFICIAL_CLOUD_SERVER': JSON.stringify(process.env.OFFICIAL_CLOUD_SERVER),
'process.env.UPDATE_CHANNEL': JSON.stringify(process.env.UPDATE_CHANNEL),
},
plugins: [externalizeDepsPlugin({})],
resolve: {
alias: {
'@': resolve(__dirname, 'src/main'),
'~common': resolve(__dirname, 'src/common'),
},
},
},
preload: {
build: {
minify: !isDev,
outDir: 'dist/preload',
sourcemap: isDev ? 'inline' : false,
},
plugins: [externalizeDepsPlugin({})],
resolve: {
alias: {
'~common': resolve(__dirname, 'src/common'),
},
},
},
});
+83
View File
@@ -0,0 +1,83 @@
{
"name": "lobehub-desktop-dev",
"version": "0.0.0",
"private": true,
"description": "LobeHub Desktop Application",
"homepage": "https://lobehub.com",
"repository": {
"type": "git",
"url": "https://github.com/lobehub/lobe-chat.git"
},
"author": "LobeHub",
"main": "./dist/main/index.js",
"scripts": {
"build": "npm run typecheck && electron-vite build",
"build-local": "npm run build && electron-builder --dir --config electron-builder.js --c.mac.notarize=false -c.mac.identity=null --c.asar=false",
"build:linux": "npm run build && electron-builder --linux --config electron-builder.js --publish never",
"build:mac": "npm run build && electron-builder --mac --config electron-builder.js --publish never",
"build:mac:local": "npm run build && UPDATE_CHANNEL=nightly electron-builder --mac --config electron-builder.js --publish never",
"build:win": "npm run build && electron-builder --win --config electron-builder.js --publish never",
"electron:dev": "electron-vite dev",
"electron:run-unpack": "electron .",
"format": "prettier --write ",
"i18n": "tsx scripts/i18nWorkflow/index.ts && lobe-i18n",
"postinstall": "electron-builder install-app-deps",
"install-isolated": "pnpm install",
"lint": "eslint --cache ",
"start": "electron-vite preview",
"test": "vitest --run",
"typecheck": "tsgo --noEmit -p tsconfig.json"
},
"dependencies": {
"electron-updater": "^6.6.2",
"electron-window-state": "^5.0.3",
"fetch-socks": "^1.3.2",
"get-port-please": "^3.1.2",
"pdfjs-dist": "4.10.38"
},
"devDependencies": {
"@electron-toolkit/eslint-config-prettier": "^3.0.0",
"@electron-toolkit/eslint-config-ts": "^3.0.0",
"@electron-toolkit/preload": "^3.0.1",
"@electron-toolkit/tsconfig": "^1.0.1",
"@electron-toolkit/utils": "^4.0.0",
"@lobechat/electron-client-ipc": "workspace:*",
"@lobechat/electron-server-ipc": "workspace:*",
"@lobechat/file-loaders": "workspace:*",
"@lobehub/i18n-cli": "^1.20.3",
"@types/lodash": "^4.17.0",
"@types/resolve": "^1.20.6",
"@types/semver": "^7.7.0",
"@types/set-cookie-parser": "^2.4.10",
"@typescript/native-preview": "7.0.0-dev.20250711.1",
"consola": "^3.1.0",
"cookie": "^1.0.2",
"electron": "^38.0.0",
"electron-builder": "^26.0.12",
"electron-is": "^3.0.0",
"electron-log": "^5.3.3",
"electron-store": "^8.2.0",
"electron-vite": "^3.0.0",
"execa": "^9.5.2",
"fix-path": "^5.0.0",
"http-proxy-agent": "^7.0.2",
"https-proxy-agent": "^7.0.6",
"just-diff": "^6.0.2",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"resolve": "^1.22.8",
"semver": "^7.5.4",
"set-cookie-parser": "^2.7.1",
"tsx": "^4.19.3",
"typescript": "^5.7.3",
"undici": "^7.9.0",
"vite": "^6.3.5",
"vitest": "^3.2.4"
},
"pnpm": {
"onlyBuiltDependencies": [
"electron",
"electron-builder"
]
}
}

Some files were not shown because too many files have changed in this diff Show More