ffyfox/dsh-linux-integration ↗★ 1

dsh-linux-integration

DeepSeek Harness 的 Linux 原生桌面集成:XDG 桌面入口、纯净无边框独立窗口,以及由自己启动的服务随窗口关闭而停止的生命周期管理。 适合 Linux 桌面用户,需要 XDG 快捷方式、独立无边框窗口及随窗口关闭停用服务。

패키지
dsh-linux-integration
호환성
미검증
Cordis peer 범위
*
버전
0.6.0
라이선스
MIT
최근 업데이트
2026. 9. 26.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ffyfox/dsh-linux-integration

使用

从程序启动器(KRunner、应用菜单或任务栏固定项)点击 DeepSeek Harness。

启动器按以下顺序工作:

  1. 取单实例锁。只有一个实例负责管理服务生命周期。
  2. 探测 dsh web 是否已在监听。HTTP 401 也算作「在监听」。
  3. 若未在监听,启动一个 dsh web,并记录「这是本实例启动的」。
  4. 轮询等待带 token 的鉴权地址出现。
  5. 用 --app 模式打开独立窗口。
  6. 等待窗口进程退出。

窗口关闭后,如果服务是本实例启动的,就向进程组发送 SIGTERM;超时后发送 SIGKILL。

不是本实例启动的服务不会被停止。 这包括你在终端中手动启动的 dsh web。因此「关闭窗口后服务仍在运行」在某些情况下是正确行为。

关于带 token 的地址

dsh web 有一道鉴权围栏:不带 cookie 访问 / 返回 HTTP 401(dsh web authentication required)。进程每次启动会生成一个随机的 launch token,只有 GET /?token=... 这一次交换会种下签名 cookie,之后裸地址才可用。该 cookie 绑定 host 与 port,有效期 30 天。

因此首次启动、cookie 过期后,或使用一个从未登录过的浏览器配置目录时,都需要 token。本插件的做法是让运行在 dsh web 进程内部的插件行调用官方 API ctx.connection.authenticatedUrl(),把结果写入运行时文件供启动器读取。这样无论服务由谁启动,插件都能取得 token。

配置

配置文件位于 ~/.config/dsh-lxi/config.json,首次安装时自动生成。

键说明
host / port启动器启动 dsh web 时使用的地址。
window独立窗口的初始尺寸,逻辑像素。
browserauto,或 chrome / chromium / brave / edge / vivaldi / opera,或浏览器可执行文件的绝对路径。
profileModededicated(默认)或 shared。
profile桌面图标启动哪个 dsh profile。默认 web(与 dsh web 等价)。
devProfile非空时,桌面入口右键菜单多一个「以开发配置运行」。见下文「日常那套与开发那套」。
autoInstall是否在 dsh web 启动时自动安装或自愈。
manageKwinRules是否托管 KWin 窗口规则,仅 KDE 生效。
manageHyprlandRules是否托管 Hyprland 窗口规则,仅 Hyprland 生效。默认关闭,见下文「Hyprland 与窗口尺寸」。
terminalAction / terminalCommand桌面入口右键菜单中的「以终端界面运行」。留空则自动探测已安装的终端。

修改配置有三种方式。推荐第一种:


# 1. 在 Web 设置页里改:插件 → 插件配置 → 桌面集成。保存后立即生效。