CLI Reference

View as Markdown

The UE plugin has two command-oriented layers:

  • SDKOps::* in CLI/CliOperations.h, which exposes a broad synchronous C++ surface
  • UForbocAI_SDKCommandlet, which currently validates and parses a smaller subset of commands

Commandlet Invocation

macOS

$"/Users/Shared/Epic Games/UE_5.7/Engine/Binaries/Mac/UnrealEditor-Cmd" \
> "/Path/To/YourProject.uproject" \
> -run=ForbocAI_SDK -Command=<command> \
> -nosplash -nopause -unattended

Windows

1& "C:\Program Files\Epic Games\UE_5.7\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" `
2 "C:\Path\To\YourProject.uproject" `
3 -run=ForbocAI_SDK -Command=<command> `
4 -nosplash -nopause -unattended

Optional overrides on any command:

  • -ApiUrl=https://api.forboc.ai
  • -ApiKey=<key>

Commands Reachable Today Through The Commandlet

RuntimeCommandlet.cpp currently validates these commands:

  • doctor
  • system_status
  • npc_list
  • npc_create -Persona="A cautious merchant"
  • npc_process -Id="npc_123" -Input="What do you sell?"
  • soul_export -Id="npc_123"
  • config_set -Key="apiUrl" -Value="https://api.forboc.ai"
  • config_get -Key="apiUrl"

Aliases:

  • agent_list -> npc_list
  • agent_create -> npc_create
  • agent_process -> npc_process

Examples

$# health
$-run=ForbocAI_SDK -Command=doctor -ApiUrl=https://api.forboc.ai
$
$# npc lifecycle
$-run=ForbocAI_SDK -Command=npc_create -Persona="A suspicious innkeeper"
$-run=ForbocAI_SDK -Command=npc_process -Id="npc_123" -Input="Do you have rooms?"
$
$# config persistence (~/.forbocai.json)
$-run=ForbocAI_SDK -Command=config_set -Key=apiUrl -Value=https://api.forboc.ai
$-run=ForbocAI_SDK -Command=config_set -Key=apiKey -Value=YOUR_KEY
$-run=ForbocAI_SDK -Command=config_get -Key=apiUrl

Broader SDKOps Surface

CLI/CliOperations.h already exposes synchronous wrappers for more than the current commandlet whitelist, including:

  • memory
  • local and remote cortex
  • ghost
  • bridge validation and rulesets
  • soul import, list, verify, local export
  • vector init and embedding generation

If you need those from UnrealEditor-Cmd, extend the command validation and argument parsing in RuntimeCommandlet.cpp. If you are writing C++ tooling, call SDKOps::* directly instead.

Config Keys

Supported persisted keys:

  • apiUrl
  • apiKey
  • modelPath
  • databasePath
  • vectorDimension
  • maxRecallResults

These are stored in ~/.forbocai.json and can also be provided via environment variables such as FORBOCAI_API_URL and FORBOCAI_API_KEY.