> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wuji.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to the Wuji Developer Docs

> Find the technical documentation, guides and references you need

export const HomeSearch = ({language = "zh"}) => {
  const [unavailable, setUnavailable] = useState(false);
  const label = language === "en" ? "Search the docs" : "搜索文档";
  const openSearch = () => {
    const entry = ["search-bar-entry", "search-bar-entry-mobile"].map(id => document.getElementById(id)).find(element => element?.tagName === "BUTTON" && !element.disabled && element.getClientRects().length > 0);
    setUnavailable(!entry);
    entry?.click();
  };
  return <>
      <button type="button" className="wj-home-search-trigger" aria-label={label} aria-haspopup="dialog" onClick={openSearch} />
      {unavailable && <span className="wj-home-search-status" role="status">
          {language === "en" ? "Search is not ready. Please try again shortly." : "搜索暂未就绪，请稍后重试。"}
        </span>}
    </>;
};

<Columns cols={2}>
  <Card className="wj-quiet">
    <span className="wj-hero-title">Welcome to the<br />Wuji Developer Docs</span>

    <span className="wj-hero-lede">Find the technical documentation, guides and references you need</span>

    <Card title="Search the docs…" icon="search" horizontal className="wj-search">
      <HomeSearch language="en" />
    </Card>

    <Card title="Wuji Hand 2" icon="arrow-right" href="/docs/en/wuji-hand/latest/overview" horizontal className="wj-pill" />

    <Card title="Wuji Glove" icon="arrow-right" href="/docs/en/wuji-glove/latest/introduction" horizontal className="wj-pill" />

    <Card title="Wuji CLI" icon="arrow-right" href="/docs/en/wuji-cli/latest/introduction" horizontal className="wj-pill" />

    <Card title="Wuji SDK" icon="arrow-right" href="/docs/en/wuji-sdk/latest/introduction" horizontal className="wj-pill" />

    <Card title="Contact sales" icon="arrow-right" href="mailto:sales@wuji.tech" horizontal className="wj-pill wj-pill-cta" />
  </Card>

  <CodeGroup className="wj-term">
    ```bash CLI theme={null}
    # Install the Wuji CLI (macOS, Linux or WSL)
    $ curl -fsSL https://get.wuji.tech/cli | bash

    # Check the installed version
    $ wuji --version

    # Discover connected Wuji devices
    $ wuji devices

    # Verify the connection
    $ wuji ping

    # Run system and permission diagnostics
    $ wuji doctor
    ```

    ```python Python theme={null}
    # Scan for Wuji devices and print their details
    from wuji_sdk import SdkManager

    # Get the SDK manager
    manager = SdkManager.instance()

    # Scan for devices on the local network and local USB ports
    for device in manager.scan():
        # Print each device's serial number, type, and address
        print(f"SN: {device.sn}, type: {device.device_type}, address: {device.address}")
    ```

    ```c C theme={null}
    /* Scan for Wuji devices and print their details. */
    #include <stddef.h>
    #include <stdio.h>
    #include "wuji_sdk.h"

    int main(void) {
        // Initialize the SDK. Print the error and exit if initialization fails.
        if (wuji_init(NULL) != WUJI_STATUS_OK) {
            fprintf(stderr, "Initialization failed: %s\n", wuji_last_error());
            return 1;
        }

        // Prepare to receive the device list and count.
        WujiDiscovered *devs = NULL;
        size_t count = 0;
        // Scan for devices on the local network and local USB ports.
        if (wuji_scan(&devs, &count) != WUJI_STATUS_OK) {
            // On failure, print the error, release SDK resources, and exit.
            fprintf(stderr, "Scan failed: %s\n", wuji_last_error());
            wuji_shutdown();
            return 1;
        }

        // Print each device's serial number, model, and address.
        for (size_t i = 0; i < count; i++) {
            printf("SN: %s, type: %s, address: %s\n",
                   devs[i].serial_number, devs[i].model, devs[i].address);
        }

        // Free the device list returned by the scan.
        wuji_discovered_free(devs, count);
        // Shut down the SDK and release its resources.
        wuji_shutdown();
        return 0;
    }
    ```
  </CodeGroup>
</Columns>

## What's new

<Columns cols={2}>
  <Card title={<>Linux Support: Ubuntu 20.04 LTS and Later<br />Python SDK: Python 3.8 and Later</>} img="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=573fbca5c060c75a7ff110097ad767f2" href="/docs/en/release-notes#2026-10-12" className="wj-media wj-ink-light wj-news-card" data-og-width="1400" width="1400" data-og-height="538" height="538" data-path="shared/assets/img/slide-firmware.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=280&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=582baf2068c8d8767bfb69270f956348 280w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=560&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=f6f303cda1f2f0bb60743c26abd931ab 560w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=840&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=1efc5984abf0b5c7966a45b56450ae00 840w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=1100&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=62642ba48ecdd8e7398a79b5982f7599 1100w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=1650&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=25dc5de15681a2519efd97c87fd576fb 1650w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-firmware.webp?w=2500&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=af9d8402cbc1a055789904e888a7a630 2500w">
    <Badge color="white" size="sm">Wuji SDK / CLI · v2026.10.12</Badge>
  </Card>

  <Card title={<>Hand 2.1 / 2.2 (Beta)<br />Migrated to Standalone ROS 2 Packages</>} img="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=1fba356753309be551a07f8dc2528442" href="/docs/en/release-notes#2026-10-12" className="wj-media wj-ink-light wj-news-card" data-og-width="1400" width="1400" data-og-height="538" height="538" data-path="shared/assets/img/slide-sdk.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=280&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=ac2b5203d180ac63d32882f9e7fc6650 280w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=560&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=f1210b35adf29b68b503ebadf08a1e2f 560w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=840&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=b82de9cdf963f33a28917d1b27259886 840w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=1100&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=ce7fec6f0e151a60ffd27b31169fa59a 1100w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=1650&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=e2ad22cb07abc3e02731ed4aed96c3c4 1650w, https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-sdk.webp?w=2500&fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=71a76f9ebf3449fa5d83f5042e4a0e08 2500w">
    <Badge color="white" size="sm">Wuji Description · v2026.10.12</Badge>
  </Card>
</Columns>

<Columns cols={4}>
  <Card title="Wuji Hand 2" icon="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/icons/wuji-hand-2.svg?fit=max&auto=format&n=L5L7y_1GoeOydbgy&q=85&s=9fdd862062a20c333a1d7e3918c8f6dd" href="/docs/en/release-notes#2026-10-12" cta="2026.10.12 · v2.12.0" className="wj-stat" width="24" height="24" data-path="shared/assets/icons/wuji-hand-2.svg" />

  <Card title="Wuji SDK" icon="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/icons/wuji-sdk.svg?fit=max&auto=format&n=L5L7y_1GoeOydbgy&q=85&s=9969bda346daa27a3b1abc723c3e8d4f" href="/docs/en/release-notes#2026-10-12" cta="2026.10.12 · v2026.10.12" className="wj-stat" width="24" height="24" data-path="shared/assets/icons/wuji-sdk.svg" />

  <Card title="Wuji Glove" icon="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/icons/wuji-glove.svg?fit=max&auto=format&n=L5L7y_1GoeOydbgy&q=85&s=12b4e0d1ac9d80393650d7e250780e89" href="/docs/en/release-notes#2026-10-12" cta="2026.10.12 · v1.0.3" className="wj-stat" width="24" height="24" data-path="shared/assets/icons/wuji-glove.svg" />

  <Card title="Wuji CLI" icon="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/icons/wuji-cli.svg?fit=max&auto=format&n=L5L7y_1GoeOydbgy&q=85&s=537472aff156c7765d0be2c409aafaae" href="/docs/en/release-notes#2026-10-12" cta="2026.10.12 · v2026.10.12" className="wj-stat" width="24" height="24" data-path="shared/assets/icons/wuji-cli.svg" />
</Columns>

## Quick start

<Columns cols={4}>
  <Card title="Get started with Wuji" img="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/quick-start-v2.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=67863c6be4fe1e6b1c00040d1a78392f" href="/docs/en/wuji-hand/latest/quick-start" cta="Start with Quick Start" className="wj-media wj-bento-hero wj-ink-top wj-ink-light" width="1200" height="817" data-path="shared/assets/img/quick-start-v2.webp" />

  <Card title={<>First run with Wuji <span className="whitespace-nowrap">Hand 2</span></>} href="/docs/en/wuji-hand/latest/quick-start" cta="~30 min" arrow>
    From unboxing and wiring to the first motion, finishing with a firmware upgrade.
  </Card>

  <Card title="First run with Wuji Glove" href="/docs/en/wuji-glove/latest/getting-started" cta="~15 min" arrow>
    Connect the glove and read live hand data with the Wuji CLI.
  </Card>

  <Card title="Build with AI" cta="Coming soon" className="wj-soon lg:col-span-2">
    Describe what you need and let an agent assemble the right quick-start path.
  </Card>
