Settings file
Server settings live in config.yaml, a text file created on first start with a note on every line. Account settings, like model connections, live in the app under Settings.
#Where it is
| Install | config.yaml and the data folder |
|---|---|
| Windows | %LOCALAPPDATA%\Chrysalis |
| macOS | ~/Library/Application Support/Chrysalis |
| Linux | ~/.local/share/chrysalis |
| Docker | the /chrysalis volume |
| From source | the repository folder |
| Android | inside the app |
Run chrysalis paths to print both locations. Admins also see them at the bottom of Settings > Server.
#Portable copy
Put a config.yaml next to the chrysalis program and Chrysalis keeps its settings and data in that folder instead, for example on a USB drive. Updates keep both in place.
#Editing it
Edit the file with any text editor while Chrysalis is stopped, then start it again. Admins can change most settings in Settings > Server instead, which applies them right away and saves back to the file. You can also ask the agent, for example "let my phone connect": it shows exactly what will change and waits for you to approve.
A misspelled or invalid setting does not stop Chrysalis from starting. It prints a warning that names the setting and uses the default.
#Every setting
# Folder for accounts, apps, chats and keys. Relative paths start next to
# this file. Move the folder while Chrysalis is stopped.
dataRoot: "./data"
# Port Chrysalis listens on.
port: 8788
# Let other devices (your phone, a tablet, another computer) open Chrysalis.
# false only this computer
# true any device that can reach this computer; every account still
# needs its password
lan: false
# Network interface to use when lan is true. "auto" means all of them.
listenAddress: "auto"
# Extra host names that may open Chrysalis, such as a local DNS name or a
# Tailscale machine name. IP addresses and this computer's own name always work.
allowedHosts: []
# Serve over HTTPS. Phones only allow the microphone, installing as an app
# and some other features over HTTPS. Paths start next to this file.
ssl:
enabled: false
certPath: "./certs/cert.pem"
keyPath: "./certs/key.pem"
# Open Chrysalis in your browser when it starts (desktop only).
openBrowser: true
apps:
# Let apps download their npm packages. Package install scripts never run.
packageDownloads: true
# Where the Store's list of apps comes from. false turns the Store off.
store: "https://raw.githubusercontent.com/ProjectChrysalis/app-store/main/apps.json"
agent:
# The agent's command shell. It runs inside your browser tab, never on
# this computer.
shell: true
# Longest a single shell command may run, in seconds (5 to 3600).
shellTimeoutSeconds: 120
# Model the agent uses when an account has not chosen one, as
# "provider/model". null picks the first available model.
defaultModel: null
The defaults above are what a new file starts with; your file may differ.
#For one run only
Every setting also works as an environment variable or a command-line flag. Those apply to that run only and are shown as locked in Settings > Server.
| Setting | Environment variable | Flag |
|---|---|---|
dataRoot | CHRYSALIS_DATA_ROOT | --data-root |
port | CHRYSALIS_PORT | --port |
lan | CHRYSALIS_LAN | --lan |
listenAddress | CHRYSALIS_LISTEN_ADDRESS | --listen-address |
allowedHosts | CHRYSALIS_ALLOWED_HOSTS | --allowed-hosts |
ssl.enabled | CHRYSALIS_SSL_ENABLED | --ssl.enabled |
ssl.certPath | CHRYSALIS_SSL_CERT_PATH | --ssl.cert-path |
ssl.keyPath | CHRYSALIS_SSL_KEY_PATH | --ssl.key-path |
openBrowser | CHRYSALIS_OPEN_BROWSER | --open-browser, --no-open-browser |
apps.packageDownloads | CHRYSALIS_APPS_PACKAGE_DOWNLOADS | --apps.package-downloads |
apps.store | CHRYSALIS_APPS_STORE | --apps.store |
agent.shell | CHRYSALIS_AGENT_SHELL | --agent.shell |
agent.shellTimeoutSeconds | CHRYSALIS_AGENT_SHELL_TIMEOUT_SECONDS | --agent.shell-timeout-seconds |
defaultModel | CHRYSALIS_DEFAULT_MODEL | --default-model |
CHRYSALIS_PORT=9000 ./chrysalis
./chrysalis --lan --port 9000 --no-open-browser
./chrysalis --home /srv/chrysalis
--home (or CHRYSALIS_HOME) chooses the folder that holds config.yaml.
#Commands
| Command | What it does |
|---|---|
chrysalis or chrysalis start | Run Chrysalis. |
chrysalis paths | Show where the config file and data folder are. |
chrysalis reset-password <user> | Give an account a new password. Chrysalis must be stopped. |
chrysalis --version | Print the version. |
chrysalis --help | List every option. |