| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- {
- "name": "yaoyao-webui",
- "version": "0.6.34",
- "description": "YaoYao Web UI 本地 AI 对话与协作界面",
- "private": true,
- "license": "BSL-1.1",
- "engines": {
- "node": ">=23.0.0"
- },
- "keywords": [
- "hermes",
- "hermes-agent",
- "hermes-web",
- "agent",
- "ai",
- "ai-agent",
- "ai-chat",
- "ai-dashboard",
- "llm",
- "multi-model",
- "chat-ui",
- "dashboard",
- "self-hosted",
- "multi-platform",
- "vue3",
- "typescript"
- ],
- "bin": {
- "yaoyao-webui": "./bin/yaoyao-webui.mjs",
- "yaoyao-webui-mcp": "./bin/yaoyao-webui-mcp.mjs"
- },
- "scripts": {
- "start": "vite --host --port 8648",
- "dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
- "dev:client": "cross-env YAOYAO_WEBUI_BACKEND_PORT=18647 YAOYAO_WEBUI_FRONTEND_PORT=8648 vite --host --port 8648 --strictPort",
- "dev:client:system": "cross-env YAOYAO_WEBUI_BACKEND_PORT=8648 YAOYAO_WEBUI_FRONTEND_PORT=8649 vite --host --port 8649 --strictPort",
- "dev:server": "nodemon",
- "build": "npm run openapi:generate && vue-tsc -b && vite build && tsc --noEmit -p packages/server/tsconfig.json && node scripts/build-server.mjs",
- "harness:check": "node scripts/harness-check.mjs",
- "prepare": "[ -d dist ] || npm run build",
- "preview": "NODE_ENV=production vite preview",
- "test": "vitest run",
- "test:watch": "vitest",
- "test:coverage": "vitest run --coverage",
- "test:e2e": "playwright test",
- "test:e2e:ui": "playwright test --ui",
- "dev:website": "vite --config vite.config.website.ts",
- "build:website": "vite build --config vite.config.website.ts",
- "preview:website": "vite preview --config vite.config.website.ts",
- "mcu:v1:flash:clean": "pio run -d packages/esp32-c3/v1 && pio run -d packages/esp32-c3/v1 -t erase && pio run -d packages/esp32-c3/v1 -t upload",
- "mcu:v2:flash:clean": "pio run -d packages/esp32-c3/v2 && pio run -d packages/esp32-c3/v2 -t erase && pio run -d packages/esp32-c3/v2 -t upload",
- "mcu:flash:clean": "npm run mcu:v1:flash:clean",
- "desktop:install": "npm ci --prefix packages/desktop --no-audit --no-fund",
- "desktop:prepare-runtime": "npm --prefix packages/desktop run prepare:runtime",
- "desktop:prepare-python": "npm --prefix packages/desktop run prepare:python",
- "desktop:dev": "node scripts/desktop-dev.mjs",
- "build:desktop": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --publish never",
- "build:desktop:mac": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --mac --publish never",
- "build:desktop:win": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --win --publish never",
- "build:desktop:linux": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --linux --publish never",
- "openapi:generate": "node scripts/generate-openapi.mjs",
- "claude": "claude --dangerously-skip-permissions",
- "test:workflow-live": "vite-node scripts/workflow-live-acceptance.ts"
- },
- "files": [
- "bin/",
- "dist/"
- ],
- "dependencies": {
- "@audio/decode-mp3": "^1.1.0",
- "@audio/decode-wav": "^1.2.0",
- "@vscode/markdown-it-katex": "^1.1.2",
- "@vue-flow/background": "^1.3.2",
- "@vue-flow/controls": "^1.1.3",
- "@vue-flow/core": "^1.48.2",
- "@vue-flow/minimap": "^1.5.4",
- "@vue-flow/node-resizer": "^1.5.1",
- "adm-zip": "^0.5.17",
- "agent-browser": "^0.26.0",
- "eventsource": "^4.1.0",
- "js-tiktoken": "^1.0.21",
- "katex": "^0.17.0",
- "node-edge-tts": "^1.2.10",
- "node-pty": "^1.1.0",
- "socket.io": "^4.8.3",
- "socket.io-client": "^4.8.3"
- },
- "devDependencies": {
- "@aiden0z/pptx-renderer": "^1.2.4",
- "@koa/bodyparser": "^5.0.0",
- "@koa/cors": "^5.0.0",
- "@koa/router": "^15.4.0",
- "@multiavatar/multiavatar": "^1.0.7",
- "@pinia/testing": "^1.0.3",
- "@playwright/test": "^1.60.0",
- "@types/adm-zip": "^0.5.8",
- "@types/eventsource": "^1.1.15",
- "@types/js-yaml": "^4.0.9",
- "@types/katex": "^0.16.8",
- "@types/koa": "^2.15.0",
- "@types/koa__cors": "^5.0.0",
- "@types/koa__router": "^12.0.5",
- "@types/koa-send": "^4.1.6",
- "@types/koa-static": "^4.0.4",
- "@types/markdown-it": "^14.1.2",
- "@types/node": "^24.12.2",
- "@types/qrcode": "^1.5.6",
- "@types/ws": "^8.18.1",
- "@vicons/ionicons5": "^0.13.0",
- "@vitejs/plugin-vue": "^6.0.5",
- "@vitest/coverage-v8": "^3.2.4",
- "@vue/test-utils": "^2.4.6",
- "@vue/tsconfig": "^0.9.1",
- "@xterm/addon-fit": "^0.11.0",
- "@xterm/addon-web-links": "^0.12.0",
- "@xterm/xterm": "^6.0.0",
- "axios": "^1.9.0",
- "concurrently": "^9.2.1",
- "cross-env": "^10.1.0",
- "docx-preview": "^0.3.7",
- "esbuild": "^0.27.0",
- "highlight.js": "^11.11.1",
- "js-yaml": "^4.1.1",
- "jsdom": "^27.0.1",
- "koa": "^2.15.3",
- "koa-send": "^5.0.1",
- "koa-static": "^5.0.0",
- "markdown-it": "^14.1.1",
- "mermaid": "^11.14.0",
- "monaco-editor": "^0.55.1",
- "naive-ui": "^2.44.1",
- "nodemon": "^3.1.14",
- "pdfjs-dist": "^5.7.284",
- "pinia": "^3.0.4",
- "pino": "^10.3.1",
- "pino-pretty": "^13.1.3",
- "qrcode": "^1.5.4",
- "read-excel-file": "^7.0.3",
- "sass": "^1.99.0",
- "tar": "^7.5.16",
- "ts-node": "^10.9.2",
- "ts-node-dev": "^2.0.0",
- "tsoa": "^7.0.0-alpha.0",
- "typescript": "~6.0.2",
- "vite": "^8.0.4",
- "vitest": "^3.2.4",
- "vue": "^3.5.32",
- "vue-i18n": "^11.3.2",
- "vue-router": "^4.6.4",
- "vue-tsc": "^3.2.8",
- "vue-virtual-scroller": "^3.0.4",
- "ws": "^8.20.0"
- }
- }
|