Skip to main content

Что такое Linkly AI CLI

linkly подключается к Desktop или облачному MCP и предоставляет инструменты в оболочке. Он особенно удобен ИИ-агентам, конвейерам и клиентам со stdio. CLI не создаёт отдельный индекс: в локальном режиме Desktop должен быть запущен.

Установка

Выполните в терминале:
Либо установите через Homebrew:
Если Linkly AI Desktop уже установлен, CLI можно поставить из него: на экране Connect an agent мастера первого запуска нажмите Install — будут установлены CLI и Skills; либо на странице Agent usage главного окна в разделе Advanced нажмите Install в строке Linkly AI CLI. Если появится окно One last step, нажмите Set up, чтобы команда linkly запускалась прямо из терминала.
После установки откройте новый shell и проверьте:
По умолчанию CLI находит локальный Desktop через ~/.linkly/port. Для другого устройства в LAN или облачного туннеля используйте режимы подключения ниже.

Основные команды

CLI следует процессу search → grep или outline → read. Если пользователь называет контейнер, но реальный путь неизвестен, сначала вызовите find-paths.
Успешный вывод заканчивается UTC-строкой [meta] now=2026-05-08T...Z, а JSON содержит _meta.now. Она нужна ИИ для расчёта относительных дат. Пользователь может её игнорировать; скрипт при необходимости должен удалить последнюю строку.

Состояние

status возвращает состояние и версию Desktop, число проиндексированных документов и ход индексирования.

Поиск

--modified-after и --modified-before принимают UTC ISO 8601: дату либо полный RFC 3339. --time-sort принимает newest и oldest; без него сохраняется порядок BM25 + векторной релевантности.
--scope notes ограничивает поиск заметками и игнорирует --library и --path-glob.

Структура документа

Длинная структура частично сворачивается. Через --expand укажите ID узлов для раскрытия через запятую, остальные будут свёрнуты; без параметра выбор делается автоматически:
Outline лучше всего работает с Markdown, DOCX, DOC, PPTX, XLSX, CSV, EPUB и RTF. Для простого текста и PDF без закладок используйте read.

Поиск шаблона внутри документов

Чтение

При нескольких документах --json печатает JSON Lines — один объект на строку. Для одного ID остаётся один JSON-объект.
Длинный документ читайте страницами:

Поиск путей

