#!/usr/bin/env bash # homeai-character/setup.sh — P5: Character Manager + persona JSON # # Components: # - character.schema.json — v1 character config schema # - aria.json — default character config # - Character Manager UI — Vite/React app for editing (dev server :5173) # # No hard runtime dependencies (can be developed standalone). # Output (aria.json) is consumed by P3, P4, P7. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" source "${REPO_DIR}/scripts/common.sh" log_section "P5: Character Manager" detect_platform # ─── Prerequisite check ──────────────────────────────────────────────────────── log_info "Checking prerequisites..." if ! command_exists node; then log_warn "Node.js not found — required for Character Manager UI" log_warn "Install: https://nodejs.org (v18+ recommended)" fi # ─── TODO: Implementation ────────────────────────────────────────────────────── cat <<'EOF' ┌─────────────────────────────────────────────────────────────────┐ │ P5: homeai-character — NOT YET IMPLEMENTED │ │ │ │ Implementation steps: │ │ 1. Create schema/character.schema.json (v1) │ │ 2. Create characters/aria.json (default persona) │ │ 3. Set up Vite/React project in src/ │ │ 4. Extend character-manager.jsx with full UI │ │ 5. Add schema validation (ajv) │ │ 6. Add expression mapper UI for Live2D │ │ 7. Wire export to ~/.openclaw/characters/ │ │ │ │ Dev server: │ │ cd homeai-character && npm run dev → http://localhost:5173 │ │ │ │ Interface contracts: │ │ Output: ~/.openclaw/characters/.json │ │ Schema: homeai-character/schema/character.schema.json │ └─────────────────────────────────────────────────────────────────┘ EOF log_info "P5 is not yet implemented. See homeai-character/PLAN.md for details." exit 0