Configuration
Asya supports two methods for setting parameters: environment variables and a configuration file named config.lua
. The configuration file should be placed at $HOME/.config/asya/config.lua
. All parameters have default values described in the configuration file, which are also hardcoded into the configuration logic. Therefore, if any parameter is omitted, Asya will issue a warning but will proceed with default values.
Currently, the following configuration parameters are available in Asya:
Configuration Parameters
Table | Field | Environment Variable | Default Value | Description |
---|---|---|---|---|
net | ws_port | NET_WS_PORT | 3001 | Port for the WebSocket server. |
net | ws_ip | NET_WS_IP | ”127.0.0.1” | IP address for the WebSocket server. |
logging | place | LOGGING_PLACE | false | Flag to include the filename where the logging method was invoked. |
logging | folder | LOGGING_FOLDER | ”logs” | Directory where logs will be stored. |
logging | filescount | LOGGING_FILESCOUNT | 5 | Number of log files to retain. |
logging | level | LOGGING_LEVEL | ”info” | Logging level (e.g., “debug”, “info”, “warn”, “error”). |
logging | stdout | LOGGING_STDOUT | true | Flag to enable logging output to the console (stdout). |
ai | prompts_path | AI_PROMPTS_PATH | ”./ai-prompts.yaml” | Path to the AI prompts file. |
ai | groq_token | AI_GROQ_TOKEN | ”NOT” | Token for accessing the Groq API (command recognition and response generation). |
plugins | plugins_folder | PLUGINS_FOLDER | ”plugins” | Directory containing plugins. |
plugins | config | PLUGINS_CONFIG | - | Plugin configuration represented as a dictionary. |
open_apps | terminal | OPEN_APPS_TERMINAL | - | Path to the terminal to be opened. |
open_apps | browser | OPEN_APPS_BROWSER | - | Path to the browser to be opened. |
Parameter Details
-
net:
- These parameters configure the server’s network settings:
ws_port
: Port on which the WebSocket server listens. Default is3001
.ws_ip
: IP address the WebSocket server binds to. Default islocalhost
(127.0.0.1
).
- These parameters configure the server’s network settings:
-
logging:
- Logging configuration defines where and how system activity is logged:
place
: Indicates whether the filename invoking the logging method should be included. For example:
src/logging.rs:24: 2025-01-05 00:13:21 SERVER INFO >>> Logging level: DEBUG
folder
: Directory for storing log files.filescount
: Number of log files retained in the folder (feature to be implemented).level
: Logging level such asinfo
for general messages ordebug
for troubleshooting.stdout
: Indicates whether logs should be printed to the console.
- Logging configuration defines where and how system activity is logged:
-
ai:
- AI configuration parameters control the behavior of the AI system:
prompts_path
: Path to the file with predefined AI interaction prompts.groq_token
: Token for accessing the Groq service.
- AI configuration parameters control the behavior of the AI system:
-
plugins:
- Plugin parameters allow customization of plugin usage in the system:
plugins_folder
: Directory containing plugins.config
: Dictionary specifying configurations for individual plugins.
- Plugin parameters allow customization of plugin usage in the system:
-
open_apps:
- Settings for launching applications during startup:
terminal
: Path to the terminal application.browser
: Path to the browser application.
- Settings for launching applications during startup: