feat: 巡检增强 / 拓扑大屏 / 远程 HTTP / portable 绿色打包
Some checks failed
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
Some checks failed
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
巡检模块:巡检调度器改为轮询驱动,新增每日报告存储、告警规则独立 Store、设备 Store 解耦,_executeSnapshot 补齐 DEBUG 声明,巡检中心 与告警中心页增强。 拓扑大屏:MonitoringTopologyView 扩展分组/布局控制, useMonitoringData 重构数据流。 远程 HTTP:新增 electron/remoteHttpServer.cjs,preload/api.cjs 暴露 IPC,registerBridges 注册 netcatty:http:open 桥。 portable 绿色打包: - electron-builder.config.cjs 恢复原始白名单(61MB app.asar), 收集器自动追踪运行时依赖; - portableData.cjs 重写为 .portable 标记检测; - scripts/migratePortableLocalStorage.cjs 离线脚本把 Local Storage 的 http://localhost:5173 origin 批量迁移为 app://netcatty; - scripts/scanWorkspaceDeps.cjs 扫描 workspace 运行时依赖。
This commit is contained in:
@@ -2081,6 +2081,7 @@ function createPreloadApi(ctx) {
|
||||
getAllExtensions: () => ipcRenderer.invoke("inspection:getAllExtensions"),
|
||||
getExtension: (hostId) => ipcRenderer.invoke("inspection:getExtension", hostId),
|
||||
upsertExtension: (hostId, data) => ipcRenderer.invoke("inspection:upsertExtension", hostId, data),
|
||||
batchSetInspectionEnabled: (enabled) => ipcRenderer.invoke("inspection:batchSetInspectionEnabled", enabled),
|
||||
deleteExtension: (hostId) => ipcRenderer.invoke("inspection:deleteExtension", hostId),
|
||||
getEffectiveInterval: (hostId) => ipcRenderer.invoke("inspection:getEffectiveInterval", hostId),
|
||||
getEnabledDevices: () => ipcRenderer.invoke("inspection:getEnabledDevices"),
|
||||
@@ -2105,6 +2106,8 @@ function createPreloadApi(ctx) {
|
||||
schedulerStatus: () => ipcRenderer.invoke("inspection:scheduler:status"),
|
||||
scanNow: (hostId) => ipcRenderer.invoke("inspection:scheduler:scanNow", hostId),
|
||||
scanAllNow: () => ipcRenderer.invoke("inspection:scheduler:scanAllNow"),
|
||||
getAutoEnabled: () => ipcRenderer.invoke("inspection:scheduler:getAutoEnabled"),
|
||||
setAutoEnabled: (enabled) => ipcRenderer.invoke("inspection:scheduler:setAutoEnabled", enabled),
|
||||
runInspection: (payload) => ipcRenderer.invoke("inspection:runInspection", payload),
|
||||
runSingleCommand: (payload) => ipcRenderer.invoke("inspection:runSingleCommand", payload),
|
||||
// 巡检报告快照
|
||||
@@ -2116,6 +2119,23 @@ function createPreloadApi(ctx) {
|
||||
saveReportAiSummary: (snapshotId, aiSummary) => ipcRenderer.invoke("inspection:saveReportAiSummary", { snapshotId, aiSummary }),
|
||||
clearReportAiSummary: (snapshotId) => ipcRenderer.invoke("inspection:clearReportAiSummary", { snapshotId }),
|
||||
runReportAiSummary: (snapshotId, providerId) => ipcRenderer.invoke("inspection:runReportAiSummary", { snapshotId, providerId }),
|
||||
// 拓扑位置持久化(供远程浏览器同步读取)
|
||||
saveTopologyPositions: (positions) => ipcRenderer.invoke("inspection:saveTopologyPositions", positions),
|
||||
getTopologyPositions: () => ipcRenderer.invoke("inspection:getTopologyPositions"),
|
||||
// 监控大屏标题同步
|
||||
saveDashboardTitle: (title) => ipcRenderer.invoke("inspection:saveDashboardTitle", title),
|
||||
getDashboardTitle: () => ipcRenderer.invoke("inspection:getDashboardTitle"),
|
||||
saveProductName: (name) => ipcRenderer.invoke("inspection:saveProductName", name),
|
||||
getProductName: () => ipcRenderer.invoke("inspection:getProductName"),
|
||||
saveReportProductName: (name) => ipcRenderer.invoke("inspection:saveReportProductName", name),
|
||||
getReportProductName: () => ipcRenderer.invoke("inspection:getReportProductName"),
|
||||
saveVaultHosts: (hosts) => ipcRenderer.invoke("inspection:saveVaultHosts", hosts),
|
||||
getVaultHosts: () => ipcRenderer.invoke("inspection:getVaultHosts"),
|
||||
// Vault 通用数据同步(keys/proxies/port_forwards/snippets/notes/known_hosts/connection_logs/groups/identities)
|
||||
syncVaultData: (key, data) => ipcRenderer.invoke("inspection:syncVault:" + key, data),
|
||||
getVaultData: (key) => ipcRenderer.invoke("inspection:getVault:" + key),
|
||||
saveTopologyLinks: (links) => ipcRenderer.invoke("inspection:saveTopologyLinks", links),
|
||||
getTopologyLinks: () => ipcRenderer.invoke("inspection:getTopologyLinks"),
|
||||
// 巡检报告调度配置
|
||||
getReportSchedule: () => ipcRenderer.invoke("inspection:getReportSchedule"),
|
||||
saveReportSchedule: (config) => ipcRenderer.invoke("inspection:saveReportSchedule", config),
|
||||
@@ -2143,6 +2163,12 @@ function createPreloadApi(ctx) {
|
||||
return () => ipcRenderer.removeListener("inspection:ruleChanged", handler);
|
||||
},
|
||||
},
|
||||
|
||||
// ─── 远程 HTTP Server(浏览器访问单机版) ───
|
||||
remoteHttp: {
|
||||
getStatus: () => ipcRenderer.invoke("remoteHttp:getStatus"),
|
||||
configure: (enabled, port) => ipcRenderer.invoke("remoteHttp:configure", enabled, port),
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user