可直接在浏览器中通过 Web Serial 烧录 WS63/BS2x 星闪芯片固件,无需安装工具链。仓库按芯片和项目组织,每个固件附带双语 firmware.json 清单,支持 JSON Schema 校验,作为海星社区固件商城的数据源自动同步上架。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 14 天前 |
海星社区 · 固件仓库
NearLink(星闪)WS63 / BS2x 固件仓库,供 海星社区 的
「固件商城 / 在线烧录」直接同步。仓库里的 .fwpkg 可以在浏览器里通过 Web Serial
直接烧录,无需安装工具链。
This repository is the single source of truth for the StarFish firmware store. Every project directory contains a
firmware.jsonmanifest (bilingual) and one or more.fwpkgimages. The site syncs this repository with a shallowgit cloneand reads the manifests — there is no runtime API dependency.
一、目录结构
firmware/
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── schema/
│ └── firmware.schema.json # firmware.json 的 JSON Schema
├── scripts/
│ └── validate.mjs # node scripts/validate.mjs
├── ws63/
│ ├── sle-uart/
│ │ ├── README.md # 使用说明(可选,但强烈建议)
│ │ ├── firmware.json # 清单(必需)
│ │ ├── sle-uart-client-20251219.fwpkg
│ │ └── sle-uart-server-20251219.fwpkg
│ └── …
└── bs21e/
└── bs21e-test/
├── README.md
├── firmware.json
└── bs21e-test-20260508.fwpkg
第一层是芯片(只能是 ws63 / bs21e),第二层是项目 slug。
一个项目 = 一个功能 = 一个 firmware.json;同一个功能的客户端/服务端、
不同操作系统版本(LiteOS / OpenHarmony)都放在同一个项目里,用 variant 区分。
二、命名规则
项目目录(slug)
- 小写英文 + 数字 + 连字符:
^[a-z0-9]+(-[a-z0-9]+)*$ - 例:
sle-uart、sle-throughput-v2、littlefs-shell、hh-k01 - slug 一旦发布不要改名(站点用
chip/slug/variant做稳定 id)。
固件文件
<slug>[-<variant>][-v<version>]-<YYYYMMDD>.fwpkg
| 部分 | 规则 | 示例 |
|---|---|---|
slug |
与所在目录完全一致 | sle-uart |
variant |
可选,小写标识 | client / server / a / b / c / liteos / ohos |
version |
可选,X.Y.Z(文件名里带 v 前缀) |
ws63-at-v1.10.102-20260508.fwpkg |
| 日期 | 构建日期,YYYYMMDD |
20251219 |
例:
sle-uart-client-20251219.fwpkg
sle-uart-server-20251219.fwpkg
sle-throughput-v3-display-client-20250105.fwpkg
hh-k01-a-20260508.fwpkg
xiaohong-ai-liteos-20260508.fwpkg
bs21e-test-20260508.fwpkg
三、firmware.json
每个项目一个,UTF-8,2 空格缩进。$schema 指向 schema/firmware.schema.json
(编辑器可自动补全和校验)。
{
"$schema": "../../schema/firmware.schema.json",
"schema": 1,
"slug": "sle-uart",
"chip": "ws63",
"category": "SLE UART",
"name": { "zh-CN": "SLE UART 透传", "en": "SLE UART Bridge" },
"summary": {
"zh-CN": "基于星闪(NearLink)的无线串口透传固件。",
"en": "Wireless serial bridging over NearLink."
},
"notes": {
"zh-CN": "Client 与 Server 成对烧录,上电后自动建链。",
"en": "Flash the client and server as a pair; they connect on power-up."
},
"author": "GaoXiaolong",
"license": "Apache-2.0",
"updated": "2025-12-19",
"firmware": [
{ "file": "sle-uart-client-20251219.fwpkg", "variant": "client", "date": "2025-12-19" },
{ "file": "sle-uart-server-20251219.fwpkg", "variant": "server", "date": "2025-12-19" }
]
}
字段
| 字段 | 必填 | 说明 |
|---|---|---|
schema |
✅ | 固定 1 |
slug |
✅ | 必须与目录名一致 |
chip |
✅ | ws63 或 bs21e,必须与第一层目录一致 |
category |
✅ | 站点左侧分类的显示名,技术名词不翻译(如 SLE UART) |
name |
✅ | 双语项目名,zh-CN + en |
summary |
✅ | 双语一句话说明,卡片正文用 |
notes |
❌ | 双语烧录注意事项,烧录弹窗顶部黄条展示;有特殊复位操作的板子务必写 |
author |
❌ | 作者/维护者,卡片上展示 |
license |
❌ | 固件本身的授权 |
updated |
✅ | 项目最后更新日期,必须等于所有文件里最晚的 date |
firmware |
✅ | 至少一项 |
firmware[].file |
✅ | 文件名,必须真实存在 |
firmware[].variant |
❌ | 客户端/服务端/板号/OS 版本;同一项目内不能重复 |
firmware[].version |
❌ | X.Y.Z;写了就必须出现在文件名里(-vX.Y.Z-) |
firmware[].date |
✅ | 构建日期,必须与文件名末尾的 YYYYMMDD 一致 |
firmware[].channel |
❌ | stable(默认)或 beta |
站点会自动从 git 计算文件大小和 blob sha,不要写进清单。
四、版本策略
- 每个 variant 在目录里只保留一个当前版本。发新版时:删掉旧文件,添加新日期的文件,
同步更新
firmware.json。旧版本由 git 历史保留,不在工作区堆叠。 - 文件名里的日期是构建日期,不是版本号;同一天重建请覆盖同名文件(git 会记录变更)。
- 需要保留多个版本时,用
variant区分(例如v1/v2作为 variant),不要用同一 variant 放多个文件 —— 站点会把它们显示成两张同名卡片。
五、校验
提交前必须跑:
node scripts/validate.mjs
校验内容:
- 目录只能是
<chip>/<slug>/,chip∈ {ws63, bs21e},slug符合命名规则 firmware.json能解析,必填字段齐全,slug/chip与路径一致name/summary中英双语都非空;notes如果存在也必须双语- 每个文件真实存在,文件名符合
<slug>[-<variant>][-v<version>]-<YYYYMMDD>.fwpkg - 文件里的日期与文件名一致,
updated等于最晚的文件日期 - 目录里没有未登记的
.fwpkg,清单里没有缺失的文件 - 同一个项目内
variant不重复
站点同步时(pnpm sync:firmware)会用同一套规则再校验一次;规则不通过就不会生成快照。
六、新增一个固件
- 新建
ws63/<slug>/(或bs21e/<slug>/) - 放入固件,按上面的规则命名
- 写
firmware.json(可复制邻近项目改) - 写
README.md说明用途、接线、测试步骤(可选但建议) node scripts/validate.mjs- 提交 PR / 直接提交到
main
七、站点如何消费
海星社区的同步脚本:
git clone --depth 1 https://gitcode.com/hinearlink/firmware.git
# 读取每个 <chip>/<slug>/firmware.json
# git ls-tree 提供 size + blob sha
# 生成站点快照 src/data/firmware-catalog.json
- 站点运行时不调用 GitCode API,只读快照;仓库不可用时页面和下载都不受影响。
- 下载走站点代理
/api/firmware/file/<path>?v=<sha>,用 git blob sha 校验内容。 - 因此:只要这个仓库的结构和清单是合法的,站点就能自动上架,不需要改代码。
License
固件与文档默认按 Apache-2.0 发布;如单个项目另有授权,在该项目的
firmware.json 的 license 字段与 README 中注明。
项目介绍
可直接在浏览器中通过 Web Serial 烧录 WS63/BS2x 星闪芯片固件,无需安装工具链。仓库按芯片和项目组织,每个固件附带双语 firmware.json 清单,支持 JSON Schema 校验,作为海星社区固件商城的数据源自动同步上架。【此简介由AI生成】
定制我的领域