奇安信日志审计系统快速部署实战:从零到一满足等保合规
1. 项目概述与核心价值最近在帮一个客户做安全合规审计他们明确要求部署一套日志审计系统用来满足等保三级里关于日志留存和审计的要求。市面上这类产品不少但考虑到客户本身就有奇安信天擎终端在跑为了统一管理和降低后续维保的复杂度我们最终选定了奇安信的日志收集与分析系统也就是常说的日志审计产品。这个项目标题里的“快速上线部署配置”是关键客户希望能在两周内从零到一看到效果这对我们前期的方案设计和部署熟练度提出了不低的要求。简单来说这套系统就是一个集中化的“日志收容所”和“分析大脑”它能把网络设备、安全设备、服务器、数据库甚至应用系统产生的海量日志像吸尘器一样吸过来然后进行标准化、存储、分析和告警最终帮你发现安全事件、满足合规要求、回溯操作历史。如果你也在面临类似的场景——比如公司要过等保、ISO27001或者内部想提升安全运维效率发现服务器被黑了却找不到线索那么这个快速部署的实战经验或许能给你一些参考。整个部署过程远不止是点点安装包那么简单它涉及到网络规划、资源评估、组件协调和策略调优。下面我就把这次从零开始把奇安信日志审计系统跑起来的全过程包括踩过的坑和总结的技巧毫无保留地分享出来。2. 系统整体架构与部署前规划2.1 核心组件与数据流解析奇安信的日志审计系统其核心架构可以理解为一个典型的数据管道Data Pipeline。它主要由三个逻辑层构成采集层、处理存储层和展示分析层。采集层负责“抓取”日志。它支持多种方式最常见的是SyslogUDP 514/TCP 514几乎所有的网络设备交换机、防火墙、安全设备WAF、IDS和类Unix服务器都原生支持。对于Windows系统则需要通过部署一个轻量级的Windows代理Agent来读取系统事件日志Event Log并转发。此外还支持通过SNMP Trap、JDBC直连数据库读取日志表、文件采集器监控特定日志文件的变化以及各类设备的API进行采集。这次我们主要用到了Syslog和Windows代理。处理存储层是系统的“心脏”。它接收来自采集层的原始日志首先进行日志解析和范式化。这是最关键的一步比如一条防火墙日志“Deny TCP 192.168.1.100:55321 - 10.0.0.1:80”系统会识别出源IP、目的IP、端口、动作Deny、协议TCP等字段并转换成内部统一的格式。范式化之后的数据会被存入高性能的索引数据库通常是基于Elasticsearch或类似技术构建中以便快速检索。同时原始日志也会以压缩形式进行原始日志存储满足法规对原始记录不可篡改的要求。展示分析层是用户交互的“面孔”。通过Web控制台你可以进行日志查询、统计分析、报表制作、告警策略配置和仪表盘Dashboard定制。系统内置了大量的关联分析规则比如“同一个源IP在短时间内对多个目的端口进行扫描”或者“用户登录失败次数超过阈值”这些规则能自动从海量日志中挖掘出潜在的安全事件。数据流很简单各类设备发送日志 - 日志审计系统接收并解析 - 存储到索引和原始库 - 用户通过Web界面查询、分析、告警。理解这个流程对后续的排错至关重要。2.2 部署环境与资源评估“快速上线”的前提是硬件资源给足。奇安信官方有详细的配置要求文档但根据实战经验我强烈建议你在官方最低配置的基础上至少上浮50%。我们的环境规划如下服务器形态采用一台物理服务器进行集中部署所有组件装在一台机器上适用于日志量每日在50GB以下的场景。如果日志量巨大需要考虑分布式部署将采集器、索引器、存储节点分离。CPU与内存这是性能的关键。我们配置了2颗8核CPU共16核和128GB内存。内存尤其重要因为Elasticsearch或类似引擎非常吃内存足够的内存能保证高速检索和数据分析的流畅性。如果内存不足查询速度会急剧下降甚至导致服务不稳定。存储规划我们规划了两种存储。系统盘一块480GB的SSD用于安装操作系统和日志审计软件本身。数据盘这是重头戏。我们用了4块4TB的SAS硬盘配置为RAID 10。这样既提供了约8TB的可用空间又保证了读写性能和数据冗余。存储空间的计算需要预估每日日志量 * 留存天数 * 膨胀系数。假设每日收集100GB原始日志要求留存180天并考虑索引和压缩膨胀系数按2.5估算则需要100GB * 180 * 2.5 ≈ 45TB。我们的场景每日约30GB留存半年8TB是足够的。一定要为未来1-2年的增长留出余量。网络为服务器配置一个固定的管理IP地址。同时必须确保所有需要采集日志的设备防火墙、服务器等的网络能够联通到这个管理IP的Syslog端口默认514。如果网络中有防火墙需要放行相关策略。操作系统官方通常支持特定的CentOS或Red Hat Enterprise Linux版本。我们选择了CentOS 7.9这是一个长期稳定且社区支持广泛的版本。务必严格按照手册要求进行最小化安装关闭不必要的服务如NetworkManager使用network-scripts并禁用SELinux和防火墙或在后期配置中精确放行端口。这一步的规范性能避免无数诡异的后患。注意资源评估宁多勿少。我曾在一个预算紧张的项目中试图在官方最低配8核32G上跑日均20GB的日志初期还行三个月后数据量积累上来查询响应慢如蜗牛最后不得不迁移扩容过程极其痛苦。内存和磁盘IO是核心瓶颈。3. 分步部署与核心配置实操3.1 操作系统初始化与依赖检查拿到一台新服务器别急着装主程序。花半小时做好初始化能省去后面80%的麻烦。系统安装与网络配置使用CentOS 7.9 Minimal镜像安装。安装时记得把根分区/挂载到SSD上并创建一个大的/data分区挂载到RAID 10阵列上这个/data目录将用于存放所有的日志数据。安装完成后配置静态IPvi /etc/sysconfig/network-scripts/ifcfg-ens192修改关键参数BOOTPROTOstatic,ONBOOTyes, 并设置IPADDR,NETMASK,GATEWAY,DNS1。 重启网络systemctl restart network。基础环境调优关闭不必要的服务并设置开机不启动。systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config时间同步日志审计对时间准确性要求极高所有设备必须时间同步。配置NTPyum install -y ntp ntpdate cn.pool.ntp.org echo */30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org /dev/null 21 /etc/crontab systemctl restart crond内核参数调整为了支持系统处理大量网络连接和文件句柄需要修改内核参数。编辑/etc/sysctl.conf在末尾添加vm.max_map_count 262144 fs.file-max 655360 net.core.somaxconn 2048执行sysctl -p使配置生效。vm.max_map_count是Elasticsearch相关组件的关键参数不调整会导致启动失败。依赖包安装根据奇安信安装手册安装必要的依赖如libpcap,unzip,net-tools等。yum install -y libpcap unzip net-tools telnet wget3.2 主程序安装与初始化配置初始化完成后就可以安装主程序了。通常你会从奇安信技术支持那里获得一个ISO镜像或压缩包。上传与解压使用SFTP工具如WinSCP将安装包上传到服务器的/opt目录下。然后解压cd /opt tar -zxvf qianxin-log-audit-x.x.x.tar.gz执行安装脚本进入解压目录通常会有一个install.sh脚本。务必先阅读同目录下的安装手册或README文件。执行前确认/data分区有足够空间且权限正确。cd qianxin-log-audit ./install.sh安装脚本是交互式的它会提示你安装路径通常选择默认或指定到/data下。服务端口Web管理端口默认8443、Syslog接收端口默认514 UDP/TCP等。如果端口冲突可以在这里修改。管理员账户设置admin用户的初始密码。这个密码必须复杂且牢记。 安装过程会自动配置数据库、索引引擎和Web服务耗时约10-30分钟。验证安装安装完成后脚本通常会提示访问地址。打开浏览器输入https://你的服务器IP:8443。首次访问会提示安全风险因为使用自签名证书选择继续访问。用设置的管理员账号登录。成功进入Web控制台意味着安装成功。3.3 核心功能配置采集、范式化与存储登录控制台后真正的配置工作才开始。核心步骤有三配置日志源、验证日志接收、配置存储策略。配置日志源以Syslog为例在控制台找到“日志源管理”或“采集管理”。点击“添加”选择“Syslog”类型。填写日志源名称如“核心防火墙”、IP地址填写发送日志的设备IP不是审计系统自己的IP、设备类型从下拉列表中选择如“防火墙 - 奇安信 - 天眼”。选择正确的设备类型至关重要这决定了系统使用哪种解析规则范式化规则来处理这条日志。如果选错或选“通用”日志可能无法被正确解析出关键字段。端口默认514协议可选UDP或TCP。TCP更可靠但UDP性能更好。对于关键安全设备建议用TCP。在设备端配置日志发送以Linux服务器为例修改/etc/rsyslog.conf添加一行*.* 192.168.1.100:514表示TCP表示UDP。*.*表示发送所有级别的日志。重启rsyslog服务systemctl restart rsyslog。以华为交换机为例system-view info-center enable info-center loghost source Vlanif 1 # 指定源接口 info-center loghost 192.168.1.100 transport udp port 514以Windows服务器为例需要在日志审计系统上下载对应的Windows代理安装包然后在Windows服务器上安装。代理程序会配置将事件日志转发到审计系统。验证日志接收配置完成后在日志审计系统的“实时日志”或“搜索”页面选择对应的日志源查看是否有日志流入。如果能看到实时刷新的、解析后的日志字段清晰说明采集成功。如果没收到按以下顺序排查检查网络连通性在审计服务器上telnet 设备IP 514看设备端端口是否开放反过来在设备端telnet 审计服务器IP 514看审计服务器端口是否监听(netstat -anp | grep :514)检查防火墙虽然我们关闭了firewalld但有些云主机有安全组策略需要放行514端口入站。检查设备配置设备端的日志发送配置是否正确级别是否匹配检查审计系统日志源配置IP地址是否填对了发送方的IP配置存储与归档策略进入“系统管理”-“存储管理”或“归档策略”。索引存储设置索引数据的保存周期例如180天。超过180天的索引数据会被自动删除以释放空间。这个删除是不可逆的设置前需确认合规要求。原始日志存储设置原始日志文件的压缩存储路径应指向/data下的一个大容量目录和保存周期。原始日志通常保存更久甚至永久。归档策略可以配置将超过一定时间的原始日志自动备份到外部的NAS或对象存储进一步节省本地空间。4. 高级策略与运维调优4.1 关联规则与告警配置日志收上来了如何让它产生价值靠的就是关联规则。系统内置了数百条规则但需要你根据自身环境启用和调优。理解规则逻辑进入“关联分析”-“规则管理”。你会看到诸如“暴力破解”、“端口扫描”、“恶意文件下载”等规则。点击一条规则查看其详情它通常由多个条件通过“与/或”逻辑组成并关联一个风险等级。启用与调优关键规则暴力破解这是最常用也最有效的规则之一。启用针对SSH、RDP、FTP、Web登录等的暴力破解检测。关键参数是“时间窗口”和“阈值”。例如“在5分钟内同一目标IP上来自同一源IP的登录失败事件超过10次”则触发中危告警。你需要根据环境调整阈值太低了误报多太高了可能漏报。敏感数据访问如果你配置了数据库日志采集可以启用规则来监控对敏感表如user,account的访问。内部横向移动监控内部服务器之间非常用端口的连接可能意味着失陷主机在探测。配置告警通知光在控制台告警不够需要发送出来。在“告警管理”-“通知策略”中配置邮件、短信或钉钉/企业微信机器人。邮件配置需要填写SMTP服务器地址、端口、发件邮箱和密码有时是授权码。钉钉/企业微信需要在对应的群聊中创建一个“自定义机器人”获取Webhook地址填入审计系统。这是目前运维团队最常用的即时通知方式。告警模板可以自定义告警内容确保包含关键信息告警名称、发生时间、源IP、目的IP、风险等级、事件详情。4.2 性能监控与日常维护系统上线后需要定期“体检”确保其健康运行。监控关键指标磁盘使用率这是重中之重。每天检查/data分区的使用情况df -h。设置一个阈值如85%超过后自动清理或扩容。内存与CPU使用率使用top或htop命令查看。重点关注Java进程通常是Elasticsearch和Web服务的内存占用。如果持续超过80%可能需要优化JVM参数或扩容。日志接收速率在Web控制台的仪表盘查看“日志接收速率”图表。速率突然飙升或降为零都意味着可能有异常如遭受攻击或采集中断。索引延迟检查日志从接收到可被搜索到是否存在明显延迟。理想情况应在1分钟以内。定期维护任务备份配置定期导出系统的所有配置日志源、关联规则、用户权限等。这是灾难恢复的救命稻草。索引优化Elasticsearch索引会随着时间产生碎片。虽然系统有自动合并任务但在业务低峰期如凌晨可以手动触发一次索引强制合并在系统维护菜单中如果有此功能或重启相关服务有助于提升查询性能。日志清理严格遵守存储策略定期检查并清理过期的索引和原始日志文件。可以写一个简单的Shell脚本结合crontab定时任务来清理/data目录下超过指定天数的.log.gz等压缩文件。5. 常见问题排查与实战技巧5.1 典型故障排查指南部署和运维过程中肯定会遇到问题。这里列几个我踩过的坑和解决方法。问题现象可能原因排查步骤与解决方案Web控制台无法访问1. 服务未启动。2. 端口被占用或防火墙拦截。3. 磁盘满导致服务异常。1.systemctl status查看相关服务如nginx, tomcat, elasticsearch状态尝试重启。2.netstat -tlnp | grep :8443检查端口监听。检查云主机安全组/本地防火墙规则。3.df -h检查磁盘空间清理或扩容。收不到某台设备的日志1. 网络不通或端口未放行。2. 日志源配置错误IP/设备类型。3. 设备发送配置错误或服务未重启。1. 双向telnet测试514端口。2. 核对审计系统上日志源配置的IP是否为发送方IP设备类型是否选对。3. 登录设备检查日志发送配置重启设备的日志服务如rsyslog, info-center。日志能收到但字段解析不全1. 设备类型选择错误。2. 该设备型号的日志格式不在系统内置范式化规则库中。1. 尝试更换更接近的设备类型。2. 联系奇安信技术支持提供日志样本请求更新规则库或自定义解析规则。搜索查询速度非常慢1. 硬件资源尤其内存不足。2. 索引数据量过大碎片多。3. 查询语句过于复杂或时间范围太大。1. 升级内存优化JVM参数需技术支持指导。2. 在低峰期执行索引合并操作。3. 优化查询缩小时间范围使用更精确的过滤条件。告警通知收不到1. 通知渠道配置错误如SMTP密码、Webhook地址。2. 告警规则未触发或触发频率被抑制。3. 网络策略限制。1. 测试邮件发送或Webhook测试功能。2. 检查关联规则是否启用阈值是否合理。查看“告警事件”列表是否有记录。3. 检查审计服务器是否能访问外网邮件服务器/钉钉API。5.2 提升效率的实战技巧善用仪表盘不要只停留在搜索页面。为不同角色安全运维、系统管理员、领导创建定制化的仪表盘。例如给领导看的仪表盘放上“今日安全事件趋势”、“TOP攻击源IP”、“合规报表完成度”等宏观图表。给运维看的放上“服务器错误日志TOP 10”、“数据库慢查询趋势”等。一次配置每日受益。自定义报表与定时发送等保合规需要定期出报表。系统内置了很多合规报表模板如《网络安全法》要求。你可以设置这些报表每周或每月自动生成并通过邮件发送给相关负责人省去手动导出的麻烦。权限精细化管理如果团队有多人使用一定要配置角色和权限。比如给普通运维人员只读权限只能看自己负责的服务器日志给安全分析师只读权限但可以查看所有日志和告警只有管理员才能修改配置。避免误操作。与现有系统联动日志审计系统可以作为一个安全信息源将其告警事件通过Syslog或API发送给SOC安全运营中心平台或SIEM安全信息和事件管理系统进行更高阶的关联分析。定期规则评审每季度或每半年回顾一下关联规则的告警记录。将长期不触发或误报率极高的规则进行调优或禁用。同时根据新出现的威胁情报与供应商保持沟通更新规则库。部署一套日志审计系统从技术上看并不复杂但要让其真正发挥作用关键在于持续的运营和调优。它不是一个“部署即结束”的项目而是一个需要不断喂养数据、优化规则、分析告警的持续过程。这次快速上线的经历让我深刻体会到前期扎实的规划和资源准备是后期稳定运行的基础。希望这份详细的记录能帮你少走弯路更快地让这套系统为你守护网络安全的“眼睛”和“耳朵”。

