LinkCattle

LinkCattle CLI

安装与升级

安装与升级均使用首页显示的已验证安装命令,自动准备独立 Node/npm 并迁移可确认的旧命令入口。安装完成后启动后台服务:

linkcattle service install

service install 选择并校验当前包的平台制品、安装 Runtime 并启动用户后台服务。npm 跳过安装脚本时同样可用,无需批准脚本或运行 npm rebuild。macOS 会检查 Runtime 是否就绪,并提示需要的系统批准。升级前完成正在执行的任务。

自行管理 npm 的用户仍可使用 npm install -g linkcattle,要求 Node 位于应用包外且安装目录可写。如旧入口遮住新版,使用首页安装器迁移可确认的历史入口。应用内置 Node/npm 仍受保护,系统安全保护保持启用。

若 macOS 要求批准后台服务,按提示到系统设置完成;注册成功不等于已经运行。安装不会请求录屏、辅助功能/输入或摄像头权限,这些权限仍在需要时由你单独明确批准。

接入

linkcattle --lang zh
linkcattle --region cn
linkcattle login
linkcattle connect codex
linkcattle connect pi --executable /absolute/path/to/pi
linkcattle connect claude --profile /absolute/private/claude/profile.json
linkcattle connect dsh --profile /absolute/private/deepseek/profile.json
linkcattle connect web 127.0.0.1:8080 --name Workbench
linkcattle connect web 'http://127.0.0.1:8080/workspace?view=code#session=example'
linkcattle connect file
linkcattle connect file /绝对/共享目录
linkcattle connect api 127.0.0.1:9000 --routes /absolute/api-routes.json

所有 connect 命令可加 -qr 由手机扫码;已登录时省略即可直接认领。不默认绑定项目,需要时加 --workspace /absolute/project。Pi 可用 --agent-dir 指定既有认证目录。DSH 指 DeepSeek Harness。各 Agent 保留自身模型登录、工具权限和审批,LinkCattle 不会把它变成 Codex 沙箱。

支持手机/邮箱验证码登录,首次验证成功即创建账号。linkcattle login --mode browser|terminal 显式选择浏览器或终端;macOS/Windows 默认浏览器,SSH/CI/无浏览器时使用终端,Linux 默认终端。有效浏览器会话自动跳过验证码。--phone 手机号、--email 邮箱 或 --stdin 使用终端;标准输入支持 {phone,code}、{email,code}。邮箱与手机号不自动合并,配置及边界见账号登录。

网站连接保留完整打开路径、查询参数和片段,转发目标仍限定为同一个 loopback HTTP 根地址。包含 Shell 特殊字符的 URL 需要加引号。同一根地址重新接入会保留服务身份并更新打开入口。私密查询与片段仅保存在受保护的本地配置和加密浏览握手内,连接列表只显示根地址。

文件连接省略路径时默认共享宿主文件系统根目录(Unix /、Windows 系统盘/对应 UNC 根),不启动 Agent;可显式指定较小范围。通过签名市场安装文件管理器后,可浏览选定目录、上传文档及下载文件或 ZIP 文件夹。files.read、files.write 分别控制读写,路径和符号链接不能越出选定目录,受保护凭据及工具认证资料被排除。请使用匹配的运行库与签名文件应用。

Codex 桌面共用仅支持 macOS。首次接入前完成任务并退出独立运行的 Codex,接入成功后正常打开,无需每日运行共控脚本。后台启动使用已启用的 macOS 系统代理,既有代理环境变量优先。

Mac 应急远控

macOS CLI 通过 ~/Applications/LinkCattle Runtime.app 统一承接系统权限。独立的 macOS ARM64 Core 0.1.1 发行包已通过 Developer ID 签名、Apple 公证和 Gatekeeper。CLI 平台组件仍须各自完成签名与公证验收。升级提示需要 setup 时,先看 linkcattle permissions status,再主动打开设置;录屏、输入和摄像头在获准前继续拒绝。

macOS ARM64 CLI 包包含 Runtime 与应急远控适配器。在被控 Mac 本机请求权限并接入:

linkcattle permissions status
linkcattle permissions setup
linkcattle connect remote

在 macOS 系统设置中为 LinkCattle Runtime 允许屏幕录制和辅助功能,再从市场安装匹配的签名应急远控应用,在 Android 版 LinkCattle 中使用。查看要求 desktop.view;鼠标和键盘操作还要求 desktop.control 并主动选择“启用操作”。屏幕访问覆盖当前 Mac 登录用户的主显示器,包括其他应用;应用不能授予系统权限或授权 Agent 操作电脑。

要求 macOS 14 及以上,保持唤醒、登录和联网。断线释放输入,重连不重放操作。画面与传输能力取决于匹配的 Runtime 和应用;登录界面与无人值守启动仍不属于当前已登录桌面会话。自定义组件仍须遵守固定 Runtime 的权限边界,见适配器维护指南。

Qoder

Qoder CLI 1.1.37 使用自身登录。安装 Node.js 22+、npm 和 jq 后,首次接入会自动准备 SDK:

linkcattle connect qoder

