更新探测版插件:将探测结果写入日志文件
This commit is contained in:
@@ -1,9 +1,31 @@
|
||||
import { Plugin } from "@opencode/plugin/tui"
|
||||
import { appendFileSync, mkdirSync, existsSync } from "fs"
|
||||
import { join } from "path"
|
||||
|
||||
// 日志文件路径
|
||||
const LOG_DIR = "C:\\Users\\ypshidifu\\.config\\opencode"
|
||||
const LOG_FILE = join(LOG_DIR, "oc-session-all.log")
|
||||
|
||||
// 确保日志目录存在
|
||||
if (!existsSync(LOG_DIR)) {
|
||||
mkdirSync(LOG_DIR, { recursive: true })
|
||||
}
|
||||
|
||||
function log(msg) {
|
||||
const timestamp = new Date().toISOString()
|
||||
const line = `[${timestamp}] ${msg}\n`
|
||||
try {
|
||||
appendFileSync(LOG_FILE, line)
|
||||
} catch (e) {
|
||||
// 忽略写入错误
|
||||
}
|
||||
console.log(msg)
|
||||
}
|
||||
|
||||
export default Plugin.define({
|
||||
id: "oc-session-all",
|
||||
setup(context) {
|
||||
console.log("[oc-session-all] v2 Plugin loaded! Attempting command registration...")
|
||||
log("[oc-session-all] v2 Plugin loaded! Attempting command registration...")
|
||||
|
||||
// ── 探测 context 结构 ──────────────────────────────────────
|
||||
const report = []
|
||||
@@ -26,7 +48,7 @@ export default Plugin.define({
|
||||
slash: { name: "sessions-all", aliases: ["sa"] },
|
||||
description: "Display all session records in a dialog",
|
||||
onSelect: async () => {
|
||||
console.log("[oc-session-all] /sessions-all triggered")
|
||||
log("[oc-session-all] /sessions-all triggered")
|
||||
context.ui.toast.show({
|
||||
message: "Sessions-all command executed!",
|
||||
variant: "success",
|
||||
@@ -36,16 +58,18 @@ export default Plugin.define({
|
||||
},
|
||||
])
|
||||
report.push("command.register: SUCCESS, unregister type: " + typeof unregister)
|
||||
console.log("[oc-session-all] command.register succeeded")
|
||||
log("[oc-session-all] command.register succeeded")
|
||||
} catch (e) {
|
||||
report.push("command.register ERROR: " + e.message)
|
||||
console.error("[oc-session-all] command.register failed:", e)
|
||||
log("[oc-session-all] command.register ERROR: " + e.message)
|
||||
}
|
||||
} else {
|
||||
report.push("command.register: NOT A FUNCTION")
|
||||
log("[oc-session-all] command.register is not a function")
|
||||
}
|
||||
} else {
|
||||
report.push("context.command: undefined")
|
||||
log("[oc-session-all] context.command is undefined")
|
||||
}
|
||||
|
||||
// 探测 context.keymap
|
||||
@@ -63,11 +87,15 @@ export default Plugin.define({
|
||||
}
|
||||
|
||||
const msg = report.join(" | ")
|
||||
console.log("[oc-session-all] FULL PROBE: " + msg)
|
||||
context.ui.toast.show({
|
||||
message: "Full probe: " + msg,
|
||||
variant: "info",
|
||||
duration: 20000,
|
||||
})
|
||||
log("[oc-session-all] FULL PROBE: " + msg)
|
||||
try {
|
||||
context.ui.toast.show({
|
||||
message: "Full probe: " + msg,
|
||||
variant: "info",
|
||||
duration: 20000,
|
||||
})
|
||||
} catch (e) {
|
||||
log("[oc-session-all] toast.show ERROR: " + e.message)
|
||||
}
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user