create-aalis 0.1.0 → 0.1.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ace Nyan <ace@acenyan.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,17 @@
1
1
  #!/usr/bin/env node
2
+ interface CatalogEntry {
3
+ name: string;
4
+ description: string;
5
+ official: boolean;
6
+ }
7
+ /** npm search 响应 → 插件目录条目。纯函数,便于单测。 */
8
+ export declare function toPluginCatalog(data: {
9
+ objects?: Array<{
10
+ package: {
11
+ name: string;
12
+ description?: string;
13
+ };
14
+ }>;
15
+ }): CatalogEntry[];
2
16
  export {};
3
17
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA4LA,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACtE,GAAG,YAAY,EAAE,CAMjB"}
package/dist/cli.js CHANGED
@@ -1,38 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  // ============================================================
3
- // create-aalis — Aalis 快速初始化脚手架
3
+ // create-aalis — 在新目录脚手架一个可运行的独立 Aalis 项目(纯 npm)
4
4
  //
5
- // create-aalis 交互式:选模板档 + 同类适配器 → 写 aalis.config.yaml
6
- // create-aalis --yes 非交互:用 standard 档 + 默认适配器
5
+ // npm create aalis my-bot 交互:选模板档 + 同类适配器
6
+ // npm create aalis my-bot -- --yes 非交互:standard 档 + 默认适配器
7
+ // npm create aalis my-bot -- --tier minimal --no-install
7
8
  //
8
- // 现状(Aalis 暂未发 npm):脚手架在 monorepo 根运行,扫描本地 packages/ 的
9
- // 真实插件,按"模板档 + 同类组选择 + 微调"生成 aalis.config.yaml(启用集 =
10
- // 全部插件 disabledPlugins)。敏感配置(API key / 平台 token)留 WebUI 配置页填。
9
+ // 产出一个独立项目目录:package.json(依赖 @aalis/core + @aalis/runtime + 所选插件)、
10
+ // index.mjs(一行 startAalis 启动)、aalis.config.yaml、README、.gitignore、.env.example,
11
+ // 随后自动 npm install。启动:cd my-bot && npm start。
11
12
  //
12
- // 设计:选插件心智 = 模板(bare/minimal/standard/full)+ 微调;同类适配器
13
- // (LLM / 平台 / 记忆后端 / 向量库 / embedding / ASR)交互选用哪些,避免全塞冲突。
13
+ // 选插件心智:模板(bare/minimal/standard/full)+ 同类适配器组(LLM/平台/记忆/
14
+ // embedding/向量库)交互选用哪些,避免同类全塞冲突。所选插件即写入 dependencies,
15
+ // 由 @aalis/runtime 的 node_modules 加载器在启动时发现并加载。
14
16
  // ============================================================
15
- import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
17
+ import { spawnSync } from 'node:child_process';
18
+ import { existsSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
16
19
  import { resolve } from 'node:path';
17
20
  import { argv, cwd, exit, stdin, stdout } from 'node:process';
18
21
  import { createInterface } from 'node:readline/promises';
19
- // ── curated 归类(随仓库插件增减维护) ──────────────────────
20
- //
21
- // 基础设施 + agent 套件:minimal 起步的自洽依赖闭包(让 Aalis 能跑起一个最简
22
- // 对话实例:网关路由 指令/agent → 会话 权限)。同类适配器不在此列,由
23
- // GROUPS 交互选择补入。
22
+ import { pathToFileURL } from 'node:url';
23
+ /** scaffold 写入 dependencies 的版本范围。发布新主版本时同步更新。 */
24
+ const AALIS_RANGE = '^0.1.0';
25
+ // 基础设施 + agent 套件:minimal 起步的自洽依赖闭包(网关路由 指令/agent
26
+ // 会话 → 权限 → 跨会话历史)。同类适配器不在此列,由 GROUPS 交互选择补入。
24
27
  const MINIMAL_BASE = [
25
- '@aalis/plugin-storage-local', // storage 网关实现(众多插件依赖)
26
- '@aalis/plugin-process-local', // process 网关实现
27
- '@aalis/plugin-gateway', // 入站消息路由
28
- '@aalis/plugin-commands', // 内置指令
29
- '@aalis/plugin-flow-control', // 消息流控
30
- '@aalis/plugin-agent', // Agent 核心
31
- '@aalis/plugin-tools', // 工具注册表
32
- '@aalis/plugin-prompt-budget', // Agent 套件:预算自检
33
- '@aalis/plugin-authority', // 权限(商业级默认带)
34
- '@aalis/plugin-session-manager', // 会话管理
35
- '@aalis/plugin-memory-history', // 跨会话历史上下文
28
+ '@aalis/plugin-storage-local',
29
+ '@aalis/plugin-process-local',
30
+ '@aalis/plugin-gateway',
31
+ '@aalis/plugin-commands',
32
+ '@aalis/plugin-flow-control',
33
+ '@aalis/plugin-agent',
34
+ '@aalis/plugin-tools',
35
+ '@aalis/plugin-prompt-budget',
36
+ '@aalis/plugin-authority',
37
+ '@aalis/plugin-session-manager',
38
+ '@aalis/plugin-memory-history',
36
39
  ];
37
40
  // standard 在 minimal 之上增加的常用能力(管理界面 / 人设 / 记忆增强 / 常用工具 /
38
41
  // 调度套件 / 技能 / 归档 / 会话增强 / 诊断)。同类适配器仍由 GROUPS 选择。
@@ -116,65 +119,184 @@ const GROUPS = [
116
119
  ],
117
120
  },