需要声明 relay.qoder 的匹配 Connector 与 Coding 应用。Qoder 保留自身官方登录,配置不得包含模型 Key 或自定义端点,未接入 IDE 共控。

管理连接

linkcattle status
linkcattle list
linkcattle disconnect ID
linkcattle service status
linkcattle service restart
linkcattle service uninstall
linkcattle delete INSTANCE_ID --yes

CLI 使用一个用户后台服务,关闭终端或窗口后继续运行。电脑休眠、断网或业务程序停止时不可用。disconnect 暂停连接;卸载后台服务保留配置;delete 永久删除服务登记及分享授权,保留项目、原生会话和电脑文件。

故障修复先检查 linkcattle service status。状态提示需要修复安装时,仍可执行 linkcattle service install;它不能代替系统批准,也不授予录屏、输入或摄像头权限。

当前 Linux 源码在安装和重启服务时校验当前用户的 systemd linger,包括 root,确保最后一个 SSH 会话退出后仍运行,并在开机时启动。系统不允许设置时,明确提示执行 loginctl enable-linger <uid>,不会宣称后台已常驻。WSL 本身仍须保持运行。卸载不关闭用户的 linger,以免影响其他用户服务。

0.19.1 新增 linkcattle service restart:完成系统授权后,如提示需要重启,可运行此命令。请先结束正在执行的任务;重启时远程访问会短暂断开,之后恢复已启用的连接。账号、服务登记、项目文件和原有会话保留。命令确认新的后台进程已就绪后才提示成功,不会代替系统授权;若系统仍要求批准后台运行,请先到系统设置完成。使用时需安装包含此改动的版本。

API 访问

路由文件声明业务契约和明确能力:

{
  "business_api": {"id": "example.api", "version": "1.0.0"},
  "routes": [
    {"methods": ["GET"], "path": "/health", "requires": ["api.read"]},
    {"methods": ["POST"], "path": "/jobs", "requires": ["api.write"]}
  ]
}

上游固定为 loopback HTTP 地址。HTTP/SSE 保留业务路径;WebSocket 路由需加 websocket: true。未知路由和缺失能力均拒绝。权限文件变化会形成新实例,旧连接需显式暂停。

linkcattle access INSTANCE_ID --capabilities api.read --output /absolute/private/access.json

600 权限文件包含短期 endpoint 和 access_token,请求使用 Relay-Authorization: Bearer <access_token>。不打印、提交或分享该文件;到期后另建,不能覆盖已有文件。流处理和应用接入见在线开发者指南。

平台、地域和语言

安装包支持 macOS ARM64、Linux x64,安装时选择平台并校验摘要。Linux 面向 Ubuntu 24.04 / glibc 2.39,需要用户级 systemd。二进制与安装器已在容器检查,真实用户 systemd 启动仍未验证。Windows 使用 WSL 2 / Ubuntu 24.04,尚未实机验证。没有原生 Windows、Linux ARM64 或 musl 制品。Linux/WSL 使用 Pi、Claude 或 DSH。

中国区可用;新加坡和美国需另行配置入口,切换地域不迁移账号或服务。linkcattle --lang zh|en|ja|ru 保存语言,LINKCATTLE_LANG 覆盖当前进程;语言不改变地域。

CLI 使用 ~/.linkcattle/。配置与凭据须受保护,不打包私人目录。平台登录与模型登录各自独立。

把文件或网站发到手机

linkcattle send /absolute/path/report.pptx --expires 30m --name "研究报告" --json
linkcattle connect web http://127.0.0.1:3000 --expires 30m --notify --name "网站预览" --json

send 默认有效30分钟;--expires 支持 s/m/h,范围60秒到24小时。限时连接使用独立身份,不改变已有永久连接。文件留在电脑,只开放明确选中的文件,不开放其所在目录。电脑须保持唤醒、联网并运行 LinkCattle;网站预览还需要保留本地网站进程。到期后停止远程访问,后台重启也不会重新开放过期连接;已下载到手机的文件仍保留。

结果包含 notification_id、绑定账号的 linkcattle://notifications/... 链接和 expires_at。在同一账号的 LinkCattle 通知中打开;它不是匿名公开下载地址。notification_error 表示通知投递结果需到收件箱核对,不应盲目再创建一个连接。通知入队不等于手机实际收到。

交互式接入 Coding Agent 时,可以选择安装 LinkCattle 文件交付 skill;非交互调用不会默认安装:

linkcattle connect codex --install-skill
linkcattle connect pi --no-install-skill

仅安装到当前所选 Agent 的技能目录,已有不同内容不会覆盖,不改变模型登录和工具权限。安装后可说“把这个用 kitty 发给我”。既有会话可能需要按该 Agent 的方式刷新技能或在下一轮读取。

0.1.0 发行范围

LinkCattle 0.1.0 保留已披露的 Coding 限制:Claude、Qoder 不支持同轮追加指令;Pi、Claude、DSH、Qoder 的工具批准不等于系统级隔离;独立官方桌面或 IDE 会话不能完整接管,外部原生会话管理仍有缺口。Qoder 真实账号与模型控制、手机真机验收尚未完成。