OpenSSL 1.1.1t 编译部署指南:TLS 1.2 遗留系统兼容性实践

简介:本资源为OpenSSL 1.1.1t官方源码安装包,面向Linux系统管理员、安全开发工程师及密码学初学者,解决旧版本漏洞修复、TLS协议升级与自定义加密环境搭建等核心需求。压缩包共3098个文件,主体为945个C语言源码(实现加解密与协议逻辑)、538个Perl脚本(用于测试与工具生成)、533个PEM格式示例证书/密钥(支撑实验验证)、269个头文件(供二次开发调用),辅以大量测试用例(.t)、配置模板(.cnf/.conf)和文档(.pod/.txt),结构完整,开箱即用于编译部署。包体大小9.42MB,精简高效,适配主流x86_64 Linux发行版。目前已有426人学习下载,用户可直接获取经验证的1.1.1t全量源码、完整的构建依赖清单、标准化编译安装流程及环境变量配置方案,避免因版本混用或路径错误导致的SSL功能异常,是搭建安全通信基础环境的可靠起点。

1. OpenSSL 1.1.1t 不是“过时补丁”,而是 TLS 1.2 生产环境最后一块稳压石

你可能刚在某次安全扫描报告里被标红:“OpenSSL 版本低于 1.1.1w”;也可能正卡在编译一个老版本嵌入式中间件时,configure报错SSL_library_init undefined;更常见的是——运维同事深夜甩来一条消息:“上游要求强制升级到 3.x,但我们的 Java 7 客户端连不上新 TLS 握手”。这时候翻出 openssl-1.1.1t,不是怀旧,是精准止血。它不是被废弃的残骸,而是 OpenSSL 历史上最后一个完整支持 TLS 1.2、不强制依赖现代 CPU 指令集(如 AVX2)、且仍通过 FIPS 140-2 验证路径的 1.1.1 分支终版。它不兼容 TLS 1.3,但恰恰因此能无缝对接大量遗留金融终端、工控协议栈、国产密码模块封装层。如果你正在维护一套无法升级内核、不能换 JDK、又必须过等保二级的政企系统,1.1.1t 不是备选,是当前最薄的那层兼容性胶水。本文不讲“为什么不用 3.x”,只说清楚:怎么把它干净装进/usr/local/ssl、如何让已有 CMake 项目无感链接、以及哪些 configure 参数一开就翻车。


2. 编译前必做的三件事:环境裁剪、符号隔离、头文件净化

OpenSSL 1.1.1t 的编译失败,80% 源于系统环境“太干净”或“太脏”。它不像 3.x 那样自带构建缓存清理逻辑,也不自动规避系统已装的旧头文件。必须手动做三重隔离。

2.1 系统级依赖精简:只留 gcc、make、perl,干掉所有 openssl-dev 包

很多发行版(如 Ubuntu 22.04、CentOS 8+)默认预装libssl-dev或openssl-devel,其头文件会污染源码编译路径。若不卸载,./config会静默使用系统/usr/include/openssl/下的ossl_typ.h,导致最终生成的libcrypto.so符号表与你期望的 1.1.1t ABI 不一致——后续链接时出现undefined reference to 'EVP_MD_CTX_new'就是典型症状。

# Ubuntu/Debian 系统(注意:卸载后 apt install 任何依赖 openssl 的包会自动重装!) sudo apt remove libssl-dev openssl-dev # CentOS/RHEL 系统 sudo yum remove openssl-devel # 或 dnf(RHEL 8+) sudo dnf remove openssl-devel

提示:卸载后openssl version命令会失效,这是正常现象。我们不依赖系统命令,只用源码编译出的二进制。

2.2 创建独立构建目录,禁用系统 pkg-config 路径

OpenSSL 1.1.1t 的Makefile会读取PKG_CONFIG_PATH,若该变量指向系统/usr/lib/pkgconfig,则pkg-config --cflags openssl可能返回错误的-I/usr/include,覆盖你自定义的--prefix。必须显式清空并隔离:

# 解压源码后,绝不直接在源码根目录执行 configure tar -xf openssl-1.1.1t.tar.gz mkdir build-1.1.1t && cd build-1.1.1t # 关键:临时屏蔽所有 pkg-config 搜索路径 export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="/dev/null" # 同时确保 LD_LIBRARY_PATH 不干扰链接阶段 unset LD_LIBRARY_PATH

2.3 头文件污染检查:确认 /usr/include/openssl 不存在

