Logan.Li
|
e0cc547c8b
|
fix(dashboard): 资源趋势图移除随机模拟数据
- 无主机/无指标时不再用 Math.random 生成假曲线,改为空状态提示
- 移除随之不再使用的 avgCpu/avgMemory props,新增中英文 noData 文案
|
2026-09-14 15:27:54 +08:00 |
|
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 |
|