@lobehub/chat 1.79.9 → 1.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/changelog/v1.json +24 -0
  3. package/docs/development/basic/feature-development-new.mdx +465 -0
  4. package/docs/development/basic/feature-development-new.zh-CN.mdx +465 -0
  5. package/docs/development/database-schema.dbml +2 -0
  6. package/locales/ar/models.json +9 -0
  7. package/locales/ar/setting.json +16 -0
  8. package/locales/bg-BG/models.json +9 -0
  9. package/locales/bg-BG/setting.json +16 -0
  10. package/locales/de-DE/models.json +9 -0
  11. package/locales/de-DE/setting.json +16 -0
  12. package/locales/en-US/models.json +9 -0
  13. package/locales/en-US/setting.json +16 -0
  14. package/locales/es-ES/models.json +9 -0
  15. package/locales/es-ES/setting.json +16 -0
  16. package/locales/fa-IR/models.json +9 -0
  17. package/locales/fa-IR/setting.json +16 -0
  18. package/locales/fr-FR/models.json +9 -0
  19. package/locales/fr-FR/setting.json +16 -0
  20. package/locales/it-IT/models.json +9 -0
  21. package/locales/it-IT/setting.json +16 -0
  22. package/locales/ja-JP/models.json +9 -0
  23. package/locales/ja-JP/setting.json +16 -0
  24. package/locales/ko-KR/models.json +9 -0
  25. package/locales/ko-KR/setting.json +16 -0
  26. package/locales/nl-NL/models.json +9 -0
  27. package/locales/nl-NL/setting.json +16 -0
  28. package/locales/pl-PL/models.json +9 -0
  29. package/locales/pl-PL/setting.json +16 -0
  30. package/locales/pt-BR/models.json +9 -0
  31. package/locales/pt-BR/setting.json +16 -0
  32. package/locales/ru-RU/models.json +9 -0
  33. package/locales/ru-RU/setting.json +16 -0
  34. package/locales/tr-TR/models.json +9 -0
  35. package/locales/tr-TR/setting.json +16 -0
  36. package/locales/vi-VN/models.json +9 -0
  37. package/locales/vi-VN/setting.json +16 -0
  38. package/locales/zh-CN/models.json +9 -0
  39. package/locales/zh-CN/setting.json +16 -0
  40. package/locales/zh-TW/models.json +9 -0
  41. package/locales/zh-TW/setting.json +16 -0
  42. package/package.json +1 -1
  43. package/scripts/generate-oidc-jwk.mjs +2 -1
  44. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/OpeningQuestions.tsx +78 -0
  45. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/WelcomeMessage.tsx +24 -4
  46. package/src/app/[variants]/(main)/chat/(workspace)/features/AgentSettings/CategoryContent/useCategory.tsx +6 -1
  47. package/src/app/[variants]/(main)/chat/(workspace)/features/AgentSettings/index.tsx +2 -0
  48. package/src/config/modelProviders/openai.ts +17 -0
  49. package/src/const/settings/agent.ts +1 -0
  50. package/src/const/settings/llm.ts +1 -1
  51. package/src/database/_deprecated/schemas/session.ts +2 -0
  52. package/src/database/client/migrations.json +9 -0
  53. package/src/database/migrations/0021_add_agent_opening_settings.sql +2 -0
  54. package/src/database/migrations/meta/0021_snapshot.json +4988 -0
  55. package/src/database/migrations/meta/_journal.json +7 -0
  56. package/src/database/repositories/dataImporter/deprecated/__tests__/fixtures/messages.json +2 -0
  57. package/src/database/repositories/dataImporter/deprecated/__tests__/index.test.ts +19 -0
  58. package/src/database/schemas/agent.ts +3 -0
  59. package/src/features/AgentSetting/AgentOpening/OpeningMessage.tsx +80 -0
  60. package/src/features/AgentSetting/AgentOpening/OpeningQuestions.tsx +144 -0
  61. package/src/features/AgentSetting/AgentOpening/index.tsx +52 -0
  62. package/src/features/AgentSetting/store/selectors.ts +3 -0
  63. package/src/locales/default/setting.ts +16 -0
  64. package/src/migrations/FromV5ToV6/types/v6.ts +2 -0
  65. package/src/server/routers/lambda/session.ts +8 -1
  66. package/src/server/routers/tools/search.ts +1 -0
  67. package/src/services/chat.ts +1 -0
  68. package/src/services/import/client.test.ts +18 -0
  69. package/src/services/session/server.test.ts +2 -0
  70. package/src/store/agent/slices/chat/selectors/__snapshots__/agent.test.ts.snap +2 -1
  71. package/src/store/agent/slices/chat/selectors/agent.ts +7 -0
  72. package/src/store/global/initialState.ts +1 -0
  73. package/src/store/user/slices/modelList/selectors/modelProvider.test.ts +1 -0
  74. package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +10 -8
  75. package/src/types/agent/index.ts +12 -0
@@ -7,6 +7,7 @@ import {
7
7
  DEFAULT_PROVIDER,
8
8
  DEFAUTT_AGENT_TTS_CONFIG,
9
9
  } from '@/const/settings';
10
+ import { DEFAULT_OPENING_QUESTIONS } from '@/features/AgentSetting/store/selectors';
10
11
  import { AgentStoreState } from '@/store/agent/initialState';
11
12
  import { LobeAgentConfig, LobeAgentTTSConfig } from '@/types/agent';
