How DeviceLink works
This page is practical documentation: how to use DeviceLink, what tools it exposes, and what to do when things go wrong.
Quick start
- Install/run the DeviceLink CLI locally (NPM package: @devicelink/dlink).
- Choose one or more folders to share (these become your "roots").
- In ChatGPT, ask to list, search, or open files inside a shared root.
- Stop the local agent/CLI at any time to immediately disable access.
How to chat with DeviceLink (examples)
- Explore: "List files in the shared folder root."
- Tree: "Show me a directory tree (depth 2) for
src."
- Open: "Open
README.md and summarize it."
- Search names: "Find files named
package.json."
- Grep content: "Search for
TODO in src (max 20 matches)."
DeviceLink will request only what's needed to answer (e.g., file names for listing; file content only when you ask to read/analyze).
Available tools
DeviceLink exposes a small set of file tools scoped to shared roots:
- fs_list — list files/folders at a path
- fs_tree — return a directory tree up to a max depth
- fs_info — metadata about a file or directory
- fs_read — read a single text file (paged)
- fs_read_many — read multiple files in one call (batch)
- fs_search — search by name (substring/glob)
- fs_grep — search inside files (substring/regex)
Tools are intentionally bounded (limits on depth, entries, bytes, matches) to avoid accidental broad scans.
Limitations
- Scoped access only: DeviceLink cannot access anything outside shared roots.
- No hidden behavior: no background scanning, indexing, or silent uploads.
- Text-focused reads: reading is intended for text files; binary formats may not render usefully.
- Guardrails: large trees/greps may truncate or refuse unsafe requests.
- Current product limits: one workspace, one device (multiple roots supported).
What data is shared with ChatGPT / LLMs
DeviceLink transmits data externally only to fulfill your explicit request. Typical examples:
- Listing: may share file/folder names and relative paths (within your shared root).
- Reading: may share file contents (or a requested portion).
- Search/grep: may share match snippets needed to answer.
DeviceLink does not access credentials, clipboard, screen, camera, or microphone. It does not upload data in the background.
See Privacy and Data Usage for policy details.
Troubleshooting & debugging
- NOT_FOUND: the path doesn't exist inside the shared root (or you shared a different root).
- NOT_A_FILE: you tried to read a directory; pick a file.
- NOT_A_DIRECTORY: you tried to list/tree a file; pick a directory.
- PATH_ESCAPE / PERMISSION_DENIED: attempted access outside shared root (absolute paths, traversal, or symlink escape).
- Device offline: ensure the local agent/CLI is running and your device shows "online".
If you need help, contact support@devicelink.ai and include the time of the issue and any error code shown.
Last updated: 2025-01-06