Commit Graph
500 Commits
Author SHA1 Message Date
Logan.Li 1ac0a34717 feat(frontend): 401 redirect 回跳与启动期诊断输出
- 401 统一携带 redirect 跳登录,登录成功后回到原页面(防开放跳转校验)
- 并发 401 只清理会话并跳转一次
- 开发环境输出 [HTTP] 请求日志,新增 bootLog 启动横幅(API Base/Domain/Mode)
2026-09-14 15:27:54 +08:00
Logan.Li 373c1c359f fix(run.sh): dev 模式显式加载根目录 config.yaml
- 后端从 backend/ 目录启动时读不到根目录配置,落到默认 release 配置
- 启动命令追加 --config 指向项目根 config.yaml,确认 mode=local 生效
2026-09-14 15:27:54 +08:00
Logan.Li 52e93316a7 fix(frontend): 修复提示不可见导致"保存没反应"
useToast 曾是只写局部 state 的 stub,返回的 toasts 数组无任何页面渲染,
而全局仅挂载 sonner 的 <Toaster />,导致 31 个组件的操作提示全部隐形
(用户表现为"点击保存没反应",实际请求已成功到达后端)。

- use-toast.tsx: useToast 统一转发到 sonner,保持返回值结构兼容
- ProfilePage.tsx: 密码修改去掉静默 return,校验失败给出明确提示;
  保存按钮改为始终可点,保证点击必有反馈

// Logan.Li
2026-09-14 02:13:34 +00:00
Logan.LiandCursor 4658812876 feat: 增加资产主机详情抽屉并统一终端窗口壳
服务器列表可从右侧查看规格、迷你曲线和进程 TOP;SSH 与审计终端改为 macOS 风格标题栏。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 09:43:20 +08:00
Logan.LiandCursor 2fd1624bec feat: 加固 Agent CLI 执行边界并更新模型目录
收紧 SSH 命令护栏、权限校验与远程执行会话,并同步主流大模型供应商列表。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 09:43:14 +08:00
Logan.Li 67660ae1d6 docs: 完成源码统一验收记录
- 记录远程分支和三端源码一致性结果
- 记录构建、迁移与生产健康检查结果
2026-08-05 20:26:33 +08:00
Logan.Li fe07598039 fix: 修复整合后的前端类型契约
- 补齐账单币种与公共组件类型导出
- 修复 LDAP 和主机监控拆分组件类型
- 删除无后端接口且未引用的旧凭证弹窗
2026-08-05 20:18:48 +08:00
Logan.Li a0edab6569 chore: 移除误提交的依赖目录链接
- 删除 frontend/node_modules 符号链接
- 保持依赖目录由 .gitignore 排除
2026-08-05 20:05:42 +08:00
Logan.Li fd60361d93 chore: 统一本地服务器与远程仓库源码
- 合并 main 与 master 历史并以服务器结构为基线
- 保留迁移、数据保留、AWS 账单与部署安全能力
- 建立 SDD 规格和 CI 验证闭环
2026-08-05 20:03:25 +08:00
Logan.Li f22e575124 fix: 提供 SQLite 迁移故障恢复开关 2026-07-30 23:49:38 +08:00
Logan.Li 99b5d94dc2 fix: 编码套餐默认启用深度推理
- 区分编码套餐与模型推理概念
- 编码套餐切换时默认开启深度推理
- 更新中英文提示文案
2026-07-30 23:35:00 +08:00
Logan.Li 4c02d7d352 fix: 完善大模型供应商下拉
- 移除当前协议不兼容的 Perplexity 预设
- 限制供应商与模型列表高度并支持滚动
2026-07-30 22:25:18 +08:00
Logan.Li d8b124fc7c feat: 更新主流大模型供应商目录
- 按云服务、Coding Plan、API 网关和本地模型分组