118
121
  ];
119
- const CONFIG_FILE = 'aalis.config.yaml';
120
- /** 扫描 monorepo packages/ 下的真实插件(导出 apply、非 -api 包)。 */
121
- function scanPlugins(packagesDir) {
122
- const out = [];
123
- for (const dirent of readdirSync(packagesDir, { withFileTypes: true })) {
124
- if (!dirent.isDirectory())
125
- continue;
126
- const idx = resolve(packagesDir, dirent.name, 'src/index.ts');
127
- const pkg = resolve(packagesDir, dirent.name, 'package.json');
128
- if (!existsSync(idx) || !existsSync(pkg))
129
- continue;
130
- const src = readFileSync(idx, 'utf-8');
131
- if (!/export\s+(?:async\s+function\s+apply|function\s+apply|const\s+apply)/.test(src))
132
- continue;
133
- const name = JSON.parse(readFileSync(pkg, 'utf-8')).name ?? '';
134
- if (!name || name.endsWith('-api'))
135
- continue;
136
- const displayName = src.match(/export\s+const\s+displayName\s*=\s*'([^']+)'/)?.[1] ?? name;
137
- const subsystem = src.match(/export\s+const\s+subsystem\s*=\s*'([^']+)'/)?.[1] ?? 'other';
138
- out.push({ name, displayName, subsystem });
122
+ // 已知插件的配置桩 + 引用的环境变量(写进 aalis.config.yaml 与 .env.example)。
123
+ // 仅覆盖需密钥/地址的常见适配器;其余插件用默认配置启动。
124
+ const KNOWN_CONFIG = {
125
+ '@aalis/plugin-deepseek': { config: { apiKey: '${DEEPSEEK_API_KEY}' }, env: ['DEEPSEEK_API_KEY'] },
126
+ '@aalis/plugin-openai': { config: { apiKey: '${OPENAI_API_KEY}' }, env: ['OPENAI_API_KEY'] },
127
+ '@aalis/plugin-embedding-openai': { config: { apiKey: '${OPENAI_API_KEY}' }, env: ['OPENAI_API_KEY'] },
128
+ '@aalis/plugin-websearch-serper': { config: { apiKey: '${SERPER_API_KEY}' }, env: ['SERPER_API_KEY'] },
129
+ };
130
+ /** full = 全目录(base extra ∪ 所有组成员)。 */
131
+ function fullCatalog() {
132
+ const all = new Set([...MINIMAL_BASE, ...STANDARD_EXTRA]);
133
+ for (const g of GROUPS)
134
+ for (const m of g.members)
135
+ all.add(m.name);
136
+ return [...all];
137
+ }
138
+ /** 计算启用集(不含交互组与 live "其他插件";二者由 main 补入)。 */
139
+ function baseEnabled(tier) {
140
+ if (tier === 'full')
141
+ return new Set(fullCatalog());
142
+ if (tier === 'bare')
143
+ return new Set();
144
+ const set = new Set(MINIMAL_BASE);
145
+ if (tier === 'standard')
146
+ for (const n of STANDARD_EXTRA)
147
+ set.add(n);
148
+ return set;
149
+ }
150
+ // ── live 插件目录(init 时实时查 npm,列全生态供选) ────────────
151
+ //
152
+ // 搜索走官方源(keyword:aalis-plugin,同市场页约定);npm 镜像(淘宝等)多不支持
153
+ // search API,故这里固定官方源、可 --registry 覆盖。生成项目的 npm install 仍用
154
+ // 用户自己的 npm 配置(与此解耦)。离线/失败回退到静态 STATIC_OTHERS。
155
+ const DEFAULT_REGISTRY = 'https://registry.npmjs.org';
156
+ const AALIS_KEYWORD = 'aalis-plugin';
157
+ // 离线回退:仓库内已知、但不在 base/extra/groups 目录里的"其他"官方插件。
158
+ const STATIC_OTHERS = [
159
+ 'asr-openai',
160
+ 'asr-whisper-cpp',
161
+ 'image-sender',
162
+ 'maimai',
163
+ 'mcp-server',
164
+ 'office',
165
+ 'okx-trading',
166
+ 'tool-browser',
167
+ 'tool-code-runner',
168
+ 'tool-math',
169
+ 'tool-onebot',
170
+ 'workflow',
171
+ ].map(s => `@aalis/plugin-${s}`);
172
+ /** npm search 响应 → 插件目录条目。纯函数,便于单测。 */
173
+ export function toPluginCatalog(data) {
174
+ return (data.objects ?? []).map(o => ({
175
+ name: o.package.name,
176
+ description: o.package.description ?? '',
177
+ official: o.package.name.startsWith('@aalis/'),
178
+ }));
179
+ }
180
+ /** 实时查 npm 的 aalis-plugin 目录;失败返回 null(调用方回退静态表)。 */
181
+ async function fetchCatalog(registry) {
182
+ try {
183
+ const base = registry.replace(/\/+$/, '') || DEFAULT_REGISTRY;
184
+ const url = `${base}/-/v1/search?text=${encodeURIComponent(`keywords:${AALIS_KEYWORD}`)}&size=100`;
185
+ const r = await fetch(url, { signal: AbortSignal.timeout(8000) });
186
+ if (!r.ok)
187
+ return null;
188
+ return toPluginCatalog((await r.json()));
139
189
  }
140
- return out.sort((a, b) => a.name.localeCompare(b.name));
190
+ catch {
191
+ return null;
192
+ }
193
+ }
194
+ // ── 生成的文件 ──────────────────────────────────────────────
195
+ function renderPackageJson(projectName, enabled) {
196
+ const deps = {
197
+ '@aalis/core': AALIS_RANGE,
198
+ '@aalis/runtime': AALIS_RANGE,
199
+ };
200
+ for (const n of enabled.sort())
201
+ deps[n] = AALIS_RANGE;
202
+ return `${JSON.stringify({
203
+ name: projectName,
204
+ version: '0.1.0',
205
+ private: true,
206
+ type: 'module',
207
+ description: `${projectName} —— 基于 Aalis 的 AI 助手`,
208
+ // 默认 dev 模式(startAalis 据 NODE_ENV!=='production' 判定);
209
+ // 生产部署用 `NODE_ENV=production node index.mjs`(Windows 用 set/$env:)。
210
+ scripts: {
211
+ start: 'node index.mjs',
212
+ },
213
+ dependencies: deps,
214
+ }, null, 2)}\n`;
215
+ }
216
+ function renderEntry() {
217
+ return `import { startAalis } from '@aalis/runtime';
218
+
219
+ // 从 aalis.config.yaml 读配置、从 node_modules 加载已装的 @aalis 插件、启动。
220
+ startAalis().catch(err => {
221
+ console.error('Aalis 启动失败:', err);
222
+ process.exit(1);
223
+ });
224
+ `;
141
225
  }
