qinglong
|
cab687f797
|
fix: Sentinel JS 多余闭合括号
|
2026-06-14 10:47:37 +08:00 |
|
qinglong
|
cb5f900c39
|
feat: 更新页面实时日志 — SSE轮询 + logs/updates_logs 文件记录
|
2026-06-14 10:45:08 +08:00 |
|
qinglong
|
b3a6f73db4
|
fix: 更新后同步版本号到base_config.yaml
|
2026-06-14 10:42:01 +08:00 |
|
qinglong
|
27115942ea
|
fix: InitService自动合并模板新增字段(解决旧config缺branch问题)
|
2026-06-14 10:39:03 +08:00 |
|
qinglong
|
fb8bf393f2
|
fix: UpdateService默认分支 main→dev (version.json在dev)
|
2026-06-14 10:37:39 +08:00 |
|
qinglong
|
2901ec6daa
|
chore: 版本号 v0.7.0 → v0.8.0
|
2026-06-14 10:33:49 +08:00 |
|
qinglong
|
c65a9916c2
|
fix: Windows负载 — psutil.getloadavg() + 全0显示N/A
|
2026-06-14 10:32:51 +08:00 |
|
qinglong
|
7fe9e4f6cd
|
fix: 插件加载失败计入统计 — LOAD_FAILURES + 合并fail_details
|
2026-06-14 10:26:36 +08:00 |
|
 qinglongandClaude
|
00c97e4af2
|
fix: PluginService自动从.example模板创建config.yaml (Windows兼容)
根因: Sentinel的config.yaml被gitignore, 首次运行时
load_plugin()要求config.yaml存在才能继续, 但Sentinel的
自动复制逻辑在initialize()中, 太晚了。
修复: PluginService.load_plugin()检测缺失时自动复制模板
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-14 10:24:08 +08:00 |
|
qinglong
|
cb6beca067
|
Revert "fix: Windows分区设备名 — 用盘符(C:)替代设备路径"
This reverts commit 7cdae4d954.
|
2026-06-14 10:02:09 +08:00 |
|
qinglong
|
7cdae4d954
|
fix: Windows分区设备名 — 用盘符(C:)替代设备路径
|
2026-06-14 09:58:50 +08:00 |
|
qinglong
|
f8590ad848
|
feat: 磁盘分区 左侧添加 used/total (KB→MB→GB→TB自动单位)
|
2026-06-14 09:34:43 +08:00 |
|
 qinglongandClaude
|
528410d3e9
|
feat: 磁盘分区列 — 多分区/进度条/overflow/过滤虚拟FS
SystemInfoCollector:
- _get_partitions(): psutil disk_partitions + 过滤虚拟FS
- 跳过 tmpfs/devtmpfs/proc/sysfs/cgroup等22种
- 无psutil时 fallback到根分区
前端4列: 160px 1fr 0.8fr 1fr
- col-disk: 分区名/挂载点/进度条/百分比
- max-height:200px overflow:auto
- 跨平台兼容
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-14 09:31:52 +08:00 |
|
qinglong
|
095f6c765c
|
fix: col-extra 补回卡片HTML(之前编辑丢失)
|
2026-06-14 09:24:15 +08:00 |
|
qinglong
|
2d425b2a71
|
fix: SWAP/磁盘 总量为0时显示'—'(跨平台兼容)
|
2026-06-14 09:20:50 +08:00 |
|
 qinglongandClaude
