@zhin.js/scaffold-wizard 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +2 -1
  2. package/lib/adapter-configurers.js +1 -1
  3. package/lib/adapter-configurers.js.map +1 -1
  4. package/lib/adapter.d.ts +5 -0
  5. package/lib/adapter.d.ts.map +1 -1
  6. package/lib/adapter.js +9 -2
  7. package/lib/adapter.js.map +1 -1
  8. package/lib/ai.d.ts +6 -0
  9. package/lib/ai.d.ts.map +1 -1
  10. package/lib/ai.js +49 -6
  11. package/lib/ai.js.map +1 -1
  12. package/lib/apply.d.ts +11 -6
  13. package/lib/apply.d.ts.map +1 -1
  14. package/lib/apply.js +84 -15
  15. package/lib/apply.js.map +1 -1
  16. package/lib/env.d.ts +14 -0
  17. package/lib/env.d.ts.map +1 -0
  18. package/lib/env.js +89 -0
  19. package/lib/env.js.map +1 -0
  20. package/lib/index.d.ts +4 -3
  21. package/lib/index.d.ts.map +1 -1
  22. package/lib/index.js +3 -2
  23. package/lib/index.js.map +1 -1
  24. package/lib/optional-peers.d.ts.map +1 -1
  25. package/lib/optional-peers.js +11 -0
  26. package/lib/optional-peers.js.map +1 -1
  27. package/lib/project-config-plan.d.ts +0 -1
  28. package/lib/project-config-plan.d.ts.map +1 -1
  29. package/lib/project-config-plan.js +0 -8
  30. package/lib/project-config-plan.js.map +1 -1
  31. package/lib/project-deps.d.ts +2 -1
  32. package/lib/project-deps.d.ts.map +1 -1
  33. package/lib/project-deps.js +14 -4
  34. package/lib/project-deps.js.map +1 -1
  35. package/lib/zhin-stack-deps.d.ts +4 -3
  36. package/lib/zhin-stack-deps.d.ts.map +1 -1
  37. package/lib/zhin-stack-deps.js +4 -20
  38. package/lib/zhin-stack-deps.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/adapter-configurers.ts +1 -1
  41. package/src/adapter.ts +10 -2
  42. package/src/ai.ts +48 -6
  43. package/src/apply.ts +98 -14
  44. package/src/env.ts +113 -0
  45. package/src/index.ts +11 -2
  46. package/src/optional-peers.ts +9 -0
  47. package/src/project-config-plan.ts +0 -9
  48. package/src/project-deps.ts +14 -4
  49. package/src/stack-versions.generated.json +36 -38
  50. package/src/zhin-stack-deps.ts +4 -22
@@ -44,6 +44,7 @@ const PROVIDER_SDK_PACKAGES = {
44
44
  ollama: { pkg: '@ai-sdk/openai-compatible', version: AI_STACK_VERSIONS['@ai-sdk/openai-compatible'] },
45
45
  moonshot: { pkg: '@ai-sdk/openai-compatible', version: AI_STACK_VERSIONS['@ai-sdk/openai-compatible'] },
46
46
  zhipu: { pkg: '@ai-sdk/openai-compatible', version: AI_STACK_VERSIONS['@ai-sdk/openai-compatible'] },
47
+ 'openai-compatible': { pkg: '@ai-sdk/openai-compatible', version: AI_STACK_VERSIONS['@ai-sdk/openai-compatible'] },
47
48
  };
48
49
  /** @ai-sdk/* 主版本 ≥ threshold 时需 ai@7 */