12
13
  import { KnowledgeItem, KnowledgeType } from '@/types/knowledgeBase';
@@ -138,6 +139,10 @@ const currentKnowledgeIds = (s: AgentStoreState) => {
138
139
 
139
140
  const isAgentConfigLoading = (s: AgentStoreState) => !s.agentConfigInitMap[s.activeId];
140
141
 
142
+ const openingQuestions = (s: AgentStoreState) =>
143
+ currentAgentConfig(s).openingQuestions || DEFAULT_OPENING_QUESTIONS;
144
+ const openingMessage = (s: AgentStoreState) => currentAgentConfig(s).openingMessage || '';
145
+
141
146
  export const agentSelectors = {
142
147
  currentAgentConfig,
143
148
  currentAgentFiles,
@@ -158,4 +163,6 @@ export const agentSelectors = {
158
163
  inboxAgentModel,
159
164
  isAgentConfigLoading,
160
165
  isInboxSession,
166
+ openingMessage,
167
+ openingQuestions,
161
168
  };
@@ -18,6 +18,7 @@ export enum ChatSettingsTabs {
18
18
  Chat = 'chat',
19
19
  Meta = 'meta',
20
20
  Modal = 'modal',
21
+ Opening = 'opening',
21
22
  Plugin = 'plugin',
22
23
  Prompt = 'prompt',
23
24
  TTS = 'tts',
@@ -50,6 +50,7 @@ describe('modelProviderSelectors', () => {
50
50
 
51
51
  const result = modelProviderSelectors.getDefaultEnabledModelsById('openai')(s);
52
52
  expect(result).toEqual([
53
+ 'gpt-4.1-mini',
53
54
  'o1-mini',
54
55
  'o1-2024-12-17',
55
56
  'o1-preview',
@@ -51,30 +51,30 @@ exports[`settingsSelectors > currentSettings > should merge DEFAULT_SETTINGS and
51
51
  exports[`settingsSelectors > currentSystemAgent > should merge DEFAULT_SYSTEM_AGENT_CONFIG and s.settings.systemAgent correctly 1`] = `
52
52
  {
53
53
  "agentMeta": {
54
- "model": "gpt-4o-mini",
54
+ "model": "gpt-4.1-mini",
55
55
  "provider": "openai",
56
56
  },
57
57
  "enableAutoReply": true,
58
58
  "historyCompress": {
59
- "model": "gpt-4o-mini",
59
+ "model": "gpt-4.1-mini",
60
60
  "provider": "openai",
61
61
  },
62
62
  "queryRewrite": {
63
63
  "enabled": true,
64
- "model": "gpt-4o-mini",
64
+ "model": "gpt-4.1-mini",
65
65
  "provider": "openai",
66
66
  },
67
67
  "replyMessage": "Custom auto reply",
68
68
  "thread": {
69
- "model": "gpt-4o-mini",
69
+ "model": "gpt-4.1-mini",
70
70
  "provider": "openai",
71
71
  },
72
72
  "topic": {
73
- "model": "gpt-4o-mini",
73
+ "model": "gpt-4.1-mini",
74
74
  "provider": "openai",
75
75
  },
76
76
  "translation": {
77
- "model": "gpt-4o-mini",
77
+ "model": "gpt-4.1-mini",
78
78
  "provider": "openai",
79
79
  },
80
80
  }
@@ -111,12 +111,13 @@ exports[`settingsSelectors > defaultAgent > should merge DEFAULT_AGENT and s.set
111
111
  "historyCount": 8,
112
112
  "reasoningBudgetToken": 1024,
113
113
  "searchFCModel": {
114
- "model": "gpt-4o-mini",
114
+ "model": "gpt-4.1-mini",
115
115
  "provider": "openai",
116
116
  },
117
117
  "searchMode": "off",
118
118
  },
119
119
  "model": "gpt-3.5-turbo",
120
+ "openingQuestions": [],
120
121
  "params": {
121
122
  "frequency_penalty": 0,
122
123
  "presence_penalty": 0,
@@ -154,12 +155,13 @@ exports[`settingsSelectors > defaultAgentConfig > should merge DEFAULT_AGENT_CON
154
155
  "historyCount": 8,
155
156
  "reasoningBudgetToken": 1024,
156
157
  "searchFCModel": {
157
- "model": "gpt-4o-mini",
158
+ "model": "gpt-4.1-mini",
158
159
  "provider": "openai",
159
160
  },
160
161
  "searchMode": "off",
161
162
  },
162
163
  "model": "gpt-4",
164
+ "openingQuestions": [],
163
165
  "params": {
164
166
  "frequency_penalty": 0,
165
167
  "presence_penalty": 0,
@@ -31,6 +31,16 @@ export interface LobeAgentConfig {
31
31
  * @default gpt-4o-mini
32
32
  */
33
33
  model: string;
34
+
35
+ /**
36
+ * 开场白
37
+ */
38
+ openingMessage?: string;
39
+ /**
40
+ * 开场问题
41
+ */
42
+ openingQuestions?: string[];
43
+
34
44
  /**
35
45
  * 语言模型参数
36
46
  */
@@ -39,10 +49,12 @@ export interface LobeAgentConfig {
39
49
  * 启用的插件
40
50
  */
41
51
  plugins?: string[];
52
+
42
53
  /**
43
54
  * 模型供应商
44
55
  */
45
56
  provider?: string;
57
+
46
58
  /**
47
59
  * 系统角色
48
60
  */