- 新增兼容模型发现与供应商协议校验
2026-07-30 21:34:33 +08:00
Logan.Li 01e4435f29 fix: 更新多云账单同步说明
- 展示当前支持的五个云厂商
- 统一多云出账时效与只读权限提示
2026-07-29 06:51:05 +08:00
Logan.Li 9b895efee3 fix: 完善多云同步验证与实例统计
- 修复华为云签名、账单字段与区域映射缓存
- 按真实云实例更新账号服务器数并补充并发测试
2026-07-29 06:35:54 +08:00
Logan.Li 132fe9ba97 feat: 补全多云资产与账单同步
- 接入 AWS、华为云和 Azure 资产及账单 API

- 按原始币种隔离统计并修正账号服务器数

- 修复侧栏菜单展开后的滚动行为
2026-07-29 06:15:00 +08:00
Logan.Li 65e2f09b97 fix: 按业务时区同步昨日账单
- 固定按 Asia/Shanghai 计算账单昨日日期

- 补充 UTC 服务器时区回归测试
2026-07-29 05:57:07 +08:00
Logan.Li dd3770a66c fix: 恢复腾讯云账单同步并完善成本预测
- 接入腾讯云单日账单、全局限频和指数退避

- 修正月末费用预测并增加账期提示和费用归因

- 补充腾讯云限频及账单归因回归测试
2026-07-29 05:44:40 +08:00
Logan.Li 88c41f0b2b fix: 恢复腾讯云主机发现 2026-07-27 17:09:25 +08:00
Logan.Li e831ec2eb1 fix: 统一 Agent 在线状态时区 2026-07-27 16:32:17 +08:00
Logan.Li e557782176 fix: 修复 Agent 状态与监控大屏 2026-07-27 15:56:03 +08:00
Logan.Li 83662487cb fix: 接通服务器V2排序链路
- 将排序参数从V2 Handler传递至Service与Repository

- 增加仓储分页排序与参数白名单测试
2026-07-26 23:38:06 +08:00
Logan.Li 09e6271bb4 feat: 支持服务器主机名排序
- 服务器列表默认按主机名升序并支持表头切换

