linkitty-desktop 0.17.5 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,22 +4,28 @@ English · [简体中文](README.zh-CN.md)
4
4
 
5
5
  The desktop manager shares one background connection service with the Linkitty CLI. Install matching CLI and desktop packages from npm, then launch:
6
6
 
7
- ## Published npm 0.17.5 and upgrades
7
+ ## Install and upgrade 0.19.1
8
8
 
9
- The immutable macOS Apple Silicon desktop package 0.17.5 is published and requires Node.js 22+. It installs the exact `linkitty=0.17.5` dependency:
9
+ On macOS, the desktop manager is a physical `~/Applications/Linkitty.app` and shares `~/Applications/Linkitty Runtime.app` with CLI. Permission controls and QR scanning delegate to Runtime through its installed helper. The default profile retains the previous ad-hoc signing method; a rebuilt Runtime may need local authorization again.
10
+
11
+ Desktop 0.19.1 targets macOS Apple Silicon and requires Node.js 22+. It installs the exact `linkitty=0.19.1` dependency:
10
12
 
11
13
  ```sh
12
- npm install -g linkitty-desktop@0.17.5
14
+ npm install -g --allow-scripts=linkitty,linkitty-desktop linkitty-desktop@0.19.1
13
15
  ```
14
16
 
15
17
  For existing installations upgraded with npm12, update and rebuild both components:
16
18
 
17
19
  ```sh
18
- npm install -g linkitty@0.17.5 linkitty-desktop@0.17.5
20
+ npm install -g --allow-scripts=linkitty,linkitty-desktop linkitty@0.19.1 linkitty-desktop@0.19.1
19
21
  npm rebuild -g linkitty linkitty-desktop --allow-scripts=linkitty,linkitty-desktop
20
22
  ```
21
23
 
22
- Use the same custom `--prefix` for installation and rebuilding. New npm12 installations verify/extract on first native use or desktop launch. See publication acceptance. New source features require a matching verified release. Use matching verified CLI and desktop payloads.
24
+ Use the same custom `--prefix` for installation and rebuilding. Keep CLI and desktop versions matched and finish active tasks before upgrading.
25
+
26
+ Starting with 0.19.1: on macOS, npm installation scripts verify the installed Runtime signature and automatically register/start the shared background service. If npm skips the scripts, the first native CLI operation or desktop launch performs the same installation initialization. Normal users do not need a separate `linkitty service install` step; use a matching release containing this change.
27
+
28
+ If macOS requests background-service approval, complete the reported System Settings step before expecting the service to run. Installation does not request Screen Recording, Accessibility/input or camera permissions. Check `linkitty service status`; `linkitty service install` remains a repair command when indicated, without bypassing system approval.
23
29
 
24
30
  ```sh
25
31
  linkitty-desktop
@@ -28,8 +34,19 @@ linkitty-desktop --lang en
28
34
 
29
35
  Sign in, connect a local service and manage plugins, access and sharing. The interface supports Chinese, English, Japanese and Russian. `--lang zh|en|ja|ru` saves a preference shared with the CLI; an existing application reads it at next launch. Account region is configured separately.
30
36
 
31
- On macOS, installation creates a managed link at `~/Applications/Linkitty.app` without overwriting unrelated applications. Closing the window leaves the background connection running; sleep, network loss or stopping the service makes the computer unavailable.
37
+ On macOS, installation places the verified application at `~/Applications/Linkitty.app` without replacing an unrelated application. Closing the window leaves the shared background connection running; sleep, network loss or stopping the service makes the computer unavailable.
32
38
 
33
39
  Codex session sharing supports macOS. Finish tasks and quit independently running Codex before the first connection; open it normally after success. Model sign-in and existing agent permissions remain with your agent.
34
40
 
35
- Native distribution currently targets macOS Apple Silicon. Linux and Windows desktop builds require verification on those systems; missing payloads fail explicitly. The macOS App is ad-hoc signed and not notarized. Keep system security protections enabled.
41
+ The shared Runtime includes the emergency desktop adapter and its native backend. On the Mac being controlled, run:
42
+
43
+ ```sh
44
+ linkitty permissions setup
45
+ linkitty connect remote
46
+ ```
47
+
48
+ Approve Screen Recording and Accessibility locally and install the matching signed Emergency desktop plugin. Viewing and control have separate grants; control additionally requires an explicit action. The current Mac login's primary display is accessible, including other applications. Keep macOS 14+ awake, logged in and online. Emergency desktop uses up to 3 JPEG snapshots per second; Windows/Linux hosts, audio, clipboard/file transfer, login screens and unattended startup are outside this version. See the [CLI guide](../linkitty/README.md#emergency-mac-desktop) for authorization and connection details.
49
+
50
+ Native distribution currently targets macOS Apple Silicon. Linux and Windows desktop builds require verification on those systems; missing payloads fail explicitly. The current macOS profile remains ad-hoc signed with no Apple notarization claim. Fixed installation and one Runtime permission owner are retained, but upgrades may report that local authorization is required again; affected operations remain denied until granted. Developer ID remains an optional separate profile with notarization/Gatekeeper checks. Keep system security protections enabled.
51
+
52
+ After granting a system permission that requires a restart, finish active tasks and run `linkitty service restart`. Remote access briefly disconnects; enabled connections then recover with account and session data preserved. This requires a CLI release containing the restart command.
package/README.zh-CN.md CHANGED
@@ -4,22 +4,28 @@
4
4
 
5
5
  桌面管理端与 Linkitty CLI 共用一个后台连接服务。从 npm 安装匹配的 CLI 和桌面包,然后启动:
6
6
 
7
- ## 已发布的 npm 0.17.5 与升级
7
+ ## 安装与升级 0.19.1
8
8
 
9
- macOS Apple Silicon 桌面包0.17.5不可变包已发布,需要Node.js 22+,自动安装精确的 `linkitty=0.17.5` 依赖:
9
+ macOS 桌面管理端实际安装在 `~/Applications/Linkitty.app`,与 CLI 共用 `~/Applications/Linkitty Runtime.app`;权限入口和二维码摄像头通过已安装助手交给 Runtime。默认沿用旧版 ad-hoc 临时签名,重新构建后 Runtime 仍可能需要本地重新授权。
10
+
11
+ 桌面包 0.19.1 面向 macOS Apple Silicon,需要 Node.js 22+,自动安装精确的 `linkitty=0.19.1` 依赖:
10
12
 
11
13
  ```sh
12
- npm install -g linkitty-desktop@0.17.5
14
+ npm install -g --allow-scripts=linkitty,linkitty-desktop linkitty-desktop@0.19.1
13
15
  ```
14
16
 
15
17
  已有安装使用npm12升级时同步更新并重建两项组件:
16
18
 
17
19
  ```sh
18
- npm install -g linkitty@0.17.5 linkitty-desktop@0.17.5
20
+ npm install -g --allow-scripts=linkitty,linkitty-desktop linkitty@0.19.1 linkitty-desktop@0.19.1
19
21
  npm rebuild -g linkitty linkitty-desktop --allow-scripts=linkitty,linkitty-desktop
20
22
  ```
21
23
 
22
- 安装和重建的自定义 `--prefix` 必须相同。npm12新装在首次原生操作或桌面启动时校验解压,见发行验收。新源码功能须使用相匹配的已验证发行,CLI和桌面须使用匹配的已验证制品。
24
+ 安装和重建的自定义 `--prefix` 必须相同。CLI 和桌面版本须保持一致,升级前完成正在执行的任务。
25
+
26
+ 从 0.19.1 开始:macOS 的 npm 安装脚本校验已安装 Runtime 的签名后,自动注册并启动共享后台;npm 跳过脚本时,首次原生 CLI 操作或桌面启动执行同一安装初始化。正常用户无需另行执行 `linkitty service install`,请使用包含此改动的匹配发行版。
27
+
28
+ 若 macOS 要求批准后台服务,按提示到系统设置完成后才能预期后台运行。安装不会请求录屏、辅助功能/输入或摄像头权限。先通过 `linkitty service status` 检查;提示需要修复安装时仍可用 `linkitty service install`,不会绕过系统批准。
23
29
 
24
30
  ```sh
25
31
  linkitty-desktop
@@ -28,8 +34,19 @@ linkitty-desktop --lang zh
28
34
 
29
35
  登录后接入本机服务,管理插件、授权和分享。界面支持中文、英文、日文、俄文。`--lang zh|en|ja|ru` 保存与 CLI 共用的语言,已有应用下次启动时读取;账号地域单独配置。
30
36
 
31
- macOS 安装在 `~/Applications/Linkitty.app` 创建受管理链接,不覆盖无关应用。关闭窗口后后台连接继续;休眠、断网或停止服务时不可达。
37
+ macOS 将校验后的应用实际安装到 `~/Applications/Linkitty.app`,不替换无关应用。关闭窗口后共享后台连接继续;休眠、断网或停止服务时不可达。
32
38
 
33
39
  Codex 会话共用支持 macOS。首次接入前完成任务并退出独立运行的 Codex,成功后正常打开。模型登录和既有执行权限仍由 Agent 管理。
34
40
 
35
- 原生发行目前面向 macOS Apple Silicon;Linux 和 Windows 桌面构建需对应系统验证,缺少制品时明确失败。macOS App 采用临时签名,尚未公证,请保持系统安全保护开启。
41
+ 共享 Runtime 包含应急远控适配器及原生后端。在被控 Mac 本机运行:
42
+
43
+ ```sh
44
+ linkitty permissions setup
45
+ linkitty connect remote
46
+ ```
47
+
48
+ 在本机授予屏幕录制和辅助功能权限,并安装匹配的签名应急远控插件。查看和操作分别授权,操作还需主动启用。访问范围为当前 Mac 登录用户的主显示器,包括其他应用。要求 macOS 14 及以上并保持唤醒、登录和联网;应急模式最高每秒 3 张 JPEG 快照,不支持 Windows/Linux 被控端、音频、剪贴板/文件传输、登录界面及无人值守启动。授权和接入细节见 [CLI 指南](../linkitty/README.zh-CN.md#mac-应急远控)。
49
+
50
+ 原生发行目前面向 macOS Apple Silicon;Linux 和 Windows 桌面构建需对应系统验证,缺少制品时明确失败。当前 macOS 分支继续采用 ad-hoc 临时签名,不宣称 Apple 公证。固定安装路径与 Runtime 统一权限主体保留,但升级后仍可能提示本地重新授权;未获准前相关敏感操作继续拒绝。Developer ID 保留为独立可选分支,仍需公证/Gatekeeper 检查。请保持系统安全保护开启。
51
+
52
+ 完成系统授权后,如提示需要重启,请先结束正在执行的任务,再运行 `linkitty service restart`。远程访问会短暂断开,随后恢复已启用的连接;账号和原有会话保留。需使用包含重启命令的 CLI 版本。
package/artifacts.json CHANGED
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "darwin-arm64": {
3
3
  "archive": "payload/darwin-arm64.tgz",
4
- "sha256": "b9a3980a3f610f8f32cbaf40dec5d047cbc5aa68cfce1193318b9330b582de3d",
4
+ "sha256": "4c6e5d0489965065ad8cf635593ac81c59718e4cdaf24b1df9b658b12ef8dad9",
5
+ "source_commit": "c03bea393a67b31df3698ac86a71f4bc37a17be6",
6
+ "source_tree": "77452abd5224b4b638ada65b023a28939e3d4774",
7
+ "signing_profile": "adhoc",
8
+ "requirement": "cdhash H\"f825f151bb84ab51fbcf55c3938ae8defb72f7c9\" or cdhash H\"29ccbf88adb7c44131111fa331d9712b0f2474f4\"",
9
+ "runtime_requirement": "cdhash H\"59f7ca411a5089b2cdcd521b661f6aac13b74b75\"",
5
10
  "executable": "Linkitty.app"
6
11
  }
7
12
  }
@@ -6,6 +6,7 @@ const path=require('node:path');
6
6
  const {spawn}=require('node:child_process');
7
7
  const {ensureInstalled}=require('linkitty');
8
8
  try{
9
+ if(process.argv.includes('--recover')){console.log(JSON.stringify(require('linkitty/lib/installed-runtime.cjs').recoverDesktop()));process.exit(0);}
9
10
  const languageIndex=process.argv.indexOf('--lang');
10
11
  if(languageIndex>=0)setLanguage(process.argv[languageIndex+1]);
11
12
  if(process.argv.includes('--version')){console.log(require('../package.json').version);process.exit(0);}
package/lib/install.cjs CHANGED
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
  const {t}=require("linkitty/lib/i18n.cjs");
3
3
  try{
4
- require('linkitty').install(require('node:path').resolve(__dirname,'..'),'linkitty-desktop');
4
+ const result=require('linkitty').install(require('node:path').resolve(__dirname,'..'),'linkitty-desktop');
5
5
  console.log(t('Linkitty Desktop 已安装。运行 linkitty-desktop 打开。'));
6
+ if(result.background_approval_required)console.log(t('请在系统设置 → 通用 → 登录项与扩展中允许 Linkitty Runtime 在后台运行,然后重试。'));
7
+ else if(result.background_ready===false)console.log(t('后台尚未就绪,请运行 linkitty service install 后重试;如系统要求,请允许后台运行。'));
6
8
  }catch(error){console.error(error.message);process.exitCode=1;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkitty-desktop",
3
- "version": "0.17.5",
3
+ "version": "0.19.1",
4
4
  "description": "Linkitty 桌面管理客户端与本机服务接入",
5
5
  "license": "UNLICENSED",
6
6
  "engines": {
@@ -23,6 +23,6 @@
23
23
  "postinstall": "node lib/install.cjs"
24
24
  },
25
25
  "dependencies": {
26
- "linkitty": "0.17.5"
26
+ "linkitty": "0.19.1"
27
27
  }
28
28
  }
Binary file