#!/usr/bin/env node /** * OpenClaw 桥接脚本 * * 功能: * 1. 从 OpenClaw 接收消息 * 2. 调用上传脚本 * 3. 回复结果 * * 使用方式(由 OpenClaw 调用): * node scripts/openclaw-bridge.js [args...] */ const { exec } = require('child_process'); const path = require('path'); const UPLOAD_SCRIPT = path.join(__dirname, 'upload-to-qiniu.js'); // 从命令行获取参数 const args = process.argv.slice(2); const command = args[0]; if (!command) { console.error('用法:node openclaw-bridge.js [args...]'); console.error('命令:upload, config, help'); process.exit(1); } // 执行对应的命令 switch (command) { case 'upload': executeUpload(args.slice(1)); break; case 'config': executeConfig(args.slice(1)); break; case 'help': executeHelp(); break; default: console.error(`未知命令:${command}`); process.exit(1); } function executeUpload(uploadArgs) { const cmd = `node ${UPLOAD_SCRIPT} upload ${uploadArgs.join(' ')}`; console.log(`执行:${cmd}`); exec(cmd, (error, stdout, stderr) => { if (error) { console.error(`上传失败:${error.message}`); console.error(stderr); process.exit(1); } console.log(stdout); }); } function executeConfig(configArgs) { const cmd = `node ${UPLOAD_SCRIPT} config ${configArgs.join(' ')}`; console.log(`执行:${cmd}`); exec(cmd, (error, stdout, stderr) => { if (error) { console.error(`配置操作失败:${error.message}`); console.error(stderr); process.exit(1); } console.log(stdout); }); } function executeHelp() { const cmd = `node ${UPLOAD_SCRIPT} --help`; exec(cmd, (error, stdout, stderr) => { if (error) { // 忽略帮助命令的错误 } console.log(stdout); }); }