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 # macOSCommands
install | Register, copy the binary into place, start the node with the computer and add the tray icon. Run it again to change options. See Install. |
status | Version, service state, node name, whether it's paused, and Ollama's models. |
logs | Show recent log lines and follow new ones. |
pause | Finish the current answer, then take no new questions until resumed. Stays paused through restarts. |
resume | Take questions again. |
stop | Stop the node. It starts again at next login or restart. |
start | Start a stopped node. |
update | Update to the network's current version now, and restart. |
uninstall | Stop the node and remove it, its startup entry, the tray icon and the PATH link. Keeps the node's identity unless you add --purge. |
tray | Show the menu bar / system tray icon. Started for you with your desktop. |
run | Run 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 NAME | Public name (up to 48 characters); a random suffix is added. Default: the computer's name. Changing it registers a new node. |
--models a,b | Only serve these Ollama models. |
--ollama URL | Ollama's address. Default http://127.0.0.1:11434. |
--no-auto-update | Don't install updates automatically. |
--purge | With uninstall: also delete the node's identity and settings. |
--version, -v | Print the version. |
--help, -h | Print 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 |
| Logs | journald: 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.