相关新闻

Grove I2C FM接收器开发指南:从Si4703驱动到Arduino收音机制作

Grove I2C FM接收器开发指南:从Si4703驱动到Arduino收音机制作

1. 从零开始认识Grove - I2C FM接收器如果你玩过Arduino或者树莓派,对Grove生态系统应该不陌生。它最大的好处就是把复杂的硬件连线简化成了“积木式”的拼接,让你能更专注于功能实现,而不是在杜邦线和面包板上纠缠不清。今天要聊的这块“积木…

2026/10/17 12:41:36 阅读更多 →
Arduino从入门到生产力:硬件选型、软件架构与物联网实战

Arduino从入门到生产力:硬件选型、软件架构与物联网实战

1. 从“玩具”到“生产力”:Arduino的认知重塑如果你在搜索引擎里输入“Arduino”,大概率会看到一堆闪烁的LED灯、旋转的小风扇,或者一个简单的温湿度计。在很多人的第一印象里,Arduino就是个“电子积木”,是给中小学生…

2026/10/16 16:48:16 阅读更多 →
4英寸HDMI LCD屏选型与驱动实战:从接口协议到嵌入式集成避坑指南

4英寸HDMI LCD屏选型与驱动实战:从接口协议到嵌入式集成避坑指南

1. 项目缘起:为什么4英寸HDMI LCD是个“小而美”的选择 最近在折腾一个嵌入式项目,需要一块屏幕来显示系统状态和简单的UI界面。项目空间有限,对功耗和接口也有要求。一开始,我理所当然地想到了那些常见的7寸、10寸的大屏&#xf…

