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

给精酿连锁店做自动化薪酬引擎:从手写考勤、多维营收聚合到 HTML 工资单

在中小餐饮连锁店,每个月最令人头疼的除了盘点,就是算工资。 在大梦(可能实验室),两家门店涵盖了侍酒师、调酒师、咖啡师、主厨、出品厨师和兼任店长等多种角色。看似人不多,背后的算薪逻辑却极其复杂: 考勤源散落各处:有人在群里发手写考勤表照片,有人交 .xlsx,店长交 .xls 评估表,西湖夜班员工在腾讯文档里打卡。 提成与多维营收挂钩:薪酬不仅看基本工资,还挂钩部门业绩(精酿/调酒/咖啡/厨房)、班次业绩(白班/中班/晚班),甚至需要按部门 × 班次矩阵进行交叉剥离。 新 SKU 归口漂移:每个月两家店都会上新酒水或新菜品,如果菜品库没有及时维护,POS 导出的几百条订单就会分错部门。 输出要求高:算完不仅要在腾讯文档 43 列大表里逐行填平并标注店色,还要给每位员工生成带有公章、大写金额、社保代扣明细的精美工资单。 这篇文章记录我如何通过一套组合拳(Claude Fable 5 驱动的 Python 管道 + 腾讯文档 API + 响应式 HTML 工资单 + Rails 8 HR 系统集成),将原本需要耗费一整天的结薪工作缩减为 10 分钟自动化流程。 一、 考勤与数据清洗:手写照片与多格式兼容 结薪的第一步是收集出勤、法定假日、加班与请假数据。 面对不同来源的考勤资料,我们建立了一条标准化的数据摄取流水线: ...

2026-08-22 · 2 min · 284 words · idiotfan