跳转至

Vibe-Coding 开发指南

本章介绍 Hi-AIoT-Solution 仓库内的编码智能体能力,包括 Skill、规则文件和 AGENTS.md。编码智能体依据上述文件,在 Hi3516CV610 平台上完成环境搭建、硬件适配、编译烧录、代码审查和问题排查。

目录结构

相关文件位于仓库根目录,结构如下。

hi_aiot_solution/
├── AGENTS.md              # 智能体项目约束:目录结构、构建命令、强制编码规范
└── .agents/
    ├── skills/            # 项目 Skill
    ├── rules/             # 编码与审查规范,供审查类 Skill 引用
    └── mcps/              # GitCode MCP 服务器与 CLI,供编码智能体接入 GitCode

多智能体兼容

不同编码智能体识别项目级配置的方式不同,本仓库通过下列布局适配各类工具:

  • Skill 与规则统一放在 .agents/ 标准路径,符合 Agent Skills 约定,遵循此约定的编码智能体可直接识别,无需额外配置。
  • 仅识别自身品牌目录的编码智能体(如 Claude Code 只扫描 .claude/),需要创建符号链接或在设置中指定路径。

各编码智能体的适配情况如下:

编码智能体 agent 目录 配置方法
OpenCode .agents/ 无需操作
Codex .agents/ 无需操作
GitHub Copilot .github/,兼容 .agents/ 无需操作
Trae .trae/,兼容 .agents/ 无需操作
Claude Code .claude/ hi_aiot_solution 仓库根目录执行 ln -s .agents .claude
Cursor .cursor/,兼容 .agents/ 无需操作
CodeArts(华为云码道) .codeartsdoer/ hi_aiot_solution 仓库根目录执行 ln -s .agents .codeartsdoer

配置完成后,须重新打开会话,编码智能体才能加载项目 Skill 和规则文件。

AGENTS.md

仓库根目录的 AGENTS.md 是编码智能体的项目约束文件,遵循 agents.md 约定:编码智能体进入本仓库工作区时自动读取,作为后续所有开发行为的前提。各编码智能体对该约定的支持情况见「多智能体兼容」。

AGENTS.md 覆盖全仓库通用的约束,主要包括:

内容 说明
项目概述 Hi-AIoT-Solution 的定位与能力范围
架构与目录结构 apps/components/open_source/的目录约定
构建说明 统一构建入口 scripts/build.sh、主要命令、产物位置和关键配置文件
开发工作流 新增应用、运行测试的步骤
项目规范 开发语言约束、模块单向依赖
编码规范 Linux 命名风格、安全函数使用,以及编写或修改 C/C++ 代码前必须读取 .agents/rules/ 对应规范文件并自检的强制要求

AGENTS.md 与 Skill 的分工:AGENTS.md 描述全仓库通用约束,各 Skill 的 SKILL.md 描述具体工作流,两者互不替代。

规则文件

.agents/rules/ 存放编码规范和审查规范。编写代码时须遵守这些文件。hi-aiot-code-review 以这些文件为审查依据。

规则文件 适用场景 功能
c-secure-coding.mdc 编写或修改 .c.h 文件 C 语言安全编码规范,覆盖整数溢出、越界、内存判空和字符串终止等。
cpp-secure-coding.mdc 编写或修改 .cpp.hpp.cc 文件 C++ 安全编码规范,覆盖 RAII、智能指针和容器越界等。
hispark社区c语言编码规范.mdc 所有 C 代码 HiSpark 社区 C 语言命名、格式和注释规范。
code-review-output.mdc 代码审查 代码审查报告的统一输出格式。

编写或修改 C/C++ 代码前,须先读取对应场景的规范文件,完成后按其中的检查清单自检。

Skill 功能说明

项目 Skill 随仓库分发。下表按开发场景分类,说明各 Skill 的用途。前置依赖和示例见对应目录中的 README.md

环境与源码获取

Skill 功能 路径
hi-aiot-env-setup 按 Docker 或 NoDocker 方案,完成 Hi3516CV610 交叉编译工具链、TFTP 和串口调试环境的安装与配置。 .agents/skills/hi-aiot-env-setup/
hi-aiot-gitcode-code-pull 按 repo-manifest 拉取并同步多仓源码。不内置固定仓库地址,支持 SSH、HTTPS 和镜像源切换。 .agents/skills/hi-aiot-gitcode-code-pull/

需求分析与模块设计

Skill 功能 路径
hi-aiot-requirement-analysis 将需求描述整理为结构化《需求分析说明书》,按 IR→SR 输出可追溯需求模型。 .agents/skills/hi-aiot-requirement-analysis/
hi-aiot-module-design 根据 SR 完成 SR→AR 细化,并按模板生成《软件设计说明书》。 .agents/skills/hi-aiot-module-design/

硬件适配

