@vima_tech/flywheel 1.2.0 → 1.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.
- package/bin/flywheel.js +17 -3
- package/package.json +4 -2
- package/scripts/flywheel-install.sh +11 -11
package/bin/flywheel.js
CHANGED
|
@@ -3,6 +3,7 @@ const { spawn, execSync } = require('child_process');
|
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const os = require('os');
|
|
6
|
+
const readline = require('readline');
|
|
6
7
|
|
|
7
8
|
const NPM_PKG = '@vima_tech/flywheel';
|
|
8
9
|
|
|
@@ -126,7 +127,7 @@ async function cmdNew(args) {
|
|
|
126
127
|
}
|
|
127
128
|
|
|
128
129
|
let agent = 'claude';
|
|
129
|
-
let skill = '
|
|
130
|
+
let skill = '';
|
|
130
131
|
|
|
131
132
|
for (let i = 1; i < args.length; i++) {
|
|
132
133
|
if (args[i] === '--agent' && args[i + 1]) {
|
|
@@ -145,7 +146,7 @@ async function cmdNew(args) {
|
|
|
145
146
|
console.log(' 项目: ' + projectName);
|
|
146
147
|
console.log(' 目录: ' + targetDir);
|
|
147
148
|
console.log(' Agent: ' + agent);
|
|
148
|
-
console.log(' Skill: ' + skill);
|
|
149
|
+
console.log(' Skill: ' + (skill || '无(后续手动添加)'));
|
|
149
150
|
console.log('');
|
|
150
151
|
|
|
151
152
|
console.log('📦 初始化内核文件...');
|
|
@@ -153,6 +154,13 @@ async function cmdNew(args) {
|
|
|
153
154
|
await initKernel(targetDir, skill);
|
|
154
155
|
console.log(' ✓ 内核安装完成');
|
|
155
156
|
|
|
157
|
+
if (!skill) {
|
|
158
|
+
console.log('');
|
|
159
|
+
console.log(' ℹ 未指定 skill,可后续安装:');
|
|
160
|
+
console.log(' flywheel install req-mining');
|
|
161
|
+
console.log(' flywheel available # 查看可用 skill');
|
|
162
|
+
}
|
|
163
|
+
|
|
156
164
|
console.log('');
|
|
157
165
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
158
166
|
console.log(' ✅ 项目创建完成!');
|
|
@@ -354,7 +362,7 @@ switch (command) {
|
|
|
354
362
|
case '--version':
|
|
355
363
|
case '-V':
|
|
356
364
|
case 'version':
|
|
357
|
-
console.log('@vima_tech/flywheel v1.2.
|
|
365
|
+
console.log('@vima_tech/flywheel v1.2.2');
|
|
358
366
|
break;
|
|
359
367
|
case 'new':
|
|
360
368
|
case 'create':
|
|
@@ -397,6 +405,7 @@ Flywheel CLI — 自成长 AI Agent 飞轮框架
|
|
|
397
405
|
flywheel upgrade # 升级工具 + 交互更新项目框架
|
|
398
406
|
flywheel upgrade ./my-project # 更新指定项目框架
|
|
399
407
|
flywheel update -x http://127.0.0.1:7890
|
|
408
|
+
flywheel available # 查看可安装的 skill
|
|
400
409
|
`);
|
|
401
410
|
break;
|
|
402
411
|
case 'install':
|
|
@@ -404,6 +413,11 @@ Flywheel CLI — 自成长 AI Agent 飞轮框架
|
|
|
404
413
|
case 'i':
|
|
405
414
|
runScript(resolveScript('flywheel-install'), ['add', ...restArgs]).catch((e) => process.exit(1));
|
|
406
415
|
break;
|
|
416
|
+
case 'available':
|
|
417
|
+
case 'avail':
|
|
418
|
+
case 'search':
|
|
419
|
+
runScript(resolveScript('flywheel-install'), ['available']).catch((e) => process.exit(1));
|
|
420
|
+
break;
|
|
407
421
|
case 'list':
|
|
408
422
|
case 'ls':
|
|
409
423
|
runScript(resolveScript('flywheel-install'), ['list']).catch((e) => process.exit(1));
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vima_tech/flywheel",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "自成长 AI Agent 飞轮框架 — 让任何需要积累迭代的 AI 工作流都能自我进化",
|
|
5
5
|
"main": "bin/flywheel.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"flywheel": "./bin/flywheel.js"
|
|
7
|
+
"flywheel": "./bin/flywheel.js",
|
|
8
|
+
"fw": "./bin/flywheel.js",
|
|
9
|
+
"fly": "./bin/flywheel.js"
|
|
8
10
|
},
|
|
9
11
|
"files": [
|
|
10
12
|
"bin/",
|
|
@@ -53,16 +53,15 @@ cmd_available() {
|
|
|
53
53
|
echo "━━━ 可安装 Skill 包 ━━━"
|
|
54
54
|
local available_file="$SCRIPT_DIR/available.json"
|
|
55
55
|
if [ -f "$available_file" ]; then
|
|
56
|
-
python3 -
|
|
57
|
-
import json
|
|
58
|
-
with open(
|
|
56
|
+
python3 -c "
|
|
57
|
+
import json
|
|
58
|
+
with open('$available_file') as f:
|
|
59
59
|
data = json.load(f)
|
|
60
60
|
for s in data.get('skills', []):
|
|
61
|
-
print(f" - {s['name']} v{s['version']} - {s['description']}")
|
|
62
|
-
|
|
63
|
-
"$available_file"
|
|
61
|
+
print(f\" - {s['name']} v{s['version']} - {s['description']}\")
|
|
62
|
+
"
|
|
64
63
|
else
|
|
65
|
-
echo " (无可用 skill
|
|
64
|
+
echo " (无可用 skill)"
|
|
66
65
|
fi
|
|
67
66
|
echo ""
|
|
68
67
|
echo "安装 skill:flywheel install <skill-name>"
|
|
@@ -133,11 +132,12 @@ cmd_update() {
|
|
|
133
132
|
}
|
|
134
133
|
|
|
135
134
|
case "$CMD" in
|
|
136
|
-
list)
|
|
137
|
-
add)
|
|
138
|
-
update)
|
|
135
|
+
list) cmd_list ;;
|
|
136
|
+
add) cmd_add "$TARGET" ;;
|
|
137
|
+
update) cmd_update ;;
|
|
138
|
+
available) cmd_available ;;
|
|
139
139
|
*)
|
|
140
|
-
echo "用法:$0 list | add <skill> | update [skill]"
|
|
140
|
+
echo "用法:$0 list | add <skill> | update [skill] | available"
|
|
141
141
|
exit 1
|
|
142
142
|
;;
|
|
143
143
|
esac
|