142
- /** 生成 aalis.config.yaml 文本(启用集 enabled,其余进 disabledPlugins)。 */
143
- function renderConfig(all, enabled) {
144
- const disabled = all.map(p => p.name).filter(n => !enabled.has(n));
145
- const lines = [
146
- 'name: Aalis',
147
- 'logLevel: info',
148
- '# 启用的插件用默认配置启动;敏感配置(API key/token)请在 WebUI 配置页填写。',
149
- 'plugins: {}',
150
- ];
151
- if (disabled.length > 0) {
152
- lines.push('disabledPlugins:');
153
- for (const n of disabled)
154
- lines.push(` - "${n}"`);
226
+ function renderConfig(enabled) {
227
+ const lines = ['name: Aalis', 'logLevel: info'];
228
+ const configured = [...enabled].filter(n => KNOWN_CONFIG[n]).sort();
229
+ if (configured.length > 0) {
230
+ lines.push('plugins:');
231
+ for (const n of configured) {
232
+ lines.push(` "${n}":`);
233
+ for (const [k, v] of Object.entries(KNOWN_CONFIG[n].config)) {
234
+ lines.push(` ${k}: "${v}"`);
235
+ }
236
+ }
155
237
  }
156
238
  else {
157
- lines.push('disabledPlugins: []');
239
+ lines.push('# 启用的插件用默认配置启动;需要密钥/地址的在下方 plugins 段填写或用 ${ENV} 引用环境变量。');
240
+ lines.push('plugins: {}');
158
241
  }
242
+ lines.push('disabledPlugins: []');
159
243
  return `${lines.join('\n')}\n`;
160
244
  }
245
+ function renderEnvExample(enabled) {
246
+ const vars = new Set();
247
+ for (const n of enabled)
248
+ for (const e of KNOWN_CONFIG[n]?.env ?? [])
249
+ vars.add(e);
250
+ if (vars.size === 0)
251
+ return '# 本项目所选插件未引用环境变量。需要时在此添加,并在 aalis.config.yaml 用 ${VAR} 引用。\n';
252
+ return `# 复制为 .env 并填值(或直接在 aalis.config.yaml 写死)。aalis.config.yaml 用 \${VAR} 引用。\n${[...vars]
253
+ .sort()
254
+ .map(v => `${v}=`)
255
+ .join('\n')}\n`;
256
+ }
257
+ function renderGitignore() {
258
+ return `${['node_modules/', 'data/', '*.log', '.env', 'dist/'].join('\n')}\n`;
259
+ }
260
+ function renderReadme(projectName, enabled) {
261
+ const hasWebui = enabled.has('@aalis/plugin-webui-server');
262
+ return `# ${projectName}
263
+
264
+ 基于 [Aalis](https://www.npmjs.com/package/@aalis/core) 脚手架生成的独立 AI 助手项目。
265
+
266
+ ## 启动
267
+
268
+ \`\`\`bash
269
+ npm install # 若 create 时跳过了安装
270
+ npm start
271
+ \`\`\`
272
+
273
+ ## 配置
274
+
275
+ - 编辑 \`aalis.config.yaml\` 调整插件与参数。
276
+ - 密钥/令牌:填入 \`.env\`(参考 \`.env.example\`),在 \`aalis.config.yaml\` 用 \`\${VAR}\` 引用;${hasWebui ? '或启动后在 WebUI 配置页填写。' : '或直接写入 aalis.config.yaml。'}
277
+ ${hasWebui ? '- WebUI 管理界面默认 http://127.0.0.1:8080 。\n' : ''}
278
+ ## 装更多插件
279
+
280
+ \`\`\`bash
281
+ npm install @aalis/plugin-<name> # 装上即被自动发现加载
282
+ \`\`\`
283
+ ${hasWebui ? '或在 WebUI 的「插件市场」页搜索安装。\n' : ''}
284
+ > 启用集:${[...enabled].length} 个插件。完整生态见 npm 上的 \`aalis-plugin\` 关键词。
285
+ `;
286
+ }
287
+ // ── 主流程 ──────────────────────────────────────────────────
288
+ function argValue(flag) {
289
+ const i = argv.indexOf(flag);
290
+ return i >= 0 ? argv[i + 1] : undefined;
291
+ }
161
292
  async function main() {
162
- // --tier <bare|minimal|standard|full>:非交互指定档位(同类适配器取默认),
163
- // 利于 CI/脚本化初始化。--yes 等价于 --tier standard。
164
- const tierIdx = argv.indexOf('--tier');
165
- const tierFlag = tierIdx >= 0 ? argv[tierIdx + 1] : undefined;
293
+ const tierFlag = argValue('--tier');
166
294
  const skip = argv.includes('--yes') || argv.includes('-y') || tierFlag !== undefined;
167
- const packagesDir = resolve(cwd(), 'packages');
168
- if (!existsSync(packagesDir)) {
169
- console.error(`未找到 packages/ 目录(当前: ${cwd()})。请在 Aalis 仓库根目录运行 create-aalis。`);
170
- exit(1);
171
- }
172
- const all = scanPlugins(packagesDir);
173
- if (all.length === 0) {
174
- console.error('packages/ 下未扫描到任何插件。');
175
- exit(1);
176
- }
177
- const known = new Set(all.map(p => p.name));
295
+ const noInstall = argv.includes('--no-install');
296
+ const force = argv.includes('--force');
297
+ const registry = argValue('--registry') ?? DEFAULT_REGISTRY;
298
+ const positional = argv.slice(2).filter(a => !a.startsWith('-'));
299
+ const cliName = positional[0];
178
300
  const rl = createInterface({ input: stdin, output: stdout });
179
301
  const ask = async (q, def) => {
180
302
  if (skip)
@@ -183,98 +305,142 @@ async function main() {
183
305
  return ans || def;
184
306
  };
185
307
  try {
186
- console.log('\n=== Aalis 快速初始化 ===\n');
187
- console.log(`扫描到 ${all.length} 个本地插件。选择一个模板档,随后微调同类适配器。\n`);
188
- console.log(' bare 只启用 Aalis Core(不启用任何官方插件,完全自定义起点)');
189
- console.log(' minimal 最简对话实例(网关+Agent+权限+会话+1 个 LLM+1 个平台+记忆)');
308
+ console.log('\n=== 创建 Aalis 项目 ===\n');
309
+ const projectName = cliName ?? (await ask('项目目录名', 'my-aalis-bot'));
310
+ if (!/^[a-zA-Z0-9._@/-]+$/.test(projectName)) {
311
+ console.error(`非法项目名: ${projectName}`);
312
+ exit(1);
313
+ }
314
+ const targetDir = resolve(cwd(), projectName);
315
+ if (existsSync(targetDir) && readdirSync(targetDir).length > 0 && !force) {
316
+ console.error(`目录已存在且非空: ${targetDir}(加 --force 覆盖写入)`);
317
+ exit(1);
318
+ }
319
+ console.log('\n模板档:');
320
+ console.log(' bare 只装 Aalis Core + runtime(完全自定义起点)');
321
+ console.log(' minimal 最简对话实例(网关+Agent+权限+会话+1 LLM+1 平台+记忆)');
190
322
  console.log(' standard 常用全家桶(minimal + WebUI/人设/向量记忆/工具/调度/技能…)');
191
- console.log(' full 启用全部本地插件(同类适配器一并全装,可能需手动取舍)\n');
323
+ console.log(' full 全部官方插件(实时查 npm,同类适配器一并全装,可能需手动取舍)\n');
324
+ console.log('(minimal/standard 交互时会实时拉取 npm 全生态供你加选“其他插件”)\n');
192
325
  const tier = (tierFlag ?? (await ask('模板档 [bare/minimal/standard/full]', 'standard'))).toLowerCase();
193
326
  if (!['bare', 'minimal', 'standard', 'full'].includes(tier)) {
194
327
  console.error(`未知模板档: ${tier}`);
195
328
  exit(1);
196
329
  }
197
- const enabled = new Set();
198
- if (tier === 'full') {
199
- for (const p of all)
200
- enabled.add(p.name);
201
- }
202
- else if (tier !== 'bare') {
203
- for (const n of MINIMAL_BASE)
204
- if (known.has(n))
205
- enabled.add(n);
206
- if (tier === 'standard')
207
- for (const n of STANDARD_EXTRA)
208
- if (known.has(n))
209
- enabled.add(n);
210
- // 同类适配器交互选择(仅问该档出现的组)
330
+ const enabled = baseEnabled(tier);
331
+ // 同类适配器交互选择(仅 minimal/standard,且仅该档出现的组)
332
+ if (tier === 'minimal' || tier === 'standard') {
211
333
  for (const group of GROUPS) {
212
334
  if (!group.tiers.includes(tier))
213
335
  continue;
214
- const members = group.members.filter(m => known.has(m.name));
215
- if (members.length === 0)
216
- continue;
217
336
  console.log(`\n${group.label}:`);
218
- for (const [i, m] of members.entries())
337
+ for (const [i, m] of group.members.entries())
219
338
  console.log(` ${i + 1}. ${m.label}`);
220
- const defaults = members.filter(m => m.default).map(m => members.indexOf(m) + 1);
339
+ const defaults = group.members.filter(m => m.default).map(m => group.members.indexOf(m) + 1);
221
340
  const defStr = group.mode === 'exclusive' ? String(defaults[0] ?? 1) : defaults.join(',');
222
341
  const raw = await ask(group.mode === 'exclusive' ? '选一个(序号)' : '选若干(逗号分隔序号,留空=默认)', defStr);
223
342
  const picks = raw
224
343
  .split(',')
225
344
  .map(s => Number.parseInt(s.trim(), 10))
226
- .filter(n => n >= 1 && n <= members.length);
345
+ .filter(n => n >= 1 && n <= group.members.length);
227
346
  const chosen = group.mode === 'exclusive' ? picks.slice(0, 1) : picks;
228
347
  for (const idx of chosen.length > 0 ? chosen : defaults)
229
- enabled.add(members[idx - 1].name);
348
+ enabled.add(group.members[idx - 1].name);
230
349
  }
231
350
  }
232
- // 微调:额外启用/禁用(可跳过)
233
- if (!skip && tier !== 'bare') {
234
- const extra = (await ask('\n额外启用的插件名(逗号分隔,留空跳过)', '')).trim();
235
- for (const n of extra
236
- .split(',')
237
- .map(s => s.trim())
238
- .filter(Boolean)) {
239
- if (known.has(n))
351
+ // live 插件目录:实时查 npm(keyword:aalis-plugin),列全生态(官方 + 社区)。
352
+ // full 档据此装全部官方插件;minimal/standard 交互档据此提供"其他插件"多选。
353
+ let catalog = null;
354
+ if (tier !== 'bare') {
355
+ catalog = await fetchCatalog(registry);
356
+ if (!catalog)
357
+ console.warn('(无法连接 npm 检索插件目录,回退离线静态表)');
358
+ }
359
+ if (tier === 'full') {
360
+ // full = 全部官方插件:live 优先,失败回退静态(baseEnabled(full) 已含 base∪extra∪groups)
361
+ if (catalog) {
362
+ for (const e of catalog)
363
+ if (e.official)
364
+ enabled.add(e.name);
365
+ }
366
+ else {
367
+ for (const n of STATIC_OTHERS)
240
368
  enabled.add(n);
241
- else
242
- console.warn(` 忽略未知插件: ${n}`);
243
369
  }
244
- const off = (await ask('额外禁用的插件名(逗号分隔,留空跳过)', '')).trim();
245
- for (const n of off
246
- .split(',')
247
- .map(s => s.trim())
248
- .filter(Boolean))
249
- enabled.delete(n);
250
370
  }
251
- const target = resolve(cwd(), CONFIG_FILE);
252
- if (existsSync(target)) {
253
- if (skip) {
254
- // 非交互模式遇已存在文件:必须 --force 才覆盖,否则明确报错(不静默跳过)
255
- if (!argv.includes('--force')) {
256
- console.error(`${CONFIG_FILE} 已存在。非交互模式(--tier/--yes)请加 --force 覆盖。`);
257
- exit(1);
371
+ else if ((tier === 'minimal' || tier === 'standard') && !skip) {
372
+ // 其他插件 live 多选(排除已启用、同类组成员、core/runtime/package-manager)
373
+ const groupMembers = new Set(GROUPS.flatMap(g => g.members.map(m => m.name)));
374
+ const exclude = new Set([
375
+ ...enabled,
376
+ ...groupMembers,
377
+ '@aalis/core',
378
+ '@aalis/runtime',
379
+ '@aalis/plugin-package-manager',
380
+ ]);
381
+ const others = (catalog ?? STATIC_OTHERS.map(n => ({ name: n, description: '', official: true }))).filter(e => !exclude.has(e.name));
382
+ if (others.length > 0) {
383
+ console.log(`\n其他可选插件(${catalog ? 'live from npm' : '离线静态表'}):`);
384
+ for (const [i, e] of others.entries()) {
385
+ console.log(` ${i + 1}. ${e.name}${e.official ? '' : ' [社区]'}${e.description ? ` — ${e.description}` : ''}`);
258
386
  }
387
+ const raw = await ask('选若干(逗号分隔序号,留空=不加)', '');
388
+ const picks = raw
389
+ .split(',')
390
+ .map(s => Number.parseInt(s.trim(), 10))
391
+ .filter(n => n >= 1 && n <= others.length);
392
+ for (const idx of picks)
393
+ enabled.add(others[idx - 1].name);
259
394
  }
260
- else {
261
- const ow = await ask(`\n${CONFIG_FILE} 已存在,覆盖?[y/N]`, 'N');
262
- if (ow.toLowerCase() !== 'y') {
263
- console.log('已取消,未写入。');
264
- exit(0);
265
- }
395
+ }
396
+ // 市场需要安装引擎:选了 WebUI 就自动带上 package-manager,否则市场页"安装"会报
397
+ // 503「package-manager 服务未启用」(webui-server 仅把它列为 dev 依赖,不会被装)。
398
+ if (enabled.has('@aalis/plugin-webui-server'))
399
+ enabled.add('@aalis/plugin-package-manager');
400
+ // 写文件
401
+ mkdirSync(targetDir, { recursive: true });
402
+ const enabledList = [...enabled];
403
+ writeFileSync(resolve(targetDir, 'package.json'), renderPackageJson(projectName, enabledList), 'utf-8');
404
+ writeFileSync(resolve(targetDir, 'index.mjs'), renderEntry(), 'utf-8');
405
+ writeFileSync(resolve(targetDir, 'aalis.config.yaml'), renderConfig(enabled), 'utf-8');
406
+ writeFileSync(resolve(targetDir, '.env.example'), renderEnvExample(enabled), 'utf-8');
407
+ writeFileSync(resolve(targetDir, '.gitignore'), renderGitignore(), 'utf-8');
408
+ writeFileSync(resolve(targetDir, 'README.md'), renderReadme(projectName, enabled), 'utf-8');
409
+ console.log(`\n✓ 已生成项目: ${targetDir}(启用 ${enabledList.length} 个插件)`);
410
+ // 安装依赖
411
+ if (!noInstall) {
412
+ console.log('\n正在 npm install(可能需要几分钟)…\n');
413
+ const r = spawnSync('npm', ['install'], {
414
+ cwd: targetDir,
415
+ stdio: 'inherit',
416
+ shell: process.platform === 'win32',
417
+ });
418
+ if (r.status !== 0) {
419
+ console.error('\nnpm install 失败。可手动进入目录重试:');
420
+ console.error(` cd ${projectName} && npm install`);
421
+ exit(1);
266
422
  }
267
423
  }
268
- writeFileSync(target, renderConfig(all, enabled), 'utf-8');
269
- console.log(`\n✓ 已写入 ${CONFIG_FILE}:启用 ${enabled.size} / ${all.length} 个插件。`);
270
- console.log(' 启动:pnpm dev 然后在 WebUI 配置页填写 API key / 平台 token。\n');
424
+ console.log('\n下一步:');
425
+ if (noInstall)
426
+ console.log(` cd ${projectName} && npm install`);
427
+ else
428
+ console.log(` cd ${projectName}`);
429
+ const needsEnv = enabledList.some(n => KNOWN_CONFIG[n]?.env?.length);
430
+ if (needsEnv)
431
+ console.log(' cp .env.example .env # 填入 API key');
432
+ console.log(' npm start');
433
+ console.log('');
271
434
  }
272
435
  finally {
273
436
  rl.close();
274
437
  }
275
438
  }
276
- main().catch(err => {
277
- console.error(err);
278
- exit(1);
279
- });
439
+ // 仅在作为 CLI 直接执行时运行 main;被 import(单测纯函数)时不自动跑。
440
+ if (argv[1] && import.meta.url === pathToFileURL(argv[1]).href) {
441
+ main().catch(err => {
442
+ console.error(err);
443
+ exit(1);
444
+ });
445
+ }
280
446
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "create-aalis",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
+ "license": "MIT",
4
5
  "description": "Aalis 快速初始化脚手架:交互式选插件,生成 aalis.config.yaml。",
5
6
  "type": "module",
6
7
  "bin": {