{ "name": "ChatLab", "version": "0.31.0", "private": true, "description": "本地化的聊天记录分析工具,通过 SQL 和 AI Agent 回顾你的社交记忆", "repository": { "type": "git", "url": "git+https://github.com/ChatLab/ChatLab.git" }, "author": "digua ", "packageManager": "pnpm@9.15.9", "engines": { "node": ">=24 <25", "pnpm": ">=9 <10" }, "pnpm": { "onlyBuiltDependencies": [ "better-sqlite3", "electron" ] }, "scripts": { "dev": "node scripts/dev-select.mjs", "dev:desktop": "pnpm --filter @openchatlab/desktop dev", "build:native": "pnpm --filter @openchatlab/parser-native build", "build:desktop": "pnpm --filter @openchatlab/desktop build", "build:mac": "pnpm --filter @openchatlab/desktop build:mac", "build:win": "pnpm --filter @openchatlab/desktop build:win", "dev:serve": "bash scripts/dev-serve.sh", "dev:web": "pnpm run ensure:server-native && CHATLAB_AUTO_SERVE=1 vite --config vite.web.config.mts", "ensure:server-native": "pnpm --filter chatlab-cli run ensure-native", "build:web": "vite build --config vite.web.config.mts", "docs:dev": "pnpm --filter @openchatlab/docs dev", "docs:build": "pnpm --filter @openchatlab/docs build", "docs:preview": "pnpm --filter @openchatlab/docs preview", "format": "prettier --write .", "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix", "type-check:web": "vue-tsc --noEmit -p tsconfig.web.json", "type-check:node": "tsc --noEmit -p tsconfig.node.json && tsc --noEmit -p apps/desktop/tsconfig.node.json", "type-check:all": "pnpm run type-check:web && pnpm run type-check:node", "type-check": "vue-tsc --noEmit -p tsconfig.web.json", "test": "node scripts/run-tests.mjs", "test:unit": "node scripts/run-tests.mjs", "test:auth": "tsx --test apps/cli/src/http/auth.test.ts src/services/utils/http.test.ts", "test:agent-context": "node --experimental-strip-types --test apps/desktop/main/ai/context/sessionLog.test.mjs", "test:e2e:launcher": "node --test tests/e2e/helpers/app-launcher.test.js", "test:e2e:smoke": "node tests/e2e/run-smoke.js" }, "dependencies": { "@tanstack/vue-virtual": "^3.13.18", "@zumer/snapdom": "^2.0.1", "echarts": "^6.0.0", "echarts-wordcloud": "^2.1.0", "markdown-it": "^14.1.0", "pixi-viewport": "^6.0.3", "pixi.js": "^8.19.0", "three": "^0.185.0", "vue-i18n": "^11.2.8" }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", "@nuxt/ui": "^4.2.1", "@tailwindcss/vite": "^4.0.0", "@types/markdown-it": "^14.1.2", "@vitejs/plugin-vue": "^6.0.0", "@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-typescript": "^14.6.0", "@vueuse/core": "^13.9.0", "dayjs": "^1.11.19", "eslint": "^9.39.1", "eslint-plugin-vue": "^9.33.0", "pinia": "^3.0.4", "pinia-plugin-persistedstate": "^4.7.1", "prettier": "^3.5.3", "tailwindcss": "^4.0.0", "typescript": "^5.8.3", "vite": "^7.0.0", "vue": "^3.5.25", "vue-router": "^4.6.3", "vue-tsc": "^3.1.1" } }