为 Linux 打包桌面应用并修复图片解码崩溃
29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add destroyor/deepseek-harness-linux该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 43 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
安装时即执行脚本命令参数由运行时变量拼接读写/删除本地文件读取剪贴板或密钥环境变量写入剪贴板(不计风险)发起外部网络请求
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-browser-use@deepseek-ai/dsh-experimental-browser-use-runtime@deepseek-ai/dsh-experimental-browser-use-playwright-mcp@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp@deepseek-ai/dsh-experimental-browser-use-stagehand-native@deepseek-ai/dsh-computer-use@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp@deepseek-ai/dsh-experimental-computer-use-cua-driver-native@deepseek-ai/dsh-llm-replay@deepseek-ai/dsh-tool-session-query@deepseek-ai/dsh-web-fetch-http给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 打包Linux桌面应用
- 修复图像解码崩溃
非官方 DeepSeek Harness Linux(x86_64)桌面构建目标,含 sharp/Electron 图像解码崩溃的修复
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness
DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)。
它构建于一切皆插件的架构之上,由 Cordis 驱动,其设计参见论文 _A Programming Paradigm for Spatiotemporal Composability_。
文档:https://deepseek-harness.github.io/deepseek-harness/
Linux(x86_64)桌面构建 —— 本快照
本仓库是官方源码 dsh-v0.1.6-alpha.2 标签的快照,并附带一个补丁,为 pnpm run package:desktop:dir 增加了 linux-x64 桌面构建目标。上游只发布 mac-arm64、mac-x64 与 win-x64,不支持 Linux 桌面构建。
该补丁还修复了 sharp 的图片解码崩溃——否则打包后的应用在 Linux 上无法正常使用;并让 Linux 窗口获得 Windows 上已有的无边框标题栏。
展开完整文档(README 剩余 1 节)
DeepSeek Harness
DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)。
它构建于一切皆插件的架构之上,由 Cordis 驱动,其设计参见论文 _A Programming Paradigm for Spatiotemporal Composability_。
文档:https://deepseek-harness.github.io/deepseek-harness/
Linux(x86_64)桌面构建 —— 本快照
本仓库是官方源码 dsh-v0.1.6-alpha.2 标签的快照,并附带一个补丁,为 pnpm run package:desktop:dir 增加了 linux-x64 桌面构建目标。上游只发布 mac-arm64、mac-x64 与 win-x64,不支持 Linux 桌面构建。
该补丁还修复了 sharp 的图片解码崩溃——否则打包后的应用在 Linux 上无法正常使用;并让 Linux 窗口获得 Windows 上已有的无边框标题栏。
补丁改了什么
| 文件 | 改动 |
| apps/desktop/scripts/desktop-build-paths.mjs | 在 SUPPORTED_TARGETS 中接受 linux-x64 |
| apps/desktop/scripts/package-target.ts | 新增 linux-x64 目标(--linux --x64) |
| apps/desktop/scripts/desktop-upload-plan.ts | 注册 linux-x64 上传描述符 |
| apps/desktop/scripts/desktop-package-environment.mjs / .d.mts | 读取 .env.linux、使用共享配置、校验 Linux 目标 |
| apps/desktop/scripts/desktop-auto-update-environment.mjs / .d.mts | 在 UPDATE_TARGETS 中接受 linux-x64 |
| apps/desktop/scripts/prepare-runtime.ts | Linux 上使用扁平布局的 electron 可执行文件 |
| apps/desktop/scripts/prepare-primary-runtime.ts | 主运行时平台上报为 linux |
| apps/desktop/scripts/prepare-dsh.ts | Linux 的 electron 路径;打包时把 sharp 重新链接到系统 libvips |
| apps/desktop/scripts/primary-runtime-lock.json | 补上 linux-x64 的 Node 压缩包、Python 构建与 wheel 的 URL 及 SHA-256 |
| apps/desktop/scripts/electron-builder-config.mjs | Linux 图标、executableName: 'deepseek-harness',且不注入强制更新策略 |
| apps/desktop/.env.linux(新增) | Linux 发布配置;对齐 .env.windows.example,不含签名凭据 |
| apps/desktop/src/main.ts | Linux 并入「隐藏标题栏 + 窗口控件覆盖层」路径,不再安装原生菜单栏,并把已安装的 .desktop 文件名声明为 shell 的应用 ID |
| apps/desktop/src/preload-windows.ts | Linux 上同样发布标题栏标记、应用/编辑菜单项与标题栏配色 |
| apps/desktop/tests/main-startup.spec.ts / preload-windows.client.spec.ts | 覆盖 Linux 的标题栏、菜单与标题栏菜单行为 |
Linux 上的 sharp 崩溃与修复
sharp 自带的 @img/sharp-libvips-linux-x64 是静态链接 glib 构建的 libvips,该库导出了自己的一套 g_ 符号。在 Linux 上,Electron 会把系统 libglib-2.0.so.0 载入全局符号作用域,于是 libvips 的内部调用被解析到 Electron 的 glib,而不是它自己的那一份。这种错配会破坏堆内存:编码仍然正常,但解码任意图片都会让进程 SIGSEGV 崩溃*(上游问题:electron#46323,尚未修复)。
因此构建阶段会带上 SHARP_FORCE_GLOBAL_LIBVIPS=1 从源码把 sharp 重新编译到系统 libvips 上,让运行时与 Electron 共用同一份 glib。重建出的 addon 会覆盖 @img/sharp-linux-x64/lib/ 中的预编译产物——该目录被 asar 解包,因此 .node 文件仍可从 app.asar 内部 dlopen。该步骤位于生产 node_modules 拷贝之后、运行时清单哈希计算之前,从而保证打包载荷的一致性。
依赖要求
- Node.js、pnpm(经 Corepack),以及带 node-gyp、pkgconf 的 C++ 工具链
- libvips ≥ 8.18(含开发文件)—— 8.18.6 正好满足 sharp 0.35.4 的要求
- libheif 为可选;未安装时 libvips 会打印警告,且无法解码 HEIC/AVIF
构建
pnpm install --frozen-lockfile
pnpm run package:desktop:dir
产物位于 apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked/。
运行
apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked/deepseek-harness
在 Arch Linux 上安装
chrome-sandbox 必须属于 root:root 且权限为 4755,否则 Electron 会拒绝启动。将构建产物安装到 /opt 并加入 PATH:
sudo install -d /opt/deepseek-harness
sudo cp -r apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked/. /opt/deepseek-harness/
sudo chown -R root:root /opt/deepseek-harness
sudo chmod 4755 /opt/deepseek-harness/chrome-sandbox
sudo ln -sf /opt/deepseek-harness/deepseek-harness /usr/bin/deepseek-harness
验证修复
readelf -d apps/desktop/.desktop-build/targets/linux-x64/artifacts/linux-unpacked/resources/app.asar.unpacked/dsh/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.4.node | grep NEEDED
libvips-cpp.so.42, libvips.so.42, libglib-2.0.so.0 — no statically linked glib
打包运行时冒烟测试会报告 sharp: true;在 Electron 内(ELECTRON_RUN_AS_NODE=1)执行一次编码/解码往返的退出码为 0,而在修复前每次都会段错误。
已知限制
- 非官方改动,上游不予支持;锁定标签更新后补丁可能需要同步调整。
- apps/desktop/.env.linux 选择的是 test 自动更新源。
- 在 Electron 下 sharp 仍会打印 [SharpElectronLinux] 警告;改用系统 libvips 后它已是无害提示。
- Linux 构建不注入强制更新策略:该策略服务只提供 Windows 与 macOS 通道,而桌面端在存在策略时会拒绝在其它平台上启动。
- Linux 标题栏使用 Electron 的窗口控件覆盖层(Window Controls Overlay),窗口按钮由 Electron 依据页面上报的颜色绘制,不再跟随 GTK 主题。
- Linux 的程序坞图标通过 XDG 应用 ID 关联,而该 ID 由 Electron 从 app.name 推导——这里是 npm 包名,任何已安装的 .desktop 条目都不叫这个名字。因此 shell 在 ready 之前声明桌面名为 deepseek-harness;缺少这一步时,程序坞会退回通用可执行文件图标。
开发者预览
DeepSeek Harness 处于 _开发者预览_ 阶段,正在快速迭代。未来将出现破坏兼容性的变更。
运行本项目前,请阅读安全说明。
运行
通过 npm 运行
安装 Node.js,然后运行:
npx @deepseek-ai/dsh web
该命令默认会在 http://127.0.0.1:3080 启动 Web UI,本机启动时还会用默认浏览器打开页面。通过 SSH 启动时只打印宿主机 URL,因为本地转发地址由 SSH 客户端或编辑器持有。传入 --no-open 可仅运行服务器而不打开浏览器。详见 Web UI 指南。
从源码运行
如需从仓库源码运行:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
pnpm run build 会准备仓库产物。pnpm dsh web 会直接使用这些已构建产物,不会重新构建。
社区与支持
- 通过 GitHub Discussions 提交反馈或 bug 报告。
- 为你的插件仓库添加 dsh-plugin 话题,便于被发现。
- 欢迎加入 DeepSeek Harness 企微群:扫码添加企微小助手并填写入群问卷,完成后小助手会邀请你入群。
企微小助手入群问卷微信公众号
参与贡献
参见 CONTRIBUTING.md。
开发
请先阅读开发指南与架构文档。
面向 agent:请遵循 AGENTS.md。
引用
@misc{deepseek-harness2026,
title={DeepSeek Harness: Everything is a Plugin},
author={DeepSeek-AI},
year={2026},
publisher={GitHub},
howpublished=},
}
许可证
MIT
第三方依赖及其许可证见 THIRD_PARTY_NOTICES.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
destroyor/deepseek-harness-linux
为 Linux 打包桌面应用并修复图片解码崩溃
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目