Setup & Installation
Set up PostgreSQL, install the app, and complete the onboarding wizard.
Database Setup
Salmex I/O stores your conversations, memories, and scheduled tasks in a database. You need to set one up before launching the app for the first time. Pick whichever option below suits you best — all three work equally well.
Once you have a database running, Salmex I/O creates all the tables and structures it needs automatically on first launch. You just provide the connection and the app does the rest.
Option A — Postgres.app (recommended)
The easiest way to run a database on your Mac. Postgres.app is a free, full-featured PostgreSQL database packaged as a regular macOS application — no terminal commands needed.
Go to postgresapp.com/downloads.html and download PostgreSQL 17 (about 120 MB). It works on both Apple Silicon and Intel Macs.
Open the downloaded .dmg and drag Postgres to your Applications folder. Double-click to open it, then click Initialise. That's it — your database is running.
A small elephant icon appears in your menu bar while the database is active. You can set it to start automatically when you log in under Postgres.app > Preferences.
In the Postgres.app window, double-click any database name to open a database prompt. Then type:
CREATE DATABASE salmex;
\c salmex
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";Your connection string will be: postgresql://localhost/salmex
Postgres.app (version 15 and later) ships with all the extensions Salmex I/O needs built in. The commands above just switch them on for your database — there's nothing extra to install.
Option B — Docker
Docker is a tool that runs software in isolated containers on your Mac. If you already have Docker installed and running, this option sets up the database in a single command.
If you don't have Docker yet, download Docker Desktop and install it. Make sure it's running (you'll see a whale icon in your menu bar) before continuing.
Open Terminal (search for "Terminal" in Spotlight, or find it in Applications > Utilities) and paste the following command:
docker run -d \
--name salmex-db \
-e POSTGRES_USER=salmex \
-e POSTGRES_PASSWORD=salmex \
-e POSTGRES_DB=salmex \
-p 5432:5432 \
-v salmex-pgdata:/var/lib/postgresql/data \
pgvector/pgvector:pg17This starts a database with everything Salmex I/O needs already included. Your data is saved even if you restart Docker or your Mac.
Your connection string will be: postgres://salmex:salmex@localhost:5432/salmex
The database runs inside Docker, so Docker Desktop needs to be open whenever you use Salmex I/O. If the app can't connect, check that Docker is running and the container is started.
Option C — Cloud database
If you'd prefer not to run a database on your Mac at all, you can use a hosted database service. The database runs on someone else's servers and you connect to it over the internet. Two good options:
Neon
Generous free tier (512 MB storage). Wakes up automatically when your app connects — no manual intervention if you haven't used it in a while. Best choice for most people.
Supabase
Free tier with 500 MB storage. Note: free projects pause after 7 days of inactivity and need to be manually restarted from the Supabase dashboard.
To set up a cloud database:
Sign up at neon.tech or supabase.com. Both offer a free tier that's more than enough for personal use.
Create a new project and select PostgreSQL 17 when asked. Give it any name you like.
Both services include the extensions Salmex I/O needs, but they must be switched on. Open the SQL editor in your dashboard and run:
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";Find the connection string in your project dashboard (usually under Connect or Database Settings). It will look something like:
postgresql://user:password@ep-example.region.aws.neon.tech/dbname?sslmode=require
Copy it — you'll paste it into Salmex I/O during onboarding.
On Supabase, uuid-ossp is already enabled by default — you only need the vector extension. Also, use the Session pooler connection string (not "Direct") to ensure the connection works on all networks.
Installation
Get the latest .dmg from salmex.io. Universal binary — works on both Apple Silicon and Intel Macs.
Open the DMG and drag Salmex I/O into your Applications folder.
Double-click the app. macOS will show a security dialog because the app is downloaded from the internet. Click Open to proceed.
If macOS blocks the app entirely, go to System Settings > Privacy & Security and click Open Anyway next to the Salmex I/O entry. This only needs to happen once.
First Launch & Onboarding
On first launch the app presents a three-step onboarding wizard. All settings can be changed later.
Enter your PostgreSQL connection details — host, port, database name, username, password, and SSL mode. The app tests the connection before proceeding.
For local setups (Postgres.app or Docker), the defaults usually work: localhost, port 5432, database salmex. For cloud databases, use the credentials from your Neon or Supabase dashboard.
You can optionally save credentials to the macOS Keychain for automatic connection on future launches.
Add at least one AI provider. Paste your API key for Anthropic (Claude), OpenAI (ChatGPT), or Google (Gemini) — or choose Ollama to run AI models locally on your Mac with no API key.
You can configure multiple providers and switch between them later. Anthropic (Claude) is recommended as the default.
Optionally add a search engine so your agent can research the web. Supported engines:
- Perplexity — AI-powered search with citations. Best for research tasks.
- Brave — privacy-focused web search. Good general-purpose option.
- Google — Custom Search JSON API. Requires a search engine ID.
You can skip this step and add search later in Settings.