海思WS63星闪SDK云上编译全流程详解
最近把海思 WS63 的星闪 SDK 整个编译流程在华为AI开发者空间里完整走了一遍从拉代码、配环境、跑构建到最终拿到固件烧进板子前后折腾了一整天。整个过程比我想象中顺也比想象中更有必要分享出来。星闪NearLink在智能家居、键鼠外设、车钥匙、工业现场这些场景里讨论热度一直很高WS63 又是把星闪 SLE、BLE、WiFi 揉在一个 SoC 里的典型芯片很多做物联网产品的朋友迟早要跟它打交道。而使用云上开发环境编译最大的好处是可以省掉本地那台 Linux 编译主机的各种配置痛苦工具链、依赖基本都帮你铺好路特别适合想快速评估 SDK、又不想在本机反复折腾环境的人。这篇攻略适合两类读者第一类是第一次接触星闪和 WS63 的嵌入式开发者第二类是已经被本地编译环境折磨过、想换一条路的老手。读完你至少能回答三个问题为什么选择云上环境编译、如何把 SDK 从源码变成可烧录固件、遇到编译报错时该往哪个方向排查。我尽量把操作细节和背后原因都讲透不搞花架子。1. 开工之前先把星闪和WS63这盘棋看清楚1.1 星闪到底是什么和蓝牙WiFi有什么本质区别很多朋友第一次听说星闪第一反应是又一个无线协议。确实近距离无线通信这个赛道已经很拥挤了蓝牙、WiFi、Zigbee、Thread 各占一块地盘。星闪之所以能挤进来是因为它在设计目标上做了明显差异化低时延、高可靠、精同步、多连接。星闪技术体系里有两个模式经常被提到SLE低功耗模式和 SLB高速率模式。SLE 对标的是蓝牙低功耗场景强调低功耗、低时延和连接稳定性SLB 则偏向高速率、高带宽传输。两者共用一套上层框架开发者根据业务选择不同的接入层模式。这种双模设计的好处很直接一个协议族覆盖多种物联网场景不需要在不同协议之间来回切换。用生活化的方式理解蓝牙像是小区楼下的小卖部一对一或者小组网简单、够用但距离和带宽有限WiFi 像城市主干道带宽很大但高峰期会有拥堵和延迟抖动星闪更像是专门给重要货物开的特快专线数据量不一定大但讲究快、准时、不丢包。这个定位决定了它在智能门锁、智能照明、音频设备、工业控制这些对时延和可靠性敏感的场景里优势非常明显。1.2 WS63这颗芯片的实际定位与方案选型价值WS63 不是一个孤立的星闪芯片而是把星闪 SLE、BLE、WiFi 三种无线能力集成到一起的多模 SoC。也就是说一颗芯片可以同时处理三种连接需求用 WiFi 做大数据量传输用 BLE 兼容存量设备用星闪做低时延高可靠的通信链路。对做产品的人来说这个方案选型价值非常大。传统做法是 WiFi 模组加蓝牙模组甚至再加一颗星闪芯片几颗芯片堆在一起占 PCB 面积、增加 BOM 成本、还要处理天线共存和射频干扰。WS63 这种多模单芯片方案内部天然处理了共存问题因为你不用再操心两颗芯片之间的干扰和协调调度同一套硬件可以覆盖多条产品线。我在实际项目里的体会是评估一颗芯片是否值得用不能只看单点性能指标还要看整机成本、开发效率、供应链风险。WS63 的 SDK 把协议栈、示例工程、编译工具链都打包好了这省掉的是团队最底层的那部分重复劳动。如果你是做智能家居网关、带屏设备、工业传感器这类产品的这颗芯片非常值得留意。1.3 为什么选在AI开发者空间编译而不是本地环境先说本地编译嵌入式 SDK 的真实痛点。我见过太多同事栽在环境配置上交叉编译器版本不对、Python 版本冲突、某个依赖库少了一个 dev 包、磁盘空间被虚拟机占满。一套干净的 Linux 编译环境从零配到能编译过通常要耗费一两个小时甚至更久。而且嵌入式 SDK 对工具链版本非常敏感不同芯片厂商的编译器往往不通用换一个项目就得重新折腾一遍。华为AI开发者空间这类云上环境核心价值就是把环境这种脏活累活托管了。它在云端给你分配一台 Linux 主机常见的编译工具、Python 运行时、Git 客户端基本预装好打开网页就能进入 IDE 和终端。不需要本地再装虚拟机也不担心换电脑之后环境丢失。编译耗时较长的任务云端多核 CPU 通常比一般笔记本跑得更快。当然它也不是万能。离线开发、公司内网限制、上传下载大文件这些场景下云环境反而可能添麻烦。我的建议是如果是想快速评估一个 SDK、做个可行性验证或者团队需要统一编译环境用云上环境是性价比极高的方案如果是日常频繁烧录调试、需要长时间连着硬件做迭代那本地环境仍然不可替代。2. 云上环境初始化和SDK获取别在第一步就翻车2.1 创建开发环境镜像、规格、会话超时要看清在华为AI开发者空间的控制台里找到创建开发环境的入口这一步基本没有难度真正需要花点心思的是几个选项。第一是镜像选择。尽量不要凭感觉选最新版本最好和 SDK 文档里要求的系统版本对齐。嵌入式 SDK 里很多编译脚本依赖特定版本的 glibc、Python 或 GCC系统太新反而可能引入一些不必要的兼容问题。如果平台上提供了多个镜像优先选标注了预装工具链或者面向嵌入式开发的那一个。第二是资源规格。编译嵌入式 SDK 是典型的 CPU 密集加内存密集任务尤其是全量编译时核心数和内存直接决定等待时间。我的建议是最低选 4 核 8G如果SDK 比较大或者你经常开很多编译任务6 核 12G 会更从容。内存不够的话编译中后期容易触发 OOM整个构建过程直接失败。第三是会话保持策略这一点很多人会忽略。云环境一般都有空闲回收机制长时间不操作可能自动释放资源。如果编译任务比较长建议把构建过程放到 tmux 或 screen 里跑即使网页终端断开任务也能继续执行。这个细节我在后面章节展开讲但在创建环境时就要有意识。2.2 获取SDKgit clone还是上传压缩包SDK 获取方式通常有两种git clone 远程仓库或者本地压缩包上传到云环境。git clone 是最推荐的方式因为拉下来之后能保留完整版本历史后面看更新日志、切换分支、对比改动都很方便。但要注意很多嵌入式 SDK 仓库不是单仓结构而是拆成了主仓加若干子模块比如协议栈、第三方库、工具链脚本都可能独立成仓。直接 clone 主仓是不够的通常还需要执行git clone sdk-git-url ws63-sdk cd ws63-sdk git submodule update --init --recursive这一步不跑后面编译大概率会报一堆找不到头文件、找不到源文件的错误。真实项目里我见过太多人忽略了子模块然后开始怀疑编译配置有问题最后排查一圈发现就是代码没拉全。如果你所在的网络访问 git 仓库不稳定或者企业内部以压缩包形式分发 SDK那就直接把压缩包传到云环境再解压。这种方式胜在简单粗暴但要注意压缩包里是否完整包含了所有子模块和依赖文件。解压之后第一件事就是对比一下目录结构和官方文档里描述的是否一致别拿到一个残缺包还傻傻去编译。2.3 读懂SDK目录结构先找到构建入口拿到 SDK 之后不要急着执行任何构建命令。嵌入式 SDK 的目录结构虽然每家都有差异但大致思路是相通的应用层代码、组件库、驱动层、内核、编译工具、文档各自放在独立目录里。我一般拿到 SDK 会按三步走第一步快速扫一遍根目录下的 README 和 docs 文件夹看官方写的构建说明。很多坑其实文档里都写了只是大家习惯跳过文档直接上手。第二步在根目录下找构建入口文件。常见的入口包括 build.py、build.sh、Makefile、CMakeLists.txt、以及一些厂商自定义的构建工具脚本。找到入口文件之后打开看一眼它支持哪些参数比盲目执行 make 要靠谱得多。第三步看 tools 或 toolchain 目录确认工具链是否随 SDK 一起分发。有些 SDK 会在首次构建时自动下载工具链有些则要求你自己安装并加入 PATH。搞清楚这一点后面环境自检会轻松很多。用生活类比来说SDK 就像一套精装房的钥匙和说明书构建入口就是玄关处的总开关。你总得先搞清楚总开关在哪、怎么开再进每个房间去调整细节否则很容易摸黑走到死胡同里。3. 编译配置与完整构建流程3.1 开工五分钟环境自检工具链、Python、磁盘进入云上开发环境并放好 SDK 之后我建议先用五分钟做一次环境自检确认基础依赖都在再开始编译。这一步能帮你把环境问题和代码问题分开避免后面出错时一头雾水。下面这几条命令是我每次都会跑的uname -a python3 --version pip3 --version git --version cmake --version make --version df -h输出的内容分别对应几个检查点系统架构是不是 x86_64 或 aarch64Python 版本是否满足 SDK 要求包管理器是否可用Git 大版本是否正常构建工具是否就位根目录和当前工作目录的剩余磁盘空间是否充足。工具链的检查要额外留意。嵌入式交叉编译器通常命名为 riscv32-unknown-elf-gcc 或 riscv64-unknown-elf-gcc 之类直接执行命令看看能不能找到riscv32-unknown-elf-gcc --version riscv64-unknown-elf-gcc --version如果提示 command not found不用慌先去 SDK 的 tools 目录下找有没有自带工具链。很多 SDK 会把工具链压缩包放在仓库里你需要手动解压并把路径加进 PATH 环境变量。这一步的教训是别急着去网上现装编译器优先用 SDK 自带的版本因为版本匹配性最有保障。3.2 编译配置板型、协议组合、功能宏怎么选自检通过之后不要直接执行编译命令先做配置。WS63 这类 SDK 的编译配置一般会围绕下面几个维度展开配置项常见取值说明目标板型ws63、ws63-evb 等决定默认引脚、时钟、外设初始化参数协议组合sle、ble、sle_ble、wifi_sle 等决定协议栈的编译范围直接影响固件大小构建类型release、debugrelease 体积小、优化强debug 方便日志和调试日志等级debug、info、warn、error等级越高输出越少release 版本常用 warn 或 error功能宏是否启用隐私保护、是否启用特定外设驱动通过头文件或配置项开关有两点经验值得说一说。第一追求最小化验证。第一次编译时不要贪多把所有功能宏全部打开先把官方默认配置跑通过。比如目标板型选官方 EVB协议组合只选 sle日志等级用 debug。默认配置是厂商测试过最多的组合最不容易出问题。确认整条编译链路通了之后再逐步打开你需要的功能和调试选项。第二配置项的生效机制。有些 SDK 使用 menuconfig 风格交互菜单有些使用静态配置文件还有些支持命令行参数。你需要根据 SDK 文档确认具体机制。如果支持命令行传参我会倾向于把参数写进构建命令里这样整个过程可复现如果必须改配置文件建议在修改前先备份原始文件并且用 git 记录改动方便回溯。3.3 完整编译命令、日志解读和产物清单配置完成之后就可以开始正式编译。以典型的 Python 构建脚本为例命令大概是这个形式cd ~/workspace/ws63-sdk python3 build.py build -b ws63 -t sle 21 | tee build.log如果你的 SDK 使用的是 hpmHPM Package Manager或 Makefile 体系参考命令可能是hpm install hpm build # 或者 make ws63_sle_defconfig make -j$(nproc)关键是搞清楚你手上的 SDK 入口是哪种然后选择对应的命令。把输出同时写入 build.log 是一个小习惯后面排查问题会非常有用。编译过程会打印大量日志读日志时只需要关注几类关键信息Configuring 阶段有没有报错、Compiling 阶段有没有 warning 或 error、最后的链接阶段是否成功生成镜像文件、有没有打印固件大小和输出路径。如果编译中断重点看第一个 error 出现的位置而不是最后几条日志。第一次的错误往往是根因后面的连锁报错大多是它引发的次生灾害。编译完成后的产物一般不止一个文件常见的有产物文件作用boot.bin芯片启动引导程序loaderboot.bin升级引导程序负责加载主固件app.bin主应用固件包含协议栈与业务逻辑合并镜像 / 全量烧录包将上述内容合并为一个文件方便工厂烧录不同 SDK 的命名可能不同但作用大同小异。你可以把这些产物下载到本地配合烧录工具使用。需要注意不要只拿 app.bin 烧很多板子必须先有 boot 引导才能正常加载应用固件。4. 编译失败排查与云端使用避坑4.1 三个最常遇到的编译问题我在整个编译过程中踩过不少坑下面这几个是最典型、也最值得提前预防的。第一个坑是 Python 命令不可用。云环境里可能只装了 python3而构建脚本里写的是 python 或者两者版本不一致。执行时会出现 No module named xxx 或者 python: command not found。解决办法是在当前终端里做软链或别名alias pythonpython3 # 或者 sudo ln -s /usr/bin/python3 /usr/bin/python同时建议确认 pip 也已经正确映射。很多构建脚本会调用 pip 安装 Python 依赖pip 指向错误版本会导致装了一堆包但脚本根本找不到。第二个坑是交叉编译器找不到。前面自检时已经提过如果 SDK 自带工具链需要手动把工具链的 bin 目录加入 PATH。建议写进 .bashrc 而不是每次手动 exportexport PATH/path/to/ws63-sdk/tools/toolchain/riscv32/bin:$PATH然后重新加载配置再验证一次。这个坑的隐蔽之处在于有时候编译器能执行但版本和 SDK 要求的严格不匹配导致链接阶段报出奇怪的错误。所以一定要确认工具链版本在 SDK 文档指定的范围内。第三个坑是下载依赖失败。构建过程可能要从网络拉取第三方组件如果云环境的网络受限或者访问国外源超时就会卡在这里。常见的解决思路是切换镜像源例如把 pip 指向国内镜像pip3 config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple对于 git 依赖则可以尝试将协议从 git 换成 https或者提前手动 clone 需要的仓库放到指定目录里。总方向是让依赖获取路径尽可能短、尽可能稳定不要让构建过程在网络环节反复卡壳。4.2 云上环境独有的几个限制云环境和本地环境有一个非常大的不同你是在远程主机上操作所有状态都可能因为会话结束而消失。以下几个限制建议提前了解。第一个是会话超时回收。某些云主机在空闲一段时间后会自动挂起甚至释放编译任务可能刚跑到一半就断了。解决办法是使用 tmux 或 screen 保持会话。例如tmux new -s build python3 build.py build -b ws63然后按 Ctrl-B 再按 D 脱离会话下次重新进入用tmux attach -t build恢复。这样即使网页不小心关掉编译任务也能在远端继续跑。第二个是磁盘空间限制。云环境的存储空间通常不像本地机器那样充裕编译中间产物、下载的依赖包、日志文件都可能迅速占满磁盘。建议随时用 df -h 关注空间如果发现不足优先清理 SDK 目录之外的缓存文件。还可以在 .gitignore 里把 build 输出目录排除避免不小心把构建产物提交进仓库。第三个是内存限制。在内存较小的实例上全量编译时很容易 OOM。常规的对策是降低并行编译等级例如 make 时不要直接用 -j$(nproc)而是手动指定较小的并行数make -j4如果真的内存吃紧还可以考虑关掉一些不必要的后台进程或者升级实例规格。编译环境不是越大越好但至少要留够余量。第四个是产物下载的效率问题。云环境里生成的固件最终要下载到本地烧录。如果产物分散在多个目录建议先打包再下载tar czf output.tar.gz output/这样传输时间更短也不容易漏文件。把产物归档这个动作也方便后续做版本管理。4.3 烧录验证与运行日志编译成功只是第一步固件能不能在真机上跑起来才是真正验证工作。第一次烧录建议先用官方默认示例固件而不是直接烧你自己改过的代码。默认固件验证的是整条工具链和烧录链路先把环境层面的问题排除掉再引入业务逻辑层面的变量。烧录通常需要准备串口线、烧录工具和对应驱动。连接板子后设备管理器中能看到新增的串口设备。波特率、串口号、烧录地址这些参数以 SDK 文档和烧录工具提示为准不同批次模组可能有细微差异。烧录完成后打开串口终端观察启动日志。正常的启动日志会依次显示芯片初始化、时钟配置、外设初始化、协议栈启动等信息。如果日志里出现 panic 或者卡在某个驱动初始化阶段第一件事不是怀疑代码而是检查硬件连接和供电是否稳定。星闪设备对供电质量比较敏感劣质 USB 线或供电不足会导致射频部分工作异常现象就是日志正常但设备扫描不到周边节点。另外如果你做的是星闪连接的验证需要确认两个设备都工作在同一个频点和信道并且都处于可发现状态。很多连接问题不是代码 bug而是信道配置不一致。这点在后续开发中尤其重要养成看日志中射频参数的习惯可以省大量时间。5. 把编译工程固化下来真正提高复用效率5.1 一键初始化脚本人脑的记忆是不可靠的尤其是这种需要多次重复的环境配置流程。我强烈建议把前面所有手动操作固化成一个初始化脚本放在 SDK 仓库的 scripts 目录下。这样即使云环境被回收、换个新实例也能最快恢复到可编译状态。一个简单的环境初始化脚本框架如下#!/bin/bash set -e SDK_ROOT$(dirname $(realpath $0))/.. # 1. 设置工具链路径 if [ -d $SDK_ROOT/tools/toolchain/riscv32/bin ]; then export PATH$SDK_ROOT/tools/toolchain/riscv32/bin:$PATH else echo [ERROR] toolchain not found in $SDK_ROOT/tools/toolchain exit 1 fi # 2. 检查基础工具 for cmd in python3 git cmake make; do if ! command -v $cmd /dev/null 21; then echo [ERROR] $cmd is required exit 1 fi done # 3. 配置 pip 镜像 pip3 config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple # 4. 安装 Python 依赖 pip3 install -r $SDK_ROOT/requirements.txt 2/dev/null || true # 5. 构建入口提示 echo [INFO] Environment ready. Use: python3 build.py build -b ws63把脚本保存为 init_env.sh 并赋予执行权限每次新环境里只需要一句bash scripts/init_env.sh就能完成大部分准备工作。注意脚本里用了 set -e任何一个关键步骤失败都会中止避免带病环境强行编译。5.2 从交互式编译走向自动化云上开发环境不只能做交互式编译也可以作为自动化构建的执行节点。当你确认手动编译流程稳定之后下一步就是把编译命令封装成标准化的流水线任务让构建过程与人工操作解耦。最简单的自动化路径是把编译命令写进 Makefile 或脚本里支持目标参数化然后用定时任务触发。更进一步的方案是配置持续集成流水线将代码推送、编译、产物归档串起来每次提交都自动构建失败时及时反馈到团队。在云端做自动化编译有一个额外好处是可以复用同一个环境配置所有团队成员面对的是完全一致的编译环境。这一点对嵌入式团队解决我机器上能编过你机器上报错的经典矛盾非常有效。我把云环境里的常见做法总结一下环境配置脚本化、构建命令参数化、产物归档自动化。这三步做完编译这件事就从一个靠经验的手艺活变成了一个稳定可复用的工程能力。我个人实际操作中的体会是编译星闪 SDK 这类嵌入式工程的难度很大一部分来自环境不确定性而不是代码本身。一旦把环境问题解决了后面的事情会顺畅得多。最后再分享一个小技巧把环境初始化脚本、构建入口文件路径、产物输出目录和烧录注意事项整理成一个 README放在项目根目录下。这份文档不需要写得华丽但要足够准确下次任何人拿到这个工程都能照着文档快速上手而不需要重新踩一遍我曾经踩过的坑。