49
50
  const AI7_REQUIRED_SDK_MAJOR = {
@@ -191,7 +192,7 @@ export function findInstalledAiStackIncompatibilities(cwd, pkg) {
191
192
  /** 启用 AI 时将写入 package.json 的依赖名(用于向导提示与 CLI 输出) */
192
193
  export function listAIDependencyNames(provider, options) {
193
194
  const names = ['@zhin.js/agent', 'zod', 'ai'];
194
- if (options?.includeMcp !== false) {
195
+ if (options?.includeMcp === true) {
195
196
  names.push('@modelcontextprotocol/sdk');
196
197
  }
197
198
  const sdk = providerSdkPackage(provider);
@@ -291,7 +292,11 @@ export function findUnresolvedPackageInstalls(cwd, packageNames) {
291
292
  req.resolve(`${name}/package.json`);
292
293
  }
293
294
  catch {
294
- missing.push(name);
295
+ // exports map 未暴露 ./package.json(ERR_PACKAGE_PATH_NOT_EXPORTED,如 zhin.js)
296
+ // 时 resolve 必炸,退到 node_modules 文件系统判断(pnpm 顶层 symlink 可直达)。
297
+ if (!fs.existsSync(path.join(cwd, 'node_modules', name, 'package.json'))) {
298
+ missing.push(name);
299
+ }
295
300
  }
296
301
  }
297
302
  return missing;
@@ -337,7 +342,8 @@ export function formatAIDependencyFixCommand(packages, required) {
337
342
  return `pnpm add ${specs.join(' ')}`;
338
343
  }
339
344
  /**
340
- * AI 启用时安装 agent 栈 + 所选 provider 的 @ai-sdk/* + 可选 MCP SDK。
345
+ * AI 启用时安装 agent 栈 + 所选 provider 的 @ai-sdk/*。
346
+ * `@modelcontextprotocol/sdk` 仅在 memoryMcp / mcpServers 时写入(与 doctor 对齐)。
341
347
  */
342
348
  export function getAIDependencies(ai) {
343
349
  if (!ai?.enabled)
@@ -346,9 +352,13 @@ export function getAIDependencies(ai) {
346
352
  '@zhin.js/agent': AI_STACK_VERSIONS['@zhin.js/agent'],
347
353
  zod: AI_STACK_VERSIONS.zod,
348
354
  ai: AI_STACK_VERSIONS.ai,
349
- '@modelcontextprotocol/sdk': AI_STACK_VERSIONS['@modelcontextprotocol/sdk'],
350
355
  ...collectSdkPackagesFromSetup(ai),
351
356
  };
357
+ const needsMcp = ai.memoryMcp === true
358
+ || (Array.isArray(ai.mcpServers) && ai.mcpServers.length > 0);
359
+ if (needsMcp) {
360
+ deps['@modelcontextprotocol/sdk'] = AI_STACK_VERSIONS['@modelcontextprotocol/sdk'];
361
+ }
352
362
  return deps;
353
363
  }
354
364
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project-deps.js","sourceRoot":"","sources":["../src/project-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-deps.js","sourceRoot":"","sources":["../src/project-deps.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ export declare const ZHIN_STACK_VERSIONS: {
15
15
  readonly '@zhin.js/component': "latest";
16
16
  readonly '@zhin.js/core': "latest";
17
17
  readonly '@zhin.js/tool': "latest";
18
- readonly '@zhin.js/host-router': "latest";
19
- readonly '@zhin.js/host-api': "latest";
20
18
  readonly '@zhin.js/client': "latest";
21
19
  readonly '@zhin.js/contract': "latest";
22
20
  readonly '@zhin.js/satori': "latest";
@@ -51,7 +49,10 @@ export declare const DEFAULT_CREATE_BOT_HTTP_PORT = 8068;
51
49
  export declare const CREATE_BOT_NPMRC = "strict-peer-dependencies=false\n";
52
50
  /** create-zhin 生成项目的 pnpm 配置 */
53
51
  export declare function getCreateBotPnpmConfig(_aiEnabled?: boolean): Record<string, unknown>;
54
- /** create-zhin-app Plugin Runtime 骨架 production 依赖(不含适配器 / AI / 数据库驱动) */
52
+ /**
53
+ * create-zhin-app Plugin Runtime 骨架 production 依赖(不含适配器 / AI / 数据库驱动)。
54
+ * Stable Features(adapter/command/component/middleware)由 `@zhin.js/core` 的 `package.json#zhin.features` 继承;创作面 API 经 `zhin.js/*` 便利入口。
55
+ */
55
56
  export declare function getCreateBotBaseDependencies(): Record<string, string>;
56
57
  /** 根据 zhin.config 推导应声明的 @zhin.js/* / zhin.js 依赖 */
57
58
  export declare function getRequiredZhinDependenciesForConfig(config: Record<string, unknown>): Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"zhin-stack-deps.d.ts","sourceRoot":"","sources":["../src/zhin-stack-deps.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsF,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7I;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAoDhE,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AAEnE,gCAAgC;AAChC,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIpF;AAED,0EAA0E;AAC1E,wBAAgB,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrE;AAED,oDAAoD;AACpD,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2B5G;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,EAAE,CAYV;AAED,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,wBAAwB,EAAE,CA0B5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,EAAE,CAAC;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,EAAE,CASnF;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,CAAC,EAAE,eAAe,GACpB,kBAAkB,CAkBpB;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAItG"}
1
+ {"version":3,"file":"zhin-stack-deps.d.ts","sourceRoot":"","sources":["../src/zhin-stack-deps.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsF,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7I;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AA+ChE,4DAA4D;AAC5D,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AAEnE,gCAAgC;AAChC,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIpF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIrE;AAED,oDAAoD;AACpD,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB5G;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,EAAE,CAYV;AAED,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,wBAAwB,EAAE,CA0B5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,wBAAwB,EAAE,CAAC;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,EAAE,CASnF;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,CAAC,EAAE,eAAe,GACpB,kBAAkB,CAkBpB;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAItG"}
@@ -19,8 +19,6 @@ export const ZHIN_STACK_VERSIONS = {
19
19
  '@zhin.js/component': 'latest',
20
20
  '@zhin.js/core': 'latest',
21
21
  '@zhin.js/tool': 'latest',
22
- '@zhin.js/host-router': 'latest',
23
- '@zhin.js/host-api': 'latest',
24
22
  '@zhin.js/client': 'latest',
25
23
  '@zhin.js/contract': 'latest',
26
24
  '@zhin.js/satori': 'latest',
@@ -48,10 +46,6 @@ export const ZHIN_STACK_VERSIONS = {
48
46
  '@zhin.js/adapter-wecom': 'latest',
49
47
  '@zhin.js/adapter-weixin-ilink': 'latest',
50
48
  };
51
- const HOST_CONSOLE_PLUGINS = new Set([
52
- '@zhin.js/host-router',
53
- '@zhin.js/host-api',
54
- ]);
55
49
  function parseMajor(versionSpec) {
56
50
  if (!versionSpec?.trim())
57
51
  return undefined;
@@ -105,17 +99,13 @@ export function getCreateBotPnpmConfig(_aiEnabled) {
105
99
  onlyBuiltDependencies: ['esbuild'],
106
100
  };
107
101
  }
108
- /** create-zhin-app Plugin Runtime 骨架 production 依赖(不含适配器 / AI / 数据库驱动) */
102
+ /**
103
+ * create-zhin-app Plugin Runtime 骨架 production 依赖(不含适配器 / AI / 数据库驱动)。
104
+ * Stable Features(adapter/command/component/middleware)由 `@zhin.js/core` 的 `package.json#zhin.features` 继承;创作面 API 经 `zhin.js/*` 便利入口。
105
+ */
109
106
  export function getCreateBotBaseDependencies() {
110
107
  return {
111
108
  'zhin.js': ZHIN_STACK_VERSIONS['zhin.js'],
112
- '@zhin.js/plugin-runtime': ZHIN_STACK_VERSIONS['@zhin.js/plugin-runtime'],
113
- '@zhin.js/runtime': ZHIN_STACK_VERSIONS['@zhin.js/runtime'],
114
- '@zhin.js/adapter': ZHIN_STACK_VERSIONS['@zhin.js/adapter'],
115
- '@zhin.js/command': ZHIN_STACK_VERSIONS['@zhin.js/command'],
116
- '@zhin.js/component': ZHIN_STACK_VERSIONS['@zhin.js/component'],
117
- '@zhin.js/core': ZHIN_STACK_VERSIONS['@zhin.js/core'],
118
- '@zhin.js/satori': ZHIN_STACK_VERSIONS['@zhin.js/satori'],
119
109
  };
120
110
  }
121
111
  /** 根据 zhin.config 推导应声明的 @zhin.js/* / zhin.js 依赖 */
@@ -135,12 +125,6 @@ export function getRequiredZhinDependenciesForConfig(config) {
135
125
  deps[driver] = 'latest';
136
126
  }
137
127
  }
138
- const usesHost = collectZhinPluginsFromConfig(config).some((p) => HOST_CONSOLE_PLUGINS.has(p));
139
- if (usesHost) {
140
- for (const pkg of ['@zhin.js/host-router', '@zhin.js/host-api']) {
141
- deps[pkg] = ZHIN_STACK_VERSIONS[pkg];
142
- }
143
- }
144
128
  return deps;
145
129
  }
146
130
  export function findOutdatedZhinStackInPackageJson(pkg, required) {
@@ -1 +1 @@
1
- {"version":3,"file":"zhin-stack-deps.js","sourceRoot":"","sources":["../src/zhin-stack-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zhin-stack-deps.js","sourceRoot":"","sources":["../src/zhin-stack-deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,mBAAmB,EAAwB,MAAM,mBAAmB,CAAC;AAE7I;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,QAAQ;IACxB,gBAAgB,EAAE,QAAQ;IAC1B,mBAAmB,EAAE,QAAQ;IAC7B,yBAAyB,EAAE,QAAQ;IACnC,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,QAAQ;IAC5B,oBAAoB,EAAE,QAAQ;IAC9B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,iBAAiB,EAAE,QAAQ;IAC3B,mBAAmB,EAAE,QAAQ;IAC7B,iBAAiB,EAAE,QAAQ;IAC3B,iBAAiB,EAAE,QAAQ;IAC3B,wBAAwB,EAAE,QAAQ;IAClC,cAAc,EAAE,QAAQ;IACxB,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,0BAA0B,EAAE,QAAQ;IACpC,wBAAwB,EAAE,QAAQ;IAClC,yBAAyB,EAAE,QAAQ;IACnC,uBAAuB,EAAE,QAAQ;IACjC,uBAAuB,EAAE,QAAQ;IACjC,uBAAuB,EAAE,QAAQ;IACjC,uBAAuB,EAAE,QAAQ;IACjC,wBAAwB,EAAE,QAAQ;IAClC,yBAAyB,EAAE,QAAQ;IACnC,2BAA2B,EAAE,QAAQ;IACrC,2BAA2B,EAAE,QAAQ;IACrC,qBAAqB,EAAE,QAAQ;IAC/B,yBAAyB,EAAE,QAAQ;IACnC,wBAAwB,EAAE,QAAQ;IAClC,2BAA2B,EAAE,QAAQ;IACrC,4BAA4B,EAAE,QAAQ;IACtC,wBAAwB,EAAE,QAAQ;IAClC,+BAA+B,EAAE,QAAQ;CACjC,CAAC;AAIX,SAAS,UAAU,CAAC,WAA+B;IACjD,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,WAAW,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAoB,EAAE,IAAY;IACnE,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,WAAmB;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,WAAW,eAAe,CAAyB,CAAC;QAC7E,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,GAAoB,EAAE,WAAmB;IACjF,OAAO,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,UAAU,CAAC,yBAAyB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,mBAAmB,CAAC,WAA+B,CAAC,IAAI,QAAQ,CAAC;AAC1E,CAAC;AAED,SAAS,4BAA4B,CAAC,MAA+B;IACnE,oBAAoB;IACpB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,wEAAwE;IACxE,4BAA4B;IAC5B,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAkC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAEnE,gCAAgC;AAChC,MAAM,UAAU,sBAAsB,CAAC,UAAoB;IACzD,OAAO;QACL,qBAAqB,EAAE,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,oCAAoC,CAAC,MAA+B;IAClF,MAAM,IAAI,GAA2B;QACnC,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;KAC1C,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAE,QAAoC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAyC,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,MAAM,UAAU,kCAAkC,CAChD,GAAoB,EACpB,QAAgC;IAEhC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,aAAa;YAAE,SAAS;QACtD,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,aAAa,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,GAAW,EACX,GAAoB,EACpB,MAA+B;IAE/B,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,EAAE,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,gEAAgE;SACzE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,iDAAiD;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACnE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,mEAAmE;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD,MAAM,UAAU,2BAA2B,CAAC,SAA6B;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS;QAC5B,GAAG,SAAS,CAAC,sBAAsB;QACnC,GAAG,SAAS,CAAC,qBAAqB;KACnC,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACpD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAAW,EACX,MAA+B,EAC/B,GAAqB;IAErB,MAAM,QAAQ,GAAG,oCAAoC,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QACxD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAoB;QACrD,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,MAAM,sBAAsB,GAAG,8BAA8B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,qBAAqB,GAAG,kCAAkC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACxF,MAAM,qBAAqB,GAAG,uCAAuC,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,MAAM,YAAY,GAAG,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO;QACL,QAAQ;QACR,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAkB,EAAE,QAAgC;IAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC9E,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/scaffold-wizard",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Shared interactive scaffold wizard for create-zhin-app and @zhin.js/cli",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -392,7 +392,7 @@ export async function configureDiscordEndpoint(ctx: EndpointConfigureContext): P
392
392
  message: ' 连接方式:',
393
393
  choices: [
394
394
  { name: 'Gateway WebSocket(常规 Bot,推荐)', value: 'gateway' },
395
- { name: 'Interactions HTTP(斜杠命令,需 host-router)', value: 'interactions' },
395
+ { name: 'Interactions HTTP(斜杠命令,经 Runtime Host HTTP 入站)', value: 'interactions' },
396
396
  ],
397
397
  default: 'gateway',
398
398
  },
package/src/adapter.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  configureWeixinIlinkBot,
17
17
  } from './adapter-configurers.js';
18
18
  import { ZHIN_STACK_VERSIONS } from './zhin-stack-deps.js';
19
+ import { formatEnvValue } from './env.js';
19
20
 
20
21
  /** 一个待挂载的子插件实例(package.json zhin.plugins 清单 + zhin.config plugins.<instanceKey> 配置) */
21
22
  export interface AdapterPluginInstance {
@@ -65,7 +66,7 @@ export interface AdapterField {
65
66
  scope?: 'endpoint' | 'shared';
66
67
  }
67
68
 
68
- const ADAPTERS: AdapterDefinition[] = [
69
+ export const ADAPTERS: AdapterDefinition[] = [
69
70
  {
70
71
  name: 'Sandbox (调试沙盒,默认)',
71
72
  value: 'sandbox',
@@ -550,7 +551,7 @@ export function generateAdapterEnvVars(result: AdapterSetupResult): string {
550
551
 
551
552
  const lines: string[] = ['', '# 适配器配置'];
552
553
  for (const [key, value] of entries) {
553
- lines.push(`${key}=${value}`);
554
+ lines.push(`${key}=${formatEnvValue(value)}`);
554
555
  }
555
556
  return lines.join('\n');
556
557
  }
@@ -650,3 +651,10 @@ export function getAdapterDependencies(result: AdapterSetupResult): Record<strin
650
651
 
651
652
  return deps;
652
653
  }
654
+
655
+ /**
656
+ * 按 npm 包名查找已知适配器定义(如 @zhin.js/adapter-telegram)
657
+ */
658
+ export function findAdapterByPackage(packageName: string): AdapterDefinition | undefined {
659
+ return ADAPTERS.find(a => a.package === packageName || a.plugin === packageName);
660
+ }
package/src/ai.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import inquirer from 'inquirer';
2
2
  import chalk from 'chalk';
3
+ import { formatEnvValue } from './env.js';
3
4
 
4
5
  export interface AISetupConfig {
5
6
  enabled: boolean;
@@ -75,6 +76,13 @@ const PROVIDERS = [
75
76
  hint: '国内直连,open.bigmodel.cn',
76
77
  keyPlaceholder: '...',
77
78
  },
79
+ {
80
+ name: 'Google (Gemini)',
81
+ value: 'google',
82
+ defaultModel: 'gemini-2.5-flash',
83
+ hint: '需 Google AI API Key',
84
+ keyPlaceholder: 'AIza...',
85
+ },
78
86
  {
79
87
  name: 'Ollama (本地部署)',
80
88
  value: 'ollama',
@@ -82,6 +90,13 @@ const PROVIDERS = [
82
90
  hint: '本地运行,无需 API Key;先 ollama pull 模型',
83
91
  keyPlaceholder: '',
84
92
  },
93
+ {
94
+ name: 'OpenAI 兼容接口 (vLLM / OneAPI / SiliconFlow 等)',
95
+ value: 'openai-compatible',
96
+ defaultModel: '',
97
+ hint: '任何兼容 OpenAI API 的服务,需填 baseUrl',
98
+ keyPlaceholder: 'sk-...',
99
+ },
85
100
  ] as const;
86
101
 
87
102
  export function providerSdkFor(name: string): string {
@@ -95,6 +110,7 @@ export function providerSdkFor(name: string): string {
95
110
  return 'ollama';
96
111
  case 'deepseek':
97
112
  return 'deepseek';
113
+ case 'openai-compatible':
98
114
  case 'moonshot':
99
115
  case 'zhipu':
100
116
  return 'openai-compatible';
@@ -103,6 +119,16 @@ export function providerSdkFor(name: string): string {
103
119
  }
104
120
  }
105
121
 
122
+ /**
123
+ * openai-compatible sdk 在 runtime 无 baseUrl 无法建 provider
124
+ * (packages/im/ai sdk-provider-adapter 直接拒绝),这些 provider 的 baseUrl 必填,
125
+ * 向导预填官方地址。
126
+ */
127
+ export const PROVIDER_DEFAULT_BASE_URLS: Readonly<Record<string, string>> = Object.freeze({
128
+ zhipu: 'https://open.bigmodel.cn/api/paas/v4',
129
+ moonshot: 'https://api.moonshot.cn/v1',
130
+ });
131
+
106
132
  function defaultModelForProvider(driver: string): string {
107
133
  const entry = PROVIDERS.find(p => p.value === driver);
108
134
  return entry?.defaultModel ?? '';
@@ -192,7 +218,7 @@ export const RECOMMENDED_AI_DEFAULTS = {
192
218
  export async function configureAI(): Promise<AISetupConfig> {
193
219
  console.log('');
194
220
  console.log(chalk.blue('🤖 配置 AI 智能体'));
195
- console.log(chalk.gray(' 启用后将自动写入 package.json:@zhin.js/agent、zod、ai、所选 @ai-sdk/*、@modelcontextprotocol/sdk。'));
221
+ console.log(chalk.gray(' 启用后将自动写入 package.json:@zhin.js/agent、zod、ai、所选 @ai-sdk/*(启用 memory MCP 时另加 @modelcontextprotocol/sdk)。'));
196
222
  console.log(chalk.gray(' 会话持久化默认开启,将自动配置 SQLite 数据库(若尚未选择)。'));
197
223
 
198
224
  const { enableAI } = await inquirer.prompt([
@@ -253,6 +279,8 @@ export async function configureAI(): Promise<AISetupConfig> {
253
279
  models: [ollamaConfig.model.trim()],
254
280
  };
255
281
  } else {
282
+ const defaultBaseUrl = PROVIDER_DEFAULT_BASE_URLS[provider];
283
+ const requireBaseUrl = providerSdkFor(provider) === 'openai-compatible';
256
284
  const cloudConfig = await inquirer.prompt([
257
285
  {
258
286
  type: 'input',
@@ -266,14 +294,28 @@ export async function configureAI(): Promise<AISetupConfig> {
266
294
  {
267
295
  type: 'input',
268
296
  name: 'model',
269
- message: '模型名称:',
270
- default: providerInfo.defaultModel,
297
+ message: provider === 'openai-compatible'
298
+ ? '模型名称(服务端实际部署的模型 ID):'
299
+ : '模型名称:',
300
+ default: providerInfo.defaultModel || undefined,
301
+ validate: provider === 'openai-compatible'
302
+ ? (input: string) => (input.trim() ? true : '模型名称不能为空')
303
+ : undefined,
271
304
  },
272
305
  {
273
306
  type: 'input',
274
307
  name: 'baseUrl',
275
- message: '自定义 API 地址(留空使用官方默认):',
276
- default: '',
308
+ message: requireBaseUrl
309
+ ? 'API 地址(openai-compatible 必填,如 https://api.example.com/v1):'
310
+ : '自定义 API 地址(留空使用官方默认):',
311
+ default: defaultBaseUrl ?? '',
312
+ validate: requireBaseUrl
313
+ ? (input: string) => {
314
+ if (!input.trim()) return 'baseUrl 不能为空(openai-compatible SDK 必须指定 API 地址)';
315
+ if (!/^https?:\/\//.test(input.trim())) return '请输入 http:// 或 https:// 开头的地址';
316
+ return true;
317
+ }
318
+ : undefined,
277
319
  }
278
320
  ]);
279
321
 
@@ -389,7 +431,7 @@ export function generateAIEnvVars(config: AISetupConfig): string {
389
431
  for (const [, providerConfig] of Object.entries(config.providers)) {
390
432
  const realKey = (providerConfig as any).__envApiKey;
391
433
  if (realKey) {
392
- envVars.push(`AI_API_KEY=${realKey}`);
434
+ envVars.push(`AI_API_KEY=${formatEnvValue(realKey)}`);
393
435
  }
394
436
  }
395
437
 
package/src/apply.ts CHANGED
@@ -10,21 +10,14 @@ import {
10
10
  getAdapterDependencies,
11
11
  } from './adapter.js';
12
12
  import { generateAIEnvVars, materializeAIConfig } from './ai.js';
13
+ import { generateDatabaseEnvVars, mergeEnvText } from './env.js';
13
14
  import { ensureDatabaseForAdapters, ensureDatabaseForAI, getAIDependencies } from './project-deps.js';
14
- import { DEFAULT_CREATE_BOT_HTTP_PORT } from './zhin-stack-deps.js';
15
+ import { DEFAULT_CREATE_BOT_HTTP_PORT, ZHIN_STACK_VERSIONS } from './zhin-stack-deps.js';
15
16
  import { packageToInstanceKey } from './project-config-plan.js';
16
17
 
17
- /**
18
- * @deprecated Plugin Runtime 由 CLI composition root 装配 Console/HTTP Host,
19
- * 不再需要在 plugins 清单中声明 host 插件;保留导出仅为兼容。
20
- */
21
- export const CONSOLE_HOST_PLUGINS = [
22
- '@zhin.js/host-router',
23
- '@zhin.js/host-api',
24
- ] as const;
25
-
26
18
  export function applyDatabaseToConfig(config: Record<string, unknown>, database: DatabaseConfig): void {
27
- config.database = database;
19
+ // 物化为可落盘对象:非 SQLite 连接参数引用 .env(${VAR}),明文密码不进配置文件
20
+ config.database = materializeDatabaseConfig(database);
28
21
  }
29
22
 
30
23
  /** 将 legacy 数组形式 plugins 归一化为新 runtime 的 instanceKey 映射 */
@@ -46,13 +39,63 @@ export function normalizePluginsMap(value: unknown): Record<string, unknown> {
46
39
  export function applyAdaptersToConfig(config: Record<string, unknown>, result: AdapterSetupResult): void {
47
40
  const plugins = normalizePluginsMap(config.plugins);
48
41
  for (const instance of result.instances) {
49
- plugins[instance.instanceKey] = instance.config;
42
+ plugins[instance.instanceKey] = mergeAdapterInstanceConfig(
43
+ instance.instanceKey,
44
+ plugins[instance.instanceKey],
45
+ instance.config,
46
+ );
50
47
  }
51
48
  config.plugins = plugins;
52
49
  // legacy endpoints 列表不被 runtime 配置 schema 接受(additionalProperties: false)
53
50
  delete config.endpoints;
54
51
  }
55
52
 
53
+ function endpointName(endpoint: unknown): string | undefined {
54
+ if (!endpoint || typeof endpoint !== 'object' || Array.isArray(endpoint)) return undefined;
55
+ const name = (endpoint as Record<string, unknown>).name;
56
+ return typeof name === 'string' ? name : undefined;
57
+ }
58
+
59
+ /**
60
+ * 重跑向导时按实例合并配置而非整体覆盖:保留现有 endpoints 中 name 不冲突的项
61
+ * 与其他实例级键;被向导结果覆盖的 endpoints / 键在覆盖前打印提示。
62
+ */
63
+ function mergeAdapterInstanceConfig(
64
+ instanceKey: string,
65
+ existing: unknown,
66
+ next: Record<string, unknown>,
67
+ ): Record<string, unknown> {
68
+ if (!existing || typeof existing !== 'object' || Array.isArray(existing)) return next;
69
+ const current = existing as Record<string, unknown>;
70
+ const dropped: string[] = [];
71
+
72
+ const merged: Record<string, unknown> = { ...current, ...next };
73
+
74
+ const currentEndpoints = Array.isArray(current.endpoints) ? current.endpoints : [];
75
+ const nextEndpoints = Array.isArray(next.endpoints) ? next.endpoints : [];
76
+ if (currentEndpoints.length > 0 && nextEndpoints.length > 0) {
77
+ const nextNames = new Set(nextEndpoints.map(endpointName));
78
+ const kept = currentEndpoints.filter((endpoint) => {
79
+ const name = endpointName(endpoint);
80
+ if (name != null && nextNames.has(name)) {
81
+ dropped.push(`endpoint "${name}"`);
82
+ return false;
83
+ }
84
+ return true;
85
+ });
86
+ merged.endpoints = [...nextEndpoints, ...kept];
87
+ }
88
+
89
+ for (const key of Object.keys(next)) {
90
+ if (key !== 'endpoints' && key in current) dropped.push(`键 "${key}"`);
91
+ }
92
+
93
+ if (dropped.length > 0) {
94
+ console.warn(`[zhin setup] plugins.${instanceKey} 的 ${dropped.join('、')} 已被向导结果覆盖`);
95
+ }
96
+ return merged;
97
+ }
98
+
56
99
  export function applyAIToConfig(config: Record<string, unknown>, ai: AISetupConfig): void {
57
100
  config.ai = materializeAIConfig(ai);
58
101
  }
@@ -90,14 +133,17 @@ export async function appendWizardEnvVars(
90
133
  projectDir: string,
91
134
  adapters?: AdapterSetupResult,
92
135
  ai?: AISetupConfig,
136
+ database?: DatabaseConfig,
93
137
  ): Promise<void> {
94
138
  const extra =
139
+ (database ? generateDatabaseEnvVars(database) : '') +
95
140
  (adapters ? generateAdapterEnvVars(adapters) : '') +
96
141
  (ai ? generateAIEnvVars(ai) : '');
97
- if (extra) {
142
+ if (extra.trim()) {
98
143
  const envPath = path.join(projectDir, '.env');
99
144
  const existing = (await fs.pathExists(envPath)) ? await fs.readFile(envPath, 'utf-8') : '';
100
- await fs.writeFile(envPath, existing.replace(/\s*$/, '') + extra + '\n');
145
+ // 按 KEY 覆盖而非追加:重复运行向导幂等,不产生重复行
146
+ await fs.writeFile(envPath, mergeEnvText(existing, extra));
101
147
  }
102
148
 
103
149
  // 新 Plugin Runtime 通过 package.json zhin.plugins 清单挂载子插件,与依赖一起落盘
@@ -112,9 +158,47 @@ export function collectWizardDependencies(
112
158
  return {
113
159
  ...(options.adapters ? getAdapterDependencies(options.adapters) : {}),
114
160
  ...getAIDependencies(options.ai),
161
+ // tools/ 约定需要 @zhin.js/tool(与 create-zhin 路径对齐)
162
+ ...(options.ai?.enabled ? { '@zhin.js/tool': ZHIN_STACK_VERSIONS['@zhin.js/tool'] } : {}),
115
163
  };
116
164
  }
117
165
 
166
+ /** 向导结果需要合并进 package.json zhin.features 的条目(与 create-zhin 路径对齐) */
167
+ export function collectWizardFeatures(
168
+ options: Pick<InitOptions, 'ai'>,
169
+ ): Array<{ package: string; api: string }> {
170
+ return options.ai?.enabled ? [{ package: '@zhin.js/tool', api: '^1.0.0' }] : [];
171
+ }
172
+
173
+ /** 把 features 清单条目合并进项目 package.json 的 zhin.features(zhin setup 路径) */
174
+ export async function mergeFeaturesIntoPackageJson(
175
+ projectDir: string,
176
+ entries: Array<{ package: string; api: string }>,
177
+ ): Promise<boolean> {
178
+ if (entries.length === 0) return false;
179
+ const pkgPath = path.join(projectDir, 'package.json');
180
+ if (!(await fs.pathExists(pkgPath))) return false;
181
+
182
+ const pkg = await fs.readJson(pkgPath);
183
+ const zhin = pkg.zhin && typeof pkg.zhin === 'object' && !Array.isArray(pkg.zhin)
184
+ ? pkg.zhin
185
+ : { protocol: 1, type: 'plugin', entry: './plugin.ts' };
186
+ const features: Array<{ package: string; api?: string }> = Array.isArray(zhin.features)
187
+ ? [...zhin.features]
188
+ : [];
189
+ let changed = false;
190
+ for (const entry of entries) {
191
+ if (features.some((item) => item?.package === entry.package)) continue;
192
+ features.push(entry);
193
+ changed = true;
194
+ }
195
+ if (!changed && pkg.zhin) return false;
196
+ zhin.features = features;
197
+ pkg.zhin = zhin;
198
+ await fs.writeJson(pkgPath, pkg, { spaces: 2 });
199
+ return true;
200
+ }
201
+
118
202
  export async function mergeDependenciesIntoPackageJson(
119
203
  projectDir: string,
120
204
  deps: Record<string, string>,