代码拉取完成,页面将自动刷新
{
"name": "@lobehub/chat",
"version": "1.4.3",
"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.",
"keywords": [
"framework",
"chatbot",
"chatgpt",
"nextjs",
"vercel-ai",
"openai",
"azure-openai",
"visual-model",
"tts",
"stt"
],
"homepage": "https://github.com/lobehub/lobe-chat",
"bugs": {
"url": "https://github.com/lobehub/lobe-chat/issues/new/choose"
},
"repository": {
"type": "git",
"url": "https://github.com/lobehub/lobe-chat.git"
},
"license": "MIT",
"author": "LobeHub <i@lobehub.com>",
"sideEffects": false,
"scripts": {
"build": "next build",
"postbuild": "npm run build-sitemap && npm run build-migrate-db",
"build-migrate-db": "bun run db:migrate",
"build-sitemap": "next-sitemap --config next-sitemap.config.mjs",
"build:analyze": "ANALYZE=true next build",
"build:docker": "DOCKER=true next build && npm run build-sitemap",
"db:generate": "drizzle-kit generate -- dotenv_config_path='.env'",
"db:migrate": "MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts",
"db:push": "drizzle-kit push -- dotenv_config_path='.env'",
"db:push-test": "NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'",
"db:studio": "drizzle-kit studio",
"db:z-pull": "drizzle-kit introspect -- dotenv_config_path='.env'",
"dev": "next dev -p 3010",
"dev:clerk-proxy": "ngrok http http://localhost:3011",
"docs:i18n": "lobe-i18n md && npm run lint:mdx",
"docs:seo": "lobe-seo && npm run lint:mdx",
"i18n": "npm run workflow:i18n && lobe-i18n",
"lint": "npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular",
"lint:circular": "dpdm src/**/*.ts --warning false --tree false --exit-code circular:1 -T true --skip-dynamic-imports circular",
"lint:md": "remark . --quiet --frail --output",
"lint:mdx": "npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint",
"lint:style": "stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
"lint:ts": "eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
"prepare": "husky",
"prettier": "prettier -c --write \"**/**\"",
"pull": "git pull",
"release": "semantic-release",
"start": "next start",
"stylelint": "stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix",
"test": "npm run test-app && npm run test-server",
"test-app": "vitest run --config vitest.config.ts",
"test-app:coverage": "vitest run --config vitest.config.ts --coverage",
"test-server": "vitest run --config vitest.server.config.ts",
"test-server:coverage": "vitest run --config vitest.server.config.ts --coverage",
"test:update": "vitest -u",
"type-check": "tsc --noEmit",
"workflow:docs": "tsx scripts/docsWorkflow/index.ts",
"workflow:i18n": "tsx scripts/i18nWorkflow/index.ts",
"workflow:mdx": "tsx ./scripts/mdxWorkflow/index.ts",
"workflow:mdx-with-lint": "tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix",
"workflow:readme": "tsx scripts/readmeWorkflow/index.ts"
},
"lint-staged": {
"*.md": [
"remark --quiet --output --",
"prettier --write --no-error-on-unmatched-pattern"
],
"*.mdx": [
"npm run workflow:mdx",
"eslint --quiet --fix"
],
"*.json": [
"prettier --write --no-error-on-unmatched-pattern"
],
"*.{mjs,cjs}": [
"prettier --write",
"eslint --fix"
],
"*.{js,jsx}": [
"prettier --write",
"stylelint --fix",
"eslint --fix"
],
"*.{ts,tsx}": [
"prettier --parser=typescript --write",
"stylelint --fix",
"eslint --fix"
]
},
"dependencies": {
"@ant-design/icons": "^5.3.7",
"@anthropic-ai/sdk": "^0.24.3",
"@auth/core": "0.28.0",
"@aws-sdk/client-bedrock-runtime": "^3.609.0",
"@aws-sdk/client-s3": "^3.609.0",
"@aws-sdk/s3-request-presigner": "^3.609.0",
"@azure/core-rest-pipeline": "1.16.0",
"@azure/openai": "1.0.0-beta.12",
"@cfworker/json-schema": "^1.12.8",
"@clerk/localizations": "2.0.0",
"@clerk/nextjs": "^5.2.2",
"@clerk/themes": "^2.1.10",
"@google/generative-ai": "^0.14.1",
"@icons-pack/react-simple-icons": "^9.6.0",
"@khmyznikov/pwa-install": "^0.3.9",
"@lobehub/chat-plugin-sdk": "^1.32.4",
"@lobehub/chat-plugins-gateway": "^1.9.0",
"@lobehub/icons": "^1.26.0",
"@lobehub/tts": "^1.24.3",
"@lobehub/ui": "^1.146.6",
"@microsoft/fetch-event-source": "^2.0.1",
"@neondatabase/serverless": "^0.9.4",
"@next/third-parties": "^14.2.4",
"@sentry/nextjs": "^7.118.0",
"@t3-oss/env-nextjs": "^0.10.1",
"@trpc/client": "next",
"@trpc/next": "next",
"@trpc/server": "next",
"@vercel/analytics": "^1.3.1",
"@vercel/speed-insights": "^1.0.12",
"ahooks": "^3.8.0",
"ai": "^3.2.16",
"antd": "^5.19.1",
"antd-style": "^3.6.2",
"brotli-wasm": "^3.0.1",
"chroma-js": "^2.4.2",
"dayjs": "^1.11.11",
"debug": "^4.3.5",
"dexie": "^3.2.7",
"diff": "^5.2.0",
"drizzle-orm": "^0.31.2",
"drizzle-zod": "^0.5.1",
"fast-deep-equal": "^3.1.3",
"gpt-tokenizer": "^2.1.2",
"i18next": "^23.11.5",
"i18next-browser-languagedetector": "^7.2.1",
"i18next-resources-to-backend": "^1.2.1",
"idb-keyval": "^6.2.1",
"immer": "^10.1.1",
"ip": "^2.0.1",
"jose": "^5.6.3",
"langfuse": "^3.14.0",
"langfuse-core": "^3.14.0",
"lodash-es": "^4.17.21",
"lucide-react": "latest",
"modern-screenshot": "^4.4.39",
"nanoid": "^5.0.7",
"next": "^14.2.4",
"next-auth": "5.0.0-beta.15",
"next-sitemap": "^4.2.3",
"numeral": "^2.0.6",
"nuqs": "^1.17.4",
"ollama": "^0.5.2",
"openai": "^4.52.3",
"partial-json": "^0.1.7",
"pg": "^8.12.0",
"pino": "^9.2.0",
"polished": "^4.3.1",
"posthog-js": "^1.144.2",
"pwa-install-handler": "^2.6.0",
"query-string": "^9.0.0",
"random-words": "^2.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-fast-marquee": "^1.6.5",
"react-hotkeys-hook": "^4.5.0",
"react-i18next": "14.0.2",
"react-layout-kit": "^1.9.0",
"react-lazy-load": "^4.0.1",
"react-virtuoso": "^4.7.11",
"react-wrap-balancer": "^1.1.1",
"remark": "^14.0.3",
"remark-gfm": "^3.0.1",
"remark-html": "^15.0.2",
"resolve-accept-language": "^3.1.4",
"rtl-detect": "^1.1.2",
"semver": "^7.6.2",
"sharp": "^0.33.4",
"superjson": "^2.2.1",
"svix": "^1.24.0",
"swr": "^2.2.5",
"systemjs": "^6.15.1",
"ts-md5": "^1.3.1",
"ua-parser-js": "^1.0.38",
"url-join": "^5.0.0",
"use-merge-value": "^1.2.0",
"utility-types": "^3.11.0",
"uuid": "^10.0.0",
"ws": "^8.18.0",
"y-protocols": "^1.0.6",
"y-webrtc": "^10.3.0",
"yaml": "^2.4.5",
"yjs": "^13.6.18",
"zod": "^3.23.8",
"zustand": "^4.5.4",
"zustand-utils": "^1.3.2"
},
"devDependencies": {
"@commitlint/cli": "^19.3.0",
"@ducanh2912/next-pwa": "^10.2.7",
"@edge-runtime/vm": "^4.0.0",
"@lobehub/i18n-cli": "^1.18.1",
"@lobehub/lint": "^1.24.3",
"@lobehub/seo-cli": "^1.4.1",
"@next/bundle-analyzer": "^14.2.4",
"@next/eslint-plugin-next": "^14.2.4",
"@peculiar/webcrypto": "^1.5.0",
"@testing-library/jest-dom": "^6.4.6",
"@testing-library/react": "^16.0.0",
"@types/chroma-js": "^2.4.4",
"@types/debug": "^4.1.12",
"@types/diff": "^5.2.1",
"@types/ip": "^1.1.3",
"@types/json-schema": "^7.0.15",
"@types/lodash": "^4.17.6",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.14.10",
"@types/numeral": "^2.0.5",
"@types/pg": "^8.11.6",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/rtl-detect": "^1.0.3",
"@types/semver": "^7.5.8",
"@types/systemjs": "^6.13.5",
"@types/ua-parser-js": "^0.7.39",
"@types/uuid": "^10.0.0",
"@types/ws": "^8.5.10",
"@vitest/coverage-v8": "~1.2.2",
"ajv-keywords": "^5.1.0",
"commitlint": "^19.3.0",
"consola": "^3.2.3",
"dotenv": "^16.4.5",
"dpdm": "^3.14.0",
"drizzle-kit": "^0.22.8",
"eslint": "^8.57.0",
"eslint-plugin-mdx": "^2.3.4",
"fake-indexeddb": "^6.0.0",
"glob": "^10.4.3",
"gray-matter": "^4.0.3",
"happy-dom": "^14.12.3",
"husky": "^9.0.11",
"just-diff": "^6.0.2",
"lint-staged": "^15.2.7",
"lodash": "^4.17.21",
"markdown-table": "^3.0.3",
"node-fetch": "^3.3.2",
"node-gyp": "^10.1.0",
"p-map": "^7.0.2",
"prettier": "^3.3.2",
"remark-cli": "^11.0.0",
"remark-parse": "^10.0.2",
"semantic-release": "^21.1.2",
"stylelint": "^15.11.0",
"tsx": "^4.16.2",
"typescript": "^5.5.3",
"unified": "^11.0.5",
"unist-util-visit": "^5.0.0",
"vite": "^5.3.3",
"vitest": "~1.2.2",
"vitest-canvas-mock": "^0.3.3"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org"
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。