相关新闻

只有标题?零需求信息下的系统化测试执行方法

只有标题?零需求信息下的系统化测试执行方法

手头接到一条测试任务,标题栏只写了五个字:"测试文章标题01"。正文空、关键词空、摘要空,连个需求文档都没挂。我盯着这个任务看了半分钟,第一反应是找负责人,第二反应是打开文档开始拆。说实话,…

2026/10/12 4:15:32 阅读更多 →
Apache Beam DataFrame API 完全指南:用 pandas 风格编写分布式批流处理管道

Apache Beam DataFrame API 完全指南:用 pandas 风格编写分布式批流处理管道

批处理流处理大数据 【免费下载链接】beam Apache Beam is a unified programming model for Batch and Streaming data processing. 项目地址: https://gitcode.com/gh_mirrors/beam15/beam 点击查看 免费下载 Apache Beam Python SDK 内置的 DataFrame API 是一套…

2026/10/12 4:15:32 阅读更多 →
Oracle性能优化实战:从AWR诊断到SQL计划基线

Oracle性能优化实战:从AWR诊断到SQL计划基线

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

2026/10/12 4:15:32 阅读更多 →

最新新闻

C++肉鸽游戏开发:随机地图生成与回合制AI实战解析

C++肉鸽游戏开发:随机地图生成与回合制AI实战解析

