# embedded-skills **Repository Path**: microboa/embedded-skills ## Basic Information - **Project Name**: embedded-skills - **Description**: 嵌入式 AI 开发调试 Skill 集 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://github.com/zhinkgit/embeddedskills.git - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-03 - **Last Updated**: 2026-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 嵌入式, skill ## README
简体中文 | [English](./README.en.md) # embeddedskills — 嵌入式 AI 开发调试 Skill 集 **让 AI 编码助手直接操控编译器、调试器和通信总线,实现从代码生成到硬件验证的完整闭环。** [![MIT License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE) [![Status](https://img.shields.io/badge/status-active-success?style=flat-square)]() [![Stars](https://img.shields.io/github/stars/zhinkgit/embeddedskills?style=flat-square)](https://github.com/zhinkgit/embeddedskills/stargazers) [![Claude Code](https://img.shields.io/badge/Claude_Code-black?style=flat-square&logo=anthropic&logoColor=white)](https://claude.ai/code) [![OpenAI Codex CLI](https://img.shields.io/badge/OpenAI_Codex_CLI-412991?style=flat-square&logo=openai&logoColor=white)](https://github.com/openai/codex) [![TRAE](https://img.shields.io/badge/TRAE-0078D4?style=flat-square)](https://trae.ai) [![Cursor](https://img.shields.io/badge/Cursor-000?style=flat-square&logo=cursor&logoColor=white)](https://cursor.sh) [![Kiro](https://img.shields.io/badge/Kiro-232F3E?style=flat-square&logo=amazon&logoColor=white)](https://kiro.ai)
--- ## ✨ 三大核心优势 ### 🔁 嵌入式 AI 工作流闭环 嵌入式开发有一道纯软件开发没有的鸿沟:写完代码只是开始,编译、烧录、调试每一步都需要人在中间传递信息。 > AI 改完代码 → **你**手动编译 → **你**手动烧录 → **你**把报错复制给 AI → AI 再改 → **你**再编译…… **embeddedskills 把这个循环交给 AI 自己跑:** ```mermaid flowchart TD A["💬 需求沟通"] --> B["✍️ 代码生成与优化"] B --> C["🔨 自动编译 keil build / gcc build"] C -->|有错误| D["🤖 AI 读取编译错误"] D --> B C -->|通过| E["⚡ 自动烧录 openоcd flash / jlink flash / probe-rs flash"] E --> F["🔬 自动调试验证"] F -->|异常| G["🤖 AI 读取调试信息"] G --> B F -->|正常| H["✅ 提交最终代码"] style A fill:#4CAF50,color:#fff style H fill:#4CAF50,color:#fff style C fill:#2196F3,color:#fff style E fill:#2196F3,color:#fff style F fill:#FF9800,color:#fff style D fill:#f44336,color:#fff style G fill:#f44336,color:#fff ``` | 环节 | 传统 AI 辅助 | AI + embeddedskills | |------|------------|-------------------| | 代码编写 | AI 生成 | AI 生成 | | 编译构建 | **人工操作** | ✅ AI 调用 Keil / GCC | | 烧录下载 | **人工操作** | ✅ AI 调用 J-Link / OpenOCD | | 调试验证 | **人工操作** | ✅ AI 断点 / 寄存器 / 内存 | | 通信调试 | **人工操作** | ✅ AI 串口 / CAN / 网络 | | 错误修正 | **人工转述给 AI** | ✅ AI 读取并自主修正 | --- ### 🆓 完全免费,不限 AI 工具 本项目完全开源免费(MIT 协议)。只要 AI 工具支持 Skill / CLAUDE.md / Rules 协议,均可直接使用,包括但不限于: - **Claude Code** - **OpenAI Codex CLI** - **TRAE** - **Cursor、Kiro、Windsurf** 等其他支持 Skill 协议的工具 无需付费订阅任何附加服务,AI 工具自由切换。 --- ### ⚡ 使用简单,无需迁移工程 **直接在现有项目上使用,无需改动任何工程文件。** 支持业界主流工程体系和调试器: | 维度 | 支持范围 | |------|---------| | **构建系统** | Keil MDK 工程、CMake 工程 | | **调试器** | J-Link(SEGGER)、CMSIS-DAP / DAPLink | | **烧录框架** | OpenOCD、probe-rs 兼容工具链 | | **通信总线** | 串口(UART)、CAN / CAN-FD、以太网 | 一条命令安装,AI 即可自动识别工程类型并开始工作: ```bash npx skills add https://github.com/zhinkgit/embeddedskills -g -y ``` --- ## Skill 一览 | 分类 | Skill | 能做什么 | 主要子命令 | |:---:|:---:|---|---| | 🔨 构建 | **keil** | Keil MDK 工程扫描、Target 枚举、编译、重建、清理 | `scan` `targets` `build` `rebuild` `clean` `flash` | | 🔨 构建 | **gcc** | CMake 型 GCC 工程配置、编译、大小分析 | `scan` `presets` `configure` `build` `rebuild` `size` | | 🔬 调试 | **jlink** | 烧录、读写内存/寄存器、RTT/SWO、GDB 调试 | `flash` `read-mem` `write-mem` `regs` `rtt` `swo` + GDB | | 🔬 调试 | **openocd** | 烧录、擦除、GDB/Telnet、Semihosting/ITM | `flash` `erase` `reset` `gdb-server` `semihosting` `itm` | | 🔬 调试 | **probe-rs** | 探针发现、烧录、复位、内存读写、GDB 调试、RTT | `list` `info` `flash` `erase` `reset` `read-mem` `write-mem` `gdb` `rtt` | | 🔌 通信 | **serial** | 扫描串口、实时监控、发送数据、Hex 查看 | `scan` `monitor` `send` `hex` `log` | | 🔌 通信 | **can** | CAN/CAN-FD 监控、发帧、DBC 解码、统计 | `scan` `monitor` `send` `decode` `stats` | | 🔌 通信 | **net** | 抓包分析、连通性测试、端口扫描、流量统计 | `capture` `analyze` `ping` `scan` `stats` | | 🔌 通信 | **ssh** | SSH 配置、远程命令、上传下载、跳板机和端口转发 | `list` `find` `show` `add` + exec/transfer/tunnel | | 🔌 通信 | **terminal** | 串口、SSH、本地 Shell 双向交互会话 | `start` `send` `read` `attach` `stop` | | 🎯 编排 | **workflow** | 自动识别工程 → 选择工具链 → 串联全流程 | `plan` `build` `build-flash` `build-debug` `observe` `diagnose` | > [!TIP] > `Keil / GCC` 与 `J-Link / OpenOCD / probe-rs` 可自由正交组合,六种搭配均可开箱即用。 --- ## 安装 ### 方法一:npx(推荐) ```bash # 一键安装全部 skill npx skills add https://github.com/zhinkgit/embeddedskills -g -y # 只安装需要的 skill npx skills add https://github.com/zhinkgit/embeddedskills --skill jlink -g -y # 管理 npx skills ls -g # 查看已安装 npx skills update -g # 更新 npx skills remove -g # 移除 ``` ### 方法二:直接 clone ```bash # Claude Code(全局) git clone https://github.com/zhinkgit/embeddedskills ~/.claude/skills/embeddedskills # 仅当前项目 git clone https://github.com/zhinkgit/embeddedskills .claude/skills/embeddedskills ``` > [!NOTE] > **[→ 完整安装与使用手册](docs/getting-started.md)**,包含截图演示和配置说明。 --- ## 工作原理 三个关键设计让 AI 能真正自主闭环:
① 封装命令行工具 每个 Skill 是一组 Python 脚本,将底层工具(UV4.exe、cmake、JLink.exe、openocd、probe-rs、tshark 等)的命令行参数和交互流程转化为结构化子命令,AI 可以像调用函数一样调用这些工具。
② 通过 SKILL.md 暴露给 AI 每个 Skill 目录下的 `SKILL.md` 以自然语言描述能力、子命令和使用场景。AI 读取后即可正确调用,**无需额外训练或配置**,任何支持 Skill 协议的 AI 工具开箱即用。
③ 统一 JSON 输出,驱动下一步决策 所有脚本返回统一结构的 JSON,AI 直接解析状态、摘要和建议,自主决定下一步操作: ```json { "status": "ok | error", "action": "build", "summary": "编译成功,0 errors,2 warnings", "details": { "warnings": ["unused variable 'x' at main.c:42"] }, "artifacts": { "hex": ".embeddedskills/build/output.hex" }, "next_actions": ["flash to device"] } ```

