DSH Web 跨平台桌面启动器全教程:macOS 原生 .app + Windows 一键窗口

之前写过一版 DSH 的 macOS 启动器:一个 shell 脚本包装成的 .app,双击后自动拉起 dsh web 服务再开浏览器。能用,但打开的还是浏览器标签页,混在一堆网页里不够"应用"。 这次升级成原生应用方案,并且把整套方法整理成跨平台教程: macOS:Swift + WKWebView 编译成原生 .app,独立窗口、Dock 图标、断线自动重连 Windows:Edge/Chrome --app 模式快捷方式(零依赖),或 WebView2 原生窗口(进阶) 图标:不再手绘,直接从 DSH 源码里提取官方鲸鱼 SVG 渲染,配深蓝渐变圆角背景 最终效果(图标): 本文自包含:所有源码完整附上,照抄即可复现;也可以直接把本文链接发给任何 AI agent,让它照着做。 一、原理 DSH 的 Web 界面跑在 http://127.0.0.1:3080。所谓"桌面应用",本质就是一个固定加载这个地址的独立窗口: ...

2026-09-01 · 13 min · 2652 words · idiotfan

给 DSH 手搓一个 macOS 一键启动器:.app 结构、图标与认证的两次翻车记

日常用 DeepSeek Harness(DSH)的 Web 界面和 AI 结对干活,每次都要先开终端敲 dsh web、再开浏览器输地址,步骤琐碎。于是让 AI 直接给我做了一个 macOS 应用:双击图标就打开 DSH 页面;如果 dsh web 没在跑,它会自动在后台把服务拉起来,就绪后再弹开浏览器。 整个过程一次会话搞定,中间翻了两次挺有意思的车——一次在图标,一次在认证——记录如下。 一、应用本体:手写 .app 结构 macOS 的应用本质上就是一个遵守约定目录结构的文件夹,~/Applications/DSH.app: DSH.app/ └── Contents/ ├── Info.plist # 应用元信息(指定可执行文件、图标、Bundle ID) ├── MacOS/ │ └── dsh-launcher # 启动脚本(chmod +x) └── Resources/ └── icon.icns # 图标 不需要 Xcode,不需要 Automator,三个文件就是全部。 ...

2026-08-27 · 2 min · 421 words · idiotfan