|
b1b7cd0563
|
feat: 横版col-extra — 负载/SWAP/磁盘/温度/流量/进程 6项指标
SystemInfoCollector 新增:
- swap: SWAP用量 (psutil + /proc/meminfo fallback)
- disk: 磁盘用量
- temperature: CPU温度 (psutil + /sys/class/thermal fallback)
Sentinel col-extra 显示:
负载 | SWAP | 磁盘 | 温度 | 累计流量 | 进程RSS
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-14 09:19:37 +08:00 |
|
qinglong
|
800142402a
|
style: 右两列对半分 1fr 1fr
|
2026-06-14 09:17:32 +08:00 |
|
qinglong
|
6115887cd5
|
feat: 横版右侧拆出col-extra留白 — 为负载/磁盘/SWAP预留
|
2026-06-14 09:15:42 +08:00 |
|
qinglong
|
9818d1c965
|
fix: UpdateService启动时立即设置current_version
|
2026-06-14 09:08:41 +08:00 |
|
qinglong
|
612f95076b
|
fix: NET图表100KB/s下限 — update后强制redraw
|
2026-06-14 09:06:25 +08:00 |
|
qinglong
|
f20cb7c76b
|
fix: NET图表最小量程100KB/s (102400 B/s)
|
2026-06-14 09:04:28 +08:00 |
|
qinglong
|
fd5a820584
|
fix: NET图表回退到自然量程 — 60点窗口自动处理峰值回落
|
2026-06-14 09:02:10 +08:00 |
|
qinglong
|
97405d73e8
|
fix: NET图表惰性量程 — 仅扩不缩
|
2026-06-14 09:01:42 +08:00 |
|
qinglong
|
0f8d76ad1c
|
fix: NET图表Y轴下限1024B/s — 防止小幅波动图表飞起
|
2026-06-14 09:00:56 +08:00 |
|
qinglong
|
9c419284d9
|
feat: NET图表改为DualLineChart (上下行双线)
|
2026-06-14 08:57:16 +08:00 |
|
qinglong
|
1ba23cad46
|
style: 数据再上移10px (-4→-14)
|
2026-06-14 08:54:54 +08:00 |
|
qinglong
|
b30bcc37cb
|
style: 数据上移4px
|
2026-06-14 08:53:33 +08:00 |
|
qinglong
|
ef5927a971
|
style: 图表absolute定位压底 + 数据z-index浮上 + 去重
|
2026-06-14 08:52:30 +08:00 |
|
qinglong
|
14902f8a86
|
style: 横版去掉左下角时间(右下角已有)
|
2026-06-14 08:49:33 +08:00 |
|
qinglong
|
a164dd9a19
|
style: 行间距 12px + 下边距 6px
|
2026-06-14 08:48:33 +08:00 |
|
qinglong
|
dbda4e9ce8
|
fix: 行间距6→8px + mtr下边距4px
|
2026-06-14 08:47:36 +08:00 |
|
qinglong
|
f900f5af22
|
style: 行间距 2px→6px, 去掉分隔线
|
2026-06-14 08:46:31 +08:00 |
|
qinglong
|
3b26816385
|
fix: 图表放大 140x36→200x48 + 行高48px
|
2026-06-14 08:45:02 +08:00 |
|
qinglong
|
0f3ecc6f4a
|
style: 图表背景改半透明 rgba
|
2026-06-14 08:44:16 +08:00 |
|
qinglong
|
eae271a26e
|
fix: 图表宽度180→140 + canvas允许收缩 + 左列200→180
|
2026-06-14 08:43:52 +08:00 |
|
qinglong
|
5e6ac11543
|
refactor: 横版2列 — 每行数据+图表同div (高度天然对齐)
|
2026-06-14 08:42:05 +08:00 |
|
qinglong
|
bf832c11c8
|
fix: 横版恢复 animateValue 数字跳动
|
2026-06-14 08:37:05 +08:00 |
|
qinglong
|
d5469d561a
|
fix: 横版body指向col-mid而非已移除的metrics-body
|
2026-06-14 08:35:26 +08:00 |
|
qinglong
|
138fafe142
|
fix: 横版中列行高36px与右侧图表高度对齐
|
2026-06-14 08:33:58 +08:00 |
|
qinglong
|
57234d5c8f
|
refactor: 横版左设备/中指标/右图表 — 三列配对布局
|
2026-06-14 08:33:32 +08:00 |
|
qinglong
|
765ce6d819
|
fix: 网格动画 — oldCpu读取在setAttribute之前(值不同才有动画)
|
2026-06-14 08:26:04 +08:00 |
|
qinglong
|
6e41d59510
|
debug: 网格模式强制数值更新 + 备用 textContent
|
2026-06-14 08:25:34 +08:00 |
|
qinglong
|
b31d922fb2
|
fix: 网格动画恢复 — 检测metric-bar缺失时重建DOM
|
2026-06-14 08:19:22 +08:00 |
|
qinglong
|
d48141e457
|
fix: 横版中间栏 — metrics-body 初始化 + 数值更新
|
2026-06-14 08:15:57 +08:00 |
|
qinglong
|
b81f8024ae
|
fix: 横版显式3列结构 col-left/col-mid/col-right + 底行时间
|
2026-06-14 08:10:42 +08:00 |
|
qinglong
|
c0b4966086
|
fix: 横版改为左中右3列 — 220px/1fr/180px + display:contents
|
2026-06-14 08:08:31 +08:00 |
|
qinglong
|
fb8add1336
|
fix: 横版CSS — grid 2列布局 左信息右图表
|
2026-06-14 08:05:48 +08:00 |
|
qinglong
|
5ca68c9d13
|
fix: 横版复用网格DOM结构 — 仅追加row-extra + CSS差异
|
2026-06-14 07:58:24 +08:00 |
|
qinglong
|
62d49ff45f
|
fix: 布局切换用 cssText 显式设置 (防止 style='' 残留)
|
2026-06-14 07:57:12 +08:00 |
|
qinglong
|
719e8b5d73
|
fix: MiniChart 仅新卡片创建一次 (避免重复)
|
2026-06-14 07:56:41 +08:00 |
|
qinglong
|
f8dd44011f
|
fix: MiniChart 创建移到 appendChild 之后 (canvas 需在 DOM 中)
|
2026-06-14 07:40:55 +08:00 |
|
qinglong
|
d1e96331e2
|
fix: MiniChart canvas ID + 传字符串 (非 DOM 元素)
|
2026-06-14 07:39:20 +08:00 |
|
qinglong
|
99719398d7
|
fix: MiniChart 创建加 try-catch, 防止单设备失败中断循环
|
2026-06-14 07:38:11 +08:00 |
|
qinglong
|
02640f00bc
|
feat: Sentinel 横版折线图 — MiniChart 正确放置 (innerHTML 外部, try-catch 保护)
|
2026-06-13 22:26:03 +08:00 |
|
qinglong
|
3839af81cf
|
fix: NaN — oldCpu/oldMem 移到 if(isRow) 之前, 两模式共享
|
2026-06-13 22:23:23 +08:00 |
|
qinglong
|
06d5bf8071
|
fix: Sentinel 横版 — 完全移除 MiniChart, 纯文本数值展示
|
2026-06-13 22:19:47 +08:00 |
|
qinglong
|
5628f5d288
|
fix: 清理残留变量赋值 + 重写 renderNodes (行/网格统一逻辑)
|
2026-06-13 22:16:59 +08:00 |
|
qinglong
|
9a3e2aeda8
|
fix: MiniChart 代码从 innerHTML 字符串拼接中移出 (语法错误)
|
2026-06-13 22:12:50 +08:00 |
|
qinglong
|
765387981e
|
feat: Sentinel 横版折线图 — MiniChart 复用主页 chart.js (SPA 全局可用)
|
2026-06-13 22:10:02 +08:00 |
|
 qinglongandClaude
