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 +21 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +303 -137
- package/dist/cli.js.map +1 -1
- package/package.json +2 -1
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-
|
|
6
|
-
// create
|
|
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
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
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
|
-
//
|
|
13
|
-
//
|
|
13
|
+
// 选插件心智:模板(bare/minimal/standard/full)+ 同类适配器组(LLM/平台/记忆/
|
|
14
|
+
// embedding/向量库)交互选用哪些,避免同类全塞冲突。所选插件即写入 dependencies,
|
|
15
|
+
// 由 @aalis/runtime 的 node_modules 加载器在启动时发现并加载。
|
|
14
16
|
// ============================================================
|
|
15
|
-
import {
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
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',
|
|
26
|
-
'@aalis/plugin-process-local',
|
|
27
|
-
'@aalis/plugin-gateway',
|
|
28
|
-
'@aalis/plugin-commands',
|
|
29
|
-
'@aalis/plugin-flow-control',
|
|
30
|
-
'@aalis/plugin-agent',
|
|
31
|
-
'@aalis/plugin-tools',
|
|
32
|
-
'@aalis/plugin-prompt-budget',
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
'
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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('
|
|
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
|
-
|
|
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
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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
|
|
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 =
|
|
198
|
-
|
|
199
|
-
|
|
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
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
.
|
|
239
|
-
|
|
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
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
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
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
|
277
|
-
|
|
278
|
-
|
|
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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"}
|