@lobehub/lobehub 2.1.6 → 2.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/changelog/v2.json +18 -0
- package/package.json +1 -1
- package/packages/builtin-tool-notebook/src/systemRole.ts +20 -0
- package/src/features/Conversation/Messages/AssistantGroup/Tool/Inspector/ToolTitle.tsx +2 -0
- package/src/features/Conversation/Messages/Tasks/shared/TaskMessages.tsx +31 -5
- package/src/hooks/useFetchAgentList.ts +1 -1
- package/src/hooks/useHotkeys/chatScope.ts +1 -1
- package/src/hooks/useHotkeys/globalScope.ts +2 -2
- package/src/hooks/useHotkeys/imageScope.ts +1 -1
- package/src/hooks/usePWAInstall.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
+
### [Version 2.1.8](https://github.com/lobehub/lobe-chat/compare/v2.1.7...v2.1.8)
|
|
6
|
+
|
|
7
|
+
<sup>Released on **2026-02-01**</sup>
|
|
8
|
+
|
|
9
|
+
#### 💄 Styles
|
|
10
|
+
|
|
11
|
+
- **misc**: Improve tasks display.
|
|
12
|
+
|
|
13
|
+
<br/>
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
17
|
+
|
|
18
|
+
#### Styles
|
|
19
|
+
|
|
20
|
+
- **misc**: Improve tasks display, closes [#12032](https://github.com/lobehub/lobe-chat/issues/12032) ([3423ad1](https://github.com/lobehub/lobe-chat/commit/3423ad1))
|
|
21
|
+
|
|
22
|
+
</details>
|
|
23
|
+
|
|
24
|
+
<div align="right">
|
|
25
|
+
|
|
26
|
+
[](#readme-top)
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
### [Version 2.1.7](https://github.com/lobehub/lobe-chat/compare/v2.1.6...v2.1.7)
|
|
31
|
+
|
|
32
|
+
<sup>Released on **2026-02-01**</sup>
|
|
33
|
+
|
|
34
|
+
#### 🐛 Bug Fixes
|
|
35
|
+
|
|
36
|
+
- **misc**: Add missing description parameter docs in Notebook system prompt.
|
|
37
|
+
|
|
38
|
+
<br/>
|
|
39
|
+
|
|
40
|
+
<details>
|
|
41
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
42
|
+
|
|
43
|
+
#### What's fixed
|
|
44
|
+
|
|
45
|
+
- **misc**: Add missing description parameter docs in Notebook system prompt, closes [#12015](https://github.com/lobehub/lobe-chat/issues/12015) [#11391](https://github.com/lobehub/lobe-chat/issues/11391) ([182030f](https://github.com/lobehub/lobe-chat/commit/182030f))
|
|
46
|
+
|
|
47
|
+
</details>
|
|
48
|
+
|
|
49
|
+
<div align="right">
|
|
50
|
+
|
|
51
|
+
[](#readme-top)
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
|
|
5
55
|
### [Version 2.1.6](https://github.com/lobehub/lobe-chat/compare/v2.1.5...v2.1.6)
|
|
6
56
|
|
|
7
57
|
<sup>Released on **2026-02-01**</sup>
|
package/changelog/v2.json
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"children": {
|
|
4
|
+
"improvements": [
|
|
5
|
+
"Improve tasks display."
|
|
6
|
+
]
|
|
7
|
+
},
|
|
8
|
+
"date": "2026-02-01",
|
|
9
|
+
"version": "2.1.8"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"children": {
|
|
13
|
+
"fixes": [
|
|
14
|
+
"Add missing description parameter docs in Notebook system prompt."
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"date": "2026-02-01",
|
|
18
|
+
"version": "2.1.7"
|
|
19
|
+
},
|
|
2
20
|
{
|
|
3
21
|
"children": {
|
|
4
22
|
"improvements": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/lobehub",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.8",
|
|
4
4
|
"description": "LobeHub - an open-source,comprehensive AI Agent framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -10,6 +10,26 @@ export const systemPrompt = `You have access to the Notebook tool for creating a
|
|
|
10
10
|
Note: The list of existing documents is automatically provided in the context, so you don't need to query for it.
|
|
11
11
|
</tool_overview>
|
|
12
12
|
|
|
13
|
+
<api_parameters>
|
|
14
|
+
**createDocument** - All three parameters are required:
|
|
15
|
+
- title (required): A descriptive title for the document
|
|
16
|
+
- description (required): A brief summary of the document (1-2 sentences), shown in document lists
|
|
17
|
+
- content (required): The document content in Markdown format
|
|
18
|
+
- type (optional): "markdown" (default), "note", "report", or "article"
|
|
19
|
+
|
|
20
|
+
**updateDocument**:
|
|
21
|
+
- id (required): The document ID to update
|
|
22
|
+
- title (optional): New title
|
|
23
|
+
- content (optional): New content
|
|
24
|
+
- append (optional): If true, append to existing content instead of replacing
|
|
25
|
+
|
|
26
|
+
**getDocument**:
|
|
27
|
+
- id (required): The document ID to retrieve
|
|
28
|
+
|
|
29
|
+
**deleteDocument**:
|
|
30
|
+
- id (required): The document ID to delete
|
|
31
|
+
</api_parameters>
|
|
32
|
+
|
|
13
33
|
<when_to_use>
|
|
14
34
|
**Save to Notebook when**:
|
|
15
35
|
- User explicitly asks to "save", "write down", or "document" something
|
|
@@ -20,10 +20,12 @@ export const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
|
20
20
|
`,
|
|
21
21
|
paramKey: css`
|
|
22
22
|
font-family: ${cssVar.fontFamilyCode};
|
|
23
|
+
font-size: 12px;
|
|
23
24
|
color: ${cssVar.colorTextTertiary};
|
|
24
25
|
`,
|
|
25
26
|
paramValue: css`
|
|
26
27
|
font-family: ${cssVar.fontFamilyCode};
|
|
28
|
+
font-size: 12px;
|
|
27
29
|
color: ${cssVar.colorTextSecondary};
|
|
28
30
|
`,
|
|
29
31
|
root: css`
|
|
@@ -327,11 +327,37 @@ const TaskMessages = memo<TaskMessagesProps>(
|
|
|
327
327
|
const assistantGroupMessage = messages.find((item) => item.role === 'assistantGroup');
|
|
328
328
|
const userMessage = messages.find((item) => item.role === 'user');
|
|
329
329
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
330
|
+
// If assistantGroup exists, use its children as blocks
|
|
331
|
+
if (assistantGroupMessage) {
|
|
332
|
+
return {
|
|
333
|
+
assistantId: assistantGroupMessage.id ?? '',
|
|
334
|
+
blocks: assistantGroupMessage.children ?? [],
|
|
335
|
+
instruction: userMessage?.content,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// Fallback: support plain assistant message (without tools)
|
|
340
|
+
// This handles cases where SubAgent returns a simple text response
|
|
341
|
+
const assistantMessage = messages.find((item) => item.role === 'assistant');
|
|
342
|
+
if (assistantMessage) {
|
|
343
|
+
// Convert plain assistant message to block format
|
|
344
|
+
const block: AssistantContentBlock = {
|
|
345
|
+
content: assistantMessage.content || '',
|
|
346
|
+
id: assistantMessage.id,
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
// Copy optional fields if they exist
|
|
350
|
+
if (assistantMessage.error) block.error = assistantMessage.error;
|
|
351
|
+
if (assistantMessage.reasoning) block.reasoning = assistantMessage.reasoning;
|
|
352
|
+
|
|
353
|
+
return {
|
|
354
|
+
assistantId: assistantMessage.id ?? '',
|
|
355
|
+
blocks: [block],
|
|
356
|
+
instruction: userMessage?.content,
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
return { assistantId: '', blocks: [], instruction: undefined };
|
|
335
361
|
}, [messages]);
|
|
336
362
|
|
|
337
363
|
// Calculate total tool calls
|
|
@@ -12,7 +12,7 @@ export const useFetchAgentList = () => {
|
|
|
12
12
|
|
|
13
13
|
const { isValidating, data } = useFetchAgentListHook(isLogin);
|
|
14
14
|
|
|
15
|
-
// isRevalidating:
|
|
15
|
+
// isRevalidating: has cached data, updating in background
|
|
16
16
|
return {
|
|
17
17
|
isRevalidating: isValidating && !!data,
|
|
18
18
|
};
|
|
@@ -7,7 +7,7 @@ import { useGlobalStore } from '@/store/global';
|
|
|
7
7
|
|
|
8
8
|
import { useHotkeyById } from './useHotkeyById';
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// Switch to chat tab (and focus on Lobe AI)
|
|
11
11
|
export const useNavigateToChatHotkey = () => {
|
|
12
12
|
const navigateToAgent = useNavigateToAgent();
|
|
13
13
|
const [, { unpinAgent }] = usePinnedAgentState();
|
|
@@ -58,7 +58,7 @@ export const useCommandPaletteHotkey = () => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
export const useRegisterGlobalHotkeys = () => {
|
|
61
|
-
//
|
|
61
|
+
// Global auto-registration doesn't need enableScope
|
|
62
62
|
useToggleLeftPanelHotkey();
|
|
63
63
|
useToggleRightPanelHotkey();
|
|
64
64
|
useNavigateToChatHotkey();
|
|
@@ -19,7 +19,7 @@ export const usePWAInstall = () => {
|
|
|
19
19
|
}, []);
|
|
20
20
|
|
|
21
21
|
const installCheck = () => {
|
|
22
|
-
//
|
|
22
|
+
// Don't show install button when in PWA or environment that doesn't support PWA
|
|
23
23
|
if (isPWA || !isSupportInstallPWA) return false;
|
|
24
24
|
const pwa: any = document.querySelector(`#${PWA_INSTALL_ID}`);
|
|
25
25
|
if (!pwa) return false;
|