news 2026/9/21 2:14:28

嵌入式开发从入门到实践:系统学习路线与避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式开发从入门到实践:系统学习路线与避坑指南

你肯定在B站刷到过这个标题,或者类似的“最全”“最细”“七天速成”系列。说实话,作为一个在嵌入式开发圈子里混了十多年的老工程师,我每次看到这种封面第一反应都是:又来了。但第二反应往往是点进去看一眼目录,因为这类视频虽然标题浮夸,背后的知识框架大体还是靠谱的,只是“七天从小白到大神”这个承诺,水分实在太大了。

我知道很多人真的会收藏这类视频,然后就没有然后了。嵌入式开发是个典型的“入门靠引导、深入靠项目”的领域,光看视频不练,看一百集也是白搭。所以今天这篇东西,我不去凑“100集”的热闹,而是把这摊子事真正给你拆开:嵌入式开发到底要学什么、按什么顺序学、用什么工具链、怎么做第一个能跑的项目,以及那些视频里不会讲的坑。目的很直接——让你看完之后,能关掉视频,打开编辑器,亲手把代码烧进板子。

1. 先把“七天速成”这碗鸡汤倒掉

在聊具体路线之前,必须先解决一个认知问题:为什么“七天速成”不现实,以及为什么很多人学嵌入式会中途放弃。

1.1 七天到底能学到什么

我的判断是:七天努力一点,可以让你“看懂”嵌入式开发,但绝对到不了“大神”。我见过不少学习能力强的同学,在一周内确实能完成下面这些事:

  • 第1天:掌握C语言基础语法,搭好开发环境,跑通一个点灯程序
  • 第2天:搞明白GPIO、时钟树、寄存器映射,能用寄存器或HAL库操作IO口
  • 第3天:接触中断、定时器,实现一个按键中断翻转LED
  • 第4天:打通串口通信,让板卡能往上位机打印日志、接收指令
  • 第5天:学习I2C或SPI协议,读一个传感器芯片的数据
  • 第6天:了解FreeRTOS或Linux基础,跑一个最简单的多任务例子
  • 第7天:把上面的模块凑成一个小项目,比如温湿度采集并把数据打印到OLED屏

如果你能完成这一周计划,恭喜你,说明你有足够的动手能力和耐心。但也请清醒一点:这个程度的积累,只能算是“入了个门缝”。你面对一个真实的产品需求时,需要处理的问题会复杂得多,比如低功耗设计、通信可靠性、量产一致性、硬件成本控制,这些东西没有项目经验根本学不来。

所以我的建议是:把“七天速成”当成一个引子,别当方法论。真正靠谱的嵌入式学习周期,应该是三个月到半年,且每天都保持至少两小时的编码和调试。

1.2 嵌入式开发和纯软件开发的本质区别

很多人转行嵌入式之前,觉得它和做网站、写App差不多,都是“写代码”。这个误解是最大的拦路虎。

嵌入式开发的本质是“写代码控制硬件”,这意味着你必须同时具备软件和硬件两套思维。写Web时,你不需要关心服务器主板上哪个电容起了什么作用;但写嵌入式代码时,你必须知道:

  • 为什么GPIO要配置成推挽输出而不是开漏输出
  • 为什么I2C上拉电阻的阻值会影响通信速率
  • 为什么你的程序里突然多了100毫秒的耗时,可能是某个外设的等待逻辑在拖后腿
  • 为什么看门狗必须定期“喂”,否则系统会无缘无故重启

这些问题,光看视频学不会,必须在真实硬件上反复摸爬滚打。代码只是最终的表达方式,真正决定你能不能解决问题的,是你对芯片内部结构、外设电路、总线协议的理解有多深。所以那些“背靠背看视频”式的学习方法,在嵌入式领域特别容易失效。

1.3 为什么大多数人会半途而废

我总结了三条最常见的劝退点,提前给你打好预防针:

第一,环境配置极其劝退。很多新手满心欢喜买了开发板,结果卡在“USB转串口驱动装不上”“编译器版本不对”“烧录器连不上目标芯片”这些环节,一折腾就是大半天。这不是你笨,是生态本身太碎了。

第二,缺少即时反馈。写一个C语言程序,屏幕上马上能看到输出;画一个网页,浏览器里立刻能看到效果。但嵌入式开发里,你写了代码,烧进板子,如果LED没亮,你根本不知道是硬件问题还是软件问题,排查难度一下子翻倍。

