mirror of
https://github.com/hicccc77/WeFlow.git
synced 2026-04-08 15:08:44 +00:00
Compare commits
1 Commits
dev
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75c754baf0 |
@@ -15,8 +15,10 @@
|
|||||||
|
|
||||||
import https from 'https'
|
import https from 'https'
|
||||||
import http from 'http'
|
import http from 'http'
|
||||||
|
import fs from 'fs'
|
||||||
|
import path from 'path'
|
||||||
import { URL } from 'url'
|
import { URL } from 'url'
|
||||||
import { Notification } from 'electron'
|
import { app, Notification } from 'electron'
|
||||||
import { ConfigService } from './config'
|
import { ConfigService } from './config'
|
||||||
import { chatService, ChatSession, Message } from './chatService'
|
import { chatService, ChatSession, Message } from './chatService'
|
||||||
|
|
||||||
@@ -51,17 +53,33 @@ interface TodayTriggerRecord {
|
|||||||
timestamps: number[]
|
timestamps: number[]
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─── 日志 ─────────────────────────────────────────────────────────────────────
|
// ─── 桌面日志 ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仅输出到 console,不落盘到文件。
|
* 将日志同时输出到 console 和桌面上的 weflow-insight.log 文件。
|
||||||
|
* 文件名带当天日期,每天自动换一个新文件,旧文件保留。
|
||||||
*/
|
*/
|
||||||
function insightLog(level: 'INFO' | 'WARN' | 'ERROR', message: string): void {
|
function insightLog(level: 'INFO' | 'WARN' | 'ERROR', message: string): void {
|
||||||
|
const now = new Date()
|
||||||
|
const dateStr = now.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }).replace(/\//g, '-')
|
||||||
|
const timeStr = now.toLocaleTimeString('zh-CN', { hour12: false })
|
||||||
|
const line = `[${dateStr} ${timeStr}] [${level}] ${message}\n`
|
||||||
|
|
||||||
|
// 同步到 console
|
||||||
if (level === 'ERROR' || level === 'WARN') {
|
if (level === 'ERROR' || level === 'WARN') {
|
||||||
console.warn(`[InsightService] ${message}`)
|
console.warn(`[InsightService] ${message}`)
|
||||||
} else {
|
} else {
|
||||||
console.log(`[InsightService] ${message}`)
|
console.log(`[InsightService] ${message}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 异步写入桌面日志文件,避免同步磁盘 I/O 阻塞 Electron 主线程事件循环
|
||||||
|
try {
|
||||||
|
const desktopPath = app.getPath('desktop')
|
||||||
|
const logFile = path.join(desktopPath, `weflow-insight-${dateStr}.log`)
|
||||||
|
fs.appendFile(logFile, line, 'utf-8', () => { /* 失败静默处理 */ })
|
||||||
|
} catch {
|
||||||
|
// getPath 失败时静默处理
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ─── 工具函数 ─────────────────────────────────────────────────────────────────
|
// ─── 工具函数 ─────────────────────────────────────────────────────────────────
|
||||||
@@ -227,18 +245,11 @@ class InsightService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop(): void {
|
stop(): void {
|
||||||
const hadActiveFlow =
|
|
||||||
this.dbDebounceTimer !== null ||
|
|
||||||
this.silenceScanTimer !== null ||
|
|
||||||
this.silenceInitialDelayTimer !== null ||
|
|
||||||
this.processing
|
|
||||||
this.started = false
|
this.started = false
|
||||||
this.clearTimers()
|
this.clearTimers()
|
||||||
this.clearRuntimeCache()
|
this.clearRuntimeCache()
|
||||||
this.processing = false
|
this.processing = false
|
||||||
if (hadActiveFlow) {
|
insightLog('INFO', '已停止')
|
||||||
insightLog('INFO', '已停止')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async handleConfigChanged(key: string): Promise<void> {
|
async handleConfigChanged(key: string): Promise<void> {
|
||||||
|
|||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -20,7 +20,7 @@
|
|||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"jieba-wasm": "^2.2.0",
|
"jieba-wasm": "^2.2.0",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"koffi": "^2.9.0",
|
"koffi": "^2.15.6",
|
||||||
"lucide-react": "^1.7.0",
|
"lucide-react": "^1.7.0",
|
||||||
"react": "^19.2.3",
|
"react": "^19.2.3",
|
||||||
"react-dom": "^19.2.3",
|
"react-dom": "^19.2.3",
|
||||||
@@ -6537,9 +6537,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/koffi": {
|
"node_modules/koffi": {
|
||||||
"version": "2.15.2",
|
"version": "2.15.6",
|
||||||
"resolved": "https://registry.npmjs.org/koffi/-/koffi-2.15.2.tgz",
|
"resolved": "https://registry.npmjs.org/koffi/-/koffi-2.15.6.tgz",
|
||||||
"integrity": "sha512-r9tjJLVRSOhCRWdVyQlF3/Ugzeg13jlzS4czS82MAgLff4W+BcYOW7g8Y62t9O5JYjYOLAjAovAZDNlDfZNu+g==",
|
"integrity": "sha512-WQBpM5uo74UQ17UpsFN+PUOrQQg4/nYdey4SGVluQun2drYYfePziLLWdSmFb4wSdWlJC1aimXQnjhPCheRKuw==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"jieba-wasm": "^2.2.0",
|
"jieba-wasm": "^2.2.0",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"koffi": "^2.9.0",
|
"koffi": "^2.15.6",
|
||||||
"lucide-react": "^1.7.0",
|
"lucide-react": "^1.7.0",
|
||||||
"react": "^19.2.3",
|
"react": "^19.2.3",
|
||||||
"react-dom": "^19.2.3",
|
"react-dom": "^19.2.3",
|
||||||
|
|||||||
Reference in New Issue
Block a user