Skip to content

Try it offline

Run a session without a provider account, in throwaway state. Nothing here calls a model or costs anything. To start real work, follow the Intro.

Install Salaam, then start an offline service:

Terminal window
sal service start --state /tmp/salaam-try
sal service status --state /tmp/salaam-try
sal session create --cwd "$PWD" --state /tmp/salaam-try
sal attach SESSION_ID --state /tmp/salaam-try

Replace SESSION_ID with the returned ID. When ready, enter a short instruction. The offline provider replies Offline reply: … after a managed probe call. This exercises the real pinned Pi worker without paid requests.

Ctrl+K opens actions, Ctrl+O reviews approvals, and Ctrl+G opens changes when coding is configured. Ctrl+D with an empty composer detaches. Run the same attach command again to read committed history and follow the same session. Use --observe from another terminal or explicit --takeover to replace its controller.

For a scriptable check:

Terminal window
sal session probe SESSION_ID --state /tmp/salaam-try
sal session inspect SESSION_ID --state /tmp/salaam-try
sal service stop --state /tmp/salaam-try

Without --state, clients use SALAAM_STATE_DIR or ~/.local/state/salaam. Keep the same path for one service. Short paths avoid macOS Unix-socket limits. The daemon detaches by default; --foreground keeps it under an external supervisor.

When you are ready for real work, connect a provider and run salaam code in your project.