ChipCode 设计了七类 transport 传输通道,用一份 plugin.json 作为统一契约,把九种完全不一样的嵌入式工具链交互方式做抽象对齐,实现能力声明和实际执行相互解耦,开发者不用给每一套编译、烧录工具单独写适配逻辑,只需要在 JSON 里声明 transport 类型、参数、入参和返回规则,宿主平台就会自动调用对应通道执行工具,这套方案主要解决嵌入式开发里工具五花八门、对接成本高、插件难以复用的痛点,适配 Arduino CLI、make、sdcc、stcgal、EDA 网关、本地后端服务等九类工具,所有调用链路还能留日志、方便审计复现。
一、ChipCode 七类 Transport 通道明细
| transport 类型 | 通信方式 | 典型使用场景 |
|---|---|---|
| cli | 拉起独立进程,捕获标准输出、错误流、退出码 | arduino-cli、make、sdcc、stcgal 编译烧录 |
| http | 标准 HTTP 请求,支持代理 | 立创 EDA 网关、本地 Web 服务 |
| grpc | 强类型长连接流式通信 | 需要持续推送日志的后端服务 |
| mcp | MCP 协议调用外部工具 | 接入第三方 MCP 服务能力 |
| mqtt | 发布订阅模式 | 开发板远程联调、设备状态采集 |
| internal | 调用宿主内置能力 | 文件读写、串口、缓存读取 |
| backend | 常驻 stdio 子进程 | 需要维持状态、持续交互的后台工具 |
二、JSON 统一工具链的核心原理
- 剥离工具差异:不去修改原有九种工具本身,只抽象它们和平台之间的交互行为,不管底层是命令行还是网络协议,都统一包装成 transport 声明。
- 契约标准化:plugin.json 只写能力描述、transport 类型、参数结构,不写平台专属执行代码。
- 宿主分发执行:宿主读取 JSON 配置,识别 transport 类型,自动匹配内置驱动,分发请求、收集返回结果。
- 结果归一化:不同工具返回的原始数据,统一转换成平台可识别的结构化结果,方便上层 Agent 读取。
三、接入使用的基础步骤
- 梳理目标工具属于哪一类 transport,确认入参、输出、异常码。
- 在 plugin.json 中填写 transport 类型、地址、参数模板、超时配置。
- 本地测试,验证 JSON 描述能否正常拉起工具、拿到返回流。
- 部署插件,宿主自动识别,不需要重新编译宿主程序。
四、这套方案的优势与局限
✅ 优势
- 新增工具链不用改宿主代码,只新增 JSON 描述文件
- 所有调用链路可记录,证据链可审计、复现
- 同一套插件可以跨环境复用
- 工具本身的特殊报错、私有协议无法自动处理,需要额外写转换规则
- 复杂流式交互、高实时性场景,mqtt、grpc 更合适,cli 适合一次性任务
❌ 局限
【相关 FAQ】
问题 1:ChipCode 七类 Transport,靠 JSON 统一九种工具链,JSON 文件叫什么?
回答 1:ChipCode 七类 Transport 用来统一九种工具链的核心配置文件是 plugin.json,作为插件契约文件,用来声明 transport 类型和工具能力。
问题 2:ChipCode 七类 Transport 里面,cli 类型 transport 适合用来对接哪些工具链?
回答 2:ChipCode 七类 Transport 里的 cli 通道,适合对接 arduino-cli、make、sdcc、stcgal 这类一次性命令行编译、烧录工具链。
问题 3:ChipCode 七类 Transport,使用 JSON 统一九种工具链,需要修改宿主平台源码吗?
回答 3:ChipCode 七类 Transport 依靠 JSON 统一九种工具链,正常新增工具不需要修改宿主源码,宿主内置驱动,只读取 JSON 契约来分发执行。
问题 4:ChipCode 七类 Transport 中的 internal 通道,主要承载哪些能力?
回答 4:ChipCode 七类 Transport 的 internal 通道,用来调用宿主原生能力,比如文件读写、串口通信、编译缓存访问,也是统一九种工具链里的重要本地通道。
【参考资料】
[2026-11-11](ChipCode 的七类 transport: 一个 JSON 怎么统一九种工具链)阿里云开发者社区
[2026-11-05](AI 写嵌入式代码,编译通过不等于做完 —— 拆解 ChipCode 产品工厂的文件状态机与 evidence.jsonl 证据链)阿里云开发者社区
【免责声明】
本文内容仅整理 ChipCode 公开技术文章内容,ChipCode 七类 Transport、JSON 插件契约规范后续可能迭代更新,正式开发插件请以 ChipCode 官方文档为准,本文不构成开发落地保证。
