{ "name": "CherryStudio", "version": "1.1.8", "private": true, "description": "A powerful AI assistant for producer.", "main": "./out/main/index.js", "author": "support@cherry-ai.com", "homepage": "https://github.com/CherryHQ/cherry-studio", "workspaces": { "packages": [ "local", "packages/*" ], "installConfig": { "hoistingLimits": [ "packages/database" ] } }, "scripts": { "start": "electron-vite preview", "dev": "electron-vite dev", "build": "npm run typecheck && electron-vite build", "build:check": "yarn test && yarn typecheck && yarn check:i18n", "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 build:check && 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", "typecheck": "npm run typecheck:node && npm run typecheck:web", "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false", "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false", "check:i18n": "node scripts/check-i18n.js", "test": "npx -y tsx --test src/**/*.test.ts", "format": "prettier --write .", "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix", "postinstall": "electron-builder install-app-deps", "prepare": "husky" }, "dependencies": { "@agentic/exa": "^7.3.3", "@agentic/searxng": "^7.3.3", "@agentic/tavily": "^7.3.3", "@electron-toolkit/utils": "^3.0.0", "@electron/notarize": "^2.5.0", "@emotion/is-prop-valid": "^1.3.1", "@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", "@modelcontextprotocol/sdk": "patch:@modelcontextprotocol/sdk@npm%3A1.6.1#~/.yarn/patches/@modelcontextprotocol-sdk-npm-1.6.1-b46313efe7.patch", "@notionhq/client": "^2.2.15", "@tryfabric/martian": "^1.2.4", "@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", "epub": "patch:epub@npm%3A1.3.0#~/.yarn/patches/epub-npm-1.3.0-8325494ffe.patch", "fetch-socks": "^1.3.2", "fs-extra": "^11.2.0", "markdown-it": "^14.1.0", "npx-scope-finder": "^1.2.0", "officeparser": "^4.1.1", "p-queue": "^8.1.0", "tar": "^7.4.3", "tokenx": "^0.4.1", "undici": "^7.4.0", "webdav": "4.11.4", "zipread": "^1.3.3" }, "devDependencies": { "@anthropic-ai/sdk": "^0.38.0", "@electron-toolkit/eslint-config-prettier": "^2.0.0", "@electron-toolkit/eslint-config-ts": "^1.0.1", "@electron-toolkit/preload": "^3.0.0", "@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", "@tavily/core": "patch:@tavily/core@npm%3A0.3.1#~/.yarn/patches/@tavily-core-npm-0.3.1-fe69bf2bea.patch", "@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/pako": "^1.0.2", "@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", "babel-plugin-styled-components": "^2.1.4", "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": "31.7.6", "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", "html-to-image": "^1.11.13", "husky": "^9.1.7", "i18next": "^23.11.5", "lint-staged": "^15.5.0", "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.5.3", "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": "^7.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.6.2", "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.6.0", "lint-staged": { "*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}": [ "prettier --write", "eslint --fix" ], "*.{json,md,yml,yaml,css,scss,html}": [ "prettier --write" ] } }