feat(web): add Web WASM AI chat

This commit is contained in:
digua committed 2026-07-27 00:09:33 +08:00
1 parent 78bc9d392e
commit 7dcf5d9070
65 files changed
+4455 -27

No files matched your search

+15 -6
View File
@@ -36,15 +36,18 @@
"dev:serve": "bash scripts/dev-serve.sh",
"dev:cli-web": "pnpm run ensure:server-native && CHATLAB_AUTO_SERVE=1 vite --config vite.cli-web.config.mts",
"dev:web-wasm": "vite --config vite.web-wasm.config.mts",
"dev:web-ai-spike": "vite --config tests/web-ai-sdk-spike/vite.config.mts",
"ensure:server-native": "pnpm --filter chatlab-cli run ensure-native",
"build:cli-web": "vite build --config vite.cli-web.config.mts",
"build:web-wasm": "vite build --config vite.web-wasm.config.mts",
"build:web-ai-spike": "vite build --config tests/web-ai-sdk-spike/vite.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:web-ai-spike": "tsc --noEmit -p tests/web-ai-sdk-spike/tsconfig.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",
@@ -68,11 +71,8 @@
"vue-i18n": "^11.2.8"
},
"devDependencies": {
"@openchatlab/core": "workspace:*",
"@openchatlab/parser": "workspace:*",
"@openchatlab/shared-types": "workspace:*",
"@openchatlab/tools": "workspace:*",
"@openchatlab/web-runtime": "workspace:*",
"@ai-sdk/deepseek": "^3.0.13",
"@ai-sdk/openai-compatible": "^3.0.14",
"@electron-toolkit/tsconfig": "^1.0.1",
"@iconify-json/heroicons": "^1.2.3",
"@iconify-json/lucide": "^1.2.118",
@@ -80,12 +80,20 @@
"@iconify/vue": "5.0.1",
"@nuxt/icon": "2.3.1",
"@nuxt/ui": "^4.9.0",
"@openchatlab/ai-runtime": "workspace:*",
"@openchatlab/core": "workspace:*",
"@openchatlab/parser": "workspace:*",
"@openchatlab/shared-types": "workspace:*",
"@openchatlab/tools": "workspace:*",
"@openchatlab/web-ai-runtime": "workspace:*",
"@openchatlab/web-runtime": "workspace:*",
"@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.9.0",
"@vueuse/core": "^13.9.0",
"ai": "^7.0.37",
"dayjs": "^1.11.19",
"eslint": "^9.39.1",
"eslint-plugin-vue": "^9.33.0",
@@ -97,6 +105,7 @@
"vite": "^7.0.0",
"vue": "^3.5.25",
"vue-router": "^4.6.3",
"vue-tsc": "3.2.6"
"vue-tsc": "3.2.6",
"zod": "^3.25.76"
}
}