</Columns>

## Documentation

### Hardware

<Columns cols={3}>
  <Tile href="/docs/en/wuji-hand/latest/overview" title="Wuji Hand 2 `Hand 2`" description="Second-generation dexterous hand · 20 active DOF, hybrid force-position control." className="wj-product">
    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/hand2.gif?s=d3b8e7a37454c25a6e076d30ec29b2be" alt="" className="block dark:hidden" width="720" height="480" data-path="shared/assets/docs/hand2.gif" />

    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/hand2-dark.gif?s=95743921de2adaa7f1af249f42c5a0fb" alt="" className="hidden dark:block" width="720" height="480" data-path="shared/assets/docs/hand2-dark.gif" />
  </Tile>

  <Tile href="/docs/en/wuji-glove/latest/introduction" title="Wuji Glove `Glove`" description="Data glove capturing tactile pressure, fingertip pose and motion." className="wj-product">
    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/glove.gif?s=a3961920f878b7e4c868fffef3a32616" alt="" className="block dark:hidden" width="720" height="480" data-path="shared/assets/docs/glove.gif" />

    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/glove-dark.gif?s=e59372af4164ed2d9aee192b49c50711" alt="" className="hidden dark:block" width="720" height="480" data-path="shared/assets/docs/glove-dark.gif" />
  </Tile>

  <Tile href="/docs/en/wuji-hand/v1/overview" title="Wuji Hand `Hand · v1` `Archived`" description="First-generation dexterous hand documentation, kept for existing devices." className="wj-product wj-archived">
    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/hand.gif?s=2ea14225dfad0639cb4f3388ed208b63" alt="" className="block dark:hidden" width="720" height="480" data-path="shared/assets/docs/hand.gif" />

    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/hand-dark.gif?s=283cf288326ddff08a6663c413c2376c" alt="" className="hidden dark:block" width="720" height="480" data-path="shared/assets/docs/hand-dark.gif" />
  </Tile>
</Columns>

### Software

<Columns cols={3}>
  <Tile href="/docs/en/wuji-sdk/latest/introduction" title="Wuji SDK `Hand 2` `Glove`" description="Python and C SDK · discovery, streaming, recording, retargeting." className="wj-product">
    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/sdk.gif?s=c4c43e1dc7e772c26216b5062dd98b30" alt="" className="block dark:hidden" width="720" height="480" data-path="shared/assets/docs/sdk.gif" />

    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/sdk-dark.gif?s=be60888e976d32f77cfd76dd926175dc" alt="" className="hidden dark:block" width="720" height="480" data-path="shared/assets/docs/sdk-dark.gif" />
  </Tile>

  <Tile href="/docs/en/wuji-cli/latest/introduction" title="Wuji CLI `Hand 2` `Glove`" description="Scan, configure, subscribe, diagnose and flash from the terminal." className="wj-product">
    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/cli.gif?s=22ad0b829334e7c07c95cc72fe04f707" alt="" className="block dark:hidden" width="720" height="480" data-path="shared/assets/docs/cli.gif" />

    <img src="https://mintcdn.com/wuji-0bbde051/L5L7y_1GoeOydbgy/shared/assets/docs/cli-dark.gif?s=5d9bb8b7a1a18488a64bdeba19c44cd8" alt="" className="hidden dark:block" width="720" height="480" data-path="shared/assets/docs/cli-dark.gif" />
  </Tile>
</Columns>

## Release notes

