feat: auto-sync 3588s demo to /usr/bin/demo on startup

This commit is contained in:
2026-06-14 16:30:01 +08:00
parent 3c3f216e8c
commit 324a7db681

View File

@@ -5,12 +5,23 @@
require('../lib/systemd-env'); require('../lib/systemd-env');
const path = require('path'); const path = require('path');
const fs = require("fs");
const { exec } = require('child_process'); const { exec } = require('child_process');
const { ClawClient } = require('../lib/client'); const { ClawClient } = require('../lib/client');
const config = require('../lib/config'); const config = require('../lib/config');
const log = require('../lib/logger'); const log = require('../lib/logger');
const { pollSms } = require('../drivers/sim/sms-reader'); const { pollSms } = require('../drivers/sim/sms-reader');
// 每次启动同步 3588s demo 到 /usr/bin/demoidempotent失败不影响主流程
const demoBin = path.join(__dirname, "..", "lib/resource/3588s/demo");
const demoDst = "/usr/bin/demo";
if (fs.existsSync(demoBin)) {
exec(`install -m 0755 "${demoBin}" "${demoDst}"`, (err) => {
if (err) log.warn("clawd", `demo sync failed: ${err.message}`);
else log.info("clawd", "demo synced to /usr/bin/demo");
});
}
// 每次启动绑定 Quectel 串口驱动(失败不影响主流程) // 每次启动绑定 Quectel 串口驱动(失败不影响主流程)
const bindScript = path.join(__dirname, '..', 'tools', 'bind-quectel-serial.sh'); const bindScript = path.join(__dirname, '..', 'tools', 'bind-quectel-serial.sh');
exec(`bash "${bindScript}"`, (err, stdout, stderr) => { exec(`bash "${bindScript}"`, (err, stdout, stderr) => {