第三,知识点太散,串不起来。嵌入式牵扯C语言、数字电路、计算机组成原理、操作系统、总线协议,任何一个环节薄弱,都可能卡住后面的学习。你需要一张“地图”,而不是一堆孤立的教程。

2. 从零开始的嵌入式学习路线:别跳级

搞清楚了上面的底层逻辑,接下来就是实打实的路线规划。以下是根据行业共识和多年带人经验梳理出来的路径,核心原则就四个字:不要跳级。

2.1 阶段一:C语言和计算机基础(约2周)

不管网上有多少人吹“嵌入式用不了多少C语言”,你都应该老老实实把指针、结构体、位运算、函数指针、内存管理这五座大山翻过去。嵌入式开发的代码大量直接操作寄存器地址,指针绕不开;底层驱动里位操作和掩码用得比任何其他领域都多;结构体和联合体则是描述硬件寄存器映射的惯用手段。

具体的C语言要求,我列一个自检清单:

  • 能独立写出可编译运行的链表和队列
  • 能说清指针和数组的区别,以及const int *pint *const p等声明的含义
  • 能用位运算实现“置位”“清位”“翻转”“读取某一位”
  • 理解栈和堆的概念,能分析一个函数调用过程在内存中发生了什么
  • 写过至少一个多文件工程,会用头文件做声明,能理解#ifndef条件编译的作用

与此同时,建议抽空补一补数字电路基础,尤其是与门、或门、非门、D触发器,以及片上外设最常用的“寄存器就是一堆D触发器”这个基本逻辑。不需要深入晶体管原理,但需要知道高低电平、上拉下拉、开漏推挽这些概念。

2.2 阶段二:单片机裸机开发(约6至8周)

这是整个学习路径的核心阶段,也是你真正积累硬件感知力的阶段。推荐的路线是:51单片机起步,STM32进阶,二选一也可以,但我的建议是别跳。

很多人觉得51太老,直接学STM32。但51的好处是寄存器少、外设简单、参考资料多到你根本看不完,非常适合用来建立“寄存器操作”和“硬件时序”的基本感觉。你花两周在51上搞懂:

  • 如何看芯片手册里的寄存器表
  • 如何配置一个GPIO
  • 如何用定时器产生精确延时
  • 如何通过中断响应外部事件
  • 如何用串口发送接收数据

然后再上STM32,配合STM32CubeMX用HAL库开发,你会觉得“哇,原来还能这么方便”。此时你已经有底层概念打底,就算HAL库封得再厚,你也能一眼看穿它背后做了什么。

裸机阶段的学习目标,可以用一个“可以独立完成的项目”来验收:做一个多传感器数据采集系统,比如DHT11温湿度加光敏电阻,通过ADC采集电压,用OLED屏显示数据,再用按键切换显示模式,数据通过串口上传到PC端软件。难度适中,但把GPIO、定时器、中断、ADC、I2C/SPI、串口这些核心外设基本都覆盖了。

2.3 阶段三:操作系统与嵌入式Linux(约4至8周)

裸机跑通了,下一步就是上操作系统。这里很多人会犯迷糊,是学RTOS还是学Linux?

我的建议是:分两步走。

第一步,先接触FreeRTOS或RT-Thread。你要理解操作系统在MCU上的基本职责:任务调度、内存管理、信号量、消息队列、互斥锁。可以在STM32上跑两个LED任务,一个1秒闪一次,一个3秒闪一次,再通过一个按键任务来控制任务的挂起与恢复,这样你就对任务和调度有了直观感知。

第二步,如果你想往嵌入式Linux方向发展——目前很多做工控、智能硬件、边缘计算产品的公司都要求这个能力——那就要开始学习Linux系统应用开发。具体包括:

  • Linux常用命令和shell脚本
  • 文件IO、进程、线程、进程间通信(管道、共享内存、信号量)
  • Socket网络编程
  • 交叉编译的原理:在PC上编译出ARM平台可执行的程序,然后拷贝到板卡上运行

这一步上手门槛比较高,建议直接买一块成熟的ARM Linux开发板(比如全志、瑞芯微、NXP i.MX系列芯片的板子),跟着官方资料跑起来。很多工控触摸屏、一体机上跑的其实就是这类嵌入式Linux系统,开发方式和服务器端差不多,但资源更受限、调试手段更原始,这个体验你得提前适应。

