Jetson Thor 人形机器人开发环境配置:ROS2、Unitree SDK 与 CycloneDDS 实战
1. 为什么人形机器人开发要从 Jetson Thor 环境配置开始拿到一台搭载 Jetson Thor 的计算平台准备跑人形机器人算法第一件事不是急着写控制代码而是把底层环境搭稳。我前后折腾过 Jetson 系列好几代板子从 Nano 到 Orin 再到 Thor每一代在环境配置上的坑都不一样。Thor 这一代算力提升明显但配套的软件栈成熟度还在追赶阶段很多在 Orin 上跑得好好的流程直接搬过来会翻车。这篇文章面向的是手里已经有 Jetson Thor 硬件、打算在上面跑人形机器人相关开发运动控制、感知、仿真对接的工程师和爱好者。核心围绕Jetson Thor 环境配置展开把ROS2、Unitree SDK、CycloneDDS这几块串起来给出一套我实测能跑通的配置路径。如果你之前只在 x86 的 Ubuntu 上玩过 ROS2切换到 ARM 架构的 Thor 上会遇到不少差异这篇内容能帮你少走弯路。先说清楚一个基本认知Jetson Thor 本质是一台 ARM64 架构的嵌入式计算设备跑的是 NVIDIA 定制的 Ubuntu 系统自带 JetPack 软件栈。人形机器人开发通常需要实时性较好的通信中间件、稳定的 SDK 接口、以及能对接仿真和真机的完整工具链。这三者缺一不可而它们之间的版本匹配关系就是环境配置里最容易出问题的地方。我见过太多人卡在第一步——系统刷完ROS2 装不上或者装上了但和 Unitree SDK 的通信层对不上折腾几天都没进展。所以下面我会按实际操作的顺序把每一步的意图、参数选择理由、以及可能踩的坑都讲透。2. 环境配置的整体思路与版本选型逻辑2.1 为什么版本匹配比什么都重要人形机器人开发涉及的东西太多操作系统、CUDA 驱动、ROS2 发行版、DDS 中间件、厂商 SDK、Python 版本、编译工具链。这些东西不是独立的它们之间有严格的依赖关系。举个我踩过的坑Unitree SDK 的某个版本依赖特定版本的 CycloneDDS而 ROS2 Humble 默认用的是 FastDDS如果你不手动切换 DDS 实现通信就会出各种诡异问题——话题能发出去但收不到或者延迟高得离谱。所以配置之前先在纸上或者脑子里把版本链条理清楚。我的建议是以JetPack 版本为锚点因为它决定了底层的 CUDA、cuDNN、TensorRT 版本而这些又限制了你能用的深度学习框架版本。然后再往上选 ROS2 发行版最后选 SDK 和 DDS。2.2 版本选型对照表下面这张表是我实际验证过的组合你可以直接参考组件推荐版本选择理由JetPack6.x 及以上Thor 平台配套版本驱动和 CUDA 支持最完整Ubuntu22.04 LTSJetPack 6 对应的基础系统ROS2 Humble 官方支持ROS2Humble HawksbillLTS 版本社区支持周期长人形机器人生态最全DDSCycloneDDS低延迟、资源占用小Unitree SDK 官方推荐Unitree SDK对应机型最新版接口稳定文档相对完善Python3.10Ubuntu 22.04 默认版本兼容性最好编译器GCC 11系统默认支持 C17选 Humble 而不是更新的 Iron 或 Jazzy原因很实际人形机器人相关的开源项目、厂商 SDK、仿真工具大部分还停留在 Humble 的适配阶段。你装个最新的 ROS2结果发现 SDK 不支持那就白搭。稳定优先这是工程开发的基本原则。2.3 整体配置流程概览整个配置过程我分成四个阶段系统基础环境准备、ROS2 安装与 DDS 切换、Unitree SDK 编译与集成、联调验证。每个阶段都有明确的验收标准不要跳步。我见过有人系统还没更新完就急着装 ROS2结果依赖冲突最后只能重刷系统。提示配置过程中每一步做完都建议打个快照或者记录命令方便回滚。Jetson 平台刷机成本高别问我怎么知道的。3. Jetson Thor 系统基础环境准备3.1 系统刷写与首次启动注意事项拿到 Thor 开发套件后第一件事是确认系统版本。NVIDIA 提供了 SDK Manager 工具来刷写系统但这个过程对网络环境要求比较高下载镜像动辄几十 GB。我的建议是提前把镜像下载好用本地刷写的方式避免中途断网导致刷写失败。刷写完成后首次启动系统会引导你做初始设置。这里有几个点要注意用户名不要用中文或特殊字符后面 ROS2 的工作空间路径会用到时区设置正确否则日志时间戳会乱磁盘分区如果支持自定义建议给根分区留足空间ROS2 加上各种依赖包50GB 起步比较稳妥。首次进入系统后先做两件事更新软件源和安装基础工具。sudo apt update sudo apt upgrade -y sudo apt install -y curl wget git vim build-essential cmake python3-pip这两条命令看起来简单但apt upgrade在 Jetson 上可能耗时较长因为 ARM 架构的包编译和下载都比 x86 慢。耐心等别中断。3.2 检查 CUDA 与硬件加速状态Thor 的算力主要体现在 GPU 和 DLA 上配置环境前先确认这些硬件加速单元是否正常工作。# 查看 CUDA 版本 nvcc --version # 查看 GPU 状态 sudo tegrastatstegrastats是 Jetson 平台特有的监控工具能看到 GPU、CPU、内存、功耗的实时状态。如果这个命令输出正常说明底层驱动没问题。如果报错大概率是 JetPack 没刷完整需要重新刷写。另外检查一下 CUDA 的环境变量是否配置正确。编辑~/.bashrc确认包含以下内容export CUDA_HOME/usr/local/cuda export PATH$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH$CUDA_HOME/lib64:$LD_LIBRARY_PATH改完记得source ~/.bashrc。这一步很多人会忘导致后面编译带 CUDA 的包时找不到头文件。3.3 设置国内软件源加速Jetson 平台默认的软件源在国外下载速度可能很慢。换成国内镜像源能显著提升效率。Ubuntu 22.04 的源配置文件在/etc/apt/sources.listARM64 架构的镜像源选择要注意不是所有国内源都完整支持 ARM64。我一般用清华源或者中科大源替换时注意把ports.ubuntu.com相关的行改成对应的 ARM64 镜像地址。改完后sudo apt update验证一下如果出现大量 404说明源地址不对换一个再试。注意Jetson 平台有些包是 NVIDIA 自己维护的换源后这些包可能找不到。如果遇到这种情况把 NVIDIA 的源单独保留只替换 Ubuntu 官方源部分。3.4 Python 环境管理策略Ubuntu 22.04 自带 Python 3.10ROS2 Humble 也是基于这个版本。我的建议是不要动系统自带的 Python额外用venv或者conda创建独立环境来跑机器人相关的 Python 代码。原因很简单ROS2 的很多工具依赖系统 Python 的特定包你如果把系统 Python 搞乱了ros2命令行可能直接罢工。用虚拟环境隔离既不影响系统工具又能灵活安装各种依赖。sudo apt install -y python3-venv python3 -m venv ~/robot_env source ~/robot_env/bin/activate pip install --upgrade pip虚拟环境里可以装 numpy、opencv-python、torch 等常用库。注意 ARM64 架构下有些 Python 包的预编译 wheel 可能没有需要从源码编译耗时会比较长。torch 建议直接用 NVIDIA 提供的 Jetson 专用 wheel兼容性最好。4. ROS2 Humble 安装与 CycloneDDS 切换实操4.1 ROS2 Humble 在 ARM64 上的安装要点ROS2 Humble 官方支持 Ubuntu 22.04ARM64 架构也在支持列表里。安装步骤和 x86 基本一致但有几个细节要注意。首先是 locale 设置ROS2 对字符编码有要求sudo apt install -y locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALLen_US.UTF-8 LANGen_US.UTF-8 export LANGen_US.UTF-8然后是添加 ROS2 的 apt 源。这里有个坑ROS2 的源地址需要根据 Ubuntu 版本和架构来选ARM64 的源和 x86 是分开的。用官方提供的脚本自动配置最省事sudo apt install -y software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install -y curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null如果网络访问 GitHub 有困难可以手动下载 key 文件再导入。添加完源之后sudo apt update sudo apt install -y ros-humble-desktop sudo apt install -y ros-dev-toolsros-humble-desktop包含了 RViz2、demo 节点、教程等完整内容适合开发阶段。如果存储空间紧张可以只装ros-humble-ros-base但后面调试会不方便我建议还是装完整版。安装完成后把 ROS2 的环境变量加到~/.bashrcsource /opt/ros/humble/setup.bash验证安装ros2 run demo_nodes_cpp talker另开一个终端ros2 run demo_nodes_py listener能看到 talker 发消息、listener 收消息说明 ROS2 基础环境没问题。4.2 为什么必须切换到 CycloneDDSROS2 默认使用 FastDDS 作为通信中间件。FastDDS 功能全面但在嵌入式平台上资源占用偏高而且和 Unitree SDK 的兼容性不如 CycloneDDS。Unitree 官方文档明确推荐使用 CycloneDDS原因是它在低延迟和高吞吐场景下表现更稳定内存占用也更小。我实测过在 Thor 上跑 FastDDS话题频率一高就出现丢包换成 CycloneDDS 后明显改善。所以这一步不是可选项是必做项。安装 CycloneDDSsudo apt install -y ros-humble-rmw-cyclonedds-cpp然后设置环境变量指定 RMW 实现export RMW_IMPLEMENTATIONrmw_cyclonedds_cpp把这行加到~/.bashrc里确保每次打开终端都生效。4.3 CycloneDDS 配置文件调优光切换实现还不够CycloneDDS 的默认配置在机器人场景下需要调整。创建一个配置文件cyclonedds.xml?xml version1.0 encodingUTF-8 ? CycloneDDS xmlnshttps://cdds.io/config Domain idany General NetworkInterfaceAddressauto/NetworkInterfaceAddress AllowMulticasttrue/AllowMulticast /General Internal Watermarks WhcHigh500kB/WhcHigh /Watermarks /Internal /Domain /CycloneDDS关键参数说明AllowMulticast设为 true 让同一网络下的设备能自动发现WhcHigh控制发送缓冲区水位500kB 在机器人高频话题场景下比较合适太小会导致阻塞太大浪费内存。然后指定配置文件路径export CYCLONEDDS_URIfile:///home/你的用户名/cyclonedds.xml同样加到~/.bashrc。配置完成后用ros2 topic list和ros2 topic echo测试一下通信是否正常。4.4 验证 DDS 切换是否生效怎么确认当前用的是 CycloneDDS 而不是 FastDDS运行ros2 doctor --report在输出里找 RMW 相关的信息应该显示rmw_cyclonedds_cpp。或者直接echo $RMW_IMPLEMENTATION如果输出是rmw_cyclonedds_cpp说明环境变量生效了。但要注意环境变量生效不代表实际加载的就是 CycloneDDS如果对应的包没装好ROS2 会回退到默认实现。所以ros2 doctor的检查更可靠。提示如果ros2 doctor报错说找不到 CycloneDDS检查一下ros-humble-rmw-cyclonedds-cpp是否真的装上了有时候 apt 会静默失败。5. Unitree SDK 编译与集成实战5.1 SDK 获取与依赖梳理Unitree SDK 是宇树科技提供的机器人开发接口库支持他们家的四足和人形机器人。SDK 主要用 C 编写提供了底层运动控制、状态读取、传感器数据获取等接口。从官方仓库克隆 SDKcd ~ git clone https://github.com/unitreerobotics/unitree_sdk2.gitSDK 的依赖主要包括CMake 3.10 以上GCC 9 以上CycloneDDS前面已经装好Eigen3线性代数库安装 Eigen3sudo apt install -y libeigen3-dev5.2 编译过程中的关键配置进入 SDK 目录创建构建目录cd unitree_sdk2 mkdir build cd build cmake .. make -j$(nproc) sudo make install-j$(nproc)让编译并行执行Thor 的 CPU 核心数不少能显著加快编译速度。但要注意内存占用如果编译过程中出现 OOM把并行数降下来比如-j4。编译过程中最常见的错误是找不到 CycloneDDS 的头文件或库。这是因为 SDK 的 CMakeLists 里查找 CycloneDDS 的方式可能和你的安装路径不一致。解决办法是手动指定路径cmake .. -DCycloneDDS_DIR/opt/ros/humble/lib/cmake/cyclonedds如果还是找不到检查一下CMAKE_PREFIX_PATH是否包含了 ROS2 的路径。可以在 cmake 命令前加上export CMAKE_PREFIX_PATH/opt/ros/humble:$CMAKE_PREFIX_PATH5.3 环境变量与库路径配置编译安装完成后需要确保运行时能找到 SDK 的动态库。编辑~/.bashrcexport UNITREE_SDK2_PATH/usr/local export LD_LIBRARY_PATH$UNITREE_SDK2_PATH/lib:$LD_LIBRARY_PATH如果 SDK 安装到了自定义路径把/usr/local换成实际路径。改完source ~/.bashrc。验证 SDK 是否可用可以编译一个简单的测试程序#include unitree/robot/channel/channel_factory.hpp #include iostream int main() { unitree::robot::ChannelFactory::Instance()-Init(0); std::cout Unitree SDK init success std::endl; return 0; }用 g 编译g -o test_sdk test_sdk.cpp -lunitree_sdk2 -lddsc如果编译通过且运行不报错说明 SDK 集成成功。5.4 与 ROS2 的桥接思路Unitree SDK 本身不是 ROS2 节点它是一套独立的 C 库。要在 ROS2 体系里使用需要写一个桥接节点把 SDK 的数据封装成 ROS2 话题或服务。常见的做法是创建一个 ROS2 package在里面调用 SDK 接口然后发布话题。比如读取机器人关节状态#include rclcpp/rclcpp.hpp #include sensor_msgs/msg/joint_state.hpp #include unitree/robot/channel/channel_factory.hpp #include unitree/robot/humanoid/humanoid_client.hpp class UnitreeBridge : public rclcpp::Node { public: UnitreeBridge() : Node(unitree_bridge) { publisher_ this-create_publishersensor_msgs::msg::JointState(joint_states, 10); timer_ this-create_wall_timer( std::chrono::milliseconds(10), std::bind(UnitreeBridge::publish_joint_states, this)); } private: void publish_joint_states() { auto msg sensor_msgs::msg::JointState(); msg.header.stamp this-now(); // 从 SDK 读取关节数据填充 msg publisher_-publish(msg); } rclcpp::Publishersensor_msgs::msg::JointState::SharedPtr publisher_; rclcpp::TimerBase::SharedPtr timer_; };这个桥接节点的 CMakeLists 需要同时链接 ROS2 和 Unitree SDK 的库。关键是find_package的顺序和target_link_libraries的配置顺序不对会导致符号冲突。注意桥接节点的编译是最容易出问题的地方。ROS2 的 ament_cmake 和 SDK 的普通 CMake 混用时要确保CMAKE_PREFIX_PATH同时包含两者的路径。我建议在 package 的 CMakeLists 里显式指定list(APPEND CMAKE_PREFIX_PATH /opt/ros/humble) list(APPEND CMAKE_PREFIX_PATH /usr/local)6. 常见问题排查与避坑经验实录6.1 通信类问题速查表现象可能原因排查方法解决方案话题能发不能收DDS 实现不一致ros2 doctor检查 RMW统一设置为 CycloneDDS通信延迟高多播未开启检查 cyclonedds.xml设置 AllowMulticast 为 true跨设备发现失败网络接口绑定错误ip addr查看网卡指定正确的 NetworkInterfaceAddress话题频率不稳定缓冲区太小监控 CPU 和内存调大 WhcHigh 参数SDK 初始化失败库路径未配置ldd检查依赖补充 LD_LIBRARY_PATH6.2 编译类问题排查编译报错是环境配置阶段最常见的困扰。我整理了几个高频错误找不到头文件通常是CMAKE_PREFIX_PATH没包含对应库的路径。用find / -name 头文件名 2/dev/null定位文件位置然后把所在目录的上级路径加到CMAKE_PREFIX_PATH。链接时符号未定义库的链接顺序有问题。CMake 里target_link_libraries的顺序应该是依赖者在前、被依赖者在后。比如你的节点依赖 SDKSDK 依赖 CycloneDDS那顺序就是你的节点 - SDK - CycloneDDS。内存不足导致编译中断Thor 的内存虽然不小但编译大型项目时还是可能吃紧。降低并行编译数或者增加 swap 空间sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile6.3 运行时问题与解决ROS2 节点启动后立即退出检查~/.bashrc里 ROS2 的环境变量是否 source 了以及 RMW 实现是否设置正确。有时候是 CycloneDDS 的配置文件路径写错了导致初始化失败。SDK 控制指令无响应确认机器人本体和 Thor 之间的网络连接正常。Unitree 机器人通常通过网口通信检查 IP 地址是否在同一网段。用ping测试连通性用ros2 topic echo确认指令话题有数据发出。RViz2 启动卡顿Thor 的 GPU 虽然强但 RViz2 在 ARM 上的渲染效率不如 x86。如果卡顿严重可以尝试关闭抗锯齿、降低刷新率或者用远程 RViz2 的方式——在 x86 机器上跑 RViz2通过网络订阅 Thor 上的话题。6.4 我的独家避坑心得第一个心得先跑通再优化。很多人一上来就追求最优配置调各种参数结果基础功能都没验证通过。我的做法是先用默认配置把整条链路跑通确认能通信、能控制然后再逐步调优。这样出问题时容易定位是哪个环节的改动导致的。第二个心得善用 Docker 做环境隔离。如果条件允许把 ROS2 和 SDK 的环境打包成 Docker 镜像。这样换机器或者重刷系统后直接拉镜像就能恢复环境省去重复配置的时间。Jetson 平台支持 NVIDIA Container RuntimeGPU 加速也能透传给容器。第三个心得日志级别调高。调试阶段把 ROS2 和 CycloneDDS 的日志级别调到 debug能看到很多默认级别下看不到的信息。CycloneDDS 的日志通过CYCLONEDDS_URI里的Tracing配置开启ROS2 的日志用--ros-args --log-level debug参数。第四个心得网络配置要固定。机器人开发中Thor 和机器人本体、传感器之间的网络连接要固定 IP不要用 DHCP。IP 变动会导致 DDS 发现失败而且这种问题很难排查因为表面上看网络是通的。7. 联调验证与性能确认7.1 基础通信验证流程环境配好后按以下顺序验证第一步确认 ROS2 基础功能ros2 run demo_nodes_cpp talker ros2 run demo_nodes_py listener第二步确认 CycloneDDS 生效ros2 doctor --report | grep rmw第三步确认 Unitree SDK 能初始化./test_sdk第四步确认桥接节点能发布话题ros2 topic list ros2 topic hz /joint_statesros2 topic hz能看到稳定的频率输出说明整条链路通了。7.2 性能基准测试人形机器人对实时性有要求环境配好后建议做个简单的性能测试。用ros2 topic delay测量消息从发布到接收的延迟ros2 topic delay /joint_states在 Thor 上本地回环的延迟应该在毫秒级。如果超过 10ms检查 DDS 配置和 CPU 占用。另外用tegrastats观察运行时的资源占用确保 CPU 和内存没有跑满。7.3 长期运行稳定性观察环境配置的最终检验是长期运行稳定性。让系统连续跑几个小时观察是否有内存泄漏、话题断连、节点崩溃等问题。我一般会写一个简单的监控脚本定时记录 CPU、内存、话题频率跑一晚上看数据。如果发现内存持续增长大概率是某个节点有泄漏用valgrind或者heaptrack定位。如果话题偶尔断连检查网络质量和 DDS 的多播配置。这套环境我在 Thor 上跑了几个月日常开发够用。后面如果要上真机做运动控制还需要在实时性上做进一步优化比如配置 CPU 隔离、调整调度策略那是另一个话题了。先把基础环境搭稳后面的路才好走。