简介:由C与EasyX图形库实现的肉鸽游戏Slime-Hunter,是作者22级技科专业课程设计作品。游戏内含角色控制、敌人攻击动画与基础关卡机制,虽为中期版本,但核心玩法已具备完整雏形,适合正在学习C游戏开发的初学者参考。资源…

2026/10/12 5:46:23 阅读更多 →
Java实战:Spring Boot搭建小型档案管理系统的核心设计与权限控制

Java实战:Spring Boot搭建小型档案管理系统的核心设计与权限控制

简介:这是一份面向Java课程设计与网络编程综合实验的小型档案管理系统完整源码包,系统采用C/S模式,客户端与服务器基于Socket通信,并通过多线程同时处理多个客户端请求;用户与档案属性存放于MySQL关系数据库&#xff0…

2026/10/12 5:46:23 阅读更多 →
5个MaterialTextField实战技巧:快速打造漂亮的登录表单与邮箱注册输入框

5个MaterialTextField实战技巧:快速打造漂亮的登录表单与邮箱注册输入框

【免费下载链接】MaterialTextField A different beautiful Floating Edit Text 项目地址: https://gitcode.com/gh_mirrors/ma/MaterialTextField 点击查看 免费下载 做 Android 登录页时,原生 EditText 往往显得单调。MaterialTextField 是一款开源的…

