Every day
Workspaces
Every folder you open with Lampson becomes a workspace: its own sessions, memory, scheduled tasks, plugins and servers. You can have several open at once and switch between them without stopping anything.
cd ~/code/shop && lampson # registers ~/code/shop (first time) and opens the terminal on it
cd ~/code/blog && lampson --web # a second workspace, in the browser
The hub§
http://127.0.0.1:8080 is the hub: the workspaces screen. Open one, create one (a folder picker on your desktop; a server-side browser on a VPS), turn them on and off, set how long an idle one stays alive.
Each workspace runs in its own process behind the hub; a hub restart never kills them. Every 15 seconds the hub starts what should be running and stops what has been idle (⚙ → hours of inactivity; 0 = never; a workspace with scheduled tasks stays up).
lampson --hub start|stop|status|logs|restart
lampson --install # keep the hub alive across logins (Windows: Scheduled Task · Linux: systemd --user)
Where things live§
Nothing is written into your project. Lampson keeps its own state in ~/lampson:
| path | what |
|---|---|
~/lampson/.lampson/config.json | provider, model, keys, preferences |
~/lampson/.lampson/ws/<name>/ | one folder per workspace: sessions, traces, schedules, process logs |
~/lampson/memory/<name>/ | the agent's notes about that project |
~/lampson/plugins/ | global plugins |
Inside your project, only what you choose to commit: .lampson/plugins/, .lampson/mcp.json, .lampson/lsp.json, skills/, AGENTS.md.
Why a process per project§
A tool's file access in Synsema is a literal folder name declared in the code. A workspace is therefore a small folder with a link named workspace that points at your project; its process only ever sees that folder. That is what makes "it can only touch this project" true rather than hopeful.