diff --git a/src/onebot11/server/ws/ReverseWebsocket.ts b/src/onebot11/server/ws/ReverseWebsocket.ts
index 1f72b74..0f5da84 100644
--- a/src/onebot11/server/ws/ReverseWebsocket.ts
+++ b/src/onebot11/server/ws/ReverseWebsocket.ts
@@ -7,9 +7,10 @@ import {ActionName} from "../../action/types";
 import {OB11Response} from "../../action/utils";
 import BaseAction from "../../action/BaseAction";
 import {actionMap} from "../../action";
-import {registerWsEventSender, unregisterWsEventSender} from "../postOB11Event";
+import {postWsEvent, registerWsEventSender, unregisterWsEventSender} from "../postOB11Event";
 import {wsReply} from "./reply";
 import {WebSocket as WebSocketClass} from "ws";
+import {OB11HeartbeatEvent} from "../../event/meta/OB11HeartbeatEvent";
 
 export let rwsList: ReverseWebsocket[] = [];
 
@@ -76,7 +77,7 @@ export class ReverseWebsocket {
     }
 
     private connect() {
-        const {token} = getConfigUtil().getConfig()
+        const {token, heartInterval} = getConfigUtil().getConfig()
         this.websocket = new WebSocketClass(this.url, {
             handshakeTimeout: 2000,
             perMessageDeflate: false,
@@ -101,7 +102,11 @@ export class ReverseWebsocket {
 
         this.websocket.on("error", log);
 
+        const wsClientInterval = setInterval(() => {
+            postWsEvent(new OB11HeartbeatEvent(selfInfo.online, true, heartInterval));
+        }, heartInterval);  // 心跳包
         this.websocket.on("close", () => {
+            clearInterval(wsClientInterval);
             log("The websocket connection: " + this.url + " closed, trying reconnecting...");
             this.onclose();
         });
diff --git a/src/onebot11/server/ws/WebsocketServer.ts b/src/onebot11/server/ws/WebsocketServer.ts
index a002011..7d13b65 100644
--- a/src/onebot11/server/ws/WebsocketServer.ts
+++ b/src/onebot11/server/ws/WebsocketServer.ts
@@ -10,6 +10,7 @@ import {OB11HeartbeatEvent} from "../../event/meta/OB11HeartbeatEvent";
 import {WebsocketServerBase} from "../../../common/server/websocket";
 import {IncomingMessage} from "node:http";
 import {wsReply} from "./reply";
+import {selfInfo} from "../../../common/data";
 
 let heartbeatRunning = false;
 
@@ -58,7 +59,7 @@ class OB11WebsocketServer extends WebsocketServerBase {
             }
             const {heartInterval} = getConfigUtil().getConfig();
             const wsClientInterval = setInterval(() => {
-                postWsEvent(new OB11HeartbeatEvent(true, true, heartInterval));
+                postWsEvent(new OB11HeartbeatEvent(selfInfo.online, true, heartInterval));
             }, heartInterval);  // 心跳包
             wsClient.on("close", () => {
                 log("event上报ws客户端已断开")
diff --git a/src/renderer/index.ts b/src/renderer/index.ts
index 033ebd6..e525ec9 100644
--- a/src/renderer/index.ts
+++ b/src/renderer/index.ts
@@ -74,7 +74,7 @@ async function onSettingWindowCreated(view: Element) {
                 </setting-item>
                 <div id="config-ob11-wsHosts-list"></div>
             </div>`,
-            SettingItem('反向 WebSocket 服务心跳间隔',
+            SettingItem(' WebSocket 服务心跳间隔',
                 '控制每隔多久发送一个心跳包,单位为毫秒',
                 `<div class="q-input"><input class="q-input__inner" data-config-key="heartInterval" type="number" min="1000" value="${config.heartInterval}" placeholder="${config.heartInterval}" /></div>`,
             ),