Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 27, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

semantic-release-bot and others added 30 commits January 23, 2026 12:30
## [Version 2.0.0-next.351](v2.0.0-next.350...v2.0.0-next.351)
<sup>Released on **2026-01-23**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix auto scroll.

<br/>

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

#### What's fixed

* **misc**: Fix auto scroll, closes [#11734](#11734) ([892fa9f](892fa9f))

</details>

<div align="right">

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

</div>
## [Version&nbsp;2.0.0-next.352](v2.0.0-next.351...v2.0.0-next.352)
<sup>Released on **2026-01-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>
## [Version&nbsp;2.0.0-next.353](v2.0.0-next.352...v2.0.0-next.353)
<sup>Released on **2026-01-23**</sup>

#### ✨ Features

- **database**: Extended async task with metadata and parent id, added index.

<br/>

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

#### What's improved

* **database**: Extended async task with metadata and parent id, added index, closes [#11712](#11712) ([31d2f26](31d2f26))

</details>

<div align="right">

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

</div>
* 🐛 fix(pdf): ensure worker config before Document render

Fixes "No GlobalWorkerOptions.workerSrc specified" error in TurboPack by:
- Creating unified pdfjs module that ensures worker config at render time
- Wrapping Document component to call ensureWorker() before render
- Removing side-effect imports that may be optimized away by bundler

Closes LOBE-4108

* 📝 docs: clarify Linear issue management trigger conditions
♻️ refactor: migrate AI Rules to Claude Code Skills system

Migrate all AI Rules from .cursor/rules/ to .agents/skills/ directory:
- Move 23 skills to .agents/skills/ (main directory)
- Update symlinks: .claude/skills, .cursor/skills, .codex/skills
- Create project-overview skill from project documentation
- Add references/ subdirectories for complex skills
- Remove LobeChat references from skill descriptions
- Delete obsolete .cursor/rules/ and .claude/commands/prompts/ directories

Skills structure enables better portability and maintainability across AI tools.
## [Version&nbsp;2.0.0-next.354](v2.0.0-next.353...v2.0.0-next.354)
<sup>Released on **2026-01-23**</sup>

#### ♻ Code Refactoring

- **misc**: Migrate AI Rules to Claude Code Skills.

#### 🐛 Bug Fixes

- **pdf**: Ensure worker config before Document render.

<br/>

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

#### Code refactoring

* **misc**: Migrate AI Rules to Claude Code Skills, closes [#11737](#11737) ([346fc46](346fc46))

#### What's fixed

* **pdf**: Ensure worker config before Document render, closes [#11746](#11746) ([ad34072](ad34072))

</details>

<div align="right">

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

</div>
…11752)

* 🐛 fix(home): use correct CreateGroupModal for session group creation

The "Add New Group" menu item was incorrectly opening the complex
agent selection modal instead of the simple session group creation
modal. This fix imports the correct CreateGroupModal component that
only requires a group name input for creating agent folders.

Also fixes unrelated type error in ModelSelect component.

Closes: LOBE-4192

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* fix memory i18n

* fix history limit issue and favorite topic

* fix tests

* fix tests

* fix tests

* 🧪 test(chat): fix getChatCompletion second parameter assertion

Update test assertions to use expect.anything() instead of undefined
for the second parameter of getChatCompletion, as it now receives
{ agentId, topicId } context object.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix group topic

* fix lobeai link

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
## [Version&nbsp;2.0.0-next.355](v2.0.0-next.354...v2.0.0-next.355)
<sup>Released on **2026-01-23**</sup>

#### 🐛 Bug Fixes

- **home**: Use correct CreateGroupModal for session group creation.
- **misc**: Fix favorite refresh bug and group topic refresh issue.

<br/>

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

#### What's fixed

* **home**: Use correct CreateGroupModal for session group creation, closes [#11752](#11752) ([36bcc50](36bcc50))
* **misc**: Fix favorite refresh bug and group topic refresh issue, closes [#11745](#11745) ([5d115ef](5d115ef))

</details>

<div align="right">

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

</div>
#11755)

Fix "Node TableNode has not been registered" error that occurred when
switching enableInputMarkdown from disabled to enabled.

Root cause: Lexical editor nodes must be registered at creation time.
When enableRichRender toggled, plugins tried to register nodes on an
existing editor instance, causing a crash.

Solution: Use key-based re-mounting with content preservation via ref.
- Outer component holds contentRef to persist content across re-mounts
- Inner component re-mounts when enableRichRender changes (via key)
- Content restored from ref on editor initialization
## [Version&nbsp;2.0.0-next.356](v2.0.0-next.355...v2.0.0-next.356)
<sup>Released on **2026-01-23**</sup>

#### ✨ Features

- **misc**: Remove NextAuth.

#### 🐛 Bug Fixes

- **editor**: Prevent crash when toggling enableInputMarkdown setting.

<br/>

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

#### What's improved

* **misc**: Remove NextAuth, closes [#11732](#11732) ([1eff864](1eff864))

#### What's fixed

* **editor**: Prevent crash when toggling enableInputMarkdown setting, closes [#11755](#11755) ([ea5eed8](ea5eed8))

</details>

<div align="right">

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

</div>
* try to fix page

* try to fix page switch
#11756)

* 🐛 fix(model-runtime): handle null content in anthropic message builder

Fix TypeError when building Anthropic messages with null content:
- Handle assistant messages with tool_calls but null content
- Handle tool messages with null or empty string content
- Use '<empty_content>' placeholder for null/empty content

Add 3 test cases covering the null content scenarios.

Closes: LOBE-4201, LOBE-2715

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* 🐛 fix(model-runtime): handle array content in tool messages

Tool messages may have array content, not just string. Use
buildArrayContent to properly process array content in tool results.

Add test case for tool message with array content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* 🐛 fix(model-runtime): filter out null/empty content in assistant messages

When assistant message has tool_calls but null/empty content, filter
out the empty text block instead of using placeholder. Only tool_use
blocks remain in the content array.

Add test case for empty string content scenario.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* ✅ test(model-runtime): add test case for tool message with image content

Add test case to verify tool message with array content containing
both text and image is correctly processed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* ✅ test(model-runtime): add tests for orphan tool message with null/empty content

Add test cases for tool messages without corresponding assistant
tool_call when content is null or empty string.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
## [Version&nbsp;2.0.0-next.357](v2.0.0-next.356...v2.0.0-next.357)
<sup>Released on **2026-01-23**</sup>

#### 🐛 Bug Fixes

- **model-runtime**: Handle null content in anthropic message builder.
- **misc**: Page content switch mismatch.

<br/>

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

#### What's fixed

* **model-runtime**: Handle null content in anthropic message builder, closes [#11756](#11756) ([539753a](539753a))
* **misc**: Page content switch mismatch, closes [#11758](#11758) ([fdc8f95](fdc8f95))

</details>

<div align="right">

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

</div>
🐛 fix(store): delete message before regeneration to fix LOBE-2533

When "delete and regenerate" was called, regeneration happened first
which switched to a new branch. This caused the original message to
no longer appear in displayMessages, so deleteMessage couldn't find
the message and failed silently.

Changes:
- Reorder operations: delete first, then regenerate
- Get parent user message ID before deletion (needed for regeneration)
- Add early return if message has no parentId
- Add test case to verify correct operation order

Closes: LOBE-2533

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
## [Version&nbsp;2.0.0-next.358](v2.0.0-next.357...v2.0.0-next.358)
<sup>Released on **2026-01-23**</sup>

#### 🐛 Bug Fixes

- **store**: Delete message before regeneration.

<br/>

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

#### What's fixed

* **store**: Delete message before regeneration, closes [#11760](#11760) ([a8a6300](a8a6300))

</details>

<div align="right">

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

</div>
🐛 fix: surface streaming errors during pulls
Revert "🐛 fix(editor): prevent crash when toggling enableInputMarkdown setting (#11755)"

This reverts commit ea5eed8.
## [Version&nbsp;2.0.0-next.359](v2.0.0-next.358...v2.0.0-next.359)
<sup>Released on **2026-01-24**</sup>

#### 🐛 Bug Fixes

- **misc**: Surface streaming errors during mid-stream pulls.

<br/>

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

#### What's fixed

* **misc**: Surface streaming errors during mid-stream pulls, closes [#11762](#11762) ([74a88d3](74a88d3))

</details>

<div align="right">

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

</div>
lobehubbot and others added 30 commits January 28, 2026 08:30
#11923)

Update upstream repository and branch for sync action
…11947)

fix(model-bank): fix ZenMux model IDs by adding provider prefixes
### [Version&nbsp;2.0.9](v2.0.8...v2.0.9)
<sup>Released on **2026-01-29**</sup>

#### 🐛 Bug Fixes

- **model-bank**: Fix ZenMux model IDs by adding provider prefixes.

<br/>

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

#### What's fixed

* **model-bank**: Fix ZenMux model IDs by adding provider prefixes, closes [#11947](#11947) ([17f8a5c](17f8a5c))

</details>

<div align="right">

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

</div>
* 🐛 fix: Update reasoning handling in OpenRouter and VercelAIGateway to include thinkingLevel and adjust gpt-5 reasoning parameters

* 🐛 fix: Add ExtendParamsTypeSchema and AiModelSettingsSchema for enhanced model settings

* 🐛 fix: Add ModelSearchImplementTypeSchema and update AiModelSettingsSchema for enhanced model configuration

* delete gemini-2.5-flash-image-preview model

* Add GLM-4.7 model to volcengine and remove deprecated GLM-4 32B 0414 model from wenxin

* ✨ feat: 添加 MiniMax-M2.1 和 GLM-4.7-Flash 模型到模型库

* ✨ feat: 更新 Zhipu 模型库,添加 GLM-4.7-FlashX 模型并移除 GLM-4.5-Flash 模型

* test: add extendParams mapping for gpt-5.x reasoning models in VercelAIGatewayAI

* remove deprecated DeepSeek R1 model from nvidiaChatModels

* i18n: 更新 MiniMax-M2.1 模型描述为英文
### [Version&nbsp;2.0.10](v2.0.9...v2.0.10)
<sup>Released on **2026-01-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Add ExtendParamsTypeSchema for enhanced model settings.

<br/>

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

#### What's fixed

* **misc**: Add ExtendParamsTypeSchema for enhanced model settings, closes [#11437](#11437) ([f58c980](f58c980))

</details>

<div align="right">

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

</div>
* improve task messages render

* improve task messages render

* refactor agent task

* fix tests

* improved ui now

* fix

* fix supervisor issue

* add more tests

* fix agent tasks issue

* update i18n

* update createdAt

* fix tests and update dockerfile

* fix max length

* fix max length
### [Version&nbsp;2.0.11](v2.0.10...v2.0.11)
<sup>Released on **2026-01-29**</sup>

#### 💄 Styles

- **misc**: Fix group task render.

<br/>

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

#### Styles

* **misc**: Fix group task render, closes [#11952](#11952) ([b8ef02e](b8ef02e))

</details>

<div align="right">

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

</div>
#11965)

* fix: when use group in market the supervisor plugins lost

* fix: slove the group pubilsh but not set the market id into group
### [Version&nbsp;2.0.12](v2.0.11...v2.0.12)
<sup>Released on **2026-01-29**</sup>

#### 🐛 Bug Fixes

- **misc**: Group publish to market should set local group market identifer.

<br/>

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

#### What's fixed

* **misc**: Group publish to market should set local group market identifer, closes [#11965](#11965) ([0bda4d9](0bda4d9))

</details>

<div align="right">

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

</div>
* wip: use stack bar chart

* 💄 style: update labels

* 🐛 fix: should not include INF vales

* ♻️ refactor: improve codes

* 💄 style: improve label format

* 💄 style: improve label format
### [Version&nbsp;2.0.13](v2.0.12...v2.0.13)
<sup>Released on **2026-01-29**</sup>

#### 💄 Styles

- **misc**: Fix usage table display issues.

<br/>

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

#### Styles

* **misc**: Fix usage table display issues, closes [#10108](#10108) ([4bd82c3](4bd82c3))

</details>

<div align="right">

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

</div>
…lag (#11975)

- Replace compile-time ENABLE_BUSINESS_FEATURES constant with runtime
  serverConfigSelectors.enableBusinessFeatures for cron module
- Redesign CronJobScheduleConfig with FormGroup pattern matching Settings UI
- Update CronJobHeader with simplified layout (28px title, Switch only)
- Convert all cron feature components to use createStaticStyles with cssVar
- Add i18n keys for cron job form labels

LOBE-4540
## [Version&nbsp;2.1.0](v2.0.13...v2.1.0)
<sup>Released on **2026-01-30**</sup>

#### ✨ Features

- **misc**: Refactor cron job UI and use runtime enableBusinessFeatures flag.

<br/>

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

#### What's improved

* **misc**: Refactor cron job UI and use runtime enableBusinessFeatures flag, closes [#11975](#11975) ([104a19a](104a19a))

</details>

<div align="right">

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

</div>
Fixed the download URL path from '/download' to '/downloads' to match the actual official site path.
* improve message content

* ♻️ refactor(docker-compose): 创建精简版 deploy 配置

- 新建 docker-compose/deploy 目录,包含最小化部署配置
- 仅保留核心服务:postgresql、redis、rustfs、searxng、lobe
- 移除 Casdoor 认证服务相关配置
- 移除可观测性服务(Grafana/Prometheus/Tempo/otel-collector)
- 使用 paradedb/paradedb:latest 镜像(支持 pgvector + pg_search)
- 更新 setup.sh 指向新的 deploy 目录
- 清理 .env 示例文件中的 Casdoor 相关配置

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* update document

* update content

* update content

* improve env

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
### [Version&nbsp;2.1.1](v2.1.0...v2.1.1)
<sup>Released on **2026-01-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Correct desktop download URL path.

<br/>

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

#### What's fixed

* **misc**: Correct desktop download URL path, closes [#11990](#11990) ([e46df98](e46df98))

</details>

<div align="right">

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

</div>
* update document

* update documents

* update auth

* move

* update database

* move auth

* move auth

* update
### [Version&nbsp;2.1.2](v2.1.1...v2.1.2)
<sup>Released on **2026-01-30**</sup>

#### 🐛 Bug Fixes

- **misc**: Fix feishu sso provider.

<br/>

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

#### What's fixed

* **misc**: Fix feishu sso provider, closes [#11970](#11970) ([ffd9fff](ffd9fff))

</details>

<div align="right">

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

</div>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.