Record WebCRT device login/commands and NE exec in operation audit.

Make session lifecycle and typed CLI lines searchable in audit_log with password redaction, and surface summaries plus device filters in the ops UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-01 21:36:44 +08:00
parent 497a5e048e
commit 8915455b52
12 changed files with 783 additions and 40 deletions

View file

@ -1867,6 +1867,24 @@ const en = {
audit: {
title: "Audit & ops",
logsTitle: "Operation logs",
colSummary: "Summary",
colDetail: "Detail",
showDetail: "Expand",
hideDetail: "Collapse",
filterAll: "All",
filterWebcrt: "Device terminal",
filterNeExec: "Device exec",
filterAuth: "Auth",
summary: {
connecting: "Connecting to {{device}}",
loginOk: "Logged in to {{device}}",
loginFail: "Login failed {{device}}: {{error}}",
logout: "Disconnected {{device}}",
logoutReason: "Disconnected {{device}} ({{reason}})",
command: "{{device}} · cmd: {{command}}",
neExec: "{{device}} · exec: {{commands}}",
neExecBatch: "Batch exec {{n}} NE(s) (ok {{ok}} / fail {{fail}})",
},
nav: {
tasks: "Task overview",
logs: "Operation logs",

View file

@ -1845,6 +1845,24 @@ const zh = {
audit: {
title: "操作审计",
logsTitle: "操作日志",
colSummary: "摘要",
colDetail: "详情",
showDetail: "展开",
hideDetail: "收起",
filterAll: "全部",
filterWebcrt: "设备终端",
filterNeExec: "设备执行",
filterAuth: "登录认证",
summary: {
connecting: "正在登录 {{device}}",
loginOk: "登录 {{device}}",
loginFail: "登录失败 {{device}}:{{error}}",
logout: "断开 {{device}}",
logoutReason: "断开 {{device}}({{reason}})",
command: "{{device}} · 命令: {{command}}",
neExec: "{{device}} · 执行: {{commands}}",
neExecBatch: "批量执行 {{n}} 台(成功 {{ok}} / 失败 {{fail}})",
},
nav: {
tasks: "任务概览",
logs: "操作日志",