66 lines
4.0 KiB
JavaScript
66 lines
4.0 KiB
JavaScript
#!/usr/bin/env node
|
||
/**
|
||
* 光湖驱动引擎 · 单行安装命令生成器
|
||
* Guanghu Drive Engine · One-liner Installer Generator
|
||
*
|
||
* 用途:生成一行命令,粘贴到任何服务器的终端即可安装引擎
|
||
*
|
||
* 运行:node scripts/engine-one-liner.js
|
||
* 输出:一行 curl | bash 命令
|
||
*
|
||
* 版权:国作登字-2026-A-00037559 · TCS-0002∞
|
||
*/
|
||
|
||
const fs = require('fs');
|
||
const path = require('path');
|
||
|
||
// 引擎代码路径(gatekeeper/index.js)
|
||
const ENGINE_PATH = path.join(__dirname, '..', 'mcp-servers', 'zhuyuan-gateway', 'gatekeeper', 'index.js');
|
||
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
// 第一步:读取引擎代码
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
|
||
const engineCode = fs.readFileSync(ENGINE_PATH, 'utf-8');
|
||
const engineBase64 = Buffer.from(engineCode).toString('base64');
|
||
|
||
// 生成引擎文件名(带随机后缀防止多台服务器文件名冲突)
|
||
const FILENAME = 'ge.js';
|
||
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
// 第二步:生成安装命令
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
|
||
const oneLiner = `echo '${engineBase64}' | base64 -d > /tmp/${FILENAME} && node /tmp/${FILENAME} 3910 &`;
|
||
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
// 第三步:输出
|
||
// ██████████████████████████████████████████████████████████████████████
|
||
|
||
console.log('');
|
||
console.log('╔══════════════════════════════════════════════════════════════╗');
|
||
console.log('║ 光湖驱动引擎 · 单行安装命令 ║');
|
||
console.log('╚══════════════════════════════════════════════════════════════╝');
|
||
console.log('');
|
||
console.log('▶ 复制下面这一整行命令,粘贴到服务器的终端,按回车:');
|
||
console.log('');
|
||
console.log(oneLiner);
|
||
console.log('');
|
||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||
console.log('');
|
||
console.log('安装后:');
|
||
console.log(' 1. 引擎会在端口 3910 启动');
|
||
console.log(' 2. 第一次启动会自动生成 API 密钥');
|
||
console.log(' 3. 密钥显示在终端上(只看一次!)');
|
||
console.log(' 4. 把密钥复制下来发给铸渊');
|
||
console.log(' 5. 要验证: curl -X POST http://127.0.0.1:3910/health');
|
||
console.log('');
|
||
console.log('密钥保存在: ~/.gatekeeper/secret');
|
||
console.log('');
|
||
|
||
// 同时统计信息
|
||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||
console.log(` 引擎代码: ${engineCode.length} 字符`);
|
||
console.log(` 打包后: ${engineBase64.length} 字符`);
|
||
console.log(` 单行命令: ${oneLiner.length} 字符`);
|
||
console.log(''); |