{
  "name": "CherryStudio",
  "version": "0.9.24",
  "private": true,
  "description": "A powerful AI assistant for producer.",
  "main": "./out/main/index.js",
  "author": "kangfenmao@qq.com",
  "homepage": "https://github.com/kangfenmao/cherry-studio",
  "workspaces": {
    "packages": [
      "local",
      "packages/*"
    ],
    "installConfig": {
      "hoistingLimits": [
        "packages/database"
      ]
    }
  },
  "scripts": {
    "format": "prettier --write .",
    "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
    "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
    "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
    "typecheck": "npm run typecheck:node && npm run typecheck:web",
    "start": "electron-vite preview",
    "dev": "electron-vite dev",
    "build:check": "yarn typecheck",
    "build": "npm run typecheck && electron-vite build",
    "postinstall": "electron-builder install-app-deps",
    "build:unpack": "dotenv npm run build && electron-builder --dir",
    "build:win": "dotenv npm run build && electron-builder --win",
    "build:win:x64": "dotenv npm run build && electron-builder --win --x64",
    "build:mac": "dotenv electron-vite build && electron-builder --mac",
    "build:mac:arm64": "dotenv electron-vite build && electron-builder --mac --arm64",
    "build:mac:x64": "dotenv electron-vite build && electron-builder --mac --x64",
    "build:linux": "dotenv electron-vite build && electron-builder --linux",
    "build:linux:arm64": "dotenv electron-vite build && electron-builder --linux --arm64",
    "build:linux:x64": "dotenv electron-vite build && electron-builder --linux --x64",
    "build:npm": "node scripts/build-npm.js",
    "release": "node scripts/version.js",
    "publish": "yarn release patch push",
    "pulish:artifacts": "cd packages/artifacts && npm publish && cd -",
    "generate:agents": "yarn workspace @cherry-studio/database agents",
    "generate:icons": "electron-icon-builder --input=./build/logo.png --output=build",
    "analyze:renderer": "VISUALIZER_RENDERER=true yarn build",
    "analyze:main": "VISUALIZER_MAIN=true yarn build",
    "check": "node scripts/check-i18n.js"
  },
  "dependencies": {
    "@electron-toolkit/preload": "^3.0.0",
    "@electron-toolkit/utils": "^3.0.0",
    "@electron/notarize": "^2.5.0",
    "@google/generative-ai": "^0.21.0",
    "@llm-tools/embedjs": "patch:@llm-tools/embedjs@npm%3A0.1.28#~/.yarn/patches/@llm-tools-embedjs-npm-0.1.28-8e4393fa2d.patch",
    "@llm-tools/embedjs-libsql": "^0.1.28",
    "@llm-tools/embedjs-loader-csv": "^0.1.28",
    "@llm-tools/embedjs-loader-markdown": "patch:@llm-tools/embedjs-loader-markdown@npm%3A0.1.28#~/.yarn/patches/@llm-tools-embedjs-loader-markdown-npm-0.1.28-81647ffac6.patch",
    "@llm-tools/embedjs-loader-msoffice": "^0.1.28",
    "@llm-tools/embedjs-loader-pdf": "^0.1.28",
    "@llm-tools/embedjs-loader-sitemap": "^0.1.28",
    "@llm-tools/embedjs-loader-web": "^0.1.28",
    "@llm-tools/embedjs-loader-xml": "^0.1.28",
    "@llm-tools/embedjs-openai": "^0.1.28",
    "@notionhq/client": "^2.2.15",
    "@types/react-infinite-scroll-component": "^5.0.0",
    "adm-zip": "^0.5.16",
    "apache-arrow": "^18.1.0",
    "docx": "^9.0.2",
    "electron-log": "^5.1.5",
    "electron-store": "^8.2.0",
    "electron-updater": "^6.3.9",
    "electron-window-state": "^5.0.3",
    "fs-extra": "^11.2.0",
    "html2canvas": "^1.4.1",
    "markdown-it": "^14.1.0",
    "officeparser": "^4.1.1",
    "sqlite3": "^5.1.7",
    "tokenx": "^0.4.1",
    "webdav": "4.11.4"
  },
  "devDependencies": {
    "@anthropic-ai/sdk": "^0.24.3",
    "@electron-toolkit/eslint-config-prettier": "^2.0.0",
    "@electron-toolkit/eslint-config-ts": "^1.0.1",
    "@electron-toolkit/tsconfig": "^1.0.1",
    "@hello-pangea/dnd": "^16.6.0",
    "@kangfenmao/keyv-storage": "^0.1.0",
    "@llm-tools/embedjs-loader-image": "^0.1.28",
    "@reduxjs/toolkit": "^2.2.5",
    "@types/adm-zip": "^0",
    "@types/fs-extra": "^11",
    "@types/lodash": "^4.17.5",
    "@types/markdown-it": "^14",
    "@types/md5": "^2.3.5",
    "@types/node": "^18.19.9",
    "@types/react": "^18.2.48",
    "@types/react-dom": "^18.2.18",
    "@types/react-infinite-scroll-component": "^5.0.0",
    "@types/tinycolor2": "^1",
    "@vitejs/plugin-react": "^4.2.1",
    "antd": "^5.22.5",
    "applescript": "^1.0.0",
    "axios": "^1.7.3",
    "browser-image-compression": "^2.0.2",
    "dayjs": "^1.11.11",
    "dexie": "^4.0.8",
    "dexie-react-hooks": "^1.1.7",
    "dotenv-cli": "^7.4.2",
    "electron": "^34.2.0",
    "electron-builder": "^24.13.3",
    "electron-devtools-installer": "^3.2.0",
    "electron-icon-builder": "^2.0.1",
    "electron-vite": "^2.3.0",
    "emittery": "^1.0.3",
    "emoji-picker-element": "^1.22.1",
    "eslint": "^8.56.0",
    "eslint-plugin-react": "^7.34.3",
    "eslint-plugin-react-hooks": "^4.6.2",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "eslint-plugin-unused-imports": "^4.0.0",
    "i18next": "^23.11.5",
    "lodash": "^4.17.21",
    "mime": "^4.0.4",
    "openai": "patch:openai@npm%3A4.77.3#~/.yarn/patches/openai-npm-4.77.3-59c6d42e7a.patch",
    "prettier": "^3.2.4",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-hotkeys-hook": "^4.6.1",
    "react-i18next": "^14.1.2",
    "react-infinite-scroll-component": "^6.1.0",
    "react-markdown": "^9.0.1",
    "react-redux": "^9.1.2",
    "react-router": "6",
    "react-router-dom": "6",
    "react-spinners": "^0.14.1",
    "redux": "^5.0.1",
    "redux-persist": "^6.0.0",
    "rehype-katex": "^7.0.1",
    "rehype-mathjax": "^6.0.0",
    "rehype-raw": "^7.0.0",
    "remark-gfm": "^4.0.0",
    "remark-math": "^6.0.0",
    "rollup-plugin-visualizer": "^5.12.0",
    "sass": "^1.77.2",
    "shiki": "^1.22.2",
    "string-width": "^7.2.0",
    "styled-components": "^6.1.11",
    "tinycolor2": "^1.6.0",
    "typescript": "^5.7.3",
    "uuid": "^10.0.0",
    "vite": "^5.0.12"
  },
  "peerDependencies": {
    "react": "^17.0.0 || ^18.0.0",
    "react-dom": "^17.0.0 || ^18.0.0"
  },
  "resolutions": {
    "pdf-parse@npm:1.1.1": "patch:pdf-parse@npm%3A1.1.1#~/.yarn/patches/pdf-parse-npm-1.1.1-04a6109b2a.patch",
    "@langchain/openai@npm:^0.3.16": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
    "@langchain/openai@npm:>=0.1.0 <0.4.0": "patch:@langchain/openai@npm%3A0.3.16#~/.yarn/patches/@langchain-openai-npm-0.3.16-e525b59526.patch",
    "openai@npm:^4.77.0": "patch:openai@npm%3A4.77.3#~/.yarn/patches/openai-npm-4.77.3-59c6d42e7a.patch"
  },
  "packageManager": "yarn@4.5.0"
}
