lobe-chat
/
package.json
310 строк · 10.3 Кб
1{
2"name": "@lobehub/chat",
3"version": "1.22.2",
4"description": "Lobe Chat - an open-source, high-performance chatbot 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"keywords": [
6"framework",
7"chatbot",
8"chatgpt",
9"nextjs",
10"vercel-ai",
11"openai",
12"azure-openai",
13"visual-model",
14"tts",
15"stt"
16],
17"homepage": "https://github.com/lobehub/lobe-chat",
18"bugs": {
19"url": "https://github.com/lobehub/lobe-chat/issues/new/choose"
20},
21"repository": {
22"type": "git",
23"url": "https://github.com/lobehub/lobe-chat.git"
24},
25"license": "MIT",
26"author": "LobeHub <i@lobehub.com>",
27"sideEffects": false,
28"scripts": {
29"build": "next build",
30"postbuild": "npm run build-sitemap && npm run build-migrate-db",
31"build-migrate-db": "bun run db:migrate",
32"build-sitemap": "tsx ./scripts/buildSitemapIndex/index.ts",
33"build:analyze": "ANALYZE=true next build",
34"build:docker": "DOCKER=true next build && npm run build-sitemap",
35"db:generate": "drizzle-kit generate",
36"db:migrate": "MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts",
37"db:push": "drizzle-kit push",
38"db:push-test": "NODE_ENV=test drizzle-kit push",
39"db:studio": "drizzle-kit studio",
40"db:z-pull": "drizzle-kit introspect",
41"dev": "next dev -p 3010",
42"docs:i18n": "lobe-i18n md && npm run lint:mdx",
43"docs:seo": "lobe-seo && npm run lint:mdx",
44"i18n": "npm run workflow:i18n && lobe-i18n",
45"lint": "npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular",
46"lint:circular": "dpdm src/**/*.ts --warning false --tree false --exit-code circular:1 -T true --skip-dynamic-imports circular",
47"lint:md": "remark . --quiet --frail --output",
48"lint:mdx": "npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint",
49"lint:style": "stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
50"lint:ts": "eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
51"prepare": "husky",
52"prettier": "prettier -c --write \"**/**\"",
53"pull": "git pull",
54"release": "semantic-release",
55"self-hosting:docker": "docker build -t lobe-chat:local .",
56"self-hosting:docker-cn": "docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .",
57"self-hosting:docker-cn@database": "docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true .",
58"start": "next start -p 3210",
59"stylelint": "stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix",
60"test": "npm run test-app && npm run test-server",
61"test-app": "vitest run --config vitest.config.ts",
62"test-app:coverage": "vitest run --config vitest.config.ts --coverage",
63"test-server": "vitest run --config vitest.server.config.ts",
64"test-server:coverage": "vitest run --config vitest.server.config.ts --coverage",
65"test:update": "vitest -u",
66"type-check": "tsc --noEmit",
67"webhook:ngrok": "ngrok http http://localhost:3011",
68"workflow:docs": "tsx ./scripts/docsWorkflow/index.ts",
69"workflow:i18n": "tsx ./scripts/i18nWorkflow/index.ts",
70"workflow:mdx": "tsx ./scripts/mdxWorkflow/index.ts",
71"workflow:mdx-with-lint": "tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix",
72"workflow:readme": "tsx ./scripts/readmeWorkflow/index.ts"
73},
74"lint-staged": {
75"*.md": [
76"remark --quiet --output --",
77"prettier --write --no-error-on-unmatched-pattern"
78],
79"*.mdx": [
80"npm run workflow:mdx",
81"eslint --quiet --fix"
82],
83"*.json": [
84"prettier --write --no-error-on-unmatched-pattern"
85],
86"*.{mjs,cjs}": [
87"prettier --write",
88"eslint --fix"
89],
90"*.{js,jsx}": [
91"prettier --write",
92"stylelint --fix",
93"eslint --fix"
94],
95"*.{ts,tsx}": [
96"prettier --parser=typescript --write",
97"stylelint --fix",
98"eslint --fix"
99]
100},
101"dependencies": {
102"@ant-design/icons": "^5.4.0",
103"@ant-design/pro-components": "^2.7.10",
104"@anthropic-ai/sdk": "^0.29.0",
105"@auth/core": "^0.34.2",
106"@aws-sdk/client-bedrock-runtime": "^3.637.0",
107"@aws-sdk/client-s3": "^3.637.0",
108"@aws-sdk/s3-request-presigner": "^3.637.0",
109"@azure/core-rest-pipeline": "1.16.0",
110"@azure/openai": "1.0.0-beta.12",
111"@baiducloud/qianfan": "^0.1.9",
112"@cfworker/json-schema": "^2.0.0",
113"@clerk/localizations": "^3.0.4",
114"@clerk/nextjs": "^5.3.3",
115"@clerk/themes": "^2.1.27",
116"@codesandbox/sandpack-react": "^2.19.8",
117"@cyntler/react-doc-viewer": "^1.16.6",
118"@google/generative-ai": "^0.16.0",
119"@huggingface/inference": "^2.8.1",
120"@icons-pack/react-simple-icons": "9.6.0",
121"@khmyznikov/pwa-install": "^0.3.9",
122"@langchain/community": "^0.2.31",
123"@lobehub/chat-plugin-sdk": "^1.32.4",
124"@lobehub/chat-plugins-gateway": "^1.9.0",
125"@lobehub/icons": "^1.35.3",
126"@lobehub/tts": "^1.24.3",
127"@lobehub/ui": "^1.150.3",
128"@neondatabase/serverless": "^0.10.0",
129"@next/third-parties": "^14.2.6",
130"@react-spring/web": "^9.7.3",
131"@sentry/nextjs": "^7.119.0",
132"@serwist/next": "^9.0.8",
133"@t3-oss/env-nextjs": "^0.11.0",
134"@tanstack/react-query": "^5.52.1",
135"@trpc/client": "next",
136"@trpc/next": "next",
137"@trpc/react-query": "next",
138"@trpc/server": "next",
139"@vercel/analytics": "^1.3.1",
140"@vercel/edge-config": "^1.2.1",
141"@vercel/speed-insights": "^1.0.12",
142"ahooks": "^3.8.1",
143"ai": "^3.3.16",
144"antd": "^5.21.1",
145"antd-style": "^3.6.3",
146"brotli-wasm": "^3.0.1",
147"chroma-js": "^2.6.0",
148"dayjs": "^1.11.13",
149"debug": "^4.3.6",
150"dexie": "^3.2.7",
151"diff": "^5.2.0",
152"drizzle-orm": "^0.34.0",
153"drizzle-zod": "^0.5.1",
154"fast-deep-equal": "^3.1.3",
155"file-type": "^19.4.1",
156"framer-motion": "^11.2.6",
157"gpt-tokenizer": "^2.2.1",
158"i18next": "^23.14.0",
159"i18next-browser-languagedetector": "^7.2.1",
160"i18next-resources-to-backend": "^1.2.1",
161"idb-keyval": "^6.2.1",
162"immer": "^10.1.1",
163"ip": "^2.0.1",
164"jose": "^5.7.0",
165"js-sha256": "^0.11.0",
166"jsonl-parse-stringify": "^1.0.3",
167"langchain": "^0.3.0",
168"langfuse": "^3.19.0",
169"langfuse-core": "^3.19.0",
170"lodash-es": "^4.17.21",
171"lucide-react": "latest",
172"mammoth": "^1.8.0",
173"modern-screenshot": "^4.4.39",
174"nanoid": "^5.0.7",
175"next": "14.2.8",
176"next-auth": "beta",
177"next-mdx-remote": "^4.4.1",
178"nextjs-toploader": "^3.6.15",
179"numeral": "^2.0.6",
180"nuqs": "^1.17.8",
181"officeparser": "^4.1.1",
182"ollama": "^0.5.8",
183"openai": "^4.56.0",
184"openapi-fetch": "^0.9.7",
185"partial-json": "^0.1.7",
186"pdf-parse": "^1.1.1",
187"pdfjs-dist": "4.4.168",
188"pg": "^8.12.0",
189"pino": "^9.3.2",
190"polished": "^4.3.1",
191"posthog-js": "^1.157.2",
192"pwa-install-handler": "^2.6.0",
193"query-string": "^9.1.0",
194"random-words": "^2.0.1",
195"react": "^18.3.1",
196"react-confetti": "^6.1.0",
197"react-dom": "^18.3.1",
198"react-fast-marquee": "^1.6.5",
199"react-hotkeys-hook": "^4.5.0",
200"react-i18next": "14.0.2",
201"react-layout-kit": "^1.9.0",
202"react-lazy-load": "^4.0.1",
203"react-pdf": "^9.1.0",
204"react-virtuoso": "^4.10.1",
205"react-wrap-balancer": "^1.1.1",
206"remark": "^14.0.3",
207"remark-gfm": "^3.0.1",
208"remark-html": "^15.0.2",
209"request-filtering-agent": "^2.0.1",
210"resolve-accept-language": "^3.1.5",
211"rtl-detect": "^1.1.2",
212"semver": "^7.6.3",
213"sharp": "^0.33.5",
214"shiki": "^1.21.0",
215"stripe": "^15.8.0",
216"superjson": "^2.2.1",
217"svix": "^1.30.0",
218"swr": "^2.2.5",
219"systemjs": "^6.15.1",
220"ts-md5": "^1.3.1",
221"ua-parser-js": "^1.0.38",
222"unstructured-client": "^0.18.0",
223"url-join": "^5.0.0",
224"use-merge-value": "^1.2.0",
225"utility-types": "^3.11.0",
226"uuid": "^10.0.0",
227"ws": "^8.18.0",
228"y-protocols": "^1.0.6",
229"y-webrtc": "^10.3.0",
230"yaml": "^2.5.0",
231"yjs": "^13.6.18",
232"zod": "^3.23.8",
233"zustand": "^4.5.5",
234"zustand-utils": "^1.3.2"
235},
236"devDependencies": {
237"@commitlint/cli": "^19.4.0",
238"@edge-runtime/vm": "^4.0.2",
239"@huggingface/tasks": "^0.12.12",
240"@lobehub/i18n-cli": "^1.19.1",
241"@lobehub/lint": "^1.24.4",
242"@lobehub/seo-cli": "^1.4.2",
243"@next/bundle-analyzer": "^14.2.6",
244"@next/eslint-plugin-next": "^14.2.6",
245"@peculiar/webcrypto": "^1.5.0",
246"@testing-library/jest-dom": "^6.4.8",
247"@testing-library/react": "^16.0.0",
248"@types/chroma-js": "^2.4.4",
249"@types/debug": "^4.1.12",
250"@types/diff": "^5.2.1",
251"@types/ip": "^1.1.3",
252"@types/json-schema": "^7.0.15",
253"@types/lodash": "^4.17.7",
254"@types/lodash-es": "^4.17.12",
255"@types/node": "^20.16.1",
256"@types/numeral": "^2.0.5",
257"@types/pg": "^8.11.6",
258"@types/react": "^18.3.4",
259"@types/react-dom": "^18.3.0",
260"@types/rtl-detect": "^1.0.3",
261"@types/semver": "^7.5.8",
262"@types/systemjs": "^6.13.5",
263"@types/ua-parser-js": "^0.7.39",
264"@types/unist": "^3.0.3",
265"@types/uuid": "^10.0.0",
266"@types/ws": "^8.5.12",
267"@vitest/coverage-v8": "~1.2.2",
268"ajv-keywords": "^5.1.0",
269"commitlint": "^19.4.0",
270"consola": "^3.2.3",
271"dotenv": "^16.4.5",
272"dpdm": "^3.14.0",
273"drizzle-kit": "^0.25.0",
274"eslint": "^8.57.0",
275"eslint-plugin-mdx": "^2.3.4",
276"eslint-plugin-unused-imports": "4.0.1",
277"fake-indexeddb": "^6.0.0",
278"glob": "^11.0.0",
279"gray-matter": "^4.0.3",
280"happy-dom": "^15.0.0",
281"husky": "^9.1.5",
282"just-diff": "^6.0.2",
283"lint-staged": "^15.2.9",
284"lodash": "^4.17.21",
285"markdown-table": "^3.0.3",
286"node-fetch": "^3.3.2",
287"node-gyp": "^10.2.0",
288"openapi-typescript": "^6.7.6",
289"p-map": "^7.0.2",
290"prettier": "^3.3.3",
291"remark-cli": "^11.0.0",
292"remark-parse": "^10.0.2",
293"semantic-release": "^21.1.2",
294"serwist": "^9.0.8",
295"stylelint": "^15.11.0",
296"supports-color": "8",
297"tsx": "^4.17.0",
298"typescript": "^5.5.4",
299"unified": "^11.0.5",
300"unist-util-visit": "^5.0.0",
301"vite": "^5.4.2",
302"vitest": "~1.2.2",
303"vitest-canvas-mock": "^0.3.3"
304},
305"packageManager": "pnpm@9.12.1",
306"publishConfig": {
307"access": "public",
308"registry": "https://registry.npmjs.org"
309}
310}
311