|
31f1a2e177
|
fix: Sentinel 横版模式 — 简化: 数值展示替代折线图 (去除 MiniChart 依赖)
横版布局现在显示大号CPU/MEM/NET数值,无需加载 chart.js
- 移除 _chartInstances / MiniChart 依赖
- 移除动态 chart.js 加载
- 移除 toggleLayout 中的图表销毁逻辑
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 22:03:57 +08:00 |
|
qinglong
|
02cae47292
|
fix: Sentinel 横版模式 — 移除无限回退循环, MiniChart 不可用时优雅降级
|
2026-06-13 21:58:56 +08:00 |
|
qinglong
|
06c432dbae
|
fix: Sentinel JS 缺失 if(n.online) 闭合括号 → 脚本解析失败
|
2026-06-13 21:54:55 +08:00 |
|
qinglong
|
2c50bdfaff
|
fix: Sentinel 动态加载 chart.js + 空节点容错 + 默认为网格模式
|
2026-06-13 21:47:26 +08:00 |
|
qinglong
|
cf70f71b65
|
fix: Sentinel 加载 chart.js + MiniChart 未就绪回退网格
|
2026-06-13 21:45:01 +08:00 |
|
 qinglongandClaude
|
6a669efe0a
|
feat: Sentinel 横版卡片布局 — 折线图 + 全行展开
- 新增布局切换按钮: 网格/横版
- 横版: 每设备占满一行, 左信息 + 中折线图 + 右数字
- 复用 MiniChart 组件 (CPU/MEM/NET 三图)
- 切换时销毁旧图重建, 避免内存泄漏
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 21:43:53 +08:00 |
|
qinglong
|
63cd38cf22
|
fix: 手动更新按钮始终显示 — 有更新时变绿色'立即更新'
|
2026-06-13 21:39:30 +08:00 |
|
qinglong
|
70695b171e
|
fix: 版本号显示 — 始终设 current_version + 顶栏按钮显示版本
|
2026-06-13 21:34:21 +08:00 |
|
 qinglongandClaude