2026/10/17 10:23:09 阅读更多 →

最新新闻

JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分

JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分

JsLeakWatcher 报出一批对象,真的是内存泄漏吗:页面缓存、监听器和可达路径怎么分 页面退出后 JsLeakWatcher 报出几十个对象,团队立刻把所有缓存清掉,结果二次进入变慢,告警却仍然存在。工具发现“对象仍可达”&…

2026/10/18 15:00:54 阅读更多 →
Aspose.Slides 25.5 JDK 16 集成指南:License校验与模块化配置

Aspose.Slides 25.5 JDK 16 集成指南:License校验与模块化配置

简介:本资源是面向Java开发者的企业级PowerPoint文档处理解决方案,适用于需在Spring Boot、Servlet等后台架构中实现PPT/PPTX自动化生成、格式转换与深度编辑的中高级开发场景。压缩包共2个文件(1个JAR组件 1个XML许可证)&#x…

2026/10/18 15:00:54 阅读更多 →
2026批量查快递轨迹用什么工具好:从预算成本看,小中大团队各自该花多少钱

2026批量查快递轨迹用什么工具好:从预算成本看,小中大团队各自该花多少钱

先说结论:批量查快递轨迹这件事,预算从48元/天到1288元/年,覆盖了所有规模的团队。关键不是花多少钱,是花的钱能不能对应上你的业务规模。下面用需求对照矩阵,把不同预算档位该匹配什么业务量讲清楚。固乔快递批量查询…

