目录

Robonix Package Catalog

This repository is the Robonix community package catalog.

Package source and robot deployment manifests stay in their own GitHub repositories. The only manual catalog input is the root-level catalog.yaml. Ordinary packages go under packages:; whole-robot deploy repositories go under robots::

packages:
  - name: robonix.service.mapping
    repo: https://github.com/syswonder/service-map-rbnx

robots:
  - name: robonix.robot.agilex.ranger_mini_v3
    repo: https://github.com/syswonder/robot-agilex-ranger_mini_v3

To submit a community package or robot deployment, add one name + repo entry to the correct section in catalog.yaml. Do not edit generated files by hand.

Website

  • Homepage: https://syswonder.github.io/robonix-package-catalog/
  • Package page: https://syswonder.github.io/robonix-package-catalog/packages/
  • Robot deployment page: https://syswonder.github.io/robonix-package-catalog/robots/
  • Full catalog API: GET https://syswonder.github.io/robonix-package-catalog/api/v1/catalog.json
  • Package list API: GET https://syswonder.github.io/robonix-package-catalog/api/v1/packages.json
  • Robot deployment API: GET https://syswonder.github.io/robonix-package-catalog/api/v1/robots.json
  • Search index API: GET https://syswonder.github.io/robonix-package-catalog/api/v1/search.json
  • Package detail API: GET https://syswonder.github.io/robonix-package-catalog/api/v1/package/<package-name>.json
  • Package detail page: https://syswonder.github.io/robonix-package-catalog/packages/<package-name>/
  • Robot detail page: https://syswonder.github.io/robonix-package-catalog/robots/<robot-name>/

The catalog is hosted on GitHub Pages, so these are static JSON resources with stable API-style paths. Clients should treat the shape below as the v1 contract.

API Reference

All endpoints are static JSON resources served from GitHub Pages. Use GET; no API key is required. There are no server-side query parameters because Pages is static. Filter by name, kind, tag, maintainer, or capability on the client using the returned JSON.

Method Path Parameters Response
GET /api/v1/catalog.json none combined catalog object with both ordinary packages and robot deployments
GET /api/v1/packages.json none ordinary primitive/service/skill packages only
GET /api/v1/robots.json none robot deployment entries only
GET /api/v1/search.json none plain combined catalog array, intended for client-side search/filter indexes
GET /api/v1/package/<package-name>.json package-name: exact catalog name, URL-encoded one ordinary package or robot deployment object; missing entries return GitHub Pages 404

Package object fields:

Field Type Meaning
name string canonical package name, e.g. robonix.service.mapping
version string package version from package_manifest.yaml
description string short package description
license string SPDX license identifier; legacy entries without one are exposed as NOASSERTION
tags string[] UI/search tags
maintainers string[] maintainers in Name <email@domain> format
repo string GitHub repository URL
repo_name string repository name without owner
default_branch string package repository default branch used for indexing
kind string primitive, service, skill, or robot inferred from catalog name
catalog_type string package for ordinary packages, robot for whole-robot deployments
manifest string source manifest path, usually package_manifest.yaml or robonix_manifest.yaml
capabilities string[] declared Robonix contract IDs
deploy_dependencies object[] robot deployment dependencies parsed from robonix_manifest.yaml
deployment_status string robot dependency health: ok or warning
deployment_warnings object[] robot manifest or dependency warnings with section, name, source, and reason
readme_url string GitHub README URL for the indexed branch
preview_image_url string optional robot preview discovered at assets/robot.jpg; empty when absent

JavaScript

const base = 'https://syswonder.github.io/robonix-package-catalog/api/v1';
const res = await fetch(`${base}/packages.json`);
const catalog = await res.json();
const mapping = catalog.packages.find(p => p.name === 'robonix.service.mapping');

const detail = await fetch(`${base}/package/${encodeURIComponent(mapping.name)}.json`)
  .then(r => r.json());

curl

curl -s https://syswonder.github.io/robonix-package-catalog/api/v1/packages.json
curl -s https://syswonder.github.io/robonix-package-catalog/api/v1/package/robonix.service.mapping.json

Python

import urllib.request, json

base = 'https://syswonder.github.io/robonix-package-catalog/api/v1'
catalog = json.load(urllib.request.urlopen(f'{base}/packages.json'))
mapping = next(p for p in catalog['packages'] if p['name'] == 'robonix.service.mapping')
detail = json.load(urllib.request.urlopen(f"{base}/package/{mapping['name']}.json"))

API schema

GET /api/v1/packages.json returns:

{
  "api_version": "1",
  "generated_at": "2026-07-06T12:00:00+00:00",
  "packages": [
    {
      "name": "robonix.service.mapping",
      "version": "0.4.0",
      "description": "Map and SLAM service package for Robonix.",
      "license": "MulanPSL-2.0",
      "tags": ["service", "mapping", "slam"],
      "maintainers": ["wheatfox <wheatfox17@icloud.com>"],
      "repo": "https://github.com/syswonder/service-map-rbnx",
      "repo_name": "service-map-rbnx",
      "default_branch": "main",
      "kind": "service",
      "capabilities": ["robonix/service/map/save_map"],
      "readme_url": "https://github.com/syswonder/service-map-rbnx/blob/main/README.md"
    }
  ]
}

GET /api/v1/robots.json returns robot deployments under a top-level robots[] field.

GET /api/v1/search.json returns the combined catalog entries as a plain array.

GET /api/v1/package/<package-name>.json returns one package object.

Package Manifest

Each package repository must provide a root-level package_manifest.yaml. The catalog builder reads these fields from that file:

  • package.name
  • package.version
  • package.description
  • package.license
  • package.tags
  • package.maintainers
  • capabilities[].name

The package.name in package_manifest.yaml must exactly match the name in catalog.yaml.

Robot Deployment Manifest

Robot deployment repositories are indexed from root-level robonix_manifest.yaml. They do not need a separate package_manifest.yaml. The catalog metadata lives under a top-level catalog: block with the same fields as package metadata:

manifestVersion: 1
name: robonix-ranger-mini-deploy
catalog:
  name: robonix.robot.agilex.ranger_mini_v3
  version: 0.1.0
  description: Robonix deploy manifest for the AgileX Ranger Mini v3 robot.
  license: Apache-2.0
  tags: [robot, deploy, agilex, ranger_mini_v3]
  maintainers:
    - wheatfox <wheatfox17@icloud.com>

A robot deployment repository may add assets/robot.jpg. When present, the catalog exposes its raw URL as preview_image_url, then generates 380 px and 720 px WebP previews for responsive robot list cards. Repositories without the file keep the same metadata and layout without an image placeholder.

The builder also parses primitive:, service:, and skill: entries from robonix_manifest.yaml into deploy_dependencies[], linking dependencies back to cataloged ordinary packages when their repository is known. Each dependency includes resolution (catalog, robonix_source, robonix_deploy, robot_repository, or unresolved) and resolution_warning. A source is portable when it resolves to a cataloged repository, uses the exact ${ROBONIX_SOURCE_PATH}/... source-tree root, uses the exact ${ROBONIX_DEPLOY_DIR}/... boot-deployment root, or stays inside the robot repository through a relative path. Unresolved sources produce CI warnings and a report without failing catalog generation.

Generated Outputs

CI validates catalog.yaml, fetches every package manifest through the GitHub API, and generates:

  • generated/api/v1/packages.json
  • generated/api/v1/robots.json
  • generated/api/v1/catalog.json
  • generated/api/v1/search.json
  • generated/api/v1/package/<package-name>.json
  • public/index.html
  • public/packages/index.html
  • public/packages/<package-name>/index.html
  • public/robots/index.html
  • public/robots/<robot-name>/index.html
  • public/api/...

For compatibility, CI also keeps extensionless /api/v1/... resources, but browser-facing links and new integrations should use the .json paths above.

The generated commit uses [skip ci]; normal CI only triggers from catalog.yaml, the builder script, the workflow, or manual dispatch.

Generated on 2026-08-01T19:35:22+00:00.