即使卸载了-dev包,某些定制化系统(如某些国产 OS 镜像)仍残留/usr/include/openssl目录。这个目录只要存在,gcc -I/usr/local/ssl/include就可能被-I/usr/include优先覆盖(因 GCC 默认搜索顺序)。执行以下命令验证:

ls -ld /usr/include/openssl # 若输出类似 "drwxr-xr-x 3 root root ...",说明残留!必须删除: sudo rm -rf /usr/include/openssl

注意:此操作仅影响编译期头文件查找,不影响运行时。系统原有libssl.so.1.1仍在/usr/lib/x86_64-linux-gnu/下,不会被删除。


3. configure 参数深解:为什么 --prefix 不够,必须加 --openssldir 和 shared

OpenSSL 1.1.1t 的安装路径逻辑是双轨制:--prefix控制二进制和 man 手册位置,--openssldir才真正决定证书、配置、引擎模块的落盘地址。漏设后者,会导致openssl req找不到openssl.cnf,openssl s_client无法加载 CA 证书。而shared参数更是关键——它不仅生成.so文件,还强制重写libcrypto.pc和libssl.pc中的Libs.private字段,否则 CMake 的find_package(OpenSSL)会因-ldl -lpthread缺失而链接失败。

3.1 推荐 configure 命令(含注释)

# 进入 build-1.1.1t 目录后执行 ../openssl-1.1.1t/config \ --prefix=/usr/local/ssl-1.1.1t \ --openssldir=/usr/local/ssl-1.1.1t \ --libdir=lib \ --shared \ --enable-threads \ --with-rand-seed=os,devrandom \ no-asm \ no-async \ no-dso \ no-engine \ no-hw \ no-tests \ -DOPENSSL_NO_SSL3 \ -DOPENSSL_NO_TLS1_3

参数逐条说明:

  • --prefix=/usr/local/ssl-1.1.1t:主安装根目录,bin/、man/、include/全在此下
  • --openssldir=/usr/local/ssl-1.1.1t:必须与 prefix 一致,否则openssl.cnf默认生成在/usr/local/ssl-1.1.1t/ssl/openssl.cnf,但运行时却去/usr/local/ssl/ssl/找(因硬编码 fallback)
  • --libdir=lib:避免在/usr/local/ssl-1.1.1t/lib64下生成(某些 x86_64 系统默认行为),统一用lib
  • --shared:生成libcrypto.so.1.1和libssl.so.1.1,没有它,CMake 项目几乎必然链接失败
  • no-asm:禁用汇编优化。在老旧 CPU(如 Intel Atom D2500、ARM Cortex-A7)或交叉编译时,启用 asm 可能触发非法指令(SIGILL)
  • no-async/no-dso/no-engine:关闭动态加载能力,减小攻击面,也避免dlopen()符号冲突
  • -DOPENSSL_NO_SSL3 -DOPENSSL_NO_TLS1_3:宏定义方式禁用协议,比no-ssl3更彻底(后者仅禁用编译,宏定义还能清除条件编译分支)

3.2 configure 后必须验证的三个文件

执行完../openssl-1.1.1t/config后,立即检查以下文件是否存在及内容是否符合预期:

文件路径必须存在?关键内容验证点
Makefile是搜索SHARED_LIBS=,应包含libcrypto.so.1.1 libssl.so.1.1;搜索INSTALL_PREFIX=,应为/usr/local/ssl-1.1.1t
Makefile.shared是搜索LIBCRYPTO_SO=libcrypto.so.1.1,确认版本号正确
opensslconf.h是搜索#define OPENSSL_VERSION_NUMBER 0x1010114fL(1.1.1t 的十六进制版本号),确认未被系统头文件覆盖

若opensslconf.h中OPENSSL_VERSION_NUMBER显示0x101010bfL(1.1.1b),说明config读到了旧头文件,需回溯 2.3 节清理/usr/include/openssl。


4. 编译与安装:make -j 不安全,install 时必须指定 DESTDIR

OpenSSL 1.1.1t 的 Makefile 对并行编译(make -j4)支持不完善,尤其在生成.so符号版本时易出现 race condition,导致libssl.so.1.1文件为空或损坏。同时,make install默认写入/usr/local/ssl-1.1.1t,若权限不足会中断;若想打包成 rpm/deb,必须用DESTDIR隔离。

4.1 安全编译流程(单线程 + 错误捕获)

