license: mit tags: - robotics - social-robotics - humanoid - expression - character-ai - typescript - nexus-protocol - physical-ai - face-robot language: - en pipeline_tag: other

CharacterOS Nexus Protocol β€” Expression Vector Format

The Nexus Protocol is the open hardware-agnostic standard for deploying AI character personalities on social robots.

This card documents the expression vector format used by CharacterOS to communicate with robot hardware adapters.


What This Is

CharacterOS is brand-consistent character middleware for social robots. It handles personality, safety rules, cultural calibration, and compliance logging. The Nexus Protocol is the open layer that lets any robot hardware platform connect to CharacterOS.

Open source (this repo): the adapter interface, expression vector format, computeActuators() function, and JEPA joint map.

Proprietary cloud services: Safety Harness, Cultural Calibration Engine, Daily Alignment Agent, NBC Protocol, AI Literacy Reports.


Expression Vector

CharacterOS describes emotional state as an ExpressionVector:

{
  "expressionType": "warm_smile",
  "positiveExprBias": 65,
  "smileIntensity": 0.85,
  "eyeContactLevel": 0.70,
  "asymmetryAllowance": 8
}

The computeActuators() function translates this into 26 normalized float values (all in [0.0, 1.0]) representing motor positions for robot face hardware.


The 26-DOF Actuator Standard

Key Anatomy
actuator_01 jaw_open
actuator_02 lip_corner_left
actuator_03 lip_corner_right
actuator_04 lip_upper_raise
actuator_05 lip_lower_depress
actuator_06 cheek_raise_left
actuator_07 cheek_raise_right
actuator_08 brow_raise_left
actuator_09 brow_raise_right
actuator_10 brow_lower_left
actuator_11 brow_lower_right
actuator_12 eye_wide_left
actuator_13 eye_wide_right
actuator_14 nose_wrinkle
actuator_15 lip_upper_right
actuator_16 dimpler_left
actuator_17 dimpler_right
actuator_18 chin_raise
actuator_19 neck_pan
actuator_20 neck_tilt
actuator_21 neck_nod
actuator_22 eye_gaze_h_left
actuator_23 eye_gaze_v_left
actuator_24 eye_gaze_h_right
actuator_25 eye_gaze_v_right
actuator_26 tongue_out

All values are normalized floats [0.0, 1.0]. 0.5 = neutral/center.


JEPA Joint Map

For world-model-based robot platforms (Joint Embedding Predictive Architecture), CharacterOS provides a dot-notation joint namespace:

actuator_01 β†’ face.jaw.open
actuator_02 β†’ face.lip_corner.left
actuator_03 β†’ face.lip_corner.right
actuator_06 β†’ face.cheek.raise_left
actuator_08 β†’ face.brow.raise_left
actuator_19 β†’ neck.pan
actuator_22 β†’ eye.gaze.h_left
...

Full map available in src/core/jepaMaps.ts.


Expression Presets

Preset jaw lip_corner cheek brow_raise eye_wide
warm_smile 0.15 0.82 0.72 0.30 0.58
gentle_smile 0.10 0.60 0.52 0.25 0.45
raised_brows 0.22 0.50 0.35 0.88 0.78
neutral 0.10 0.40 0.25 0.28 0.40

How to Use

npm install @characteros/nexus-sdk
import { computeActuators } from "@characteros/nexus-sdk";

const command = computeActuators({
  expressionType: "warm_smile",
  smileIntensity: 0.85,
  eyeContactLevel: 0.7,
});

// command.actuator_02 β†’ 0.796 (lip_corner_left, smile position)
// command.actuator_06 β†’ 0.677 (cheek_raise_left, Duchenne marker)
// ...send to your robot adapter

Connect Hardware

GitHub: github.com/ChrisV415/nexus-sdk npm: @characteros/nexus-sdk Cloud: characteros.cloud

Patent pending β€” USPTO July 2026.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support