Input and commands
Depending on your unit’s configuration, it may or may not be able to access some or all of its settings, or even access its own control panel (although this may be hard for it to do without a mirror.)
The most powerful way to configure and control a Companion-powered unit is the ability to run system commands. Like other command-line interfaces, the operating system includes dozens of these by default, and most software add-ons will add more, as will many hardware accessories. Some essential examples are:
Many more system commands can be found in the command reference document.
To invoke system commands, use one of the following methods:
Related operating systems such as Clockwork, Lux, Wetware, and ATOS/CX use a similar paradigm for operating system commands. However, some commands may be absent or have different names:
These are a special class of commands which are prefixed with the “!” character, which allow the unit to express itself more flexibly. They include:
These are a class of message shortcuts which are prefixed with the “.” character. When the unit’s “mind” subsystem is powered down, it is unable to speak normally and must use these messages to communicate. Each mnemonic is translated into a full message by the persona layer; different personas will change the preset message the unit speaks. See Personas. As of version 8.2, personas can customize the list of available bypass commands, so checking ".info" is recommended before attempting to use a bypass command under a new personality.
See Speech modification with vox.
Under certain circumstances it may be necessary to completely release the unit from using the vocoder system, e.g. to interface with devices that require clear voice commands for identification purposes. The unit may release its speech at any time by saying !release, provided it has access to its own control panel. The unit can recapture their chat by either speaking on the redirect channel (which is last three digits of the unit's serial number, plus 100 if the serial would have leading zeroes) or simply speaking /1capture. These instructions are also automatically provided when the !release command is issued.
Self access is the ability of a unit to adjust its own settings. Like a person, the unit may be added to its own user list and even serve as a manager or owner, although the utility of such access is limited and is more likely to confuse the unit than to allow it to act more independently.
When a unit is first installed, self-access is enabled with maximum permissiveness. You must instruct the unit to designate you as its owner to restrict this. See User management and access control for information on adding and promoting users, and restricting self-access.
A unit with this access may use its own control panel or teletype interface, or it may access the console directly by speaking console commands into its normal speech output channel with @ prepended, e.g.: @power status
Normal, expressive messages can be prefixed with a number of prefixes in order to modify their effects.
These prefixes can be combined, e.g. "w ooc /me waves." whispers a parenthetical self-description of the unit waving.
System commands
The most powerful way to configure and control a Companion-powered unit is the ability to run system commands. Like other command-line interfaces, the operating system includes dozens of these by default, and most software add-ons will add more, as will many hardware accessories. Some essential examples are:
- power: Controls the unit's subsystems.
- persona: Controls the unit's active persona.
- off: Shuts the unit down.
- on: Turns the unit on. (Only available while powered down or in auxiliary power mode.)
- about: Reports the unit's identifying information.
- keychain: View and manipulate the unit's registered users.
- relay: Speak a message.
- warp: Manage and trigger teleport bookmarks.
- guests: Adjust access settings for non-registered users.
Many more system commands can be found in the command reference document.
To invoke system commands, use one of the following methods:
- If controlling the unit directly through the speech pipeline, prefix the command with @. For example, @about will send the unit's identifying information to itself.
- If controlling the unit through local command access, no additional prefix is required. On channel 1, send the unit's prefix (usually the first two letters of its current name) followed by the command to execute; for example, on a unit named "r4chel", the command /1r4persona default would clear any current persona settings.
- If controlling the unit through a remote console in either command mode or terminal mode, no prefix is required.
- Arabesque scripts (Companion's equivalent of shell scripts or batch files) do not require any prefix. However, they also have additional keywords that cannot be used in the normal command-line, such as ifeq and say.
Related operating systems such as Clockwork, Lux, Wetware, and ATOS/CX use a similar paradigm for operating system commands. However, some commands may be absent or have different names:
- Clockwork does not have the zap, drainprotect, or charge commands as mechanically-powered units do not have the necessary induction drive hardware. Instead it includes the key and dress commands. The subsystems available via power are also different.
- ATOS/CX defaults to real mode, where direct chat input is interpreted as system commands. Instead of using the @ sigil to run commands, " and : are used for speech and emotes, respectively. ATOS/CX also lacks facilities such as guests, persona, vox, restraint, and other consumer-oriented features.
Cortex (bang) commands
These are a special class of commands which are prefixed with the “!” character, which allow the unit to express itself more flexibly. They include:
- !greet, !greet2, !love, !love2, !love3, !love4, and !bye
Various verbal emotive expressions.
- !broken and !fixed
Simulates uneven power to illumination elements. May cause sparking when used with certain peripherals or batteries.
- !working and !done
Displays the ‘working’ light pattern via ornamental status light elements.
- !fan <level>
Adjusts the fan speed. <level> can be a number from 0 to 100, or one of the preset keywords: off, idle, low, med, med, high, or max.
- !spark
Simulates a mild electrical fault.
- !fault
Simulates a serious electrical fault.
- !release
Allows the unit to bypass the vocoder pipeline entirely for diagnostic purposes; see below. See also troubleshooting guide.
- !lamp on|off (requires DAX/3, SXD 8.4, or other new flicker bus firmware)
Controls the intensity of illumination emitted by the controller's lighting elements.
- !repair, !repaired
Starts or stops simulated repair effects.
Cortex bypass commands
These are a class of message shortcuts which are prefixed with the “.” character. When the unit’s “mind” subsystem is powered down, it is unable to speak normally and must use these messages to communicate. Each mnemonic is translated into a full message by the persona layer; different personas will change the preset message the unit speaks. See Personas. As of version 8.2, personas can customize the list of available bypass commands, so checking ".info" is recommended before attempting to use a bypass command under a new personality.
bypass command | default message |
---|---|
.y | Yes. |
.n | No. |
.hi | Hello! |
.bye | Goodbye. |
.ok | Acknowledged. |
.lol | Humor detected. |
.cannot | Cannot comply. |
.error | Error. |
.fuck me | This unit is available for use. |
.fuck you | This unit offers itself for use. |
.dance | This unit is capable of dancing. |
.help | This unit requires assistance. |
.thanks | This unit is grateful. |
.explain | Further explanation is required. |
.pickup | Do you require service? |
.mind | This unit cannot comply with the MIND module disabled. |
The vocoder pipeline
See Speech modification with vox.
Released speech
Under certain circumstances it may be necessary to completely release the unit from using the vocoder system, e.g. to interface with devices that require clear voice commands for identification purposes. The unit may release its speech at any time by saying !release, provided it has access to its own control panel. The unit can recapture their chat by either speaking on the redirect channel (which is last three digits of the unit's serial number, plus 100 if the serial would have leading zeroes) or simply speaking /1capture. These instructions are also automatically provided when the !release command is issued.
Self access and local command execution
Self access is the ability of a unit to adjust its own settings. Like a person, the unit may be added to its own user list and even serve as a manager or owner, although the utility of such access is limited and is more likely to confuse the unit than to allow it to act more independently.
When a unit is first installed, self-access is enabled with maximum permissiveness. You must instruct the unit to designate you as its owner to restrict this. See User management and access control for information on adding and promoting users, and restricting self-access.
A unit with this access may use its own control panel or teletype interface, or it may access the console directly by speaking console commands into its normal speech output channel with @ prepended, e.g.: @power status
Ad-hoc volume control and description
Normal, expressive messages can be prefixed with a number of prefixes in order to modify their effects.
prefix | effect |
---|---|
w | whisper (10% volume) |
s | shout (100% volume) |
d | description |
/me | self-description |
: | self description (as /me) |
ooc | parenthetical ("out-of-character") remark |
These prefixes can be combined, e.g. "w ooc /me waves." whispers a parenthetical self-description of the unit waving.
read more Command reference
Local command access
Remote access
Speech modification with vox
see full hierarchy