相关新闻

英特尔oneAPI黑客松比赛心得交流:用TaoToken统一Key打通oneMKL与Visual Studio开发链路

英特尔oneAPI黑客松比赛心得交流:用TaoToken统一Key打通oneMKL与Visual Studio开发链路

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

2026/10/1 15:14:11 阅读更多 →
毕业季论文过检攻略|2026亲测4款降AI工具,AIGC查重一稿过关无需改二稿

毕业季论文过检攻略|2026亲测4款降AI工具,AIGC查重一稿过关无需改二稿

如今的大学毕业生压力不小:年前冲实习offer,年后准备论文答辩。白天跑面试和HR沟通,晚上回宿舍对着几万字的论文反复打磨。好不容易熬几个通宵写完初稿发给导师,等来的却是一句冷冰冰的反馈:AI率过高。当时的崩溃感&am…

2026/10/1 15:14:11 阅读更多 →
解决TypeError: __init__() takes from 1 to 3 positional arguments but 6 were given:从报错栈定位到参数签名修复的完整排查路径

解决TypeError: __init__() takes from 1 to 3 positional arguments but 6 were given:从报错栈定位到参数签名修复的完整排查路径

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

2026/10/1 15:13:10 阅读更多 →

最新新闻

k8s tips:把 kubeconfig 改到 TaoToken 统一 Key 通道的实操清单