|
94d56d8210
|
fix: 版本检查 — 后端设置 checked 字段 + 前端 info 合并显示
- UpdateService.status 增加 checked/current_version/latest_version
- _check_version 成功后设置 checked=True
- 设置页 update-notes 合并版本信息和时间戳 (替代 innerHTML 覆盖)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 21:29:35 +08:00 |
|
 qinglongandClaude
|
68717daefb
|
feat: Sentinel 支持自定义 API 路径前缀 (base_path)
- 节点编辑对话框新增「API 路径前缀」字段 (默认 /SenSu)
- 后端保存/读取 base_path
- API 响应包含 base_path 供前端回显
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 21:19:25 +08:00 |
|
 qinglongandClaude
|
67d0f00525
|
fix: 版本更新 — 自动检查 + 手动备份 + 创建备份按钮
1. 设置页加载时自动触发版本检查
2. POST /api/updates/backup — 手动创建备份
3. 备份管理区新增「+ 创建备份」按钮
4. 顶栏版本按钮: checkTopUpdate 每10min轮询
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 21:08:54 +08:00 |
|
 qinglongandClaude
|
95a2f375e8
|
security: Sentinel 配置文件模板化 — config.yaml 不入库
- config.yaml → .gitignore (含 API Key 不入库)
- config.yaml.example 模板 (空节点列表)
- 首次启动自动从模板复制
- 所有插件 config.yaml 统一保护
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 21:04:52 +08:00 |
|
qinglong
|
ead7d2056b
|
chore: 移除临时开发文档 (进度/踩坑/备份/结构) — docs/ gitignore + 白名单
|
2026-06-13 20:59:05 +08:00 |
|
 qinglongandClaude
|
ff693465f6
|
docs: README + API_Auth + Security_Plan + Plugin_Guide 更新至 v0.7.0
- README: 新功能列表、start.sh、架构图
- API_Auth_Flow: 新增 API Key 认证章节
- Security_Hardening_Plan: 标记全部完成
- Plugin_Dev_Guide: 新增插件导入安装章节
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 20:56:50 +08:00 |
|
qinglong
|
3e106001ed
|
feat: 无头启动脚本 start.sh / start.bat (依赖检测 + 配置模板复制)
|
2026-06-13 20:55:28 +08:00 |
|
qinglong
|
279ddfbdc9
|
fix: SystemMonitor.refresh() 移除不存在的 _refresh_stats 调用
|
2026-06-13 20:54:35 +08:00 |
|
qinglong
|
eba035db64
|
chore: 移除自动生成的配置文件 (多用户协作冲突)
|
2026-06-13 20:53:26 +08:00 |
|
qinglong
|
3724021d81
|
style: Sentinel MEM 详情右对齐到标签旁 (12.8/14.8 GB)
|
2026-06-13 20:50:13 +08:00 |
|
qinglong
|
faf695e361
|
style: 状态emoji(✅❌🔄) → 纯文本符号(✓✗↻)
|
2026-06-13 20:49:17 +08:00 |
|
qinglong
|
30bc4cc945
|
chore: 删除合并残留 main.py.clean/orig + gitignore *.orig *.clean
|
2026-06-13 20:47:48 +08:00 |
|
 qinglongandClaude
