飞控-77: 77 std flight-controller projects ingested

Topic-targeted pull from local listing index (`name OR introduction`
contains 飞控). 79 std hits in oshwhub_listing_full.jsonl, 2 already
crawled, 77 newly fetched.

dev1 (Guangzhou) walltime:
  Step 1 detail scrape ~12s, Step 4 std-source backfill ~80s
  (concurrency=5)
Source completeness: 73/77 with editor source, 4 are upstream
attachments-only (no editor session ever attached, source_documents=[]
is genuine — no editor_version on the SSR page either).

Crawler hardening (crawlers/oshwhub/crawler.py):
- count.{like,star,fork,views} are now `.get(..., 0)` defensive.
  Listing API omits zero-valued fields for some low-activity entries
  (3/77 hit this on first pass, hard-failed with KeyError 'like').
  Affects rank_score, pick_top, and metadata.json metrics block.

License mix: 65% GPL 3.0, 11% Public Domain, 11% MIT, ~6% CC variants.

Transport: dev1 → SG via tar+scp (33 MB, ~3 min over lossy
cross-region link). Bypassed gitea push from dev1 because the same
6.5%-loss link tanks single-stream throughput.
This commit is contained in:
2026-04-30 19:04:58 +08:00
parent c199840ad3
commit 29530e09d2
20 changed files with 442 additions and 19 deletions

View File