k8s tips:把 kubeconfig 改到 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/1 20:02:30 阅读更多 →
气密封装代工产线升级 真空甲酸炉采购如何避坑

气密封装代工产线升级 真空甲酸炉采购如何避坑

行业背景:气密封装需求走高,设备采购成为焦点 在5G通信、军用电子、航空航天以及高端传感器等应用领域的推动下,气密封装作为保障芯片长期可靠性的关键工艺,市场需求持续升温。气密封装代工工厂要在气密性等级、良率与交付周期之间…

2026/10/1 20:02:30 阅读更多 →
Spring AI 2.0 + MCP Apps 实战:Java 开发者用 TaoToken 打通多模型调用链路

Spring AI 2.0 + MCP Apps 实战:Java 开发者用 TaoToken 打通多模型调用链路

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

2026/10/1 20:02:30 阅读更多 →
小米MiMo-VL技术报告解读:从多模态预训练到强化学习对齐的工程实践

小米MiMo-VL技术报告解读:从多模态预训练到强化学习对齐的工程实践

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

2026/10/1 20:02:30 阅读更多 →
KWDB MCP Server 实战:让 LLM 与数据库无缝协作的配置指南

KWDB MCP Server 实战:让 LLM 与数据库无缝协作的配置指南

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

2026/10/1 20:02:30 阅读更多 →
IntelliJ IDEA从入门到精通:配置、快捷键、插件与避坑指南

IntelliJ IDEA从入门到精通:配置、快捷键、插件与避坑指南

用IntelliJ IDEA三年之后,再回头看当年那个只会用Eclipse的我自己,真是连叹气都懒得叹。这倒不是说Eclipse有多差,而是在Java和Android这个生态里,IDEA的代码理解能力、快捷键设计、插件体系,确实做到了“用过就回不去…

2026/10/1 20:01:29 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →