Forráskód Böngészése

docs: rewrite root README - platform intro + upload guide

wangshuo 1 hete
szülő
commit
9e0ad7b677
1 módosított fájl, 80 hozzáadás és 14 törlés
  1. 80 14
      README.md

+ 80 - 14
README.md

@@ -1,16 +1,40 @@
 # TeamPLT Gallery
 
-TeamPLT / TeamAAS 2.1 平台的**扩展包源(Gallery Source)**。
+TeamPLT / TeamAAS 2.1 平台的扩展包仓库。
 
-仓库结构(与本地 `gallery\` 目录一致):
+## TeamAAS 2.1 是什么
+
+TeamAAS 2.1 是一套面向 3C 电子制造、精密组装、检测分拣场景的工业自动化控制与机器视觉软件。它把相机、机械手、运动控制卡、光源控制器、震动盘、PLC 通讯等硬件整合到一个主控进程里,通过流程图(Flow)编排生产工序:
+
+- **硬件层**:统一管理相机(海康/巴斯勒等)、机械手(Epson/雅马哈/国产)、运动控制卡、光源、震动盘、PLC(Modbus/TCP/Serial)
+- **视觉层**:集成多种视觉算法引擎(定位、缺陷、测量、OCR)
+- **流程层**:拖拽式流程图编排工序,节点连线即逻辑,支持单步调试、监控运行
+- **生产层**:产品配方管理、生产计数、OK/NG 统计、良率报表
+
+TeamPLT 是它的微内核外壳,负责插件加载、界面框架、扩展管理。本仓库(Gallery)就是给这个微内核喂扩展包的源。
+
+## Gallery 是什么
+
+Gallery 是 TeamPLT 的扩展包源(package source)。平台内置"扩展管理"页,配置本地址后可以浏览、下载、安装扩展,下载后按 sha256 强校验。
+
+仓库结构:
 
 ```
-index.json                                        # 包索引(平台只认这个文件)
-packages\<host>\<id>\<id>-<version>.zip           # 扩展包(zip 根直接放 manifest.json + dll)
+index.json                                    # 包索引(平台只认这个文件)
+packages\<host>\<id>\<id>-<version>.zip       # 扩展包
 ```
 
-每个 zip 的**根目录**必须包含 `manifest.json`,包内 `manifest.id` 必须与索引里的 `id` 一致。
-`host` 缺省为 `platform`(平台扩展),另有 `base` / `vision` / `cameras` / `communication`。
+每个 zip 的根目录必须包含 `manifest.json`,包内 `manifest.id` 与索引里的 `id` 一致。
+
+`host` 是扩展挂载位置:
+
+| host | 说明 |
+|------|------|
+| `platform` | 平台级扩展(扩展主界面、工具条、AI 等) |
+| `vision` | 视觉算法插件 |
+| `cameras` | 相机驱动 |
+| `communication` | 通讯协议/PLC 驱动 |
+| `base` | 基础库/共享组件 |
 
 ## 配置为平台包源
 
@@ -25,16 +49,58 @@ packages\<host>\<id>\<id>-<version>.zip           # 扩展包(zip 根直接放
 }
 ```
 
-重启平台 → 扩展管理页即可看到包并安装(下载后按 `sha256` / `size` 强校验)。
+重启平台 → 扩展管理页即可看到包列表,点安装自动下载、校验、加载。
+
+## 如何提交自己的扩展
+
+### 1. 编译扩展
+
+扩展工程引用 `TeamPLT.SDK.dll` 和 `TeamPLT.Contracts.dll`,编译产出目录(含 `manifest.json`、dll、本地化文件)整体就是一个扩展。
+
+### 2. 打 zip
+
+把产出目录的内容**直接压成 zip**(不要多套一层文件夹)。zip 根目录应该长这样:
+
+```
+manifest.json
+Ext.XXX.dll
+Localization\zh-CN.json
+...(其他随包文件)
+```
+
+### 3. 放到仓库
+
+路径规则:`packages\<host>\<id>\<id>-<version>.zip`
+
+例如:`packages\platform\Ext.AiAssistant\Ext.AiAssistant-1.0.0.zip`
+
+### 4. 更新 index.json
+
+在 `index.json` 的 `packages` 数组里加一条:
+
+```json
+{
+  "id": "Ext.YourExt",
+  "name": "扩展显示名",
+  "version": "1.0.0",
+  "publisher": "你的名字",
+  "description": "一句话说明扩展做什么",
+  "downloadUrl": "packages/platform/Ext.YourExt/Ext.YourExt-1.0.0.zip",
+  "sha256": "zip 文件的 sha256",
+  "size": 123456,
+  "notes": "• 功能点一\n• 功能点二",
+  "references": ["TeamPLT.SDK", "TeamPLT.Contracts"]
+}
+```
+
+`sha256` 和 `size` 必须和 zip 文件实际值一致,否则平台校验会拒绝安装。
 
-## 新增 / 更新包
+### 5. 提交推送
 
-1. 编译扩展,产出目录(含 `manifest.json`)整体压成 zip,不要多套一层目录。
-2. 放到 `packages\<host>\<id>\<id>-<version>.zip`。
-3. 重新生成 `index.json`(写入 `downloadUrl` 相对路径、`sha256`、`size`),提交推送。
+推到 `master` 分支即可,平台下次刷新包列表就能看到。
 
 ## 当前收录
 
-| Id | 名称 | 版本 | host |
-|---|---|---|---|
-| Ext.AiAssistant | AI 助手 | 1.0.0 | platform |
+| Id | 名称 | 版本 | host | 说明 |
+|---|---|---|---|---|
+| Ext.AiAssistant | AI 助手 | 1.0.0 | platform | 嵌入主控进程的 AI 副驾驶,支持电脑控制与平台命令桥 |