Command reference

friendlai-node help prints a summary of all of this.

Running friendlai-node

install links ~/.local/bin/friendlai-node to the installed program. If ~/.local/bin isn't already on your PATH, it adds it in your shell's startup file (~/.zshrc, ~/.bashrc, ~/.bash_profile on macOS, fish's conf.d, or ~/.profile), so the command works in terminals you open afterwards. uninstall removes the link. Nodes installed before this get it with their next update.

If friendlai-node isn't found, run it by its full path:

~/.local/share/friendlai/friendlai-node status                       # Linux
~/Library/Application\ Support/Friendlai/friendlai-node status     # macOS

Commands

installRegister, copy the binary into place, start the node with the computer and add the tray icon. Run it again to change options. See Install.
statusVersion, service state, node name, whether it's paused, and Ollama's models.
logsShow recent log lines and follow new ones.
pauseFinish the current answer, then take no new questions until resumed. Stays paused through restarts.
resumeTake questions again.
stopStop the node. It starts again at next login or restart.
startStart a stopped node.
updateUpdate to the network's current version now, and restart.
uninstallStop the node and remove it, its startup entry, the tray icon and the PATH link. Keeps the node's identity unless you add --purge.
trayShow the menu bar / system tray icon. Started for you with your desktop.
runRun in the foreground. This is what the service runs; you don't normally need it.

Options

--api-key fnk_…A node key from your account page, to link a new node to you.
--name NAMEPublic name (up to 48 characters); a random suffix is added. Default: the computer's name. Changing it registers a new node.
--models a,bOnly serve these Ollama models.
--ollama URLOllama's address. Default http://127.0.0.1:11434.
--no-auto-updateDon't install updates automatically.
--purgeWith uninstall: also delete the node's identity and settings.
--version, -vPrint the version.
--help, -hPrint help.

--host URL connects to a different Friendlai server, for development. It registers a separate node.

Where files go

Linux

Program~/.local/share/friendlai/friendlai-node, linked from ~/.local/bin/friendlai-node
Settings~/.config/friendlai/node.json
Service~/.config/systemd/user/friendlai-node.service
Tray~/.config/autostart/friendlai-node-tray.desktop
Logsjournald: journalctl --user -u friendlai-node

macOS

Program~/Library/Application Support/Friendlai/friendlai-node, linked from ~/.local/bin/friendlai-node
Settings~/Library/Application Support/Friendlai/node.json
Service~/Library/LaunchAgents/xyz.friendlai.node.plist
Tray~/Library/LaunchAgents/xyz.friendlai.tray.plist
Logs~/Library/Logs/Friendlai/node.log

node.json holds the node's identity (its id and a secret token), name, model list and update setting. It's readable only by you. Keep it private: anyone with the token can act as your node. Next to it, status.json is what the tray icon reads, and control.json records whether you've paused the node.