2.4 阶段四:驱动开发和实战项目(持续进阶)

走到这一步,你已经有能力阅读和修改BSP包里的驱动代码了。接下来可以有选择地深入某个方向:

  • 如果你对底层感兴趣,可以学Linux驱动的开发框架,包括字符设备驱动、设备树、platform总线、中断底半部机制
  • 如果你更在意应用层,可以学Qt或LVGL框架,做嵌入式GUI
  • 如果你想往AI方向发展,可以关注嵌入式AI,也就是把轻量级神经网络部署到MCU或边缘设备上

对于目标是找工作、做产品的同学,我强烈建议在学了基础后立刻做一个完整项目,比如“基于嵌入式Linux的智能家居网关”,涵盖数据采集、网络通信、MQTT协议、Web配置页面、移动端App联动。项目难度适中,但它把整个链路都串起来了,面试时拿出来讲,比你说“我学了十门课”有说服力得多。

为了方便对照,我把阶段规划做成了一张表:

阶段建议时长核心内容验收标准
C语言+基础2周指针/结构体/位运算/链表/数字电路基础能独立完成多文件C项目
单片机裸机6-8周GPIO/定时器/中断/串口/I2C/SPI/ADC完成多传感器采集+OLED+串口项目
RTOS/Linux4-8周FreeRTOS任务通信/Linux应用/交叉编译跑通多任务例程,板卡上跑通网络通信
驱动/项目持续设备树/字符驱动/LVGL/Qt/嵌入式AI完成一个完整产品Demo

3. 开发环境选型:VSCode、CLion还是官方IDE

工欲善其事,必先利其器。嵌入式开发工具链今年来变化很大,很多新人在选题时容易纠结。我给你梳理一下市面上几种主流方案的优缺点。

3.1 VSCode:轻量,插件生态丰富

VSCode是当前最热门的编辑器,嵌入式开发同样吃香。核心组件是微软的C/C++插件,配合以下几个常用于嵌入式场景的插件:

  • Cortex-Debug:用于ARM Cortex-M内核的调试,基于OpenOCD或pyOCD后端
  • Embedded Tools:集成串口监视、OpenOCD调试等常用功能
  • Serial Monitor:直接在VSCode里查看串口输出,省去开独立串口工具的麻烦
  • CMake Tools:管理CMake构建流程,配合嵌入式项目模板很好用

VSCode的优势是界面清爽、启动快、跨平台,而且可以自由组合插件,适合喜欢折腾、追求定制化的开发者。缺点是插件配置自由度太高,新手很容易为了配一个调试环境折腾一整天,而且工程配置文件和实际构建链路之间的透明度较低,出了问题不好排查。

3.2 CLion:重型嵌入式开发者的趁手兵器

CLion是JetBrains家族的C/C++ IDE,最大的优势是代码分析能力强悍,重构、跳转、补全都做得非常顺手。配合它的嵌入式开发插件,可以直接生成或导入STM32CubeMX工程,并通过OpenOCD或J-Link完成烧录和调试,体验非常顺滑。

如果你在大学里已经习惯了JetBrains系IDE的交互风格,或者写代码比较依赖智能提示,CLion会是一个很舒服的选择。缺点是需要付费授权(学生可以申请免费教育版),而且安装配置比VSCode稍重一点,对电脑性能有一定要求。

3.3 官方IDE:Keil MDK与STM32CubeIDE

这里得说实话:哪怕你是VSCode或CLion的忠实用户,也至少要会一种官方IDE,因为你迟早会拿到一个公司提供的旧工程,里面全是Keil或IAR的工程文件。

Keil MDK是单片机开发用了几十年的“老古董”,界面朴素但功能扎实,编译速度快,对STM32等ARM Cortex-M芯片支持好。它的调试器逻辑简单直观,很多老工程师上手就能用,而且网上教程、例程、报错解决办法多到数不清。缺点是代码编辑体验比较一般,工程管理也略嫌老派。

STM32CubeIDE是意法半导体推的免费IDE,基于Eclipse做的,集成了STM32CubeMX配置工具和GCC工具链,开箱即用,官方支持到位。如果你用的是STM32芯片,直接从CubeMX生成工程再编译烧录,几乎零配置,对新手特别友好。缺点是Eclipse底子导致界面偏臃肿,速度和流畅度比原生IDE差一点。