|
899bef7781
|
feat: 设备卡片显示系统名+版本 + 项目根 version.json
- SystemInfoCollector.platform 新增 release 字段 (内核版本)
- Sentinel 卡片每台设备显示: Linux 6.12.23 | aarch64
- 数据刷新时同步更新系统信息行
- 项目根 version.json: 本地版本清单
当前版本检测:
UpdateService 每6h从 {repo}/raw/branch/{branch}/version.json 拉取
对比 base_config.yaml 的 framework.version
远程 > 本地 → 顶栏绿色按钮 + 设置页更新提示
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 20:47:22 +08:00 |
|
qinglong
|
c8f2cb7b98
|
fix: Sentinel 编辑节点时 api_key 留空 → 保留旧值
|
2026-06-13 20:44:44 +08:00 |
|
 qinglongandClaude
|
cc50ecb813
|
fix: Windows兼容 + Textual 8.x + MD3 SVG图标替代emoji
1. Windows: reuse_port 仅非win32平台启用
2. Textual 8.2.7: refresh() 加 **kwargs 兼容 repaint 参数
3. WebUI: 设置页/插件页 emoji → SVG (fill:currentColor 日夜间适配)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 20:42:22 +08:00 |
|
 qinglongandClaude
|
9a9a2975de
|
feat: WebUI 版本检测 — 顶栏按钮 + 设置页备份/回滚/更新管理
顶栏:
- 版本号按钮, 有更新时变绿色并显示新版本号
- 每10分钟自动检查
设置页新增「版本与更新」区域:
- 当前版本 + 更新状态徽章
- 检查更新 / 立即更新 按钮
- 备份列表 + 手动回滚
API:
- GET /api/updates/backups — 备份列表
- POST /api/updates/rollback — 执行回滚
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 20:39:28 +08:00 |
|
 qinglongandClaude