Packages

Name Version Kind Maintainer Tags Repository
robonix.primitive.agilex.piper.arm 0.1.0 primitive lhw2002426 lhw2002426@users.noreply.github.com primitive, arm, agilex, piper, ros2 repo
robonix.primitive.agilex.piper.description 0.1.0 primitive lhw2002426 lhw2002426@users.noreply.github.com primitive, description, urdf, agilex, piper, ros2 repo
robonix.primitive.agilex.piper.handeye 0.1.0 primitive lhw2002426 lhw2002426@users.noreply.github.com primitive, calibration, handeye, easy_handeye2, agilex, piper, ros2 repo
robonix.primitive.agilex.ranger_mini_v3.chassis 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, chassis, agilex, ranger_mini_v3, ros2 repo
robonix.primitive.audio.alsa 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, audio, alsa, microphone, speaker repo
robonix.primitive.audio.client_bridge 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, audio, client, websocket, microphone, speaker repo
robonix.primitive.beingbeyond.d1.arm 0.1.0 primitive Felix xi.lifeng@qq.com primitive, arm, manipulator, beingbeyond, d1 repo
robonix.primitive.beingbeyond.d1.camera 0.1.0 primitive Felix xi.lifeng@qq.com primitive, camera, rgbd, realsense, beingbeyond, d1 repo
robonix.primitive.beingbeyond.d1.hand 0.1.0 primitive Felix xi.lifeng@qq.com primitive, hand, gripper, dexterous, beingbeyond, d1 repo
robonix.primitive.deep_robotics.lite3.description 0.1.0 primitive Bunnycxk 2501213313@stu.pku.edu.cn primitive, description, urdf, tf, deep_robotics, lite3, ros2 repo
robonix.primitive.deep_robotics.lite3.quadruped 0.1.0 primitive Bunnycxk 2501213313@stu.pku.edu.cn primitive, chassis, deep_robotics, lite3, quadruped, ros2 repo
robonix.primitive.intel.realsense_d435i.camera 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, camera, intel, realsense_d435i, rgbd repo
robonix.primitive.livox.mid360.imu 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, imu, livox, mid360 repo
robonix.primitive.livox.mid360.lidar 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, lidar, livox, mid360, pointcloud repo
robonix.primitive.orbbec.dabai_dcw.camera 0.1.0 primitive lhw2002426 lhw2002426@users.noreply.github.com primitive, camera, orbbec, dabai_dcw, rgbd, ros2 repo
robonix.primitive.orbbec.gemini330.camera 0.1.1 primitive Bunnycxk 2501213313@stu.pku.edu.cn primitive, camera, orbbec, gemini330, rgbd, ros2 repo
robonix.primitive.robot_description 0.1.0 primitive wheatfox wheatfox17@icloud.com primitive, robot-description, urdf, tf, ros2, zenoh repo
robonix.primitive.syswonder.minecraft_bot 0.1.0 primitive ZZJJWarth jzeng25@stu.pku.edu.cn primitive, minecraft, simulation, camera, chassis, perception repo
robonix.robot.agilex.dual_piper 0.1.0 robot Zhenyu Zhang 768726812@qq.com robot, deploy, agilex, piper, dual-arm, gripper repo
robonix.robot.agilex.ranger_mini_v3 0.2.0 robot wheatfox wheatfox17@icloud.com robot, deploy, agilex, ranger_mini_v3, jetson, lidar, rgbd, scene, mapping, navigation repo
robonix.robot.beingbeyond.d1 0.1.0 robot Felix xi.lifeng@qq.com robot, deploy, beingbeyond, d1, manipulation, dexterous-hand repo
robonix.robot.deep_robotics.lite3 0.2.0 robot Bunnycxk 2501213313@stu.pku.edu.cn robot, deploy, deep_robotics, lite3, quadruped, jetson, lidar, rgbd, mapping, navigation repo
robonix.robot.syswonder.minecraft_bot 0.1.0 robot ZZJJWarth jzeng25@stu.pku.edu.cn robot, deploy, minecraft, simulation repo
robonix.robot.unitree.go2 0.1.0 robot Origamii520 Origamii520@users.noreply.github.com robot, deploy, unitree, go2, quadruped, lidar, camera, imu, mapping, navigation, speech repo
robonix.robot.wheeltec.r550 0.1.0 robot Xiangrui Cheng ccc_7020@qq.com robot, deploy, robonix repo
robonix.robot.wowrobo.roboarm 0.1.0 robot Yuzheng Gao 2300013159@stuu.pku.edu.cn robot, deploy, robonix, manipulator, lerobo repo
robonix.service.grasp_pose 0.1.0 service lhw2002426 lhw2002426@users.noreply.github.com service, perception, grasp_pose, grasp, ros2 repo
robonix.service.mapping 0.5.0 service wheatfox wheatfox17@icloud.com service, mapping, slam, rtabmap, ros2 repo
robonix.service.memory.action_retrieval 0.1.0 service Zhihao Mao lusunn111@users.noreply.github.com service, memory, vla, action-retrieval, experience-reuse, qdrant repo
robonix.service.minecraft_costmap 0.1.0 service ZZJJWarth jzeng25@stu.pku.edu.cn service, minecraft, mapping, costmap, navigation repo
robonix.service.minecraft_navigation 0.1.0 service ZZJJWarth jzeng25@stu.pku.edu.cn service, minecraft, navigation, path-planning, costmap repo
robonix.service.navigation 0.1.0 service wheatfox wheatfox17@icloud.com service, navigation, nav2, ros2 repo
robonix.service.navigation.vln 0.4.1 service Seto 202330552461@mail.scut.edu.cn service, navigation, vln, compute-optimization, cloud-edge, dual-system, embodied-ai repo
robonix.service.object_detect 0.1.0 service lhw2002426 lhw2002426@users.noreply.github.com service, perception, object_detect, llm, vlm, ros2 repo
robonix.service.pcld2lscan 0.1.0 service Bunnycxk 2501213313@stu.pku.edu.cn service, lidar, pointcloud, laserscan, ros2 repo
robonix.service.piper_moveit 0.1.0 service lhw2002426 lhw2002426@users.noreply.github.com service, manipulation, moveit, agilex, piper, ros2 repo
robonix.service.roboarm.ik 0.1.0 service lhw2002426 lhw2002426@users.noreply.github.com service, manipulation, ik, agilex, piper, ros2 repo
robonix.service.vla.action_decision 0.1.0 service Zhihao Mao lusunn111@users.noreply.github.com service, vla, action-decision, speculative-decoding, drafter, openvla repo
robonix.skill.dual_piper_initialize 0.1.0 skill Zhenyu Zhang 768726812@qq.com skill, dual-arm, piper, initialization repo
robonix.skill.dual_piper_transfer 0.1.0 skill Zhenyu Zhang 768726812@qq.com skill, dual-arm, piper, transfer repo
robonix.skill.explore 0.1.0 skill wheatfox wheatfox17@icloud.com skill, explore, frontier, navigation, mapping repo
robonix.skill.hand_gesture 0.1.0 skill Felix xi.lifeng@qq.com skill, gesture, dance, hand, beingbeyond, d1 repo
robonix.skill.minecraft_explore 0.1.0 skill ZZJJWarth jzeng25@stu.pku.edu.cn skill, minecraft, exploration, frontier, navigation repo
robonix.skill.openvla_oft_accel 0.2.0 skill Lingyue Zhang zly3404842897@gmail.com skill, vla, openvla, oft, manipulation, multitask, piper repo
robonix.skill.pick.vertical_grasp 0.1.0 skill lhw2002426 lhw2002426@users.noreply.github.com skill, pick, manipulation, grasp repo
robonix.skill.vertical_grasp_object 0.1.0 skill Felix xi.lifeng@qq.com skill, grasp, pick, place, manipulation, beingbeyond, d1 repo
robonix.skill.vla.openvla 0.2.0 skill lhw2002426 lhw2002426@users.noreply.github.com skill, vla, manipulation, llm repo
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号