mirror of
https://github.com/lobehub/lobe-chat.git
synced 2025-12-20 01:12:52 +08:00
* ✨ feat(tts): Add tts and stt basic features * ✨ feat(tts): Handle error * 💄 style(tts): Add alert to error handler * 🐛 fix(tts): Error display * ♻️ refactor: refactor the openai initial code to the createBizOpenAI * ♻️ refactor(tts): Refactor header config * ✨ feat: Add TTS voice preview * 🐛 fix(tts): Fix header * 🐛 fix: Fix api --------- Co-authored-by: Arvin Xu <arvinx@foxmail.com>
171 lines
4.9 KiB
JSON
171 lines
4.9 KiB
JSON
{
|
|
"name": "@lobehub/chat",
|
|
"version": "0.101.7",
|
|
"description": "An open-source, extensible (Function Calling), high-performance chatbot framework. It supports one-click free deployment of your private ChatGPT/LLM web application",
|
|
"keywords": [
|
|
"chatbot",
|
|
"ChatGPT",
|
|
"LobeHub",
|
|
"typescript",
|
|
"Vercel AI SDK",
|
|
"Next.js",
|
|
"OpenAI"
|
|
],
|
|
"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",
|
|
"build:analyze": "ANALYZE=true next build",
|
|
"build:docker": "DOCKER=true next build",
|
|
"dev": "next dev -p 3010",
|
|
"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",
|
|
"lint:md": "remark . --quiet --frail --output",
|
|
"lint:style": "stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
|
|
"lint:ts": "eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
|
|
"prepare": "husky install",
|
|
"prettier": "prettier -c --write \"**/**\"",
|
|
"pull": "git pull",
|
|
"release": "semantic-release",
|
|
"start": "next start",
|
|
"stylelint": "stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix",
|
|
"test": "vitest --passWithNoTests",
|
|
"test:coverage": "vitest run --coverage --passWithNoTests",
|
|
"test:update": "vitest -u",
|
|
"type-check": "tsc --noEmit",
|
|
"workflow:i18n": "ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts",
|
|
"workflow:readme": "bun scripts/readmeWorkflow/index.ts"
|
|
},
|
|
"lint-staged": {
|
|
"*.md": [
|
|
"remark --quiet --output --",
|
|
"prettier --write --no-error-on-unmatched-pattern"
|
|
],
|
|
"*.json": [
|
|
"prettier --write --no-error-on-unmatched-pattern"
|
|
],
|
|
"*.{js,jsx}": [
|
|
"prettier --write",
|
|
"stylelint --fix",
|
|
"eslint --fix"
|
|
],
|
|
"*.{ts,tsx}": [
|
|
"prettier --parser=typescript --write",
|
|
"stylelint --fix",
|
|
"eslint --fix"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@ant-design/icons": "^5",
|
|
"@icons-pack/react-simple-icons": "^9",
|
|
"@lobehub/chat-plugin-sdk": "latest",
|
|
"@lobehub/chat-plugins-gateway": "latest",
|
|
"@lobehub/tts": "latest",
|
|
"@lobehub/ui": "latest",
|
|
"@vercel/analytics": "^1",
|
|
"ahooks": "^3",
|
|
"ai": "^2.2.22",
|
|
"antd": "^5",
|
|
"antd-style": "^3",
|
|
"brotli-wasm": "^1",
|
|
"chroma-js": "^2",
|
|
"copy-to-clipboard": "^3",
|
|
"dayjs": "^1",
|
|
"dexie": "^3",
|
|
"fast-deep-equal": "^3",
|
|
"gpt-tokenizer": "^2",
|
|
"i18next": "^23",
|
|
"i18next-browser-languagedetector": "^7",
|
|
"i18next-resources-for-ts": "^1",
|
|
"i18next-resources-to-backend": "^1",
|
|
"idb-keyval": "^6",
|
|
"immer": "^10",
|
|
"lodash-es": "^4",
|
|
"lucide-react": "latest",
|
|
"modern-screenshot": "^4",
|
|
"nanoid": "^5",
|
|
"next": "^14.0.2",
|
|
"openai": "^4.17.3",
|
|
"polished": "^4",
|
|
"posthog-js": "^1",
|
|
"query-string": "^8",
|
|
"react": "^18",
|
|
"react-dom": "^18",
|
|
"react-hotkeys-hook": "^4",
|
|
"react-i18next": "^13",
|
|
"react-intersection-observer": "^9",
|
|
"react-layout-kit": "^1",
|
|
"react-lazy-load": "^4",
|
|
"react-spring-lightbox": "^1",
|
|
"remark": "^14",
|
|
"remark-gfm": "^3",
|
|
"remark-html": "^15",
|
|
"semver": "^7",
|
|
"swr": "^2",
|
|
"systemjs": "^6",
|
|
"ts-md5": "^1",
|
|
"ua-parser-js": "^1",
|
|
"url-join": "^5",
|
|
"use-merge-value": "^1",
|
|
"utility-types": "^3",
|
|
"uuid": "^9",
|
|
"zod": "^3",
|
|
"zustand": "^4.4",
|
|
"zustand-utils": "^1"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "^18",
|
|
"@ducanh2912/next-pwa": "^9.7.2",
|
|
"@lobehub/i18n-cli": "latest",
|
|
"@lobehub/lint": "latest",
|
|
"@next/bundle-analyzer": "14.0.3",
|
|
"@next/eslint-plugin-next": "14.0.3",
|
|
"@testing-library/jest-dom": "^6",
|
|
"@testing-library/react": "^14",
|
|
"@types/chroma-js": "^2",
|
|
"@types/lodash": "^4",
|
|
"@types/lodash-es": "^4",
|
|
"@types/node": "^20",
|
|
"@types/react": "^18",
|
|
"@types/react-dom": "^18",
|
|
"@types/semver": "^7",
|
|
"@types/systemjs": "^6",
|
|
"@types/ua-parser-js": "^0.7",
|
|
"@types/uuid": "^9",
|
|
"@umijs/lint": "^4",
|
|
"@vitest/coverage-v8": "latest",
|
|
"commitlint": "^18",
|
|
"consola": "^3",
|
|
"dpdm": "^3",
|
|
"eslint": "^8",
|
|
"fake-indexeddb": "^5",
|
|
"husky": "^8",
|
|
"jsdom": "^22",
|
|
"lint-staged": "^15",
|
|
"lodash": "^4",
|
|
"markdown-table": "^3",
|
|
"node-fetch": "^3",
|
|
"prettier": "^3",
|
|
"remark-cli": "^11",
|
|
"semantic-release": "^21",
|
|
"stylelint": "^15",
|
|
"ts-node": "^10",
|
|
"typescript": "^5",
|
|
"vitest": "latest"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public",
|
|
"registry": "https://registry.npmjs.org"
|
|
}
|
|
}
|