diff --git a/apps/cli/package.json b/apps/cli/package.json index 45c8bfe9..e1612942 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -50,6 +50,7 @@ "@fastify/static": "^9.1.3", "@earendil-works/pi-agent-core": "0.74.2", "@earendil-works/pi-ai": "0.74.2", + "@huggingface/transformers": "^4.2.0", "@modelcontextprotocol/sdk": "^1.12.1", "better-sqlite3": "^12.4.6", "commander": "^13.1.0", @@ -57,6 +58,7 @@ "gray-matter": "^4.0.3", "js-tiktoken": "^1.0.21", "smol-toml": "^1.3.1", + "sqlite-vec": "^0.1.9", "stream-json": "^1.9.1", "zod": "^3.24.4" }, diff --git a/apps/cli/tsup.config.ts b/apps/cli/tsup.config.ts index d26d3b45..2c74d350 100644 --- a/apps/cli/tsup.config.ts +++ b/apps/cli/tsup.config.ts @@ -24,7 +24,9 @@ export default defineConfig({ noExternal: [/^@openchatlab\/(?!parser-native)/, 'chatlab-mcp', 'stream-json'], // parser-native 是本地构建的可选 Rust 内核:不打包也不声明依赖, // 运行时 require 失败会自动回退 TS 解析器。 - external: ['better-sqlite3', '@node-rs/jieba', '@openchatlab/parser-native'], + // sqlite-vec / @huggingface/transformers 依赖按平台分发的原生包(sqlite-vec-*、onnxruntime-node、sharp), + // 必须作为真实依赖随 npm 安装,不能内联进 bundle + external: ['better-sqlite3', '@node-rs/jieba', 'sqlite-vec', '@huggingface/transformers', '@openchatlab/parser-native'], banner: { js: [ "import { createRequire as __createRequire } from 'module';", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 366167fc..41d84e79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -162,6 +162,9 @@ importers: '@fastify/static': specifier: ^9.1.3 version: 9.1.3 + '@huggingface/transformers': + specifier: ^4.2.0 + version: 4.2.0 '@modelcontextprotocol/sdk': specifier: ^1.12.1 version: 1.29.0(zod@3.25.76) @@ -183,6 +186,9 @@ importers: smol-toml: specifier: ^1.3.1 version: 1.6.1 + sqlite-vec: + specifier: ^0.1.9 + version: 0.1.9 stream-json: specifier: ^1.9.1 version: 1.9.1