Nexting Devices SDK · Experimental 0.4

Build a physical remote for coding Agents

Approve work, navigate choices, switch sessions or models, control voice, and show Agent state, text, and usage on your own hardware.

What you can build

Start with a useful physical action. The SDK keeps Agent credentials and session logic on the trusted Host while the device handles a small, testable BLE contract.

Approve or deny one-time requestsMap eligible Claude Code, Codex, Grok, and Cursor prompts to two physical keys with approval/1.Nexting App provides the Host
Show live Agent stateRender thinking, working, needs-input, complete, and error with status/1.Available now
Describe custom hardwareExpose name, number, buttons, rotary controls, display, haptics, and battery through Device Info 0.2 on iOS and Android.Available now
Build a complete DIY consolenavigation/1, keys/1, rotary/1, voice/1, text/1, usage/1, and config/1 are in the public SDK.Available in SDK 0.4

Choose a route

For hardware work, use the Device SDK and Wire protocol. The official Nexting App already provides the Host, so this SDK path does not ask you to build an App or Host. Every route still validates against the same Wire vectors.

You are buildingStart hereProof
A physical deviceDevice firmware · C99C tests + real board
Another implementationWire protocol + reference/jscanonical vectors

Run your first approval

Use a real phone for Bluetooth verification. The simulator and CI prove contracts and builds, not radio behavior.

  1. Get the source

    Nexting Devices lives inside the existing Nexting repository.
    sh
    git clone https://github.com/Nexting-ai/nexting.git
    cd nexting/devices
  2. Build the reference firmware

    From a configured west workspace, build a supported board.
    sh
    west build -p always -b nrf52840dk/nrf52840 /path/to/nexting/devices/firmware/zephyr -- -DEXTRA_CONF_FILE=debug-test-device.conf
  3. Flash the board

    Use the DK debugger, or copy the XIAO nRF52840 UF2 to its bootloader volume.
    sh
    west flash
  4. Connect a trusted Host

    Inspect Device Info, explicitly authorize the accessory, then trigger one eligible Claude Code, Codex, Grok, or Cursor approval and answer it from the hardware.

Show Agent state

status/1 carries bounded, volatile state to one to eight declared slots. A disconnect clears every slot, so a light or screen never shows stale work.

StateUse it for
thinking / workingShow that the selected Agent is active
needs_inputAsk the user to check the Host or approval keys
completeShow that the current task finished
errorShow that the Host needs attention

Availability

LevelWhat it means
Available nowapproval/1, status/1, navigation/1, keys/1, rotary/1, voice/1, text/1, usage/1, config/1, Device Info 0.2, and the public device-side C99 SDK.
Needs real hardwareBLE pairing, reconnect, battery, button delivery, and board claims still require a real phone and exact board.
Needs a Host adapterProduct actions such as fork, send, fast, session, and model selection are mapped by the trusted Host; the open SDK carries generic physical events.
voice/1 sends start/stop control only; the official Nexting App captures audio. App Store 2.4 does not enroll third-party developer devices yet. Use the public protocol and firmware checks for current hardware validation.

Public source

Specifications, vectors, the C99 device SDK, JavaScript reference, and Zephyr firmware are published at Nexting-ai/nexting/devices. Private App, Agent, account, cloud, production-firmware, signing, manufacturing, and private application integration code are not exported. The official Nexting App is the supported Host; hardware developers do not build one.

public source treetext
devices/SPEC.md             normative Wire major 1 contract
devices/protocol/vectors/ shared vectors for every profile and Device Info
devices/sdk/c/            portable C99 device SDK
devices/reference/js/     executable protocol reference
devices/firmware/zephyr/  reference boards
devices/docs/             guides, migration, evidence, and security