# 严格单线程编译,避免 .so 文件损坏 make clean 2>/dev/null || true make depend make -j1 # 绝对不要 -j2 或更高! # 编译后立即校验核心库文件 if [ ! -s ./libcrypto.so.1.1 ] || [ ! -s ./libssl.so.1.1 ]; then echo "ERROR: shared libraries are empty or missing!" exit 1 fi # 检查符号表是否包含关键函数(验证 ABI 完整性) nm -D ./libssl.so.1.1 | grep -q "SSL_CTX_new" && \ nm -D ./libcrypto.so.1.1 | grep -q "EVP_MD_CTX_new" && \ echo "✓ Shared libs built successfully" || echo "✗ Symbol check failed"

4.2 安装阶段:DESTDIR 隔离 + 权限修复

# 创建临时安装根目录(用于打包或测试) mkdir -p /tmp/openssl-staging # 使用 DESTDIR 安装,不触碰真实系统 make INSTALL_PREFIX=/tmp/openssl-staging install # 此时文件全部落在 /tmp/openssl-staging/usr/local/ssl-1.1.1t/ # 验证安装完整性 ls -l /tmp/openssl-staging/usr/local/ssl-1.1.1t/{bin,lib,include,ssl} # 应看到 bin/openssl、lib/libssl.so.1.1、include/openssl/ssl.h、ssl/openssl.cnf # 若需真机部署,再复制(避免 install 时权限问题) sudo cp -r /tmp/openssl-staging/usr/local/ssl-1.1.1t /usr/local/ sudo chown -R root:root /usr/local/ssl-1.1.1t sudo chmod -R 755 /usr/local/ssl-1.1.1t

注意:make install不会自动创建/usr/local/ssl-1.1.1t/ssl/certs目录,也不会放置 CA 证书。这是设计使然——OpenSSL 1.1.1t 默认信任系统 CA 路径(如/etc/ssl/certs),你无需手动拷贝证书。


5. 避坑:五个血泪经验总结,每一条都来自真实翻车现场

OpenSSL 编译看似简单,但 1.1.1t 的历史包袱让它在细节上极易踩坑。以下是我在某跨平台图像处理 SDK 集成中反复验证的五类高频问题,按“现象 → 原因 → 解决”结构整理,拒绝玄学排查。

5.1 现象:make报错error: ‘FIPS_mode’ undeclared

原因:config时未显式禁用 FIPS(no-fips),而系统内核或 GCC 版本触发了 FIPS 模块条件编译,但 1.1.1t 的 FIPS 支持代码已移除,只剩声明。
解决:在config命令末尾追加no-fips参数,并删除configdata.pm后重新config:

rm -f configdata.pm ../openssl-1.1.1t/config ... no-fips

5.2 现象:openssl s_client -connect google.com:443返回ssl handshake failure,但系统 openssl 命令正常

原因:新安装的openssl二进制未正确加载openssl.cnf,导致 TLS 1.2 密码套件协商失败(默认配置禁用弱套件,但未启用现代 ECDHE)。
解决:手动指定配置文件路径,并确认openssl.cnf中[default_conf]段存在:

/usr/local/ssl-1.1.1t/bin/openssl s_client -config /usr/local/ssl-1.1.1t/ssl/openssl.cnf -connect google.com:443

若openssl.cnf不存在,从源码apps/openssl.cnf拷贝:

sudo cp ../openssl-1.1.1t/apps/openssl.cnf /usr/local/ssl-1.1.1t/ssl/

5.3 现象:CMake 项目find_package(OpenSSL REQUIRED)找到系统旧版本(1.1.1f),而非新装的 1.1.1t

原因:CMake 的FindOpenSSL.cmake模块默认搜索PKG_CONFIG_PATH,而你未清空该变量,导致pkg-config --modversion openssl返回旧值。
解决:在 CMakeLists.txt 中强制指定路径:

set(OpenSSL_ROOT_DIR "/usr/local/ssl-1.1.1t") find_package(OpenSSL REQUIRED)

或编译时传参:

cmake -DOpenSSL_ROOT_DIR=/usr/local/ssl-1.1.1t ..

5.4 现象:程序运行时报libssl.so.1.1: cannot open shared object file

原因:LD_LIBRARY_PATH未包含新库路径,且/etc/ld.so.conf.d/下无对应配置。
解决:

