- Single-Mode Schema
- Multi-Mode Schema
Steps to build a new config file
- Start with getting your API key from OpenMind Portal. Copy it and save it, you’ll paste it into the config later.
-
Create a new config file config.json5
version string — Required
The version of the configuration format. Example: “v1.0.0”hertz number — Required
How often (in Hz) the agent runs its update loop. Example: 0.01name string — Required
The name of the agent. Example: “conversation”api_key string — Required
API key used to authenticate the agent. Example: “openmind_free”system_prompt_base string — Required
Defines the agent’s core personality and behavior. This serves as the primary system prompt for the LLM.system_governance string — Required
The laws or constraints that the agent must follow during operation. Modeled similarly to Asimov’s laws.system_prompt_examples string — Optional
Example interactions that help guide the model’s behavior. -
Customize the system prompts
There are three key prompt fields:
- system_prompt_base Defines your agent’s personality and behavior. You can keep the “Spot the dog” behavior or edit it to match your needs. You can also provide context to the LLM here.
- system_governance Hard-coded rules the agent must follow (Asimovs laws).
- system_prompt_examples Give your model examples of how to respond. These help shape its responses. You can add more examples if needed.
-
Configure inputs
Inputs provide the sensory capabilities that allow robots to perceive their environment
agent_inputs array — Required
List of input sources or data types the agent can accept in this mode. Each item in the array is an object with the following properties:type string — Required
The input type identifier. Example: “AudioInput”config object — Optional
Configuration options specific to this input type. Example: GoogleASRInput -
Configure the LLM
cortex_llm object — Required
Configures the Cortex LLM behavior.type string — Required
The LLM provider name. Example: “OpenAILLM”config object — Optional
Agent name used in metadataagent_name string — Optional
Agent name used in metadata Example: “Spot”history_length integer — Optional
Number of past messages to remember in the conversation. Example: “10” -
Set up agent actions
Actions define what your agent can do. You can define movement, TTS or any other actions here.
agent_actions Array — Required
Defines actions the agent can execute.name string — Required
Human-readable identifier for the action. Example: “speak”llm_label string — Required
Label the model uses to refer to this action. Example: “speak”implementation string — Optional
This defines the business logic, if any. If there’s none defined, we use default valuepassthough. Example: “passthrough”connector string — Required
Name of the connector. This field is the python file name defined underactions/action_name/connector. Example: “elevenlabs_tts” - Validate the config Before using the file: Check for JSON errors, make sure commas, quotes, and braces are correct and confirm that correct API key is configured.