-
-
Notifications
You must be signed in to change notification settings - Fork 6
Features Sessions
Tuck edited this page Jun 28, 2026
·
2 revisions
Create, destroy, list, and switch between named agent sessions. Each session has its own isolated variable namespace, persisted across daemon restarts.
Create a new named session.
| Parameter | Type | Description |
|---|---|---|
name |
string | Unique name for the session |
deskbrid session.create '{"name": "agent-1"}'{"type": "session.create", "name": "agent-1"}Destroy a session by ID.
| Parameter | Type | Description |
|---|---|---|
id |
string | Session ID to destroy |
deskbrid session.destroy '{"id": "sess_abc123"}'{"type": "session.destroy", "id": "sess_abc123"}List all active sessions.
deskbrid session.list{"type": "session.list"}Response:
{
"type": "response",
"status": "ok",
"data": [
{
"id": "sess_abc123",
"name": "agent-1",
"created_at": 1705312800,
"variables": {"counter": "42"}
}
]
}Switch to a different session by ID or name.
| Parameter | Type | Description |
|---|---|---|
id |
string? | Session ID to switch to |
name |
string? | Session name to switch to |
deskbrid session.switch '{"name": "agent-2"}'{"type": "session.switch", "name": "agent-2"}Set a variable in the current session's namespace.
| Parameter | Type | Description |
|---|---|---|
name |
string | Variable name |
value |
string | Variable value |
deskbrid session.var.set '{"name": "counter", "value": "42"}'{"type": "session.var.set", "name": "counter", "value": "42"}Get a variable from the current session's namespace.
| Parameter | Type | Description |
|---|---|---|
name |
string | Variable name |
deskbrid session.var.get '{"name": "counter"}'{"type": "session.var.get", "name": "counter"}List all variables in the current session.
deskbrid session.var.list{"type": "session.var.list"}from deskbrid import Deskbrid
client = Deskbrid()
# Create sessions for two agents
client.session_create(name="coder")
client.session_create(name="tester")
# List sessions
sessions = client.session_list()
print(sessions)
# Switch to coder session and set a variable
client.session_switch(name="coder")
client.session_var_set(name="current_file", value="main.rs")
# Switch to tester and list its variables
client.session_switch(name="tester")
client.session_var_list()
# Destroy the coder session
client.session_destroy(name="coder")Sessions and their variables are stored in SQLite at
~/.config/deskbrid/deskbrid.db and survive daemon restarts.
- Persistence — SQLite storage overview
- Blackboard — shared cross-session key/value storage
- Rules — rule engine can trigger on session events
Stable — session lifecycle and variable management supported.
- Accessibility
- Apps
- Audio
- Backlight (LED driver)
- Bluetooth
- Clipboard
- Color Picker
- Desktop Portal
- Desktop Settings
- Files
- Hotkeys
- Input
- Keyboard Layouts
- Media (MPRIS)
- Monitors
- Network
- Notifications
- Print (CUPS)
- Screenshots
- Screen Recording
- Screencast
- Self-Update
- System
- System Tray
- Systemd Units & Timers
- Terminals (PTY)
- Windows & Workspaces