- 后端按白名单排序并区分分页缓存键
2026-07-26 23:21:10 +08:00
Logan.Li 6b5fc6a5c3 fix: 双层捕获并去重转发Escape
- Radix与终端容器共同覆盖Escape事件路径
- 对同一次按键去重后仅发送一个控制字符
2026-07-26 19:22:21 +08:00
Logan.Li 82d1b8de10 fix: 在终端容器捕获Escape按键
- 在xterm容器捕获阶段转发Escape控制字符
- 阻止Radix与xterm继续重复处理同一事件
2026-07-26 19:09:18 +08:00
Logan.Li 57e51ba1cd fix: 从xterm直接转发Escape按键
- 在xterm自定义键处理器中发送Vim Escape控制字符
- Radix弹框仅负责阻止Escape关闭窗口
2026-07-26 18:45:36 +08:00
Logan.Li d666840ed0 fix: 修复SSH终端Escape按键
- 将弹框捕获的Escape控制字符直接转发到远端
- 阻止xterm对同一次Escape事件重复发送
2026-07-26 18:21:55 +08:00
Logan.Li 82b53c043b fix: 修复SSH终端还原布局溢出
- 约束xterm容器最小宽度并隐藏旧画布溢出
- 在布局绘制前同步终端与远端PTY尺寸
2026-07-26 18:03:33 +08:00
Logan.Li 198139648d fix: 修复RDP最大化画面模糊
- 最大化时按浏览器可用尺寸重建RDP会话
- 隔离分辨率切换过程中的旧连接事件
2026-07-26 17:26:07 +08:00
Logan.Li 7a1680884d fix: 压缩RDP实时画面传输
- 将原始RGBA位图压缩为PNG后通过WebSocket发送
- 降低低带宽代理链路下的RDP首帧延迟
- 增加位图压缩与异常数据测试
2026-07-25 17:39:14 +08:00
Logan.Li 699560a270 fix: 完善Agent系统信息上报
- 持续上报系统元数据并动态更新运行时长
- 兼容旧版心跳补齐资产运行时长
- 修复监控指标当前值重复显示单位
2026-07-25 17:14:55 +08:00
Logan.Li 0c7c63017c docs: 更新腾讯云账单同步提示
- 标明阿里云与腾讯云均支持账单同步
- 补充腾讯云DescribeBillDetail权限说明
2026-07-25 16:41:19 +08:00
Logan.Li 3a3f77ea62 fix: 优化腾讯云账单同步限频
- 全局限制腾讯云API调用频率为每秒4次以内
- 对RequestLimitExceeded增加指数退避重试
- 补充限频回归测试并更新账单同步支持说明
2026-07-25 16:36:02 +08:00
Logan.Li 7bc416d22a fix: 修复Agent指标时区查询
- 统一Agent报告存储与查询的UTC时间边界
- 修复监控大屏、历史图表及离线判断取不到最新数据
- 增加UTC与UTC+8场景回归测试
2026-07-25 16:17:47 +08:00
Logan.Li d9106dde6e fix: 恢复Agent指标并修复时间弹层
- 使用按主键更新避免SQLite字段错误
- 自定义时间选择器改用Portal避免卡片遮挡
2026-07-25 15:51:12 +08:00
Logan.Li af98940211 fix: 修复Agent按IP关联资产
- 统一系统主机名与云资产名称的指标归属
- 修复SQLite更新参数顺序和自动注册冲突错误
- 增加Agent上报关联回归测试
2026-07-25 15:46:08 +08:00
Logan.Li 827d9a31cd fix: 正确识别 Agent 安装与审计失败
- 下载脚本失败时立即终止安装并提示 WAF 拦截
- Agent 服务未运行时不再计为安装成功
- 审计列表兼容后端 status 成功失败字段
2026-07-25 15:08:04 +08:00
Logan.Li 7553ef54de fix: 使用访问域名安装 Agent 并发布下载文件
- 前端提交当前访问 origin,避免反向代理内网地址泄漏
- 校验并安全转义 Agent 服务地址
- 主程序构建时同步生成多平台 Agent 二进制
2026-07-25 15:00:02 +08:00
Logan.Li 0b785da8ae feat: 完善多云资产与腾讯云账单同步
- 接入 AWS、腾讯云、华为云和 Azure 区域及主机发现
- 接入腾讯云账单分页、限流与组件费用汇总
- 批量账单仅同步已支持厂商并优化云账号操作
2026-07-25 14:45:19 +08:00
Logan.Li 74fa122319 fix: 修复 Agent 安装向导布局
- 限制弹窗尺寸并支持内容滚动
- Tabs 等分宽度并截断长文案,避免越界
2026-07-25 14:28:21 +08:00
attacker 5a427e02d4 fix(lint): 清理 EventsTab 冗余 eslint-disable 指令 — F7 (ca036a8) 提交时引入的 react-hooks/set-state-in-effect 标注,规则版本演进后不再触发,保留反而引入 ESLint Unused disable warning
- ESLint warnings 43→42 (-1)
- 剩余 42 warnings 全部为 react-refresh/only-export-components 架构性约束
- tsc -b=0, npm build✓ (23.04s), 17/17 集成测试通过
2026-07-19 18:11:32 +08:00
attacker 337fbff617 docs: ROADMAP U49 cost-predict.ts i18n 深度治理记录 2026-07-17 04:05:59 +08:00
attacker 083f4477db fix(i18n): cost-predict.ts hash key 清理 + 硬编码中文清零 + 错误 key 引用修复
- 23 个 predictutilsts.s* hash-style 键重命名为 costPredict.* 语义化键
- 7 处 buildCostInsightPrompt 硬编码中文模板字面量→i18n.t() 插值调用
- 修复 costRecommendation 函数引用错误 key (predictMemLeak→costPredict.rec*)
- 修复 dimension 字段引用 predictDiskFull→costPredict.allProviders
- 修复 providerLabel 引用 predictIn24h→costPredict.allProviders
- 新增 34 个语义化翻译键 (aiops.costPredict.*), zh/en 8102→8113 对齐
- tsc -b=0, npm build✓ (19.29s), ESLint=0/43/any=0, go build=0
- 17/17 集成测试通过
2026-07-17 04:05:32 +08:00
attacker d6ed1978ef docs: ROADMAP U48 i18n locale 懒加载优化记录 2026-07-17 01:50:03 +08:00
attacker 8e211b64af perf(frontend): U48 i18n locale 懒加载 — en-US JSON 动态导入拆分为独立 chunk
问题: src/i18n/index.ts 静态导入 zh-CN.json (200KB compact) + en-US.json
(292KB compact),两者共 486KB 全部内联到主 index chunk,致主 chunk 696KB
超过 Vite 600KB 警告阈值。

