@lobehub/chat 1.128.9 → 1.129.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.
- package/.env.example +5 -0
- package/.github/workflows/sync-database-schema.yml +0 -3
- package/CHANGELOG.md +50 -0
- package/Dockerfile +3 -1
- package/Dockerfile.database +3 -1
- package/Dockerfile.pglite +3 -1
- package/changelog/v1.json +18 -0
- package/docs/development/database-schema.dbml +2 -2
- package/docs/self-hosting/environment-variables/model-provider.mdx +24 -0
- package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +27 -1
- package/docs/usage/providers/vercel-ai-gateway.mdx +62 -0
- package/docs/usage/providers/vercel-ai-gateway.zh-CN.mdx +61 -0
- package/next.config.ts +1 -46
- package/package.json +1 -2
- package/packages/agent-runtime/examples/tools-calling.ts +1 -1
- package/packages/const/src/layoutTokens.ts +1 -1
- package/packages/context-engine/src/base/BaseProcessor.ts +2 -1
- package/packages/database/migrations/0031_add_agent_index.sql +6 -2
- package/packages/database/migrations/0032_improve_agents_field.sql +6 -0
- package/packages/database/migrations/meta/0032_snapshot.json +6447 -0
- package/packages/database/migrations/meta/_journal.json +7 -0
- package/packages/database/src/core/migrations.json +14 -3
- package/packages/database/src/schemas/agent.ts +2 -2
- package/packages/database/src/server/models/__tests__/adapter.test.ts +1 -1
- package/packages/model-bank/package.json +2 -1
- package/packages/model-bank/src/aiModels/index.ts +3 -0
- package/packages/model-bank/src/aiModels/vercelaigateway.ts +1803 -0
- package/packages/model-runtime/src/const/modelProvider.ts +1 -0
- package/packages/model-runtime/src/providers/vercelaigateway/index.ts +62 -0
- package/packages/model-runtime/src/runtimeMap.ts +2 -0
- package/packages/types/src/user/settings/keyVaults.ts +1 -0
- package/src/app/(backend)/webapi/chat/azureai/route.test.ts +25 -0
- package/src/app/(backend)/webapi/chat/azureai/route.ts +6 -0
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +8 -1
- package/src/components/Error/index.tsx +3 -7
- package/src/config/modelProviders/index.ts +4 -0
- package/src/config/modelProviders/vercelaigateway.ts +21 -0
- package/src/envs/llm.ts +6 -0
- package/sentry.client.config.ts +0 -30
- package/sentry.edge.config.ts +0 -17
- package/sentry.server.config.ts +0 -19
- package/src/app/[variants]/global-error.tsx +0 -20
- package/src/components/Error/sentryCaptureException.ts +0 -9
|
@@ -224,6 +224,13 @@
|
|
|
224
224
|
"when": 1757902833213,
|
|
225
225
|
"tag": "0031_add_agent_index",
|
|
226
226
|
"breakpoints": true
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"idx": 32,
|
|
230
|
+
"version": "7",
|
|
231
|
+
"when": 1757993755131,
|
|
232
|
+
"tag": "0032_improve_agents_field",
|
|
233
|
+
"breakpoints": true
|
|
227
234
|
}
|
|
228
235
|
],
|
|
229
236
|
"version": "6"
|
|
@@ -581,11 +581,22 @@
|
|
|
581
581
|
},
|
|
582
582
|
{
|
|
583
583
|
"sql": [
|
|
584
|
-
"
|
|
585
|
-
"\nCREATE INDEX \"
|
|
584
|
+
"-- 将超过 2000 字符的 description 截断为 2000 字符\nUPDATE agents\nSET description = LEFT(description, 2000)\nWHERE LENGTH(description) > 2000;",
|
|
585
|
+
"\nCREATE INDEX IF NOT EXISTS \"agents_title_idx\" ON \"agents\" USING btree (\"title\");",
|
|
586
|
+
"\nCREATE INDEX IF NOT EXISTS \"agents_description_idx\" ON \"agents\" USING btree (\"description\");\n"
|
|
586
587
|
],
|
|
587
588
|
"bps": true,
|
|
588
589
|
"folderMillis": 1757902833213,
|
|
589
|
-
"hash": "
|
|
590
|
+
"hash": "39b690dc849ae2bb09357a9ab9d1f2e8f3e37f609f636ab192670a2651d4f605"
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"sql": [
|
|
594
|
+
"-- 将超过 255 字符的 title 截断为 255 字符\nUPDATE agents\nSET title = LEFT(title, 255)\nWHERE LENGTH(title) > 255;",
|
|
595
|
+
"\nALTER TABLE \"agents\" ALTER COLUMN \"title\" SET DATA TYPE varchar(255);",
|
|
596
|
+
"\nALTER TABLE \"agents\" ALTER COLUMN \"description\" SET DATA TYPE varchar(1000);\n"
|
|
597
|
+
],
|
|
598
|
+
"bps": true,
|
|
599
|
+
"folderMillis": 1757993755131,
|
|
600
|
+
"hash": "0e23099a1ae4d5a40fd9ea5667c3d1939548d98488906742b0f029cde272ef27"
|
|
590
601
|
}
|
|
591
602
|
]
|
|
@@ -32,8 +32,8 @@ export const agents = pgTable(
|
|
|
32
32
|
slug: varchar('slug', { length: 100 })
|
|
33
33
|
.$defaultFn(() => randomSlug(4))
|
|
34
34
|
.unique(),
|
|
35
|
-
title:
|
|
36
|
-
description:
|
|
35
|
+
title: varchar('title', { length: 255 }),
|
|
36
|
+
description: varchar('description', { length: 1000 }),
|
|
37
37
|
tags: jsonb('tags').$type<string[]>().default([]),
|
|
38
38
|
avatar: text('avatar'),
|
|
39
39
|
backgroundColor: text('background_color'),
|
|
@@ -26,7 +26,7 @@ const testUserCode = 'test-user-code';
|
|
|
26
26
|
const testExpires = new Date(Date.now() + 3600 * 1000); // 1小时后过期
|
|
27
27
|
|
|
28
28
|
beforeEach(async () => {
|
|
29
|
-
await serverDB.insert(users).values({ id: testUserId });
|
|
29
|
+
await serverDB.insert(users).values({ id: testUserId }).onConflictDoNothing();
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
// 每次测试后清理数据
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"./togetherai": "./src/aiModels/togetherai.ts",
|
|
60
60
|
"./upstage": "./src/aiModels/upstage.ts",
|
|
61
61
|
"./v0": "./src/aiModels/v0.ts",
|
|
62
|
+
"./vercelaigateway": "./src/aiModels/vercelaigateway.ts",
|
|
62
63
|
"./vertexai": "./src/aiModels/vertexai.ts",
|
|
63
64
|
"./vllm": "./src/aiModels/vllm.ts",
|
|
64
65
|
"./volcengine": "./src/aiModels/volcengine.ts",
|
|
@@ -75,4 +76,4 @@
|
|
|
75
76
|
"dependencies": {
|
|
76
77
|
"zod": "^3.25.76"
|
|
77
78
|
}
|
|
78
|
-
}
|
|
79
|
+
}
|
|
@@ -53,6 +53,7 @@ import { default as tencentcloud } from './tencentcloud';
|
|
|
53
53
|
import { default as togetherai } from './togetherai';
|
|
54
54
|
import { default as upstage } from './upstage';
|
|
55
55
|
import { default as v0 } from './v0';
|
|
56
|
+
import { default as vercelaigateway } from './vercelaigateway';
|
|
56
57
|
import { default as vertexai } from './vertexai';
|
|
57
58
|
import { default as vllm } from './vllm';
|
|
58
59
|
import { default as volcengine } from './volcengine';
|
|
@@ -136,6 +137,7 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
|
|
|
136
137
|
togetherai,
|
|
137
138
|
upstage,
|
|
138
139
|
v0,
|
|
140
|
+
vercelaigateway,
|
|
139
141
|
vertexai,
|
|
140
142
|
vllm,
|
|
141
143
|
volcengine,
|
|
@@ -201,6 +203,7 @@ export { default as tencentcloud } from './tencentcloud';
|
|
|
201
203
|
export { default as togetherai } from './togetherai';
|
|
202
204
|
export { default as upstage } from './upstage';
|
|
203
205
|
export { default as v0 } from './v0';
|
|
206
|
+
export { default as vercelaigateway } from './vercelaigateway';
|
|
204
207
|
export { default as vertexai } from './vertexai';
|
|
205
208
|
export { default as vllm } from './vllm';
|
|
206
209
|
export { default as volcengine } from './volcengine';
|