{ "name": "open-cowork", "version": "3.3.1", "description": "Open-source AI agent desktop app for Windows & macOS — one-click install Claude Code, MCP tools, and Skills with sandbox isolation and multi-model support", "keywords": [ "ai-agent", "claude", "claude-code", "electron", "desktop-app", "mcp", "sandbox", "open-source", "ai-coding", "ai-tools", "computer-use", "openai", "gemini", "deepseek", "skills", "pptx-generator", "docx", "feishu", "slack", "multi-model" ], "homepage": "https://github.com/OpenCoworkAI/open-cowork", "repository": { "type": "git", "url": "https://github.com/OpenCoworkAI/open-cowork.git" }, "bugs": { "url": "https://github.com/OpenCoworkAI/open-cowork/issues" }, "engines": { "node": ">=22" }, "main": "dist-electron/main/index.js", "scripts": { "dev": "npm run download:node && npm run build:wsl-agent && npm run build:lima-agent && npm run build:mcp && vite", "dev:with-python": "npm run download:node && npm run prepare:python && npm run build:wsl-agent && npm run build:lima-agent && npm run build:mcp && vite", "build": "npm run download:node && npm run prepare:gui-tools && npm run prepare:python:all && npm run build:wsl-agent && npm run build:lima-agent && npm run build:mcp && tsc && vite build && node scripts/pre-build-check.js && electron-builder", "build:win": "node scripts/build-windows.js", "build:wsl-agent": "tsc -p src/main/sandbox/wsl-agent/tsconfig.json", "build:lima-agent": "tsc -p src/main/sandbox/lima-agent/tsconfig.json", "build:mcp": "node scripts/bundle-mcp.js", "commitlint": "commitlint --config commitlint.config.cjs", "download:node": "node scripts/download-node.js", "postinstall": "patch-package && node scripts/download-node.js && npm run rebuild", "prepare": "husky", "prepare:gui-tools": "node scripts/prepare-gui-tools.js", "prepare:python": "node scripts/prepare-python.js", "prepare:python:all": "node scripts/prepare-python.js --all", "preview": "vite preview", "lint": "eslint src --ext .ts,.tsx", "format": "prettier --write \"src/**/*.{ts,tsx,css}\"", "test": "vitest", "test:coverage": "vitest run --coverage", "bench": "vitest bench", "bench:api": "node scripts/bench-api.mjs", "rebuild": "node -e \"const {execSync}=require('node:child_process'); const v=require('electron/package.json').version; execSync('npm rebuild better-sqlite3 --runtime=electron --target='+v+' --disturl=https://electronjs.org/headers',{stdio:'inherit'})\"", "typecheck": "tsc --noEmit", "pre-build-check": "node scripts/pre-build-check.js", "clean": "rimraf dist dist-electron dist-mcp dist-wsl-agent dist-lima-agent .bundle-resources release", "deploy:local": "bash scripts/deploy-local.sh" }, "dependencies": { "@anthropic-ai/sdk": "^0.39.0", "@google/genai": "^1.44.0", "@larksuiteoapi/node-sdk": "^1.59.0", "@mariozechner/pi-ai": "^0.60.0", "@mariozechner/pi-coding-agent": "^0.60.0", "@modelcontextprotocol/client": "^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "@slack/bolt": "4.7.0", "@slack/web-api": "7.15.1", "archiver": "^7.0.1", "better-sqlite3": "^12.8.0", "chokidar": "^4.0.1", "dotenv": "^17.2.3", "electron-store": "^11.0.2", "electron-updater": "^6.3.0", "glob": "^13.0.6", "highlight.js": "^11.11.1", "i18next": "^25.10.1", "i18next-browser-languagedetector": "^8.2.1", "katex": "^0.16.45", "lucide-react": "^1.8.0", "ngrok": "^5.0.0-beta.2", "openai": "^6.32.0", "patch-package": "8.0.1", "react": "^18.3.1", "react-dom": "^18.3.1", "react-i18next": "^16.6.0", "react-markdown": "^10.1.0", "rehype-katex": "^7.0.1", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "uuid": "^13.0.0", "ws": "^8.19.0", "zustand": "^5.0.12" }, "devDependencies": { "@commitlint/cli": "^20.5.3", "@commitlint/config-conventional": "^20.5.3", "@electron/notarize": "^2.5.0", "@testing-library/react": "16.3.3", "@types/archiver": "^7.0.0", "@types/better-sqlite3": "^7.6.12", "@types/node": "^25.6.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-test-renderer": "18.3.1", "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "4.1.5", "autoprefixer": "^10.5.0", "electron": "^41.7.1", "electron-builder": "^26.8.1", "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^4.6.0", "happy-dom": "20.14.5", "husky": "^9.1.7", "lint-staged": "16.4.0", "postcss": "^8.5.14", "prettier": "^3.8.3", "react-test-renderer": "18.3.1", "tailwindcss": "^3.4.16", "typescript": "^5.3.3", "vite": "^7.3.1", "vite-plugin-electron": "^0.29.1", "vitest": "^4.1.0" }, "overrides": { "fast-xml-parser": "^5.5.6", "tar": "^7.5.11" }, "author": "Open Cowork Team", "license": "MIT", "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{json,md,yml,yaml,css}": [ "prettier --write" ] } }