@@ -153,13 +153,15 @@ def list_projects(
def rank_score(item: dict) -> float:
"""Composite quality score: favor projects with broad engagement."""
c = item["count"]
# Listing API can omit zero-valued count fields (observed: low-activity
# projects miss `like`, possibly others). Use .get with 0 default.
c = item.get("count") or {}
return (
c["like"] * 3
+ c["star"] * 1
+ c["fork"] * 2
+ c["views"] / 100
+ item["comments_count"] * 2
c.get("like", 0) * 3
+ c.get("star", 0) * 1
+ c.get("fork", 0) * 2
+ c.get("views", 0) / 100
+ (item.get("comments_count") or 0) * 2
+ (item.get("grade") or 0) * 50
)
@@ -175,7 +177,7 @@ def pick_top(
for it in items:
if exclude_copies and "_copy" in it["path"]:
continue
if it["count"]["like"] < min_likes:
if (it.get("count") or {}).get("like", 0) < min_likes:
continue
if (it.get("grade") or 0) < min_grade:
continue
@@ -1095,11 +1097,11 @@ def crawl_one(
"published_at": list_item.get("oshwhub_publish_at"),
"crawled_at": datetime.now(timezone.utc).isoformat(),
"metrics": {
"likes": list_item["count"]["like"],
"stars": list_item["count"]["star"],
"forks": list_item["count"]["fork"],
"views": list_item["count"]["views"],
"watch": list_item["count"].get("watch", 0),
"likes": (list_item.get("count") or {}).get("like", 0),
"stars": (list_item.get("count") or {}).get("star", 0),
"forks": (list_item.get("count") or {}).get("fork", 0),
"views": (list_item.get("count") or {}).get("views", 0),
"watch": (list_item.get("count") or {}).get("watch", 0),
"comments": list_item.get("comments_count", 0),
},
"cover": {"url": thumb_url, "path": cover_rel} if thumb_url else None,

View File

@@ -0,0 +1,5 @@
{
"detail_url": "https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen",
"cover_url": "https://image.lceda.cn/oshwhub/pullImage/d3eb969ae23b42ad84cf55d3485a9dc7.jpg",
"attachments": []
}

View File

@@ -0,0 +1,9 @@
# MATEK F405 WSE 滑翔机飞控电源板部分
用于MATEK F405 WSE滑翔机飞控的电源板采用双路电源设计为主控板和外设提供5V稳压输出同时带有电压、电流测量电路可为飞控提供数据参考。
---
- Source: https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen
- Author: AIRBUS15 (airbus15)
- License: GPL 3.0
- Published: 2025-09-04T01:48:25.000Z

View File

@@ -0,0 +1,69 @@
{
"source": "oshwhub",
"source_url": "https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen",
"project_id": "025eab68656a4f80992a8349ffc3ecb4",
"title": "MATEK F405 WSE 滑翔机飞控电源板部分",
"description_short": "用于MATEK F405 WSE滑翔机飞控的电源板采用双路电源设计为主控板和外设提供5V稳压输出同时带有电压、电流测量电路可为飞控提供数据参考。",
"description_path": "description.md",
"author": {
"username": "airbus15",
"display_name": "AIRBUS15",
"user_id": "83acabf1baa84c459694cba8906d7ee7"
},
"license": "GPL 3.0",
"tags": [],
"created_at": "2025-09-02T08:16:25.000Z",
"updated_at": "2025-09-03T13:29:24.436Z",
"published_at": "2025-09-04T01:48:25.000Z",
"crawled_at": "2026-04-30T10:57:07.015787+00:00",
"metrics": {
"likes": 0,
"stars": 3,
"forks": 1,
"views": 397,
"watch": 0,
"comments": 0
},
"cover": {
"url": "https://image.lceda.cn/oshwhub/pullImage/d3eb969ae23b42ad84cf55d3485a9dc7.jpg",
"path": null
},
"files": [],
"raw_fields": {
"path": "airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen",
"grade": 1,
"origin": "std",
"public": true,
"publish": true,
"skipped_files": []
},
"source_format": "easyeda-std",
"source_path": "source/",
"source_documents": [
{
"doc_uuid": "3a7ca4d0f2164b66ab1323b221cf9c95",
"docType": 1,
"master": "589ad7a7a72c4abeb4078ab4f8a069e2",
"path": "source/3a7ca4d0f2164b66ab1323b221cf9c95.json",
"size": 62029,
"sha256": "d12c4c2020cdea08949797375011e400432f1766517ef856da4a28c7f2403bf9"
},
{
"doc_uuid": "6ddcdb6b64ad4928ba34ceb8dacb163e",
"docType": 3,
"master": "2a221c3d50554af195719255801749c4",
"path": "source/6ddcdb6b64ad4928ba34ceb8dacb163e.json",
"size": 405080,
"sha256": "45d1bf630bb8d246da26f1325994a2f94c399e8d62d7b24324a58d44c893bb0b"
},
{
"doc_uuid": "ad8d6d1dd80c4512be97e6b71b8d6448",
"docType": 3,
"master": "b32a60425fac4e13ae98ad0a2874daa3",
"path": "source/ad8d6d1dd80c4512be97e6b71b8d6448.json",
"size": 374471,
"sha256": "c76c5d6f9b36b0884f3d3a816b91ae89769d8dad3f87bed3be664a2f5e00cb0a"
}
],
"editor_version": "6.5.46"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,75 @@
{
"project_uuid": "025eab68656a4f80992a8349ffc3ecb4",
"fetched_at": "2026-04-30T10:57:09.980190+00:00",
"editor_version": "6.5.46",
"documents": [
{
"doc_uuid": "3a7ca4d0f2164b66ab1323b221cf9c95",
"docType": 1,
"master": "589ad7a7a72c4abeb4078ab4f8a069e2",
"path": "source/3a7ca4d0f2164b66ab1323b221cf9c95.json",
"size": 62029,
"sha256": "d12c4c2020cdea08949797375011e400432f1766517ef856da4a28c7f2403bf9"
},
{
"doc_uuid": "6ddcdb6b64ad4928ba34ceb8dacb163e",
"docType": 3,
"master": "2a221c3d50554af195719255801749c4",
"path": "source/6ddcdb6b64ad4928ba34ceb8dacb163e.json",
"size": 405080,
"sha256": "45d1bf630bb8d246da26f1325994a2f94c399e8d62d7b24324a58d44c893bb0b"
},
{
"doc_uuid": "ad8d6d1dd80c4512be97e6b71b8d6448",
"docType": 3,
"master": "b32a60425fac4e13ae98ad0a2874daa3",
"path": "source/ad8d6d1dd80c4512be97e6b71b8d6448.json",
"size": 374471,
"sha256": "c76c5d6f9b36b0884f3d3a816b91ae89769d8dad3f87bed3be664a2f5e00cb0a"
}
],
"upstream_version_documents": [
{
"uuid": "3a7ca4d0f2164b66ab1323b221cf9c95",
"title": "MATEK F405 WSE 2-6S PDB",
"description": "",
"docType": 1,
"master": "589ad7a7a72c4abeb4078ab4f8a069e2",
"thumb": "//image.lceda.cn/histories/589ad7a7a72c4abeb4078ab4f8a069e2.png",
"components": [],
"updateTime": 1756801015,
"createTime": 1756801015,
"histories": [
"589ad7a7a72c4abeb4078ab4f8a069e2"
]
},
{
"uuid": "6ddcdb6b64ad4928ba34ceb8dacb163e",
"title": "PCB_MATEK F405 WSE PDB_4L",
"description": "",
"docType": 3,
"master": "2a221c3d50554af195719255801749c4",
"thumb": "//image.lceda.cn/histories/2a221c3d50554af195719255801749c4.png",
"components": [],
"updateTime": 1756801040,
"createTime": 1756801040,
"histories": [
"2a221c3d50554af195719255801749c4"
]
},
{
"uuid": "ad8d6d1dd80c4512be97e6b71b8d6448",
"title": "PCB_MATEK F405 WSE PDB_2L",
"description": "",
"docType": 3,
"master": "b32a60425fac4e13ae98ad0a2874daa3",
"thumb": "//image.lceda.cn/histories/b32a60425fac4e13ae98ad0a2874daa3.png",
"components": [],
"updateTime": 1756801052,
"createTime": 1756801052,
"histories": [
"b32a60425fac4e13ae98ad0a2874daa3"
]
}
]
}

View File

@@ -0,0 +1,5 @@
{
"detail_url": "https://oshwhub.com/JumperShao/m1_mh743_ada_v4",
"cover_url": "https://image.lceda.cn/pullimage/haHqGHCALFdesiNBAPqK4v0aqj32O5SyRmxiDvtC.jpeg",
"attachments": []
}

View File

@@ -0,0 +1,9 @@
# m1_mh743_ada_v4
朗宇M1改ArduPilot, MatekH743mini飞控转接板
---
- Source: https://oshwhub.com/JumperShao/m1_mh743_ada_v4
- Author: JumperShao (JumperShao)
- License: GPL 3.0
- Published: 2022-02-25T01:30:27.000Z

View File

@@ -0,0 +1,53 @@
{
"source": "oshwhub",
"source_url": "https://oshwhub.com/JumperShao/m1_mh743_ada_v4",
"project_id": "21817f8fcf2d4e36b96f8e00c33a5c93",
"title": "m1_mh743_ada_v4",
"description_short": "朗宇M1改ArduPilot, MatekH743mini飞控转接板",
"description_path": "description.md",
"author": {
"username": "JumperShao",
"display_name": "JumperShao",
"user_id": "8c21dccebe594ff98970fc4521981d66"
},
"license": "GPL 3.0",
"tags": [],
"created_at": "2022-02-04T01:15:16.000Z",
"updated_at": "2022-02-25T01:30:27.000Z",
"published_at": "2022-02-25T01:30:27.000Z",
"crawled_at": "2026-04-30T10:57:07.010231+00:00",
"metrics": {
"likes": 0,
"stars": 1,
"forks": 2,
"views": 1074,
"watch": 0,
"comments": 0
},
"cover": {
"url": "https://image.lceda.cn/pullimage/haHqGHCALFdesiNBAPqK4v0aqj32O5SyRmxiDvtC.jpeg",
"path": null
},
"files": [],
"raw_fields": {
"path": "JumperShao/m1_mh743_ada_v4",
"grade": 0,
"origin": "std",
"public": true,
"publish": true,
"skipped_files": []
},
"source_format": "easyeda-std",
"source_path": "source/",
"source_documents": [
{
"doc_uuid": "e7d66b9e02b9457083f9ab563784a0f2",
"docType": 3,
"master": "d158f8681c8943c9b7ae993a21d3573b",
"path": "source/e7d66b9e02b9457083f9ab563784a0f2.json",
"size": 567060,
"sha256": "d5a7011ab048898e86cff342f8ea21f640beb0878917ca5fdae64938f97662a9"
}
],
"editor_version": "6.4.31"
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,35 @@
{
"project_uuid": "21817f8fcf2d4e36b96f8e00c33a5c93",
"fetched_at": "2026-04-30T10:57:08.684279+00:00",
"editor_version": "6.4.31",
"documents": [
{
"doc_uuid": "e7d66b9e02b9457083f9ab563784a0f2",
"docType": 3,
"master": "d158f8681c8943c9b7ae993a21d3573b",
"path": "source/e7d66b9e02b9457083f9ab563784a0f2.json",
"size": 567060,
"sha256": "d5a7011ab048898e86cff342f8ea21f640beb0878917ca5fdae64938f97662a9"
}
],
"upstream_version_documents": [
{
"uuid": "e7d66b9e02b9457083f9ab563784a0f2",
"title": "M1_MH742_Adaptor_V43_ASC.PcbDoc",
"description": "",
"docType": 3,
"master": "d158f8681c8943c9b7ae993a21d3573b",
"thumb": "//image.lceda.cn/histories/d158f8681c8943c9b7ae993a21d3573b.png",
"components": {
"a29ba53807cf43cab02f2f8a6393998d": 2,
"df6becfa9964479e9d9250ab07a23ecc": 2
},
"updateTime": 1643941579,
"createTime": 1643941540,
"histories": [
"6009255517744ad5a113232591f976ad",
"d158f8681c8943c9b7ae993a21d3573b"
]
}
]
}

View File

@@ -0,0 +1,5 @@
{
"detail_url": "https://oshwhub.com/airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen",
"cover_url": "https://image.lceda.cn/oshwhub/pullImage/f709e6a6aec844928c0b0f3a20265ef2.jpg",
"attachments": []
}

View File

@@ -0,0 +1,9 @@
# MATEK F405 WSE 飞控USB板部分
用于MATEK F405 WSE滑翔机飞控的USB调参板遵循FlyingRC的设计也可用于MATEK使用6Pin接口的飞控。
---
- Source: https://oshwhub.com/airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen
- Author: AIRBUS15 (airbus15)
- License: GPL 3.0
- Published: 2025-09-02T09:39:50.000Z

View File

@@ -0,0 +1,61 @@
{
"source": "oshwhub",
"source_url": "https://oshwhub.com/airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen",
"project_id": "8ee22e5a5bf9430ab1b87d738eca794c",
"title": "MATEK F405 WSE 飞控USB板部分",
"description_short": "用于MATEK F405 WSE滑翔机飞控的USB调参板遵循FlyingRC的设计也可用于MATEK使用6Pin接口的飞控。",
"description_path": "description.md",
"author": {
"username": "airbus15",
"display_name": "AIRBUS15",
"user_id": "83acabf1baa84c459694cba8906d7ee7"
},
"license": "GPL 3.0",
"tags": [],
"created_at": "2025-09-02T07:38:15.000Z",
"updated_at": "2025-09-02T08:17:42.000Z",
"published_at": "2025-09-02T09:39:50.000Z",
"crawled_at": "2026-04-30T10:57:07.017948+00:00",
"metrics": {
"likes": 0,
"stars": 2,
"forks": 0,
"views": 320,
"watch": 0,
"comments": 0
},
"cover": {
"url": "https://image.lceda.cn/oshwhub/pullImage/f709e6a6aec844928c0b0f3a20265ef2.jpg",
"path": null
},
"files": [],
"raw_fields": {
"path": "airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen",
"grade": 1,
"origin": "std",
"public": true,
"publish": true,
"skipped_files": []
},
"source_format": "easyeda-std",
"source_path": "source/",
"source_documents": [
{
"doc_uuid": "760c9c9ed3bd4e45983487675e56854d",
"docType": 1,
"master": "eb78c5aec5c34591acc416dbb8fdca60",
"path": "source/760c9c9ed3bd4e45983487675e56854d.json",
"size": 41977,
"sha256": "095240f396bf9e848f34c9e979368a5052971e514ba621a4614f4c8a08c8afe2"
},
{
"doc_uuid": "cb96751f53954fc29aafbac136b9eb74",
"docType": 3,
"master": "97f07aefd98e4f24a5dd339045ffb8f0",
"path": "source/cb96751f53954fc29aafbac136b9eb74.json",
"size": 188674,
"sha256": "18463920b5e1803e769528fdc6d4c13365612cf687dc4538dedc01d8b9022279"
}
],
"editor_version": "6.5.46"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,77 @@
{
"project_uuid": "8ee22e5a5bf9430ab1b87d738eca794c",
"fetched_at": "2026-04-30T10:57:09.323032+00:00",
"editor_version": "6.5.46",
"documents": [
{
"doc_uuid": "760c9c9ed3bd4e45983487675e56854d",
"docType": 1,
"master": "eb78c5aec5c34591acc416dbb8fdca60",
"path": "source/760c9c9ed3bd4e45983487675e56854d.json",
"size": 41977,
"sha256": "095240f396bf9e848f34c9e979368a5052971e514ba621a4614f4c8a08c8afe2"
},
{
"doc_uuid": "cb96751f53954fc29aafbac136b9eb74",
"docType": 3,
"master": "97f07aefd98e4f24a5dd339045ffb8f0",
"path": "source/cb96751f53954fc29aafbac136b9eb74.json",
"size": 188674,
"sha256": "18463920b5e1803e769528fdc6d4c13365612cf687dc4538dedc01d8b9022279"
}
],
"upstream_version_documents": [
{
"uuid": "760c9c9ed3bd4e45983487675e56854d",
"title": "MATEK F405WSE USB",
"description": "",
"docType": 1,
"master": "eb78c5aec5c34591acc416dbb8fdca60",
"thumb": "//image.lceda.cn/histories/eb78c5aec5c34591acc416dbb8fdca60.png",
"components": {
"77fd6ef6dc1a43a0b7e1519e8cc6665b": 1,
"edd218d1f01b4f82be31c1d987f21524": 6,
"40e54cefd7bb4082846de2b3395ac1ff": 1,
"8c0421048efc45c484ce546ed690d3ed": 1,
"13f2bd84c29147c0811b827c49a7dfb1": 1,
"4c77bf6f8a1c4ec689352fad6ce72768": 1,
"1180e74d0f824261a23660749ed0cf56": 1,
"ef5bd7f649df41b5b6f20d228906a3b8": 1
},
"updateTime": 1756799958,
"createTime": 1756798735,
"histories": [
"5a6ef2f14bcb41ed80784182ff7c7d0d",
"da9fb8d7af164df8925e0a0440d7c47e",
"eb78c5aec5c34591acc416dbb8fdca60"
]
},
{
"uuid": "cb96751f53954fc29aafbac136b9eb74",
"title": "MATEK F405 WSE USB",
"description": "",
"docType": 3,
"master": "97f07aefd98e4f24a5dd339045ffb8f0",
"thumb": "//image.lceda.cn/histories/97f07aefd98e4f24a5dd339045ffb8f0.png",
"components": {
"f486a096fedb41f19433fa7500e35556": 1,
"f8464525159649efb04dade6ec86320c": 1,
"e8e78627020b4795961cd17fb8b42b10": 1,
"bade90667a6e4731855e9a223387b8a6": 1,
"29ca191eb6134cdf9b66ea1f21f39539": 6,
"c4b779c05e2c49bf98acff45355063ac": 1,
"873efc6eec8c4b6ba4d8ffd3ecf022b8": 1,
"54b9ab7aebe5456bbc9f2879b8d360ff": 1
},
"updateTime": 1756801062,
"createTime": 1756799077,
"histories": [
"86d0a385a7014114bfe6160f3e41210e",
"4bbf5275c6c84c87b15376a2c25da9bd",
"bb6bdf6d715245ffa4d1725d4f46d4d9",
"e53453cc42a348058448f22d765226ca",
"97f07aefd98e4f24a5dd339045ffb8f0"
]
}
]
}

View File

@@ -1,8 +1,8 @@
# Crawled Projects Index
_自动生成,最近更新 2026-04-30 10:51 UTC_
_自动生成,最近更新 2026-04-30 11:05 UTC_
**当前**139 个项目 · 363 个附件 · 4006.9 MB
**当前**142 个项目 · 363 个附件 · 4006.9 MB
> 按 **Stars 倒序**。Title → 源站UUID → 本仓库对应目录。
@@ -146,17 +146,20 @@ _自动生成最近更新 2026-04-30 10:51 UTC_
| 136 | [MATEK F405 WSE 滑翔机飞控主控板部分](https://oshwhub.com/airbus15/matek-f405-wse-fc)<br>[`7ced1bbf…`](./data/raw/oshwhub/7ced1bbf350443938663c53151583a93/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | Std<br><sub>6.5.46</sub> | 5 | 3 | 5 | 570 | 1 | 2.6 |
| 137 | [MWC_AIRPLANE_V2](https://oshwhub.com/thecrazyboy/mwc_airplane_copy)<br>[`2e6315ee…`](./data/raw/oshwhub/2e6315eee4944072a6e408b0951c74f2/) | [thecrazyboy](https://oshwhub.com/thecrazyboy) | GPL 3.0 | Std<br><sub>6.4.7</sub> | 4 | 2 | 6 | 1,312 | 0 | 0.0 |
| 138 | [Lora1280_Radio](https://oshwhub.com/qjay/lora1280radio)<br>[`99618f1e…`](./data/raw/oshwhub/99618f1edce54a258388688ae1c2c15d/) | [qjay](https://oshwhub.com/qjay) | Public Domain | Std<br><sub>6.5.28</sub> | 3 | 1 | 0 | 1,083 | 3 | 83.9 |
| 139 | [F405-Wing-usb](https://oshwhub.com/yuanfpv/f405-wing-usb)<br>[`03983a6a…`](./data/raw/oshwhub/03983a6a52df4d9d8115a4a0fe8ca830/) | [YuanCoding](https://oshwhub.com/yuanfpv) | GPL 3.0 | Std<br><sub>6.5.23</sub> | 2 | 3 | 12 | 1,780 | 0 | 0.0 |
| 139 | [MATEK F405 WSE 滑翔机飞控电源板部分](https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen)<br>[`025eab68…`](./data/raw/oshwhub/025eab68656a4f80992a8349ffc3ecb4/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | Std<br><sub>6.5.46</sub> | 3 | 0 | 1 | 397 | 0 | 0.0 |
| 140 | [F405-Wing-usb](https://oshwhub.com/yuanfpv/f405-wing-usb)<br>[`03983a6a…`](./data/raw/oshwhub/03983a6a52df4d9d8115a4a0fe8ca830/) | [YuanCoding](https://oshwhub.com/yuanfpv) | GPL 3.0 | Std<br><sub>6.5.23</sub> | 2 | 3 | 12 | 1,780 | 0 | 0.0 |
| 141 | [MATEK F405 WSE 飞控USB板部分](https://oshwhub.com/airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen)<br>[`8ee22e5a…`](./data/raw/oshwhub/8ee22e5a5bf9430ab1b87d738eca794c/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | Std<br><sub>6.5.46</sub> | 2 | 0 | 0 | 320 | 0 | 0.0 |
| 142 | [m1_mh743_ada_v4](https://oshwhub.com/JumperShao/m1_mh743_ada_v4)<br>[`21817f8f…`](./data/raw/oshwhub/21817f8fcf2d4e36b96f8e00c33a5c93/) | [JumperShao](https://oshwhub.com/JumperShao) | GPL 3.0 | Std<br><sub>6.4.31</sub> | 1 | 0 | 2 | 1,074 | 0 | 0.0 |
## 汇总
- Stars 合计 **95,627**(平均 687/项目)
- Stars 合计 **95,633**(平均 673/项目)
- Likes 合计 **45,574**
- Views 合计 **10,437,035**
- Views 合计 **10,438,826**
### License 分布
- `GPL 3.0` — 84 项目
- `GPL 3.0` — 87 项目
- `Public Domain` — 17 项目
- `MIT` — 9 项目
- `CC BY-NC-SA 4.0` — 7 项目
@@ -175,7 +178,7 @@ _自动生成最近更新 2026-04-30 10:51 UTC_
### 数据源分布
- `oshwhub` — 139 项目
- `oshwhub` — 142 项目
## 目录结构(每个项目)