The four most recent entries. [See the full 2026.10.12 release notes →](/docs/en/release-notes#2026-10-12)

<Update label="2026-10-12" description="Wuji Hand 2, Wuji Glove, Wuji SDK, Wuji CLI, and Wuji Description">
  **Release highlights**

  * **Runtime and version support**: Linux artifacts for the Python SDK, C SDK, and Wuji CLI support Ubuntu 20.04 LTS (glibc 2.31) and later on x86\_64 and arm64. The Python SDK supports Python 3.8 and later.
  * **Wuji Description model migration**: Wuji Description moves to standalone ROS 2 packages for Hand 2.1 (Beta) and Hand 2.2 (Beta). Update resource paths, dependencies, and launch configurations.
  * **Status and diagnostics**: The Wuji SDK for Wuji Hand 2 reads `kp` and `kd` for all 20 joints after connection. Starting with firmware v2.10.0, an upgrade stops early when a selected joint is offline and shows the device rejection reason.
    [See the full 2026.10.12 release notes →](/docs/en/release-notes#2026-10-12)
</Update>

<Update label="2026-10-12 Wuji SDK / Wuji CLI" description="Runtime and device operations">
  Linux artifacts for the Python SDK, C SDK, and Wuji CLI support Ubuntu 20.04 LTS (glibc 2.31) and later on x86\_64 and arm64. The Python SDK supports Python 3.8 and later. Wuji CLI adds links to agent skills and documentation and improves device connections, data subscriptions, and firmware upgrades.
  [See the full 2026.10.12 release notes →](/docs/en/release-notes#2026-10-12)
</Update>

<Update label="2026-10-12 Wuji Description" description="Hand 2.1 (Beta) and Hand 2.2 (Beta) model migration">
  Wuji Description moves to standalone ROS 2 packages for Hand 2.1 (Beta) and Hand 2.2 (Beta). Update `colcon --packages-select`, `package://` URIs, dependencies, and launch configurations.
  [See the full 2026.10.12 release notes →](/docs/en/release-notes#2026-10-12)
</Update>

<Update label="2026-10-12 Wuji Hand 2 / Wuji Glove" description="Status, diagnostics, and firmware upgrades">
  The Wuji SDK for Wuji Hand 2 reads `kp` and `kd` for all 20 joints after connection. Firmware upgrades stop and show the device reason when a selected joint is offline or the device rejects the target. The Wuji Glove EMF stream recovers without a restart after a failed or rejected firmware upgrade.
  [See the full 2026.10.12 release notes →](/docs/en/release-notes#2026-10-12)
</Update>

## Videos

<Tile href="/docs/en/videos#release-films" title="Product films" description="Official release films for Wuji Hand 2 and Wuji Glove." className="wj-overlay wj-overlay-wide">
  <img src="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/video-films.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=f6535c8e34e6f2ea230669b8ba45af73" alt="" width="2400" height="904" data-path="shared/assets/img/video-films.webp" />
</Tile>

<Columns cols={2}>
  <Tile href="/docs/en/videos#getting-started" title="Getting started" description="Unboxing, setup and calibration walkthroughs." className="wj-overlay">
    <img src="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/video-guides.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=a3cb9d822298845fe218e364a5dfce38" alt="" width="2000" height="1126" data-path="shared/assets/img/video-guides.webp" />
  </Tile>

  <Tile href="/docs/en/videos#algorithm-demos" title="Algorithm demos" description="Retargeting, teleoperation, simulation and sim-to-real." className="wj-overlay wj-crop-left">
    <img src="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-retargeting.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=9bab05bb631d51250f7118b8b14a445b" alt="" width="1400" height="538" data-path="shared/assets/img/slide-retargeting.webp" />
  </Tile>
</Columns>

<Columns cols={2}>
  <Tile href="/docs/en/videos#getting-started" title="Getting started" description="Unboxing, setup and calibration walkthroughs." className="wj-product wj-m-only">
    <img src="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/video-guides.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=a3cb9d822298845fe218e364a5dfce38" alt="" width="2000" height="1126" data-path="shared/assets/img/video-guides.webp" />
  </Tile>

  <Tile href="/docs/en/videos#algorithm-demos" title="Algorithm demos" description="Retargeting, teleoperation, simulation and sim-to-real." className="wj-product wj-m-only">
    <img src="https://mintcdn.com/wuji-0bbde051/nLLDY-yV3f5aegbJ/shared/assets/img/slide-retargeting.webp?fit=max&auto=format&n=nLLDY-yV3f5aegbJ&q=85&s=9bab05bb631d51250f7118b8b14a445b" alt="" width="1400" height="538" data-path="shared/assets/img/slide-retargeting.webp" />
  </Tile>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.