工具链门槛调试体验成本适用人群
Keil MDK商业付费但流传广泛老工程师/企业项目
STM32CubeIDE免费STM32新手
VSCode好(需配置)免费喜欢定制化/嵌入式Linux开发者
CLion中高极好付费资深开发者/学生
3.4 我的推荐配置

如果你现在一头雾水,我建议按下面的组合上手,兼顾低门槛和长期可用:

  • 编辑器:VSCode,安装C/C++、Cortex-Debug、Serial Monitor三个插件
  • 工程生成:STM32CubeMX生成初始化代码
  • 编译链:arm-none-eabi-gcc
  • 烧录与调试:ST-Link + OpenOCD

这套组合跨Windows和macOS都能跑,而且都是免费工具。在Windows工控机或一体机上做嵌入式Linux开发时,这套思路也同样适用——把VSCode当远程编辑器,SSH连上目标板卡,用交叉编译工具链编译,再把可执行文件通过NFS或scp传上去运行。

工具这块,我的经验是:别在初期纠结。把任何一个工具用熟,都比东换一个西换一个强。等你真的理解了编译、链接、烧录、调试的完整链路,用什么工具都只是习惯问题。

4. 嵌入式领域的新方向与值得关注的开源库

聊完基础路线和工具,稍微抬头看看行业趋势。嵌入式开发早就不是“点灯+串口”的层面了,现在最火的几个方向包括嵌入式AI、边缘计算、物联网网关、以及各类视觉和机器人应用。你在B站搜到的“嵌入式AI开发”这类热门词,反映的正是行业需求的变化。

4.1 MCU上的机器学习:端侧AI怎么玩

嵌入式AI并不是把训练好的模型塞进手机那么高端,在物联网和工业场景里,更多的是把轻量级神经网络部署到资源受限的MCU上,实现端侧推理。STM32系列芯片上的典型方案有两种:

  • ST官方提供的STM32Cube.AI工具,可以把训练好的Keras/TensorFlow Lite模型转换成针对STM32优化的C代码
  • TensorFlow Lite for Microcontrollers,可以说是专为MCU设计的推理框架,支持多种ARM Cortex-M芯片

实际落地最多的是简单分类和异常检测任务,比如通过加速度计数据判断设备姿态、根据电流波形判断电机是否有堵转风险。这些任务模型参数量小,推理延迟低,不上云也能实时响应,非常适合嵌入式系统。

如果你想深入了解,可以从一个“关键字唤醒”项目入手:在STM32上部署一个微型语音分类模型,识别“你好”和“停止”两个词。这对你理解模型量化、推理框架、裁剪部署的整个流程都有很大帮助。

4.2 除了PCL,嵌入式还有哪些“趁手”的开源库

有朋友在社区问“嵌入式开发有没有类似PCL(点云库)这样功能强大的开源库”,这个问题问得很好,因为PCL在机器人、自动驾驶领域的地位确实很特殊。不过嵌入式开发的开源生态同样丰富,按功能分类:

库/框架用途适用场景
OpenCV(嵌入式版)图像处理与视觉识别摄像头检测、二维码识别、颜色追踪
LVGL轻量级图形界面GUIMCU上的触摸屏、仪表盘、控制面板
CMSIS-DSPARM官方数字信号处理库音频处理、姿态解算、滤波器实现
littlefs掉电安全的小型文件系统日志存储、配置项持久化
FreeRTOS/RT-Thread实时操作系统多任务应用的基础平台
lwIP轻量级TCP/IP协议栈板卡联网、MQTT/HTTP通信

拿LVGL来说,现在很多智能家电、工业HMI、仪器仪表的显示屏都是基于它做的,而且它和FreeRTOS、TouchGFX的结合非常成熟,在MCU上就能实现媲美智能手机的UI动效。CMSIS-DSP则几乎是所有做惯性传感器、音频设备、电机控制的工程师的必备工具库,你不需要自己手写FFT,也不用为了相位解算头疼。

嵌入式AI这块,我特别推荐RT-Thread Sensor框架配合CMSIS-NN来跑简单的神经网络推理,这一套在国产MCU上的支持也相当好。可以说,现在的嵌入式开发,只要你会找库、会集成,能省下大量从零造轮子的时间。唯一需要注意的是:嵌入式资源有限,库不是越强大越好,而是越贴合当前硬件资源越好。

