feat: skills delete — 交互式删除用户 Skill
新增 ias skills delete: 扫描 skills/ 目录,列出所有用户 Skill MultiSelect TUI 选择要删除的 Skill 确认后 remove_dir_all 物理删除
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* 旅游规划脚本
|
||||
* 使用方法:
|
||||
* node scripts/travel-planner.js --city=北京 --interests=景点,美食,酒店 --routeType=walking
|
||||
*/
|
||||
|
||||
const { travelPlanner } = require('../index');
|
||||
|
||||
// 解析命令行参数
|
||||
function parseArgs() {
|
||||
const args = {};
|
||||
process.argv.slice(2).forEach(arg => {
|
||||
if (arg.startsWith('--')) {
|
||||
const [key, value] = arg.slice(2).split('=');
|
||||
args[key] = value;
|
||||
}
|
||||
});
|
||||
return args;
|
||||
}
|
||||
|
||||
// 主函数
|
||||
async function main() {
|
||||
const args = parseArgs();
|
||||
|
||||
// 检查必需参数
|
||||
if (!args.city) {
|
||||
console.error('❌ 缺少必需参数: --city');
|
||||
console.log('\n使用方法:');
|
||||
console.log('node scripts/travel-planner.js --city=城市名 [--interests=兴趣点1,兴趣点2] [--routeType=路线类型]');
|
||||
console.log('\n示例:');
|
||||
console.log('node scripts/travel-planner.js --city=北京 --interests=景点,美食,酒店 --routeType=walking');
|
||||
console.log('\n路线类型选项:');
|
||||
console.log(' walking - 步行(默认)');
|
||||
console.log(' driving - 驾车');
|
||||
console.log(' riding - 骑行');
|
||||
console.log(' transfer - 公交');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// 解析兴趣点
|
||||
const interests = args.interests ? args.interests.split(',') : ['景点', '美食'];
|
||||
const routeType = args.routeType || 'walking';
|
||||
|
||||
// 验证路线类型
|
||||
const validRouteTypes = ['walking', 'driving', 'riding', 'transfer'];
|
||||
if (!validRouteTypes.includes(routeType)) {
|
||||
console.error(`❌ 无效的路线类型: ${routeType}`);
|
||||
console.log('有效的路线类型:', validRouteTypes.join(', '));
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await travelPlanner({
|
||||
city: args.city,
|
||||
interests: interests,
|
||||
routeType: routeType
|
||||
});
|
||||
|
||||
if (result && result.pois.length > 0) {
|
||||
console.log('═'.repeat(80));
|
||||
console.log('\n📊 规划数据统计:');
|
||||
console.log(` 兴趣点数量: ${result.pois.length} 个`);
|
||||
console.log(` 路线数量: ${result.mapTaskData.filter(item => item.type === 'route').length} 条`);
|
||||
console.log(` 出行方式: ${routeType === 'walking' ? '步行' : routeType === 'driving' ? '驾车' : routeType === 'riding' ? '骑行' : '公交'}`);
|
||||
console.log('\n' + '═'.repeat(80));
|
||||
console.log('\n🎉 规划完成!\n');
|
||||
console.log('📋 数据格式符合 MapTaskData 接口规范');
|
||||
console.log(' - PoiTask: 兴趣点任务');
|
||||
console.log(' - RouteTask: 路线规划任务\n');
|
||||
} else {
|
||||
console.log('\n❌ 未找到相关地点,请尝试更换关键词或城市。');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('\n❌ 执行失败:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
// 执行主函数
|
||||
main();
|
||||
Reference in New Issue
Block a user