# 方式一:临时生效(调试用) export LD_LIBRARY_PATH="/usr/local/ssl-1.1.1t/lib:$LD_LIBRARY_PATH" # 方式二:永久生效(生产环境) echo "/usr/local/ssl-1.1.1t/lib" | sudo tee /etc/ld.so.conf.d/openssl-1.1.1t.conf sudo ldconfig

5.5 现象:交叉编译 ARM 平台时,make卡在crypto/aes/aes_cbc.c,GCC 报internal compiler error: Segmentation fault

原因:no-asm参数未生效,源码仍尝试编译 x86 汇编,而 ARM GCC 不识别.att_syntax prefix。
解决:在config命令中显式添加-no-asm(带短横线),并确认Configure脚本输出包含no-asm:

../openssl-1.1.1t/Configure linux-armv4 no-asm --prefix=... # 注意:此处用 Configure(大写 C),非 config(小写 c),因交叉编译必须用 Configure

6. 让旧项目无感迁移:LD_PRELOAD 注入 + CMake 工具链三步法

当你无法修改遗留项目的Makefile或CMakeLists.txt,又必须让它链接新 OpenSSL 时,硬改构建脚本风险极高。我在线上某金融行情网关的升级中,用以下三步法实现零代码变更迁移,至今稳定运行 18 个月。

6.1 第一步:用 LD_PRELOAD 强制劫持运行时链接(验证用)

此法不修改任何构建过程,仅验证新 OpenSSL 是否兼容。原理是 Linux 动态链接器在dlopen()前会先检查LD_PRELOAD列表,优先加载指定.so:

# 假设旧程序名为 trade_engine,位于 /opt/app/bin/ # 先确认它当前链接的 libssl 版本 ldd /opt/app/bin/trade_engine | grep ssl # 强制使用新库运行(仅本次生效) LD_PRELOAD="/usr/local/ssl-1.1.1t/lib/libssl.so.1.1:/usr/local/ssl-1.1.1t/lib/libcrypto.so.1.1" \ /opt/app/bin/trade_engine # 观察日志是否出现 SSL handshake 成功、无 SIGSEGV

注意:LD_PRELOAD会劫持所有进程内 SSL 调用,包括curl、wget等子进程。若程序内部调用这些工具,需确保它们也兼容新库,否则可能崩溃。

6.2 第二步:CMake 工具链文件(Toolchain File)精准控制链接行为

对于 CMake 项目,创建专用工具链文件openssl-1.1.1t-toolchain.cmake,绕过find_package的自动探测,直指目标库:

# openssl-1.1.1t-toolchain.cmake set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR x86_64) # 强制指定 OpenSSL 路径 set(OpenSSL_INCLUDE_DIR "/usr/local/ssl-1.1.1t/include") set(OpenSSL_SSL_LIBRARY "/usr/local/ssl-1.1.1t/lib/libssl.so.1.1") set(OpenSSL_CRYPTO_LIBRARY "/usr/local/ssl-1.1.1t/lib/libcrypto.so.1.1") set(OpenSSL_SSL_LIBRARY_RELEASE "${OpenSSL_SSL_LIBRARY}") set(OpenSSL_CRYPTO_LIBRARY_RELEASE "${OpenSSL_CRYPTO_LIBRARY}") # 关键:禁用 pkg-config 查找,防止污染 set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON) set(CMAKE_FIND_ROOT_PATH "/usr/local/ssl-1.1.1t") set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

编译时指定该工具链:

cmake -DCMAKE_TOOLCHAIN_FILE=openssl-1.1.1t-toolchain.cmake \ -DCMAKE_BUILD_TYPE=Release \ ..

6.3 第三步:制作兼容性符号链接,欺骗 ldconfig 缓存

某些老旧构建系统(如 autotools 的libtool)会硬编码libssl.so.1.0.0路径。此时可创建符号链接,让新库“冒充”旧版本,但保留 ABI 兼容性(1.1.1t 向下兼容 1.0.2 的符号):

cd /usr/local/ssl-1.1.1t/lib sudo ln -sf libssl.so.1.1 libssl.so.1.0.0 sudo ln -sf libcrypto.so.1.1 libcrypto.so.1.0.0 sudo ldconfig

血泪教训:从那以后我每次给遗留系统升级 OpenSSL,都强制走一遍LD_PRELOAD验证 → 工具链编译 → 符号链接兜底 三步闭环。哪怕客户说“就改一行 Makefile”,我也坚持这三步——因为 1.1.1t 的 ABI 稳定性是它的王牌,但王牌要打出来,得靠路径控制,而不是祈祷 configure 猜对。希望帮到你。