修复:
- src/i18n/index.ts: 移除 en-US.json 静态导入,改为 ensureLocaleLoaded()
  动态导入 + i18n.addResourceBundle() 按需加载
- zh-CN (默认/回退语言) 保持静态内联,无行为变化
- en-US 仅在用户切换英文时按需 fetch (290KB 独立 chunk)
- 已选英文的用户刷新页面时异步加载 en-US (短暂中文闪烁,可接受)
- src/store/index.ts: setLanguage 调用 ensureLocaleLoaded 确保目标语言包
  加载完成后再切换

结果:
- 主 index chunk: 696KB → 423KB (-39%, -273KB)
- en-US chunk: 290KB 独立懒加载 (仅英文用户首次切换时 fetch)
- Vite 600KB chunk 警告消除
- tsc -b=0, npm build✓ (18.18s), ESLint=0/43/any=0, go build=0
- 17/17 集成测试通过, Docker healthy
2026-07-17 01:49:25 +08:00
attacker ca036a85ca feat(k8s): F7 集群详情EventsTab真实后端对接 + go vet修复
1. EventsTab.tsx: DEMO_EVENTS硬编码→kubernetesApi.getEvents真实K8s事件
   - 复用 normalizeK8sEvent/formatEventRelative 工具(与 EventsPage 一致)
   - 新增 loading/empty 状态 + 刷新按钮
   - Warning事件优先排序 + 限100条防溢出
   - KubernetesClusterDetail 传入 clusterCode prop
   - 修复 Q28 组件拆分时遗留的 demo 数据未对接缺口

2. aiops_alert_analysis.go: log.Printf %s→%d 修复 go vet 失败
   - AlertID 类型为 uint, %s 格式符不匹配致 go test 构建失败
   - go vet ./... 全量零错误

验证: tsc -b=0, npm build✓ (18.00s), go build=0, go vet=0, 17/17测试通过
Events API 返回5条真实事件 (type=Normal, reason=Pulled, count=5487)
2026-07-16 21:23:19 +08:00
attacker a874832f10 fix(lint): 补全 AuditOperationsTab react-hooks/incompatible-library 抑制指令 — U12 遗漏的 TanStack Virtual 兼容性标注 (同 useVirtualRows/PodsTab), ESLint warnings 43→42 (仅剩 react-refresh 架构性约束), tsc -b=0, npm build✓, 17/17测试通过 2026-07-16 12:57:22 +08:00
attacker 96ed39d122 feat(i18n): U47 最后3处残余硬编码中文清零 — 全前端非注释CJK=0 (cloud-server-import阿里云/腾讯云/华为云→i18n.t + TerminalSessionsTab批量删除→t + PreviewTable类型→t), 复用已有翻译键零新增, zh/en 8102=8102对齐, tsc -b=0, npm build✓ (18.02s), ESLint=0/43/any=0, go build=0, 17/17测试通过 2026-07-16 04:42:09 +08:00
attacker 21728be445 feat(i18n): U46 残余UI硬编码中文清零 — 6文件12处→0 (UserFormDialog/CredentialManager/RdpAuditViewer/LiveMonitorDialog/ServerFileBrowser/context-loaders) +17翻译键 zh/en 8085→8102对齐 2026-07-16 02:29:47 +08:00
attacker 6288fa0071 feat(i18n): U45 AI告警分析模块i18n补全 — analyzerHelpers 25处硬编码中文→i18n.t()插值 + 预测图标双语兼容 2026-07-15 07:47:45 +08:00