attacker
|
a843ab7b00
|
feat: Redis热数据+K线聚合+Dashboard MySQL指标修复
|
2026-06-18 08:03:49 +00:00 |
|
attacker
|
b8b1a3d5f6
|
fix: 远程命令直连SSH(去轮询) + 去掉无用命令分类
|
2026-06-18 07:56:10 +00:00 |
|
attacker
|
ed3bf59c3b
|
fix: add missing imports (useUserStore, Cpu)
|
2026-06-18 07:25:11 +00:00 |
|
attacker
|
2fc2a2ae07
|
feat: Agent一键安装(loading/成功/失败状态无弹框) + 批量安装API
|
2026-06-18 07:24:24 +00:00 |
|
attacker
|
48b2d2281b
|
fix: AgentWizard URL拼接修正(origin/backend分离) + 复制兼容HTTP/移动端
|
2026-06-18 07:14:19 +00:00 |
|
attacker
|
cdb978fcfc
|
fix: 重写 AgentWizard 复制逻辑 + 手动复制文本框 fallback
|
2026-06-18 03:39:58 +00:00 |
|
attacker
|
3dec5eec2a
|
fix: 合并冲突后重写 Dockerfile (3阶段构建 + alpine mirror + GOTOOLCHAIN)
|
2026-06-18 03:38:22 +00:00 |
|
attacker
|
3a0f5ddb52
|
fix: 清理冲突合并产生的行号前缀
|
2026-06-18 03:37:22 +00:00 |
|
attacker
|
2354959811
|
feat: run.sh四模式(dev/docker/build/binary) + CLI flags + Redka内嵌Redis + Agent复制修复 + 服务器编辑IP字段 + 安装Agent按钮
|
2026-06-18 03:36:04 +00:00 |
|
attacker
|
2e175daf80
|
docs: update dev-log - llm.go handler 拆分
|
2026-06-18 08:04:53 +08:00 |
|
attacker
|
d4fe62f053
|
refactor: 拆分 llm.go(526行) 为三文件(llm.go配置/llm_chat.go对话流式/llm_history.go历史),符合400行handler规范
|
2026-06-18 08:04:27 +08:00 |
|
attacker
|
94e40ebd3f
|
docs: update dev-log - AIOps停止生成按钮
|
2026-06-18 07:07:31 +08:00 |
|
attacker
|
ca8ebb1634
|
feat: AIOps智能助手支持停止生成(AbortController中止流式,保留部分内容+已停止提示)
|
2026-06-18 07:07:01 +08:00 |
|
attacker
|
5d19878b28
|
feat: AIOps智能助手流式输出(SSE代理,逐字渲染+思考中光标+断连安全持久化)
|
2026-06-18 05:07:28 +08:00 |
|
attacker
|
139bddc9d9
|
docs: update dev-log - AIOps快捷操作接入真实平台数据
|
2026-06-18 04:07:24 +08:00 |
|
attacker
|
32cd3b8112
|
feat: AIOps智能助手快捷操作接入真实平台数据(告警/Agent指标/仪表盘统计注入LLM上下文)
|
2026-06-18 04:06:55 +08:00 |
|
attacker
|
ae09faa780
|
docs: update dev-log - AIOps对话历史持久化
|
2026-06-18 03:06:14 +08:00 |
|
attacker
|
32de3709ed
|
feat: AIOps智能助手对话历史持久化(按用户隔离,刷新后仍可见)
|
2026-06-18 03:05:30 +08:00 |
|
attacker
|
6321886b69
|
docs: update dev-log - AIOps智能助手接入真实LLM后端
|
2026-06-18 02:13:23 +08:00 |
|
attacker
|
b8cab7ed0f
|
feat: AIOps智能助手接入真实LLM后端(OpenAI兼容代理+配置持久化)
后端:
- models/llm.go: LLMConfig模型(单行配置)+请求/响应struct
- handlers/llm.go: GetLLMConfig/SaveLLMConfig(脱敏+upsert)/Chat(OpenAI兼容代理)/TestLLMConnection
- routes.go: 注册 /aiops/llm-config(GET/PUT/test)+/aiops/chat(POST)
- database.go: AutoMigrate LLMConfig
- 支持OpenAI/DeepSeek/通义千问/Moonshot/Ollama/自定义6种提供商
- API Key脱敏(仅保留后4位)+回传脱敏值保留原值
- 优雅错误处理(连接超时/401/未配置均返回友好消息)
- 120s超时+AIOps运维助手默认系统提示词
前端:
- AIOpsAssistant.tsx: 全量重写接入真实后端
· 配置弹窗从后端加载(持久化),提供商切换自动填充endpoint/模型
· 启用开关+测试连接按钮+保存反馈
· 真实对话(发送最近10条上下文),思考中spinner,错误红色气泡
· 状态徽章(未配置/在线+模型名),新对话清空
- api.ts: aiApi替代mock aiAssistantApi(getConfig/saveConfig/testConnection/chat)
验证: tsc零错误+build通过+/health正常+前后端联调通过(配置CRUD+API Key脱敏+masked-key保留+chat错误优雅降级) // Logan.Li
|
2026-06-18 02:12:17 +08:00 |
|
attacker
|
2e174fe7eb
|
docs: update dev-log - AIAlertAnalyzer 拆分(helper+子组件模式)
|
2026-06-18 00:12:53 +08:00 |
|
attacker
|
da5f9a3a07
|
refactor: 拆分AIAlertAnalyzer.tsx(541→190行)提取analyzerHelpers+AIAnalysisResult+AutoFixDialog子组件
|
2026-06-18 00:10:39 +08:00 |
|
attacker
|
35b167a0e2
|
fix: 替换腾讯云图标为官方三色云形Logo(Wikimedia Commons)
|
2026-06-17 20:56:38 +08:00 |
|
attacker
|
bdc7a507c0
|
feat: 修复菜单路由+角色权限展示+操作审计+WebSSH终端审计
1. 菜单路由修复: /roles /users /logs-audit /terminal-audit 等系统管理子菜单
通过 useLocation 同步 URL 路径到 Tab 选中状态
2. WebSSH错误提示优化: Go error → 友好中文提示
i/o timeout → 连接超时(防火墙或网络不通)
connection refused → 端口未开放/SSH服务未启动
cannot find session key → 密码或密钥认证失败
连接提示增加端口号显示
3. 角色权限展示: 31项权限种子数据 (资产管理/云资源/K8s/发布/监控/AIOps/系统管理)
4个角色权限分配: admin(31) ops(27) developer(16) viewer(3)
前端角色卡片显示权限名称而非原始code
4. 操作审计修复: 删除/创建/更新服务器均记录审计日志
批量删除逐条记录审计
5. WebSSH终端审计 (JumpServer模式):
- 新增 TerminalSession 模型记录会话(用户/服务器/时间/状态)
- webshell.go 录制终端输出(1MB上限)
- 终端审计页面: 会话列表+状态筛选+批量删除
- 操作回放: xterm.js 重放录制的终端输出
- WS连接增加JWT鉴权+token传递
|
2026-06-17 08:55:09 +08:00 |
|
attacker
|
4797059be2
|
docs: update dev-log - 清理死代码 LogManager+logsApi+LogEntry
|
2026-06-17 08:05:12 +08:00 |
|
attacker
|
73505d6604
|
refactor: 清理死代码 LogManager.tsx(514行)+logsApi+LogEntry类型(已移除日志能力菜单的孤立残留)
|
2026-06-17 08:04:22 +08:00 |
|
attacker
|
a501229cb3
|
docs: update dev-log - SystemManager 拆分(useLdapManagement Hook)
|
2026-06-17 07:08:33 +08:00 |
|
attacker
|
019a9d13f3
|
refactor: 拆分SystemManager.tsx(569→308行)提取useLdapManagement自定义Hook封装全部LDAP状态与业务逻辑
|
2026-06-17 07:08:01 +08:00 |
|
attacker
|
d234cb4b89
|
docs: update dev-log - AnsibleManager 拆分
|
2026-06-17 06:05:27 +08:00 |
|
attacker
|
c6e4b519e8
|
refactor: 拆分AnsibleManager.tsx(535→399行)提取AnsibleStatsCards+AnsiblePlaybookCard+AnsibleExecutionsTable子组件
|
2026-06-17 06:05:03 +08:00 |
|
attacker
|
7432431fc3
|
docs: update dev-log - AgentAlerts 拆分
|
2026-06-17 05:04:26 +08:00 |
|
attacker
|
9276718d37
|
refactor: 拆分AgentAlerts.tsx(542→311行)提取agentAlertHelper+AgentRuleDialog子组件
|
2026-06-17 05:04:01 +08:00 |
|
attacker
|
cbe34666c0
|
docs: update dev-log - ScriptManager 拆分
|
2026-06-17 04:04:56 +08:00 |
|
attacker
|
2582f12c36
|
refactor: 拆分ScriptManager.tsx(546→411行)提取ScriptStatsCards+ScriptCard+ScriptExecutionsTable子组件
|
2026-06-17 04:04:33 +08:00 |
|
attacker
|
aeb2611149
|
docs: update dev-log - SystemUserTab 拆分
|
2026-06-17 03:07:26 +08:00 |
|
attacker
|
2b5cbfb992
|
refactor: 拆分SystemUserTab.tsx(588→311行)提取UserDetailDialog+CsvImportDialog+LdapImportDialog子组件
|
2026-06-17 03:06:22 +08:00 |
|
attacker
|
367232f2b3
|
docs: update dev-log - ReleaseManager 拆分
|
2026-06-17 02:06:27 +08:00 |
|
attacker
|
796cc35fb3
|
refactor: 拆分ReleaseManager.tsx(581→368行)提取releaseManagerHelpers+ReleaseApplyDialog+ReleaseApproveDialog子模块
|
2026-06-17 02:05:48 +08:00 |
|
attacker
|
76bcf3e135
|
docs: update dev-log - ServerManager 拆分
|
2026-06-17 01:07:08 +08:00 |
|
attacker
|
7dc5cdb7f2
|
refactor: 拆分ServerManager.tsx(645→462行)提取ServerTableRow+serverHelpers子模块
|
2026-06-17 01:06:38 +08:00 |
|
attacker
|
dcc13d7068
|
docs: update dev-log - AppRelease 拆分
|
2026-06-17 00:06:19 +08:00 |
|
attacker
|
28655b4ad5
|
refactor: 拆分AppRelease.tsx(650→339行)提取ReleaseDetailDialog+ReleaseCreateDialog+releaseHelpers子模块
|
2026-06-17 00:05:38 +08:00 |
|
attacker
|
8a4ae0ac5c
|
docs: update dev-log - CronJobManager 拆分
|
2026-06-16 22:08:47 +08:00 |
|
attacker
|
f60809d9b0
|
refactor: 拆分CronJobManager.tsx(652→398行)提取CronJobFormDialog+ExecutionHistoryDialog+cronJobHelpers子模块
|
2026-06-16 22:08:12 +08:00 |
|
attacker
|
a214efe078
|
docs: update dev-log - CloudBilling 拆分
|
2026-06-16 19:09:59 +08:00 |
|
attacker
|
accbfb53c3
|
refactor: 拆分CloudBilling.tsx(663→467行)提取BillingRecordDialog+BillingRuleDialog子模块
|
2026-06-16 19:09:13 +08:00 |
|
attacker
|
f865d41547
|
docs: update dev-log - ApprovalFlow 拆分
|
2026-06-16 07:06:32 +08:00 |
|
attacker
|
d76c23b875
|
refactor: 拆分ApprovalFlow.tsx(666→412行)提取ApprovalDetailDialog+ApprovalCreateDialog子模块
|
2026-06-16 07:05:49 +08:00 |
|
attacker
|
8da6ca15db
|
docs: update dev-log - AIPredictiveAnalytics 拆分
|
2026-06-16 06:06:02 +08:00 |
|
attacker
|
11c97cd885
|
refactor: 拆分AIPredictiveAnalytics.tsx(670→417行)提取predictUtils子模块
|
2026-06-16 06:05:44 +08:00 |
|
attacker
|
67066041b3
|
docs: update dev-log - AgentMonitor 拆分
|
2026-06-16 05:04:37 +08:00 |
|
attacker
|
e544360398
|
refactor: 拆分AgentMonitor.tsx(672→463行)提取HostDetailDialog+agentUtils子模块
- 新增 agentUtils.ts(31行): isOnline/timeAgo/asList 工具函数
- 新增 HostDetailDialog.tsx(201行): 主机详情弹窗+InfoCell+趋势图
- AgentMonitor.tsx 从 672 行降至 463 行, 远离 700 行硬上限
- 移除未使用的 recharts import
|
2026-06-16 05:04:13 +08:00 |
|
attacker
|
84a479caf8
|
docs: update dev-log - mocks/ 死代码目录清理
|
2026-06-16 04:03:21 +08:00 |
|
attacker
|
69253be1e4
|
refactor: 清理mocks/全栈死代码目录 (2528行/104KB, grep确认零外部引用)
|
2026-06-16 04:03:00 +08:00 |
|
attacker
|
5b01cd2e39
|
docs: update dev-log - SQL审计死代码清理
|
2026-06-16 03:05:35 +08:00 |
|
attacker
|
a26f186e9b
|
refactor: 清理SQL审计全栈死代码 (删除孤立组件+handler+model+路由+mock+API定义, 共-1278行)
SQL审计菜单此前已从侧边栏移除,但死代码残留(违反step5清理清单):
- 删除 frontend/components/audit/SQLAuditManager.tsx (629行, 无任何外部引用)
- 删除 backend/handlers/sql_audit.go (435行) + backend/models/sql_audit.go (64行)
- 移除 routes.go 中13条SQL审计路由 (API不再暴露, 返回404)
- 移除 database.go AutoMigrate 中2个SQL审计表
- 移除 api.ts sqlAuditApi 对象 (37行)
- 移除 mocks SQL审计mock数据 (90行) + barrel引用
|
2026-06-16 03:05:14 +08:00 |
|
attacker
|
a6e8b5ab4f
|
snapshot: SQL审计死代码清理前快照
|
2026-06-16 03:03:02 +08:00 |
|
attacker
|
cd46964750
|
docs: update dev-log - ServerManager tag JSON object display fix
|
2026-06-16 02:04:38 +08:00 |
|
attacker
|
91561a0eff
|
fix: ServerManager标签显示JSON对象解析为key:value格式(原显示原始JSON字符串)
|
2026-06-16 02:04:05 +08:00 |
|
attacker
|
440d731b9b
|
docs: update dev-log - ServerManager dead button cleanup + CSV export
|
2026-06-16 01:08:16 +08:00 |
|
attacker
|
be529c8c36
|
feat: ServerManager 死按钮清理+CSV导出+统计卡片提取; 审批/导航后端拆分; DialogDescription修复; AppRelease重试按钮实现
|
2026-06-16 01:07:43 +08:00 |
|
attacker
|
f5bda8b03b
|
docs: update dev-log - server.go split
|
2026-06-15 21:05:30 +08:00 |
|
attacker
|
49dcaade4e
|
refactor: backend server.go split (446→336+121 lines, core CRUD + batch ops)
|
2026-06-15 21:04:58 +08:00 |
|
attacker
|
bc5bd96aff
|
docs: update dev-log - billing.go split
|
2026-06-15 17:04:26 +08:00 |
|
attacker
|
9eaf88c8b7
|
refactor: backend billing.go split (476→307+168 lines, billings/alert-rules)
|
2026-06-15 17:04:02 +08:00 |
|
attacker
|
c90d0e5c10
|
docs: update dev-log - navigation dead code cleanup
|
2026-06-15 16:07:05 +08:00 |
|
attacker
|
d13f5b8fa1
|
refactor: 清理站内导航死代码 (删除孤立NavigationPage组件+navigationApi+导航mock数据)
- 删除 frontend/src/components/navigation/NavigationPage.tsx (359行, 菜单/路由移除后遗留的孤立组件)
- 移除 services/api.ts 中 navigationApi (唯一消费者已删除)
- 移除 mocks/modules/misc.ts 中 navigationGroups/navigationLinks 死数据 (252行)
- 清理 mocks/data.ts barrel 中导航 re-export
- 修正 cloud.ts 误导性注释 (站内导航→云平台/账号/区域/域名数据)
- 后端 navigation.go 保留不动 (菜单已移除但后端代码保留)
- tsc --noEmit 零错误 + npm run build 通过
|
2026-06-15 16:06:04 +08:00 |
|
attacker
|
9af0890bc6
|
docs: update dev-log - pipeline.go split
|
2026-06-15 15:05:56 +08:00 |
|
attacker
|
8f1d5e2107
|
refactor: backend pipeline.go split (541→306+246 lines, pipelines/releases)
|
2026-06-15 15:05:28 +08:00 |
|
attacker
|
487d542c8c
|
refactor: backend alert.go split (586→133+274+206 lines, alerts/rules/channels)
|
2026-06-15 14:05:28 +08:00 |
|
attacker
|
46c50a13f4
|
docs: update dev-log - AlertCenter split
|
2026-06-15 13:07:22 +08:00 |
|
attacker
|
76a41f5eeb
|
refactor: AlertCenter拆分(723→390行)+修复TopologyView类型错误
- AlertCenter.tsx: 723→390行,提取类型/helpers/渠道Tab到子组件
- alert-center-helpers.tsx: 新建(127行),共享Alert/AlertRule/NotificationChannel类型+mapAlert+badge helpers
- AlertChannelDialog.tsx: 新建(121行),通知渠道创建/编辑对话框(自包含useEffect同步)
- AlertChannelsTab.tsx: 新建(152行),通知渠道Tab自包含(状态+API+渲染+CRUD)
- AlertCenterDetail.tsx: 去重getSeverityBadge,统一从helpers导入
- TopologyView.tsx: 修复editForm.type类型推断(string→TopologyNode['type'])
|
2026-06-15 13:07:01 +08:00 |
|
attacker
|
805cb767a8
|
snapshot: AlertCenter拆分前快照
|
2026-06-15 13:01:56 +08:00 |
|
attacker
|
6a40956afa
|
docs: update dev-log - ScriptManager split
|
2026-06-15 12:08:12 +08:00 |
|
attacker
|
745dde358e
|
refactor: ScriptManager split into 5 files (730 to 546 lines)
- script-helpers.tsx (97 lines): Script/ExecutionRecord types, mapScript, scriptTypes, getTypeBadge, genCode, getStatusBadge, formatDate
- ScriptFormDialog.tsx (113 lines): new/edit script dialog
- ScriptDetailDialog.tsx (49 lines): view script content dialog
- ScriptLogsDialog.tsx (39 lines): execution logs dialog
- ScriptManager.tsx (546 lines): main component, imports sub-components
Verified: tsc --noEmit zero errors, npm run build passes, browser tested all 3 dialogs + tabs + stats cards, console zero errors
|
2026-06-15 12:07:46 +08:00 |
|
attacker
|
23fe742cc2
|
docs: update dev-log - AnsibleManager split
|
2026-06-15 11:07:55 +08:00 |
|
attacker
|
30cc899268
|
refactor: AnsibleManager split into 5 files (740 to 535 lines)
- ansible-helpers.tsx (114): types, mapPlaybook, categories, samplePlaybook, getStatusBadge, formatDate
- AnsibleFormDialog.tsx (111): 新建/编辑 Playbook 弹窗
- AnsibleDetailDialog.tsx (47): 查看 Playbook 内容弹窗
- AnsibleLogsDialog.tsx (38): 执行日志弹窗
- AnsibleManager.tsx (740->535): 主组件保留统计卡片+Tab布局+列表+表格+状态管理
|
2026-06-15 11:07:31 +08:00 |
|
attacker
|
e6d9f364e5
|
snapshot: AnsibleManager拆分前快照
|
2026-06-15 10:01:24 +08:00 |
|
attacker
|
16205fdb2b
|
docs: update dev-log - PipelineManager split
|
2026-06-15 09:05:45 +08:00 |
|
attacker
|
3f033e9db8
|
refactor: PipelineManager split into 4 files (776 to 438 lines)
|
2026-06-15 09:05:28 +08:00 |
|
attacker
|
419dd160b8
|
docs: 更新开发日志-资源申请模块重构
|
2026-06-15 08:07:28 +08:00 |
|
attacker
|
f70feb360c
|
feat: 资源申请模块重构——清理816行死代码+提取共享helpers+修复类型标签bug
- 删除 CabinetView.tsx(422行) + ResourceModelManager.tsx(394行) 死代码
- 提取 approval/helpers.tsx 共享辅助函数(parseSteps/parseFields/renderFormData/
getProgressInfo/renderStepProgress/APPROVAL_TYPE_OPTIONS/getInstanceType)
- 修复审批类型标签bug:instance无type字段,需从template.type取
(getApprovalTypeLabel/Color/Icon 全部改用 getInstanceType(instance))
- ApprovalFlow.tsx 771→666行(低于700限制)
- ApprovalProcessTab.tsx 移除重复helpers+过期类型字典(deploy/server/permission→server_apply/app_deploy)
|
2026-06-15 08:07:10 +08:00 |
|
attacker
|
8c4b59510d
|
feat: 云账号卡片改用品牌SVG图标替代纯文字色块
- 新建 CloudBrandIcon 组件: AWS/Azure/GCP/阿里云/腾讯云/华为云 官方品牌色+SVG路径
- 图标数据源同 TechIcons.dev / VectorLogo.zone (simple-icons 开源项目)
- CloudAccountManager: providerIcons纯文字→CloudBrandIcon SVG品牌图标
- 卡片底部品牌色描边替代满色背景块
- 新增 GCP 到 provider 列表
|
2026-06-15 07:37:29 +08:00 |
|
attacker
|
011f3d6b51
|
docs: 更新开发日志-服务器导入弹窗主题化+CRUD联调验证
|
2026-06-15 07:05:28 +08:00 |
|
attacker
|
c111be7610
|
feat: 服务器导入弹窗主题化——CloudServerImport+ExcelServerImport全量替换硬编码slate色为CSS变量+补DialogDescription消除Radix警告
|
2026-06-15 07:05:02 +08:00 |
|
attacker
|
bc7323e687
|
docs: 更新开发日志-定时任务管理全栈完善
|
2026-06-15 06:04:41 +08:00 |
|
attacker
|
18dffa826a
|
feat: 定时任务管理(CronJob)全栈完善——删除确认框+主题色+空状态+刷新按钮+toast反馈
- 新增删除确认框(useConfirm variant:destructive),显示任务名称
- 全量主题色替换:bg-slate-800→var(--dg-bg-secondary)、border-slate-700→var(--dg-border)等
- 新增空状态(PackageOpen图标+提示文案),无任务时优雅降级
- 新增刷新按钮(双loading state:首次spinner+手动刷新spin icon)
- toggle操作新增toast成功反馈
- 执行历史空状态优化(History图标+提示)
- 修复Fragment key警告(<>→<Fragment key>)
- 描述为空时显示—占位符
|
2026-06-15 06:04:15 +08:00 |
|
attacker
|
5e3c60d0da
|
docs: 更新开发日志-流水线管理全栈完善
|
2026-06-15 05:04:51 +08:00 |
|
attacker
|
837f50daae
|
feat: 流水线管理全栈完善——字段修复+编辑功能+toast反馈+确认框+主题色
|
2026-06-15 05:04:34 +08:00 |
|
attacker
|
fd1f30958a
|
docs: 更新开发日志-发布管理全栈完善
|
2026-06-15 04:06:37 +08:00 |
|
attacker
|
a5970315be
|
feat: 发布管理全栈完善——环境值修复+驳回API+toast反馈+详情弹窗+确认框
后端:
- pipeline.go: 新增 RejectRelease handler(仅pending可驳回,状态置rejected)
- routes.go: 注册 POST /releases/:id/reject 路由
前端:
- ReleaseManager.tsx 重写(553→581行):
- 修复环境值不匹配: development/production → dev/prod(与后端binding一致)
- 移除硬编码mock applications数组,改自由输入应用名
- 修复字段名: release.deployer → release.author
- 新增toast反馈(create/approve/reject/deploy/rollback均有success/error)
- 新增确认框(deploy/rollback操作前确认)
- 新增发布详情弹窗(原缺失,Eye按钮无响应)
- 新增空状态展示
- 新增rejected状态徽章
- 主题感知: bg-slate-800 → var(--dg-bg-secondary)
- Select替换原生select下拉框
- api.ts: 新增 rejectRelease 方法
// Logan.Li
|
2026-06-15 04:06:18 +08:00 |
|
attacker
|
618da69576
|
snapshot: 发布管理完善前快照
|
2026-06-15 04:02:27 +08:00 |
|
attacker
|
18aa445b32
|
fix: 仪表盘死按钮修复+K8s进度条可视化+标题简化
- Dashboard: 移除无功能的"实时监控"按钮,"刷新"按钮接上数据重载(useCallback+spin动画)
- DashboardRecent: 4个"查看全部"按钮接上路由导航(告警→/alerts, 发布→/releases, 服务器→/servers, 集群→/clusters)
- K8sNodes: CPU/Mem使用率从纯文本改为迷你进度条(颜色阈值:绿<60%/黄60-85%/红>85%)
- K8sWorkloads: Deployment副本比用进度条可视化(满=绿/未满=黄)
- K8sClusters: 页面标题"K8s集群管理"→"集群列表"
|
2026-06-15 03:35:30 +08:00 |
|
attacker
|
bf3d642b59
|
docs: 更新开发日志-仪表盘真实指标修复
|
2026-06-15 03:05:45 +08:00 |
|
attacker
|
a3b84f79c7
|
fix: 仪表盘资源趋势图使用真实Agent指标替代随机假数据
- 后端 GetMetrics 修复 strftime 字符串无法扫入 time.Time 导致 timestamp 为零值的 bug
(改为 string 类型 + time.ParseInLocation 手动解析)
- 前端 Dashboard.tsx 新增 getMetrics(24) 调用,获取真实按小时聚合的 Agent 数据
- DashboardCharts.tsx 新增 buildMetricsFromReal() 将 MetricData[] 转换为图表数据
- ResourceUsageCard 优先使用真实时间序列,无数据时回退到平均值生成
|
2026-06-15 03:05:26 +08:00 |
|
attacker
|
b770ec025b
|
feat: K8s节点管理+工作负载独立组件,架构拓扑可拖拽编辑
- 新建 K8sNodes.tsx: 集群选择→节点表格(角色/状态/CPU/Mem/Pods/Kubelet版本)
- 新建 K8sWorkloads.tsx: Deployment+Pod双Tab,副本/镜像/重启次数/状态
- TopologyView: SVG节点支持鼠标拖拽,实时更新坐标,cursor grab/grabbing
- 节点/工作负载路由从K8sClusters占位改为独立组件
- Sidebar: Kubernetes管理→Kubernetes
|
2026-06-15 02:46:35 +08:00 |
|
attacker
|
674fe5b17f
|
cleanup: 移除3个废弃AI组件(AIOpsHub/AIFaultDiagnosis/AIScriptGenerator), 清理1087行死代码
|
2026-06-15 02:40:13 +08:00 |
|
attacker
|
d1415561ef
|
refactor: 移除SQL审计+站内导航,AIOps子菜单6→3精简,服务器批量删除加确认框
- 移除SQL审计菜单和路由
- 移除站内导航菜单和路由
- AIOps智能子菜单从6个精简为3个:智能助手、告警分析、容量预测
- 移除智能运维中心(空壳)、故障诊断(与告警分析重复)、脚本生成(并入助手)
- 服务器删除/批量删除添加Dialog确认框
- 删除/批量删除添加toast成功反馈
|
2026-06-15 02:36:47 +08:00 |
|
attacker
|
3be53b89fa
|
feat: WebShell真实SSH终端 + 移除日志能力菜单
|
2026-06-15 02:28:28 +08:00 |
|
attacker
|
925348e583
|
fix: 移除Header Tab栏(与侧边栏重复); 修复approve/reject 400(ApproveRequest去掉required binding)
|
2026-06-15 02:21:04 +08:00 |
|