find-paths агрегирует каталоги, соответствующие вариантам имени, чтобы затем использовать --path-glob:
Передавайте несколько вариантов одним вызовом: они объединяются OR. Если шаблон совпал только с именем файла, а не сегментом каталога, результат отбрасывается; при нулевом ответе попробуйте search без --path-glob. Если имя каталога содержит *, ? или [, копируйте уже экранированное поле path_glob из ответа.

Библиотеки и обзор (list-libraries, explore)

Перечисляет доступные библиотеки. Имена из ответа можно передавать в --library других команд.
Даёт общий обзор всех документов или одной библиотеки — удобно перед поиском, чтобы понять, какие материалы есть. --library принимает имя или local://<id>; с --remote также cloud://<owner>/<slug>.

Notes

Заметки — обычные локальные Markdown-файлы в папке библиотеки; они не загружаются в облако и индексируются как остальные документы. note-save — команда записи, поэтому ИИ вызывает её только по явному запросу пользователя. Для редактирования сначала получите note_id и текущую version через list, прочитайте полное тело, затем передайте оба значения и полный новый текст:
Встроенные #tags в теле являются тегами заметки. --tags только добавляет: для удаления уберите маркер из полного содержимого. Desktop старше 0.11.0 требует --tags при редактировании и заменяет весь набор. --base-version защищает от конкурентного изменения: команда вернёт NOTE_VERSION_CONFLICT, а не перезапишет чужую правку. Разрешены абзацы, жирный и зачёркнутый текст и списки; заголовки, код, ссылки и таблицы отклоняются.

Диагностика подключения (doctor)

Проверяет подключение к локальному Desktop, а также сохранённые удалённый ключ и LAN-подключение, если они есть. Для каждого подключения выводится отдельная группа результатов с советами при ошибке. Код завершения 0, если доступно хотя бы одно подключение. С --remote, --lan или --endpoint / --token проверяется только это подключение, и код завершения зависит только от него:

Управление Skills (skills)

install ставит Skills в ~/.agents/skills/linkly-ai и создаёт ссылку на них в ~/.claude/skills/linkly-ai. Подробнее: Linkly AI Skills. Когда выходит новая версия Skills, в конце вывода команд появляется строка-подсказка, не чаще раза в 4 часа. Переменная окружения LINKLY_NO_SKILLS_HINT=1 отключает её; если задать её в конфигурации MCP-клиента, подсказки не будет и в мосте linkly mcp.

Автодополнение

Печатает статический скрипт для bash, zsh, fish, powershell или elvish.
После этого откройте новый shell. Скрипт не обращается к Desktop и не замедляет приглашение.

Режим MCP

Команда запускает stdio MCP-сервер для совместимых ИИ-клиентов. Направление определяет доступный контент:
Только --remote даёт мосту доступ к облачным библиотекам. Сначала войдите через linkly auth login (см. Удалённый).
Мост не подключается к Desktop на другом устройстве в LAN. ИИ-клиенты в LAN подключайте к Desktop напрямую по HTTP (см. Доступ по LAN); клиентам только со stdio подойдёт linkly mcp --remote.
--client <имя> задаёт имя приложения в журнале доступа Desktop, как в примерах ниже. С --remote имя также передаётся облачному шлюзу. Для Claude Desktop добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows:
В Cursor откройте Settings → MCP Servers → Add Server и задайте имя linkly-ai, команду linkly mcp --client cursor.

Обновление

Команда проверяет и устанавливает последнюю версию. CLI также проверяет обновления в фоне при запуске и подсказывает выполнить её.

Режимы подключения

Без --lan или --remote CLI подключается только к Desktop на этом компьютере.
API Key (начинается с lkai_) и токен LAN-доступа — это ключи к вашей локальной библиотеке. Не вставляйте их ни в какой диалог с ИИ (ChatGPT, Claude, Cursor, Codex, Doubao, Kimi и т. п.) и не позволяйте ИИ-помощнику выполнять за вас linkly auth set-key: содержимое диалога отправляется поставщику модели и сохраняется в истории чата, а в некоторых приложениях ещё и синхронизируется в облако. Чтобы ИИ-помощник подключился удалённо, используйте двухшаговый linkly auth login ниже — вы только подтверждаете доступ в браузере. set-key выполняйте сами, в своём терминале. Если ключ уже попал в диалог, отзовите его и создайте новый в Dashboard; LAN-токен перегенерируется в View MCP connection settings.

Локальный

Используется локальный Desktop и фактический порт из настроек.

LAN

Адрес и токен берутся на том устройстве: в его Desktop откройте страницу Agent usage, в разделе Management включите Allow LAN access, затем в разделе Integration нажмите View MCP connection settings и скопируйте данные из раздела LAN (подробнее: Доступ по LAN). Затем один раз сохраните их на этом компьютере — сами, в своём терминале:
Затем добавляйте --lan к любой команде:
Без сохранения можно передавать адрес и токен напрямую:
После перегенерации токена повторите auth set-key --lan с новым токеном. Удалить сохранённую LAN-конфигурацию: linkly auth logout --lan.
Сохранение LAN-подключения и флаг --lan требуют CLI 1.0.0 или новее. CLI хранит только одно LAN-подключение: повторный auth set-key --lan перезаписывает сохранённые адрес и токен. Для временного подключения к другому устройству используйте --endpoint и --token.

Удалённый

Сначала один раз войдите в аккаунт:
CLI выводит одноразовую ссылку и код подтверждения (XXXX-XXXX) и, если может, сам открывает браузер. Откройте ссылку на любом устройстве (если CLI работает на сервере, подойдёт и телефон), войдите, сверьте код с тем, что показан в терминале, и нажмите Авторизовать — CLI сохранит только что выпущенный API key. Ссылка действует 10 минут; на странице видны авторизуемый аккаунт, код подтверждения, запрашивающее устройство (с его собственных слов) и выдаваемые права. Чтобы CLI не пытался открыть браузер, добавьте --no-browser — тогда он только напечатает ссылку. Затем добавляйте --remote к любой команде:
Агенты и скрипты, которые не могут ждать на переднем плане, делят вход на два шага. Агент передаёт вам только ссылку и код; ключ CLI сохраняет сам, поэтому он не проходит через диалог. Оба шага выполняйте в одном окружении, от одного системного пользователя и с одним каталогом конфигурации:
--wait сдаётся через 300 секунд (меняется через --timeout) с кодом timeout; пока ссылка действует, запустите его снова. В режиме --json ошибки содержат code: timeout, expired, denied, no_pending_login, login_in_progress (используйте --wait или начните заново с --restart), already_logged_in (сначала linkly auth logout) и network. Каждое сообщение называет следующую команду. Каждый вход создаёт новый API key с именем cli-<hostname>-xxxx; его видно в Dashboard, там же его можно отозвать. У аккаунта может быть не больше 10 API key; при достижении лимита страница авторизации сообщит об этом. Успешный вход подтверждает только аккаунт — он не означает, что облачные библиотеки или Desktop доступны. Удобнее вставить ключ? Создайте его в Dashboard и сохраните его сами, в своём терминале:
Проверить или удалить сохранённый ключ:
logout отзывает ключ, выпущенный auth login, — он перестаёт работать примерно через 90 секунд. Ключ, сохранённый через set-key, только удаляется с этого компьютера, ведь он может использоваться где-то ещё; при необходимости отзовите его в Dashboard. Учётные данные (и вход, ожидающий подтверждения) по умолчанию хранятся в ~/.linkly. Переменная LINKLY_CONFIG_DIR переносит их в другое место — например, по каталогу на каждого пользователя, если агент обслуживает нескольких людей из-под одной системной учётной записи. В каждом каталоге — один аккаунт. Обнаружение локального Desktop (~/.linkly/port) это не затрагивает.
Для облачной библиотеки добавьте --library cloud://username/slug.
--lan, --remote и --endpoint несовместимы друг с другом. --endpoint и --token обязательны вместе; сохранённая LAN-конфигурация в этом случае не используется.

Справочник параметров

Глобальные параметры

--lan, --endpoint, --token, --remote работают у документных команд, status и doctor. mcp принимает только --remote. --json не действует для auth set-key, self-update, skills install, skills update, completions и mcp.

Коды завершения

Без флага используются обычные значения: 0 — успех, 1 — ошибка; пустой результат считается успехом. Ошибки аргументов (нет обязательного параметра, недопустимое значение и т. п.) всегда дают 2, с --exit-code или без него. С --exit-code:
Флаг необязателен, потому что меняет смысл кода 1; существующие сценарии без него продолжают трактовать 1 как ошибку.

Параметры find-paths

Параметры outline

Параметры grep

Параметры read

Параметры list

Параметры note-save

Параметры completions

<SHELL> обязателен: bash, zsh, fish, powershell или elvish. Актуальные параметры также доступны через linkly <command> --help и в справочнике инструментов.