[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1804":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":46,"readmeContent":47,"aiSummary":48,"trendingCount":16,"starSnapshotCount":16,"syncStatus":49,"lastSyncTime":50,"discoverSource":51},1804,"embeddedskills","zhinkgit\u002Fembeddedskills","zhinkgit","An open-source collection of embedded development and debugging skills for Claude Code, Copilot, TRAE, and other AI coding assistants that support the Skill protocol. Once installed, the AI assistant can directly operate compilers, debuggers, and communication buses, automating the full workflow from code generation to hardware verification.","",null,"Python",352,44,3,1,0,24,45,165,72,4.96,"MIT License",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"ai-coding-assistant","automation","can-bus","can-fd","debugging","devtools","embedded","embedded-development","firmware","gcc","gdb","hardware-verification","jlink","keil","openocd","serial","skill-protocol","toolchain","workflow","2026-06-12 02:00:33","\u003Cdiv align=\"center\">\n\n简体中文 | [English](.\u002FREADME.en.md)\n\n# embeddedskills — 嵌入式 AI 开发调试 Skill 集\n\n**让 AI 编码助手直接操控编译器、调试器和通信总线，实现从代码生成到硬件验证的完整闭环。**\n\n[![MIT License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green?style=flat-square)](LICENSE)\n[![Status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-active-success?style=flat-square)]()\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fzhinkgit\u002Fembeddedskills?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills\u002Fstargazers)\n\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude_Code-black?style=flat-square&logo=anthropic&logoColor=white)](https:\u002F\u002Fclaude.ai\u002Fcode)\n[![OpenAI Codex CLI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpenAI_Codex_CLI-412991?style=flat-square&logo=openai&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)\n[![TRAE](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTRAE-0078D4?style=flat-square)](https:\u002F\u002Ftrae.ai)\n[![Cursor](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCursor-000?style=flat-square&logo=cursor&logoColor=white)](https:\u002F\u002Fcursor.sh)\n[![Kiro](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FKiro-232F3E?style=flat-square&logo=amazon&logoColor=white)](https:\u002F\u002Fkiro.ai)\n\n\u003C\u002Fdiv>\n\n---\n\n## ✨ 三大核心优势\n\n### 🔁 嵌入式 AI 工作流闭环\n\n嵌入式开发有一道纯软件开发没有的鸿沟：写完代码只是开始，编译、烧录、调试每一步都需要人在中间传递信息。\n\n> AI 改完代码 → **你**手动编译 → **你**手动烧录 → **你**把报错复制给 AI → AI 再改 → **你**再编译……\n\n**embeddedskills 把这个循环交给 AI 自己跑：**\n\n```mermaid\nflowchart TD\n    A[\"💬 需求沟通\"] --> B[\"✍️ 代码生成与优化\"]\n    B --> C[\"🔨 自动编译 keil build \u002F gcc build\"]\n    C -->|有错误| D[\"🤖 AI 读取编译错误\"]\n    D --> B\n    C -->|通过| E[\"⚡ 自动烧录 openоcd flash \u002F jlink flash \u002F probe-rs flash\"]\n    E --> F[\"🔬 自动调试验证\"]\n    F -->|异常| G[\"🤖 AI 读取调试信息\"]\n    G --> B\n    F -->|正常| H[\"✅ 提交最终代码\"]\n\n    style A fill:#4CAF50,color:#fff\n    style H fill:#4CAF50,color:#fff\n    style C fill:#2196F3,color:#fff\n    style E fill:#2196F3,color:#fff\n    style F fill:#FF9800,color:#fff\n    style D fill:#f44336,color:#fff\n    style G fill:#f44336,color:#fff\n```\n\n| 环节 | 传统 AI 辅助 | AI + embeddedskills |\n|------|------------|-------------------|\n| 代码编写 | AI 生成 | AI 生成 |\n| 编译构建 | **人工操作** | ✅ AI 调用 Keil \u002F GCC |\n| 烧录下载 | **人工操作** | ✅ AI 调用 J-Link \u002F OpenOCD |\n| 调试验证 | **人工操作** | ✅ AI 断点 \u002F 寄存器 \u002F 内存 |\n| 通信调试 | **人工操作** | ✅ AI 串口 \u002F CAN \u002F 网络 |\n| 错误修正 | **人工转述给 AI** | ✅ AI 读取并自主修正 |\n\n---\n\n### 🆓 完全免费，不限 AI 工具\n\n本项目完全开源免费（MIT 协议）。只要 AI 工具支持 Skill \u002F CLAUDE.md \u002F Rules 协议，均可直接使用，包括但不限于：\n\n- **Claude Code**\n- **OpenAI Codex CLI**\n- **TRAE**\n- **Cursor、Kiro、Windsurf** 等其他支持 Skill 协议的工具\n\n无需付费订阅任何附加服务，AI 工具自由切换。\n\n---\n\n### ⚡ 使用简单，无需迁移工程\n\n**直接在现有项目上使用，无需改动任何工程文件。** 支持业界主流工程体系和调试器：\n\n| 维度 | 支持范围 |\n|------|---------|\n| **构建系统** | Keil MDK 工程、CMake 工程 |\n| **调试器** | J-Link（SEGGER）、CMSIS-DAP \u002F DAPLink |\n| **烧录框架** | OpenOCD、probe-rs 兼容工具链 |\n| **通信总线** | 串口（UART）、CAN \u002F CAN-FD、以太网 |\n\n一条命令安装，AI 即可自动识别工程类型并开始工作：\n\n```bash\nnpx skills add https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills -g -y\n```\n\n---\n\n## Skill 一览\n\n| 分类 | Skill | 能做什么 | 主要子命令 |\n|:---:|:---:|---|---|\n| 🔨 构建 | **keil** | Keil MDK 工程扫描、Target 枚举、编译、重建、清理 | `scan` `targets` `build` `rebuild` `clean` `flash` |\n| 🔨 构建 | **gcc** | CMake 型 GCC 工程配置、编译、大小分析 | `scan` `presets` `configure` `build` `rebuild` `size` |\n| 🔬 调试 | **jlink** | 烧录、读写内存\u002F寄存器、RTT\u002FSWO、GDB 调试 | `flash` `read-mem` `write-mem` `regs` `rtt` `swo` + GDB |\n| 🔬 调试 | **openocd** | 烧录、擦除、GDB\u002FTelnet、Semihosting\u002FITM | `flash` `erase` `reset` `gdb-server` `semihosting` `itm` |\n| 🔬 调试 | **probe-rs** | 探针发现、烧录、复位、内存读写、GDB 调试、RTT | `list` `info` `flash` `erase` `reset` `read-mem` `write-mem` `gdb` `rtt` |\n| 🔌 通信 | **serial** | 扫描串口、实时监控、发送数据、Hex 查看 | `scan` `monitor` `send` `hex` `log` |\n| 🔌 通信 | **can** | CAN\u002FCAN-FD 监控、发帧、DBC 解码、统计 | `scan` `monitor` `send` `decode` `stats` |\n| 🔌 通信 | **net** | 抓包分析、连通性测试、端口扫描、流量统计 | `capture` `analyze` `ping` `scan` `stats` |\n| 🔌 通信 | **ssh** | SSH 配置、远程命令、上传下载、跳板机和端口转发 | `list` `find` `show` `add` + exec\u002Ftransfer\u002Ftunnel |\n| 🔌 通信 | **terminal** | 串口、SSH、本地 Shell 双向交互会话 | `start` `send` `read` `attach` `stop` |\n| 🎯 编排 | **workflow** | 自动识别工程 → 选择工具链 → 串联全流程 | `plan` `build` `build-flash` `build-debug` `observe` `diagnose` |\n\n> [!TIP]\n> `Keil \u002F GCC` 与 `J-Link \u002F OpenOCD \u002F probe-rs` 可自由正交组合，六种搭配均可开箱即用。\n\n---\n\n## 安装\n\n### 方法一：npx（推荐）\n\n```bash\n# 一键安装全部 skill\nnpx skills add https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills -g -y\n\n# 只安装需要的 skill\nnpx skills add https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills --skill jlink -g -y\n\n# 管理\nnpx skills ls -g        # 查看已安装\nnpx skills update -g    # 更新\nnpx skills remove -g    # 移除\n```\n\n### 方法二：直接 clone\n\n```bash\n# Claude Code（全局）\ngit clone https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills ~\u002F.claude\u002Fskills\u002Fembeddedskills\n\n# 仅当前项目\ngit clone https:\u002F\u002Fgithub.com\u002Fzhinkgit\u002Fembeddedskills .claude\u002Fskills\u002Fembeddedskills\n```\n\n> [!NOTE]\n> **[→ 完整安装与使用手册](docs\u002Fgetting-started.md)**，包含截图演示和配置说明。\n\n---\n\n## 工作原理\n\n三个关键设计让 AI 能真正自主闭环：\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>① 封装命令行工具\u003C\u002Fb>\u003C\u002Fsummary>\n\n每个 Skill 是一组 Python 脚本，将底层工具（UV4.exe、cmake、JLink.exe、openocd、probe-rs、tshark 等）的命令行参数和交互流程转化为结构化子命令，AI 可以像调用函数一样调用这些工具。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>② 通过 SKILL.md 暴露给 AI\u003C\u002Fb>\u003C\u002Fsummary>\n\n每个 Skill 目录下的 `SKILL.md` 以自然语言描述能力、子命令和使用场景。AI 读取后即可正确调用，**无需额外训练或配置**，任何支持 Skill 协议的 AI 工具开箱即用。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>③ 统一 JSON 输出，驱动下一步决策\u003C\u002Fb>\u003C\u002Fsummary>\n\n所有脚本返回统一结构的 JSON，AI 直接解析状态、摘要和建议，自主决定下一步操作：\n\n```json\n{\n  \"status\": \"ok | error\",\n  \"action\": \"build\",\n  \"summary\": \"编译成功，0 errors，2 warnings\",\n  \"details\": { \"warnings\": [\"unused variable 'x' at main.c:42\"] },\n  \"artifacts\": { \"hex\": \".embeddedskills\u002Fbuild\u002Foutput.hex\" },\n  \"next_actions\": [\"flash to device\"]\n}\n```\n\n\u003C\u002Fdetails>\n\n\u003Cbr>\n\n**三层配置**，按需覆盖，优先级从高到低：\n\n```\nCLI 参数  ──►  skill\u002Fconfig.json（工具路径、硬件参数）\n          ──►  .embeddedskills\u002Fconfig.json（目标芯片、接口、日志目录）\n          ──►  .embeddedskills\u002Fstate.json（最近一次构建\u002F烧录\u002F调试记录）\n          ──►  默认值\n```\n\n**统一日志目录：**\n\n```\nworkspace\u002F\n└── .embeddedskills\u002F\n    ├── build\u002F          ← 编译日志与 hex\u002Fbin 产物\n    └── logs\u002F\n        ├── serial\u002F     ← 串口监控日志\n        ├── can\u002F        ← CAN 报文日志\n        └── net\u002F        ← 网络抓包文件\n```\n\n---\n\n## 外部依赖\n\n\u003Cdetails>\n\u003Csummary>展开查看各 Skill 所需依赖\u003C\u002Fsummary>\n\n| Skill | 依赖 |\n|---|---|\n| keil | Keil MDK (UV4.exe) |\n| gcc | CMake · Ninja\u002FMake · ARM GNU Toolchain |\n| jlink | SEGGER J-Link Software · arm-none-eabi-gdb |\n| openocd | OpenOCD · 调试器驱动 (ST-Link \u002F CMSIS-DAP \u002F DAPLink \u002F FTDI) |\n| probe-rs | probe-rs CLI · arm-none-eabi-gdb |\n| serial | pyserial · USB 转串口驱动 |\n| can | python-can · cantools · pyserial · USB-CAN 驱动 |\n| net | Wireshark (tshark) · Npcap |\n| ssh | OpenSSH 客户端 (`ssh` \u002F `scp` \u002F `ssh-keygen`) |\n| terminal | pyserial（串口后端）· OpenSSH 客户端（SSH 后端） |\n\n> 除 CAN、串口和 terminal 的串口后端外，所有 Skill 均基于 Python 标准库实现，无需额外安装 Python 依赖。\n\n> [!WARNING]\n> Windows 下若要让 `probe-rs` 驱动 `J-Link`，通常需要把驱动切到 `WinUSB`，这会影响 SEGGER 官方工具继续使用。若你仍依赖 J-Link 官方工具链，优先继续使用现有 `jlink` skill。\n\n\u003C\u002Fdetails>\n\n---\n\n## 完成进度\n\n| Skill | 状态 |\n|---|:---:|\n| keil | ✅ 已完成测试 |\n| gcc | ✅ 已完成测试 |\n| platformio | 🔧 待支持 |\n| jlink | ✅ 已完成测试 |\n| openocd | ✅ 已完成测试 |\n| probe-rs | ✅ 已完成测试 |\n| pyocd | 🔧 待支持 |\n| serial | ✅ 已完成测试 |\n| net | ✅ 已完成测试 |\n| can | 🔧 待测试 |\n| ssh | ✅ 已完成测试 |\n| terminal | 🔧 待硬件测试 |\n| workflow | ✅ 已完成测试 |\n\n---\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=zhinkgit%2Fembeddedskills&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=zhinkgit\u002Fembeddedskills&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=zhinkgit\u002Fembeddedskills&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=zhinkgit\u002Fembeddedskills&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n欢迎提 Issue 和 PR。感谢 [Linux.do](https:\u002F\u002Flinux.do\u002F) 社区支持。\n","embeddedskills 是一个开源项目，旨在为 Claude Code、Copilot、TRAE 等支持 Skill 协议的 AI 编码助手提供嵌入式开发和调试技能。其核心功能包括让 AI 能够直接操作编译器（如 Keil 和 GCC）、调试器（如 GDB）及通信总线（如 CAN 和串口），从而实现从代码生成到硬件验证的全流程自动化。这不仅极大地提高了开发效率，还减少了人工干预的环节，特别适用于需要频繁迭代测试的嵌入式系统开发场景。此外，该项目采用 Python 编写，并遵循 MIT 许可协议，确保了广泛的兼容性和自由使用性。",2,"2026-06-11 02:46:09","CREATED_QUERY"]