2026/10/12 5:46:23 阅读更多 →
Windows 上编译 gRPC C++ 静态库:从依赖链到 ExternalProject 集成

Windows 上编译 gRPC C++ 静态库:从依赖链到 ExternalProject 集成

简介:这份资源是面向 Windows 平台 C 开发者的 gRPC 静态库合集,适合需要在项目中集成高性能 RPC 通信、又不便自行编译第三方依赖的中高级开发者。包内同时提供 32 位与 64 位的 Debug、Release 四种版本,覆盖常见构建配置,可直接…

2026/10/12 5:46:23 阅读更多 →
从零手搓TopDownShooter:游戏循环与对象池实战

从零手搓TopDownShooter:游戏循环与对象池实战

简介:这是一份面向C游戏开发初学者与2D射击游戏爱好者的完整源码工程,实现了一个带视野遮挡效果的自上而下射击玩法。项目基于SFML与Box2D构建,涵盖光照、阴影、小地图、碰撞检测、子弹管理、地图生成等核心模块,适合用来学习游戏…

2026/10/12 5:46:23 阅读更多 →
小米手机传文件到电脑的四种高效方案与选型指南

小米手机传文件到电脑的四种高效方案与选型指南

你有没有过这种经历:手机里躺着一份刚收到的文件,电脑就在旁边,但你在心里把能用的传输方式翻了个遍,愣是找不到一条顺手的路?这种事我过去经常碰到,尤其手上这台主力机恰好是小米手机的时候。后来我把常用…

2026/10/12 5:45:23 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →