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 |
|