Getting Started

Three steps to share your first folder with an AI assistant.

1

Create your account

Sign in at devicelink.ai with Google. A workspace is created for you automatically, no setup needed.
2

Install and run the agent

Open a terminal in the folder you want to share. On macOS and Linux:
macOS / Linux
curl -fsSL http://127.0.0.1:35401/install.sh -o dlink-install.sh && head -1 dlink-install.sh | grep -q '^#!/bin/sh' && sh dlink-install.sh
On Windows, in PowerShell (not Command Prompt - irm is a PowerShell command):
Windows (PowerShell)
irm http://127.0.0.1:35401/install.ps1 -OutFile dlink-install.ps1; if ((gc dlink-install.ps1 -TotalCount 1) -match '^#Requires') { .\dlink-install.ps1 } else { 'Not the DeviceLink installer - check the URL' }
If you are in Command Prompt, this runs the same thing:
Windows (Command Prompt)
powershell -NoProfile -Command "irm http://127.0.0.1:35401/install.ps1 -OutFile dlink-install.ps1; if ((gc dlink-install.ps1 -TotalCount 1) -match '^#Requires') { .\dlink-install.ps1 } else { 'Not the DeviceLink installer - check the URL' }"
This installs DeviceLink along with the Node runtime it needs, so you do not need Node installed. It goes into ~/.devicelink on macOS and Linux, and%USERPROFILE%\.devicelink on Windows; set DLINK_HOME before installing to choose somewhere else. Re-run the installer to upgrade. To uninstall, delete that folder -rm -rf ~/.devicelink, or on WindowsRemove-Item -Recurse -Force $env:USERPROFILE\.devicelink. If you already have Node 20 or later and prefer npm:
npm install -g @devicelink/dlink
Then run dlink. The agent starts an interactive console. Type signin to authenticate with the same Google account you used on the website. A browser window will open to complete sign-in.
If dlink is not found after installing, its folder is not on your PATH. The installer says so and prints the command; these are the same ones.
macOS / Linux, then restart your shell
export PATH="$PATH:$HOME/.devicelink/bin"
Windows, current session
$env:PATH += ";$env:USERPROFILE\.devicelink\bin"
Windows, permanently for your user
[Environment]::SetEnvironmentVariable('PATH', "$([Environment]::GetEnvironmentVariable('PATH','User'));$env:USERPROFILE\.devicelink\bin", 'User')
3

Connect an AI platform

Once the agent is running and signed in, connect your preferred AI assistant. See Connect to AI for platform-specific instructions.
Keep the agent running while using AI tools. Closing it stops all access immediately. You can restart it at any time by running dlink again. Typingstop in the console disconnects the bridge but leaves the agent open, sostart reconnects without signing in again.
Updates. DeviceLink can tell the agent that a newer version is available, and the agent will say so on connect. A new major version is never installed automatically - you are only notified. Set DLINK_AUTO_UPDATE=0 to be notified about every update rather than having any of them applied.

Agent commands

These commands are typed into the agent console after running dlink:

help (?)Show the command list
start (run)Connect the bridge
stopDisconnect the bridge. The agent keeps running; use start to reconnect
statusShow device, bridge and session state
doctorRun local environment checks
signinSign in to DeviceLink (opens browser)
signoutSign out and disconnect the bridge
roots listList the directories shared with the bridge
roots addShare an additional directory
replace (yes, y)Take over an existing session on conflict

Command line options

These are passed when starting the agent, for example dlink --headless --root /srv/data:

-h, --helpShow help and exit
-v, --versionPrint the agent version and exit
--headless [=true|false]Run without the interactive UI
--env <file>Load environment from a specific file
--root <path>Share this directory with the bridge
--control-url <url>Override the control plane base URL
--bridge-ws-url <url>Override the bridge WebSocket URL
--enrollment-file <file>Path to a .devicelink enrollment key
--private-key-file <file>Path to the device private key
--public-key-file <file>Path to the device public key

Running without a terminal

On a server or in a container there is no interactive console to type signin into. Use an enrollment key instead: an organization admin issues one under Organization -> Devices, which downloads a .devicelink file. Pass it to the agent and it requests access on startup:

macOS / Linux
dlink --headless --root /srv/data --enrollment-file ./enrollment-key.devicelink
Windows
dlink --headless --root C:\SharedData --enrollment-file .\enrollment-key.devicelink

The device then appears under Organization -> Devices as a pending request. An admin approves it there and the agent connects. You can also supply the key as the ENROLMENT_KEYenvironment variable instead of a file path.