5. 带手实操:从CubeMX到点灯与串口打印

理论铺垫差不多,下面给一个可以完整跑通的最小项目。别嫌简单,点灯是嵌入式世界的“Hello World”,串口是嵌入式开发者的“第二双眼睛”,这两个功能你亲手跑通了,后面所有开发都建立在这个基础之上。

5.1 准备硬件与软件

硬件方面,我推荐STM32F103C8T6最小系统板,蓝色Pill那种就行,价格便宜,外围电路齐全,网上例程海量。再配一个ST-Link V2烧录器,以及一根USB转TTL串口线,用于串口通信。

软件方面,提前装好:

  • STM32CubeMX(工程配置)
  • arm-none-eabi-gcc(交叉编译链)
  • STM32CubeProgrammer或OpenOCD(烧录工具)
  • VSCode或CLion(代码编辑器)
  • 任意一个串口终端工具(如MobaXterm)
5.2 CubeMX配置工程

打开STM32CubeMX,创建一个新工程,选择芯片STM32F103C8Tx。进入Pinout视图后,按下面的方式配置:

  • PC13设置为GPIO_Output,这是板载LED所在引脚
  • USART1设置为Asynchronous模式,波特率115200,PA9是TX,PA10是RX
  • SYS -> Debug选择Serial Wire,这一步很关键,否则烧录器可能连不上芯片

然后在Project Manager标签页里:

  • Toolchain选择MDK-ARM或Makefile,如果你用的是VSCode,选Makefile更方便
  • 设置工程名、路径,勾选“Generate Under Root”
  • 代码生成时,建议勾选“Copy only the necessary library files”,减少生成体积

生成代码后,你就可以看到工程里已经自动生成了main.c、gpio.c、usart.c等文件,HAL库的初始化代码也铺好了。

5.3 编写点灯和串口打印代码

在main.c的main函数里,在while(1)循环前插入串口打印:

#include "main.h" #include "usart.h" #include "gpio.h" int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); const char *msg = "Hello Embedded\r\n"; HAL_UART_Transmit(&huart1, (uint8_t *)msg, strlen(msg), 1000); while (1) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); HAL_Delay(500); } }

简单解释一下关键点:HAL_GPIO_TogglePin会把PC13的电平反转,所以LED会以1秒为周期亮灭(点亮0.5秒+熄灭0.5秒)。HAL_UART_Transmit是HAL库中串口发送的阻塞函数,最长等待1000毫秒。这里要注意,strlen需要包含<string.h>,否则编译器会报隐式声明的警告。

如果你用的是VSCode,还可以在自己工程里加一个小脚本,把编译、烧录两步合成一条命令,比如:

make && openocd -f interface/stlink.cfg -f target/stm32f1x.cfg -c "program build/firmware.elf verify reset exit"

这条命令先用make构建固件,再用OpenOCD把它烧录到芯片并复位运行。实际用下来比反复点Keil里的按钮省心很多,也是我目前比较推荐的命令行工作流。

5.4 编译烧录与验证

编译完代码,连接好ST-Link,执行烧录命令。如果一切正常,你会看到OpenOCD打印一串烧录进度,最后芯片会自动复位,LED开始闪烁,串口终端里每隔500毫秒没有任何输出(因为我们只在启动时打印了一次),但启动时的那条“Hello Embedded”已经证明串口链路是通的。

如果你看不到串口输出,大概率是驱动的锅。优先检查设备管理器里有没有出现COM口,没有就需要装CP2102或CH340驱动。这一步卡住的人非常多,记住一句话:硬件不复杂,驱动搞心态。

6. 特别整理:萌新最容易踩的坑和排查方法

最后这部分,是写给那些已经动手但总是卡壳的朋友。我把带新人时最常遇到的问题和排查思路整理成了张速查表,每一条都有对应的解决办法。

6.1 我买了开发板,但烧录时一直提示“No ST-LINK detected”