|
c20417ff93
|
feat: 更新服务 — ZIP下载/备份/回滚/重启
UpdateService:
- 分支感知: 从 base_config 读取 branch, 拼接 archive/{branch}.zip
- 定时检查: 每6h 拉取 version.json 比对版本
- 更新前自动打包备份 (zip, 保留最新5个)
- 保护用户配置: base_config.yaml / plugins/*/config.yaml / data/
- 子进程 pip install 依赖
API:
- GET /api/updates — 更新状态
- POST /api/updates/check — 手动检查
- POST /api/updates/apply — 执行更新
回滚:
- python main.py --rollback — 恢复到最新备份
- 无备份时提示
重启:
- .restart_flag 信号文件 → 优雅退出 → systemd 拉起
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 20:32:42 +08:00 |
|
qinglong
|
6e0ed23012
|
fix: 页面 HTML 加载加 ?t= 缓存破坏 + app.js 版本号 0704→0705
|
2026-06-13 18:49:49 +08:00 |
|
qinglong
|
9c1a1d40e4
|
style: 导入卡片间距 gap 12→16px + align stretch 等高
|
2026-06-13 18:46:57 +08:00 |
|
qinglong
|
d0206121b1
|
fix: 统计卡片'安装失败'→'启动失败' + 合并 error_count 计数
|
2026-06-13 18:44:20 +08:00 |
|
qinglong
|
e16250c7e7
|
style: 插件导入卡片 CSS — 等高 / 文件按钮 / 纵向布局
|
2026-06-13 18:43:30 +08:00 |
|
 qinglongandClaude
|
b2021a45ce
|
feat: 插件管理 — 导入安装 + 统计面板
新增 API:
- GET /api/plugins/stats — 统计 (总计/已启用/已停用/安装失败)
- POST /api/plugins/import — ZIP上传 或 Git clone 安装
- 自动 pip install -r requirements.txt (子进程隔离)
- 自动加载插件 (isolated 模式, 崩溃不影响框架)
- 安装失败记录到 _IMPORT_FAILS
前端:
- 横版统计卡片 (总数/启用/停用/失败)
- ZIP 上传按钮 + Git URL 输入
- 安装状态实时反馈
安全:
- 所有端点 panel_auth 保护
- 子进程安装 (pip/git), 超时120s
- 仅接受 .zip 文件
- 目录冲突检测
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:39:38 +08:00 |
|
qinglong
|
a2bd6486a0
|
fix: 动画改用 setInterval (兼容动态 script 加载) + try-catch 保护
|
2026-06-13 18:29:11 +08:00 |
|
qinglong
|
c4b44e0fd2
|
fix: 仪表盘动画改为模块方法 _animateNumber (避免全局作用域问题)
|
2026-06-13 18:26:38 +08:00 |
|
 qinglongandClaude
|
81ebbc3e45
|
feat: WebUI 首页仪表盘 — CPU/MEM/进程内存 数字跳动动画
- animateNumber(): 900ms ease-out 缓动, 存储前值于 data-val
- CPU%、MEM%、进程内存 三个指标使用跳动动画
- 与 Sentinel 卡片动画风格统一
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:21:05 +08:00 |
|
 qinglongandClaude
|
3ca001b938
|
fix: 进度条平滑过渡 — force reflow 技巧确保 CSS transition 生效
- 临时关 transition → 设旧值 → offsetWidth reflow → 开 transition → 设新值
- DOM 复用: 首次 innerHTML 创建, 后续只改属性
- 进度条从旧值滑到新值, 不再闪现
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:19:07 +08:00 |
|
qinglong
|
417213096f
|
fix: Sentinel 清除占位卡片 + 动画延长至 1s
|
2026-06-13 18:17:26 +08:00 |
|
 qinglongandClaude
|
f3a6e5fbcd
|
feat: Sentinel 数字跳动动画 + 进度条平滑过渡
- 数字 count-up/down: requestAnimationFrame + ease-out cubic, 350ms
- 中间值过渡: 15%→22% 会显示 15.2,16.1,17.5...22.0
- 进度条: CSS transition 自动处理宽度变化
- 卡片 DOM 复用: 更新值而非重建 innerHTML
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:12:37 +08:00 |
|
 qinglongandClaude
|
1d0f227267
|
fix: API Key 删除/创建去掉 CSRF — panel_token HttpOnly 前端无法读取
SameSite=Lax cookie 已防跨站 POST/DELETE, 无需额外 CSRF header
前端 JS 无法读取 HttpOnly cookie, 无法设置 X-CSRF-Token
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:07:47 +08:00 |
|
 qinglongandClaude
|
51c1ee84f0
|
feat: Sentinel 卡片数据刷新动画
- 卡片更新时背景闪烁 (card-flash keyframe)
- 进度条平滑过渡 (cubic-bezier .6s)
- 数值涨跌颜色: 绿涨↑ 红跌↓ 不变灰色
- 渐变进度条背景
- 存储前值用于趋势对比
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:06:06 +08:00 |
|
 qinglongandClaude
|
c416b04798
|
fix: Sentinel 改用前端轮询替代 SSE (解决 EventSource 认证问题)
SSE 跨 panel_auth 认证层不可靠 → 改用 setInterval 每 2s fetch /sentinel/api/nodes
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 18:00:34 +08:00 |
|
qinglong
|
a21e092207
|
fix: Sentinel SSE URL — /SenSu/plugin/... → /plugin/... (匹配实际路由)
|
2026-06-13 17:56:57 +08:00 |
|
 qinglongandClaude
|
b53410bc77
|
fix: Sentinel SSE 每次轮询都推送 (实时性) + isolation 默认 false + 文档
Sentinel:
- poll_interval 3s→2s, 每次轮询都推 SSE (不再等状态变化)
- 解决稳定状态下数据更新不实时问题
插件系统:
- 默认 isolation: false (避免插件 WebUI 不显示)
- example_plugin 显式设置 isolation: false
- 插件开发指南: settings 示例增加 isolation 说明
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-13 17:54:39 +08:00 |
|