**三层配置**,按需覆盖,优先级从高到低: ``` CLI 参数 ──► skill/config.json(工具路径、硬件参数) ──► .embeddedskills/config.json(目标芯片、接口、日志目录) ──► .embeddedskills/state.json(最近一次构建/烧录/调试记录) ──► 默认值 ``` **统一日志目录:** ``` workspace/ └── .embeddedskills/ ├── build/ ← 编译日志与 hex/bin 产物 └── logs/ ├── serial/ ← 串口监控日志 ├── can/ ← CAN 报文日志 └── net/ ← 网络抓包文件 ``` --- ## 外部依赖
展开查看各 Skill 所需依赖 | Skill | 依赖 | |---|---| | keil | Keil MDK (UV4.exe) | | gcc | CMake · Ninja/Make · ARM GNU Toolchain | | jlink | SEGGER J-Link Software · arm-none-eabi-gdb | | openocd | OpenOCD · 调试器驱动 (ST-Link / CMSIS-DAP / DAPLink / FTDI) | | probe-rs | probe-rs CLI · arm-none-eabi-gdb | | serial | pyserial · USB 转串口驱动 | | can | python-can · cantools · pyserial · USB-CAN 驱动 | | net | Wireshark (tshark) · Npcap | | ssh | OpenSSH 客户端 (`ssh` / `scp` / `ssh-keygen`) | | terminal | pyserial(串口后端)· OpenSSH 客户端(SSH 后端) | > 除 CAN、串口和 terminal 的串口后端外,所有 Skill 均基于 Python 标准库实现,无需额外安装 Python 依赖。 > [!WARNING] > Windows 下若要让 `probe-rs` 驱动 `J-Link`,通常需要把驱动切到 `WinUSB`,这会影响 SEGGER 官方工具继续使用。若你仍依赖 J-Link 官方工具链,优先继续使用现有 `jlink` skill。
--- ## 完成进度 | Skill | 状态 | |---|:---:| | keil | ✅ 已完成测试 | | gcc | ✅ 已完成测试 | | platformio | 🔧 待支持 | | jlink | ✅ 已完成测试 | | openocd | ✅ 已完成测试 | | probe-rs | ✅ 已完成测试 | | pyocd | 🔧 待支持 | | serial | ✅ 已完成测试 | | net | ✅ 已完成测试 | | can | 🔧 待测试 | | ssh | ✅ 已完成测试 | | terminal | 🔧 待硬件测试 | | workflow | ✅ 已完成测试 | --- ## Star History Star History Chart 欢迎提 Issue 和 PR。感谢 [Linux.do](https://linux.do/) 社区支持。