本文还有配套的精品资源,点击获取

相关新闻

Spring Boot集成Redis发布订阅实战:从原理到代码避坑指南

Spring Boot集成Redis发布订阅实战:从原理到代码避坑指南

做 Spring Boot 项目的时候,Redis 的发布订阅功能我经常用来做轻量级的消息通知,比如订单状态变更广播、缓存失效通知、在线用户心跳提醒。Spring Boot 里默认的 Redis 客户端就是 Lettuce,集成发布订阅其实只需要几张配置类和监听器&#xf…

2026/10/19 16:44:18 阅读更多 →
LLM Agent驱动的Git原生代码审查CLI工具

LLM Agent驱动的Git原生代码审查CLI工具

1. 项目概述:这不是又一个代码审查工具,而是一次开发工作流的底层重定义“open-code-review”这个名称乍看平平无奇,甚至有点像某个被遗忘在 GitHub 某个角落的冷门仓库名。但如果你最近刷过技术社区、看过几篇关于 LLM Agent 的实操笔记&…

2026/10/19 16:41:27 阅读更多 →
从零实现生成对抗网络:GAN原理、PyTorch代码与训练避坑指南

从零实现生成对抗网络:GAN原理、PyTorch代码与训练避坑指南

聊生成对抗网络(GAN)之前,我真不建议一上来就背公式。G1 在我这里指的是第一代教学实战项目,核心就一句话:让生成器和判别器两个网络互相较劲,最后逼出以假乱真的数据生成能力。这个系列我已经带过不少同学…

2026/10/19 16:41:27 阅读更多 →

最新新闻

【信息科学与工程学】【数据中心】 第十一篇 人工智能智算中心整体设计101 智算中心解决方案 第一部分1.1 智算中心ICT基础设施的定义与边界

【信息科学与工程学】【数据中心】 第十一篇 人工智能智算中心整体设计101 智算中心解决方案 第一部分1.1 智算中心ICT基础设施的定义与边界

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

2026/10/19 22:46:04 阅读更多 →
open-code-review:CLI+LLM+Git驱动的开源代码审查新范式

open-code-review:CLI+LLM+Git驱动的开源代码审查新范式

1. 什么是 open-code-review:一个被严重低估的开发者协作新范式open-code-review 不是某个具体软件的名字,也不是某家公司的私有产品,而是一类正在快速成型的技术实践范式——它指代的是基于开源理念、命令行界面(CLI)…

2026/10/19 22:40:54 阅读更多 →
二轮平衡车全套源码:卡尔曼滤波与PID三环控制实战

二轮平衡车全套源码:卡尔曼滤波与PID三环控制实战

简介:这是一套面向电子爱好者与嵌入式初学者的二轮平衡车DIY完整资料包,涵盖从硬件搭建到软件调试的全链路内容。资源定位为STM32平台平衡车的开源学习套件,包含互补滤波、卡尔曼滤波、DMP三种姿态解算方案的源码,三套工程均编译通…

2026/10/19 22:39:52 阅读更多 →
加扰与解扰:原理、区别及在高速链路中的应用

加扰与解扰:原理、区别及在高速链路中的应用

简介:本资源面向数字通信、FPGA开发与信号处理方向的学习者,围绕加扰与解扰这一核心环节,提供基于VHDL的完整工程实现与验证流程。加扰通过可逆数学变换打散连续相同符号,降低信道自相关与互相关影响,广泛应用于数字电…

2026/10/19 22:35:37 阅读更多 →
数据范围决定算法选型:从O(n log n)到O(n)

数据范围决定算法选型:从O(n log n)到O(n)

我去年处理过一个挺有意思的活儿:某内部工具需要在上亿条日志里按时间窗口做聚合统计,数据的时间戳全部落在最近三个月内。一开始我按教科书思路上了红黑树、跳表这类“高级”结构,结果在真实数据上跑得还不如后来换上的一个普通数组快。原因…

2026/10/19 22:32:32 阅读更多 →
Open Code Review:面向可复现与可审计的代码审查新范式

Open Code Review:面向可复现与可审计的代码审查新范式

1. “open-code-review”不是工具名,而是一类新型代码审查范式的代号你搜“open-code-review”,大概率会撞上一堆零散的 GitHub 仓库、CLI 工具片段、LLM 集成脚本,甚至有人把它当成某个具体开源项目的名称——但其实它根本不是。它是一个正在…

2026/10/19 22:32:32 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 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/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →