苹果有bark,安卓的bark不好用,并且不太喜欢使用邮箱和TG推送,还是比较习惯使用Server酱3推送,可以免费使用国内手机的云通知,不占后台。小米实测是延迟很低。
不过看了看Komari里面连server酱收费的通知都没有,让ai分析了一下,使用get和post通知的方式也不行,已经写死了,不能添加变量。看到可以使用js的方式推送,于是让AI试了试,AI真好用!
下面const sendkey后面写你的sendkey, const url后面的UID记得换成你自己的Server酱3的UID
可能有很多错误,不会编程,大家凑合用。

// Server酱3 推送函数async function pushToServerChan(title, desp) {    const sendkey = '这里写你Server酱3的sendkey';  // 你的 sendkey    const url = `https://UID.push.ft07.com/send/${sendkey}.send?title=${encodeURIComponent(title)}&desp=${encodeURIComponent(desp)}`;        try {        const response = await fetch(url, { method: 'GET' });        const result = await response.json();        console.log('推送结果:', result);        return result.code === 0;    } catch (error) {        console.error('推送失败:', error);        return false;    }}// 格式化时间:把 ISO 时间转成 YYYY-MM-DD HH:MM:SSfunction formatTime(isoTime) {    if (!isoTime) return new Date().toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });  // 默认当前时间(北京时间)    const date = new Date(isoTime);    return date.toLocaleString('zh-CN', {         year: 'numeric', month: '2-digit', day: '2-digit',        hour: '2-digit', minute: '2-digit', second: '2-digit',        timeZone: 'Asia/Shanghai'  // 改成你的时区,比如想用 UTC 就删掉这行    }).replace(/\//g, '-');}// 主推送函数(处理完整事件)function sendEvent(event) {    if (!event) return false;    const emoji = event.emoji || '🔴';    const client = event.clients?.map(c => c.name).join(', ') || event.client || '未知服务器';    const eventType = event.event || '未知事件';    const rawTime = event.time || new Date().toISOString();    const msg = event.message?.trim() || '';    const title = `${emoji} ${client} ${eventType}`;    const formattedTime = formatTime(rawTime);    // 如果 msg 为空,补充提示    const detailMsg = msg || (eventType.includes('Offline') ? '服务器已离线,请检查网络、电源或服务状态。' :                              eventType.includes('Online') ? '服务器已恢复上线。' : '无额外详细信息。');    const desp = `**时间**:${formattedTime}\n\n**服务器**:${client}\n**事件**:${eventType}\n\n**详细信息**:${detailMsg}`;    pushToServerChan(title, desp);    return true;}// 测试通知也用这个(可选优化)function sendMessage(message, title) {    const defaultTitle = title || 'Komari 测试通知';    const defaultDesp = message || '这是一条测试消息,一切正常!';    pushToServerChan(defaultTitle, defaultDesp);    return true;}

我这里使用的消息通知模板是下面这个
{{emoji}}{{emoji}}{{emoji}}
事件:{{event}}
服务器:{{client}}
消息:{{message}}
时间:{{time}}