feat(commands): 推送日志第三视图与 CSV 导入模板

按对齐计划 Phase1:Commands 页增加推送日志筛选视图;补全 servers_import_template.csv;扩写功能指南 §12.6/12.8/12.10 与 acceptance_catalog。
This commit is contained in:
Nexus Agent
2026-06-08 02:45:17 +08:00
parent dfb0ea2d8f
commit fb6a4be797
60 changed files with 1513 additions and 33 deletions
@@ -586,11 +586,14 @@ main.ts → App.vue(侧栏/搜索)→ router-view
| 功能 | API |
|------|-----|
| 脚本 CRUD | `/scripts/` |
| Monaco 编辑 | content 字段 |
| 执行 | `POST /scripts/exec` + 轮询 executions |
| 临时命令 | quick exec 面板 |
| 停止 | `POST /scripts/executions/{id}/stop` |
| 脚本 CRUD | `GET/POST/PUT/DELETE /scripts/`(分类 ops/deploy/check/cleanup |
| Monaco 编辑 | `ScriptContentEditor` · `content` 字段 |
| 库内执行 | `POST /scripts/exec``script_id``command` 二选一) |
| 临时命令 | 页内 quick exec 面板 |
| 长任务 / DB 凭据 | `long_task``credential_id``GET /scripts/exec-config` |
| 执行状态 | 10s 轮询 `GET /scripts/executions/{id}` |
| 历史 | `GET /scripts/executions?script_id=` |
| 停止 / 重试 / 卡住 | `POST .../stop``.../retry``.../mark-stuck` |
### 12.7 CredentialsPage `/credentials`
@@ -606,7 +609,15 @@ main.ts → App.vue(侧栏/搜索)→ router-view
### 12.8 SchedulesPage `/schedules`
Cron 调度推送;`runNow``POST /sync/files`cron 前端正则校验。
| 功能 | API / 行为 |
|------|------------|
| 类型 | `schedule_type`: `push`rsync)或 `script`ScriptService |
| 运行模式 | `run_mode`: `cron`5 字段 cron_expr)或 `once`fire_at |
| 推送字段 | `source_path`(必填)、`target_path`(可选,留空走各机配置)、`sync_mode` |
| 脚本字段 | `script_id``script_content``exec_timeout``long_task` |
| 列表 | `next_run` API 计算;`GET /schedules/` |
| 立即执行 | push → `POST /sync/files`script → `POST /scripts/exec` |
| 后台 | `schedule_runner` 60s 扫描到期项 |
### 12.9 RetriesPage `/retries`
@@ -614,7 +625,11 @@ Cron 调度推送;`runNow` → `POST /sync/files`cron 前端正则校验。
### 12.10 CommandsPage `/commands`
命令视图 / 会话视图;`GET /assets/command-logs|ssh-sessions`
| 视图 | API | 筛选 |
|------|-----|------|
| 命令视图 | `GET /assets/command-logs` | server_id |
| 会话视图 | `GET /assets/ssh-sessions` | server_id |
| 推送日志 | `GET /servers/logs` | server_id、status、sync_mode、trigger_type |
### 12.11 AlertsPage `/alerts`