2026/10/18 15:00:54 阅读更多 →
CentOS 8.2 手动编译 libssh 0.9.5 完整指南:独立安装与版本共存

CentOS 8.2 手动编译 libssh 0.9.5 完整指南:独立安装与版本共存

1. 为什么在 CentOS 8.2 上要手动编译 libssh 0.9.5CentOS 8.2 自带的 libssh 版本是 0.9.4,这个版本在功能上其实已经能满足大部分基础场景,比如简单的 SSH 客户端连接、SFTP 文件传输等。但如果你正在做安全审计、渗透测试工具链搭建,或者需…

2026/10/18 15:00:54 阅读更多 →
Linux 开发工具(三) 深入理解编译器: gcc / g++

Linux 开发工具(三) 深入理解编译器: gcc / g++

目录 一. 编译的四个阶段 1.1 预处理 1.1.1 代码示例 1.1.2 命令行宏定义 1.1.3 条件编译的用处 1.2 编译 1.2.1 代码示例 1.3 汇编 1.3.1 代码示例 1.4 链接 1.4.1 代码示例 二. 动态库和静态库 2.1 什么是库 2.2 库文件的命名规则 2.3 动静态库 2.4 动态链接…

2026/10/18 15:00:54 阅读更多 →
对话工具升级为生成式界面引擎:免费开放与交互范式切换

对话工具升级为生成式界面引擎:免费开放与交互范式切换

1. 这次升级到底改了什么:从“对话工具”到“生成式界面引擎”先把结论摆在前面:这次更新的核心不是“模型又聪明了一点”,而是交互范式的切换。过去的对话产品,本质上是一个文本进、文本出的黑盒,你问它答&#xff0c…

2026/10/18 14:59:53 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →