MaimoryLab/dib
DSH-in-Box packages DeepSeek Harness with a private Node.js runtime and a small Go launcher.
catalog 简介 / catalog descriptioncatalog description:DSH-in-Box: A DSH runtime and plugin packager
项目介绍Project Overview
dib 是 DSH-in-Box 打包工具,将 DeepSeek Harness 与私有 Node.js 运行时组合,由 Go 启动器调用。GUI 目标使用系统 WebView:Windows 用 WebView2,macOS 用 WKWebView,Linux 用 WebKitGTK;serve 目标仅启动 dsh web。适用于需要为多平台打包 DSH 的场景。注意 GUI 因 CGO 限制需借助构建矩阵,跨平台需配置交叉工具链;预设插件需以构建后包形式发布,pnpm 生命周期脚本在打包时禁用。
dib is a packaging tool that bundles DeepSeek Harness with a private Node.js runtime, driven by a small Go launcher. GUI targets rely on the OS WebView (WebView2 on Windows, WKWebView on macOS, WebKitGTK on Linux) and ship no browser engine; serve targets only launch dsh web. Use it to produce DSH distributions for multiple platforms. Native WebViews require CGO, so a build matrix is needed for the six-target release and a cross-toolchain plus SDK for cross builds; preset plugins must be published as prebuilt packages because pnpm scripts are disabled during packaging.
请帮我了解并安装插件:【dib】【https://github.com/MaimoryLab/dib】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:MaimoryLab/dib
把 MaimoryLab/dib 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dib
DSH-in-Box packages DeepSeek Harness with a private Node.js runtime and a small Go launcher.
gui targets use the operating system WebView: WebView2 on Windows, WKWebView on macOS, and WebKitGTK on Linux. No browser engine is included. serve targets only start dsh web.
Build
Requirements: Go, pnpm 11.21.0, and network access. GUI launchers also require a C/C++ toolchain for the target. Linux requires the GTK 4 and WebKitGTK 6.0 development packages while building, and their runtime libraries on the destination machine.
go run . -dry-run
go run . -target darwin/arm64
go run . # build every configured target
Because native WebViews use CGO, the simplest six-target release is a build matrix that runs go run . -target "$TARGET" on the matching Windows, macOS, and Linux architecture. Cross builds can set cc and cxx on a target in dib.yaml when a suitable cross-toolchain and target SDK are installed:
targets:
- os: windows
arch: arm64
cc: aarch64-w64-mingw32-gcc
cxx: aarch64-w64-mingw32-g++
Each archive contains dshbox, Node.js, @deepseek-ai/dsh, and packages listed in dsh.plugins. pnpm lifecycle scripts are disabled during packaging; preset plugins should therefore be published as built packages.
Set icon to a 512x512 PNG. dib converts it into the Windows executable/installer/shortcut icon, the macOS app and DMG volume icon, and the Linux desktop/taskbar icon.
icon: icon.png
node.base_url defaults to https://nodejs.org/dist; the example uses npmmirror for networks where nodejs.org is unavailable. The selected source must expose Node's normal v<version>/SHASUMS256.txt layout. Node downloads, the pnpm store, and installed DSH runtimes are reused from cache.
macOS DMG and signing
macos.format: dmg creates an HFS+/LZMA DMG containing DeepSeek Harness.app and an Applications shortcut. HFS+ avoids APFS padding differences between macOS runners. DMG creation requires macOS. Use tar.gz to keep the portable archive layout.
Unsigned builds need no identity:
macos:
format: dmg
sign:
enabled: false
Signed builds sign and verify both the app bundle and final DMG:
macos:
format: dmg
sign:
enabled: true
identity: "Developer ID Application: Example Corp (TEAMID)"
Windows NSIS
windows.format: nsis creates a compressed installer with user or machine scope, architecture and Windows version checks, shortcuts, and an uninstaller. It requires makensis; use zip to keep the portable archive.
Install the packager with brew install nsis on macOS or apt install nsis on Debian/Ubuntu build hosts.
windows:
format: nsis
app_name: DeepSeek Harness
publisher: DeepSeek AI
install_scope: user
The installer uses the system WebView2 runtime and does not bundle a browser engine.
Linux packages
Linux can emit either or both nFPM-backed formats. The packages install the runtime under /opt/dsh, link dshbox into /usr/bin, and add a desktop entry. Building requires the nfpm command.
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.47.0
linux:
formats: [deb, rpm]
package_name: dsh
maintainer: DeepSeek Harness <https://github.com/MaimoryLab/dib/blob/HEAD/noreply@deepseek.com>
depends:
deb: [libgtk-4-1, libwebkitgtk-6.0-4]
rpm: [gtk4, webkitgtk6.0]
Dependency package names vary between distributions; set both lists for the distributions you publish to.
Official releases
Run the Release official DSH workflow manually and enter an exact published DSH version without a leading v. It builds unsigned macOS DMGs, Windows NSIS installers, and Linux DEB/RPM packages for amd64 and arm64, then publishes them under the matching v<dsh-version> GitHub Release. Official release builds always exclude preset plugins.
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/distilly
titanwings/colleague-skill