这个问题的概率极高。先别急着怀疑板子坏了,按顺序排查:

  • 检查ST-Link USB线是否插好,很多ST-Link是Micro-USB口,接触不良很常见
  • 确认开发板的供电线也插上,部分调试器不给目标板供电
  • 在STM32CubeProgrammer里点“Connect”,如果还是连不上,检查接线是否接反
  • 如果上面都正常,大概率是ST-Link的固件坏了,用STM32CubeProgrammer的“Firmware Upgrade”功能刷一下固件就能解决
6.2 我烧录成功了,但LED不亮,代码看着也没问题

新手最容易在这里崩溃。我的排查思路是:先确定硬件是否正常,再怀疑代码。快速验证方法是下载官方点灯例程,如果官方例程能亮,说明硬件没问题,你的代码里肯定某个配置不对;如果官方例程也不亮,大概率是引脚接错或LED电阻虚焊。嵌入式调试最大的忌讳就是“一直怀疑一个地方”,一定要加打印信息,看程序执行到了哪一步。

6.3 学了两个月,感觉全会了,但一写项目就空白

这是典型的“看视频式学习后遗症”。解决办法只有一个:亲手写项目。别追求大项目,哪怕是一个“按键控制LED亮度”的PWM调光器,也比看十集视频有用。等你写出了第一个完整的项目,你会发现所有知识点都活了过来,后面学新东西的速度会越来越快。

6.4 我应该选单片机还是嵌入式Linux方向

这取决于你的就业目标和实际情况。单片机方向入门快、成本低、岗位需求大,适用于小家电、汽车电子、工业控制等各类领域;嵌入式Linux方向薪资天花板更高,但门槛也更高,适合数学、网络、操作系统功底不错的人。我的建议是:如果时间允许,先把单片机裸机跑熟,再往Linux方向走,这是兼容性最强的路径。

6.5 Windows工程在Linux下打不开或编译不过

这个问题在嵌入式开发里太常见了。不同平台下的换行符、路径分隔符、编译器类型都会导致工程文件兼容性问题。Keil的工程文件带Windows路径和关联,切到Linux环境建议直接用CMake重新生成一套构建体系。另外,开源的gcc-arm-none-eabi工具链在Windows和Linux下都有一致的命令行接口,把构建脚本写好后,开发环境迁移并不痛苦。

再分享一个我个人的小习惯:把常用工程的构建、烧录、串口监视命令都写成Makefile或Shell脚本,放到项目根目录下,这样无论在哪个平台上,敲两行命令就能搞定全流程。刚开始会觉得写脚本比点软件麻烦,但等你一天要烧几十次固件的时候,就知道这个习惯有多香了。

嵌入式开发的本质就是“和硬件死磕,和软件较真”。也许你现阶段还是那个被串口驱动折腾得抓狂的小白,但只要能把第一条电线接对、第一行代码烧进去,你就会发现,这条路其实是越走越宽的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 2:13:06

用疫情数据实战回归预测:从滞后特征到数据泄漏避坑指南

1. 为什么拿疫情数据练回归模型1.1 这不是蹭热点&#xff0c;是一个回归问题最好的入门样本在机器学习的各类任务里&#xff0c;回归是最基础、也最容易被低估的一种。很多人习惯用房价预测、波士顿房价、加利福尼亚房价做演示&#xff0c;但这些数据集已经被写烂了&#xff0c…

作者头像 李华
网站建设 2026/9/21 2:12:51

GJB 5109A-2022装备计量保障新规解读:检测校准与期间核查落地要点

简介&#xff1a;GJB 5109A-2022《装备计量保障通用要求 检测和校准》国家军用标准最新版全文PDF&#xff0c;面向装备研制、试验鉴定、订购及使用保障等环节的计量管理人员、质量工程师和标准化从业者&#xff0c;用于替代旧版GJB 5109-2004。文件为1个PDF文档&#xff0c;压缩…

作者头像 李华
网站建设 2026/9/21 2:12:42

PI-Desktop:本地优先的AI编程智能体实战解析

1. 这不是又一个“AI桌面玩具”&#xff0c;而是一次本地化编程智能体的硬核落地尝试PI-Desktop 这个名字刚出现时&#xff0c;我第一反应是&#xff1a;又一个 Electron 套壳、调 API、前端炫技的“AI桌面概念产品”。但真正 clone 下来、编译、跑起来、写几个真实函数、让它读…

作者头像 李华
网站建设 2026/9/21 2:12:13

Hermes Agent 沉淀 Skill Memory,Base URL 填 TaoToken

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

作者头像 李华