Skill 功能 路径
hi-aiot-cv610-flash-adapter 将 SPI NAND 或 SPI NOR Flash 适配到 Hi3516CV610、Hi3516CV608 的 FMC 驱动,并生成可插入源码的配置代码。 .agents/skills/hi-aiot-cv610-flash-adapter/
hi-aiot-cv610-sensor-driver-adapter 在 Hi3516CV610 上将参考 Sensor 驱动适配为目标 Sensor,支持 Linear、WDR 和 SHDR。 .agents/skills/hi-aiot-cv610-sensor-driver-adapter/
hi-aiot-cv610-lcd-adapter 为工程适配 SPI LCD,生成可编译烧录的 panel 案例和内核驱动。 .agents/skills/hi-aiot-cv610-lcd-adapter/
hi-aiot-cv610-touch-panel-adapter 为已适配的 SPI 显示屏增加电容触摸支持,并增量编译可烧录镜像。 .agents/skills/hi-aiot-cv610-touch-panel-adapter/
hi-aiot-cv610-board-io-cfg 根据 xlsx 引脚表生成 dtsi 并编入系统镜像,完成板级 IOCFG 配置。 .agents/skills/hi-aiot-cv610-board-io-cfg/
hi-aiot-cross-compile 为 ARM 嵌入式平台(Hi3516、musl)交叉编译开源软件。 .agents/skills/hi-aiot-cross-compile/

媒体通路

Skill 功能 路径
hi-aiot-cv610-media-pipeline-generator 根据硬件配置和业务需求,生成可编译的媒体通路 sample 工程。 .agents/skills/hi-aiot-cv610-media-pipeline-generator/
hi-aiot-cv610-color-abnormal-debug 定位 Hi3516CV610、Hi3516CV608 上 MPP 视频链路的颜色异常,并给出修复方案。 .agents/skills/hi-aiot-cv610-color-abnormal-debug/
hi-aiot-media-proc-analyse 只读采集板端 /proc/umap,将无画面、丢帧、编码无流等问题定位到模块边界。 .agents/skills/hi-aiot-media-proc-analyse/
hi-aiot-cv610-ai-algorithm-apply 在 Hi3516CV610 NPU 上集成人脸、宠物、包裹检测和人脸识别。 .agents/skills/hi-aiot-cv610-ai-algorithm-apply/

构建与烧录

Skill 功能 路径
hi-aiot-build 扫描开发板与案例目录,编译 hi_aiot_solution 工程中的指定案例。 .agents/skills/hi-aiot-build/
hi-aiot-cv610-burn [burn] mode 切换 local/remote,覆盖 WSL/容器/服务器 4 场景,经串口和 TFTP 将镜像写入 NOR、NAND 或 EMMC;单板无 U-Boot 时 local 模式支持裸烧恢复。 .agents/skills/hi-aiot-cv610-burn/

板端调试

Skill 功能 路径
hi-aiot-ssh-connect 通过 SSH 连接嵌入式开发板,执行命令、读写文件,并进行 SCP 双向传输。 .agents/skills/hi-aiot-ssh-connect/
hi-aiot-gdb-debug 使用板端 GDB,或 gdbserver 与交叉 GDB,调试板端程序并分析 coredump。 .agents/skills/hi-aiot-gdb-debug/

UI 设计与开发

Skill 功能 路径
hi-aiot-pencil-ui-design 使用 Pencil 创建或修改 .pen 界面设计文件。 .agents/skills/hi-aiot-pencil-ui-design/
hi-aiot-lvgl-ui-code 根据 .pen 设计文件生成 LVGL UI 的 C 代码,并完成资源转换与触摸回调。 .agents/skills/hi-aiot-lvgl-ui-code/

代码审查与提交

Skill 功能 路径
hi-aiot-code-review 依据本地规则文件审查 C、C++ 源码,输出统一格式的审查报告。 .agents/skills/hi-aiot-code-review/
hi-aiot-ut-generator 为嵌入式 C 代码生成 gtest、FFF 单元测试和 LCOV 覆盖率报告。 .agents/skills/hi-aiot-ut-generator/
hi-aiot-gitcode-review-pr 在 GitCode 上审查 C、C++ 嵌入式 Pull Request,并提交审查评论。 .agents/skills/hi-aiot-gitcode-review-pr/
hi-aiot-gitcode-submit-pr 在 GitCode 上完成 Pull Request 的创建与提交。 .agents/skills/hi-aiot-gitcode-submit-pr/

GitCode 相关 Skill 可使用 .agents/mcps/gitcode-submit-server/ 中的 GitCode MCP 和 CLI。该组件为非官方实现,配置方法因环境而异。

体积与性能优化

Skill 功能 路径
hi-aiot-code-size-optimize 对 ELF、.so.a 编译产物进行体积优化,流程为测量基线、分析、确认、修改和回归。 .agents/skills/hi-aiot-code-size-optimize/
hi-aiot-cpu-perf-optimize 对基于本 SDK 的业务应用进行 CPU 分析、优化和验证。 .agents/skills/hi-aiot-cpu-perf-optimize/
hi-aiot-cv610-mem-layout-optimize 调整 Hi3516CV610、Hi3516CV608 的 DDR、MMZ 和 Flash 布局,并排查布局问题。 .agents/skills/hi-aiot-cv610-mem-layout-optimize/
hi-aiot-cv610-run-time-optimize 分析 Hi3516CV610 嵌入式 Linux 的启动耗时,并给出优化建议。 .agents/skills/hi-aiot-cv610-run-time-optimize/

相关阅读

文档 说明
环境安装 Docker 与非 Docker 环境安装
源码下载 多仓源码拉取
编译构建与烧录 编译命令、配置方式与构建产物
GitCode MCP 服务器与 CLI 位于 .agents/mcps/gitcode-submit-server/,配置方法见其中 README