我给 DeepSeek Harness 造了个铸造台

我给 DeepSeek Harness 造了个铸造台

大家好,我是 CyberFD

今天来介绍一下我最近在搞的开源项目:DSH Forge。 它做的事可以概括成一句话:把 DeepSeek Harness 打包成桌面应用。 构建期组合插件、锁依赖、做安装包,再带一个能验证来源的流程,基本都在这了。

为什么会有这个项目

我自己是 DSH 的用户,但平时都在Web里跑,用久了总觉得差点意思。社区里能用的 DSH 插件其实不少,可把它们凑成一个"下载就能装的桌面应用",一直没人认真做。

那就我来吧。

不过我不想只是打个包了事。把插件塞进一个 Electron 壳子很容易,问题在三个月之后:依赖升级了怎么办?插件里混了个奇怪的脚本怎么办?所以 DSH Forge 从第一天起就把重心放在构建期:

  • 组合在构建期定义distribution.yml、profile、bundle 和 catalog 决定了最终装出来是什么样

  • 宿主和插件分开apps/desktop 只负责 Electron 和平台相关的事,公开接口和内部实现隔离,DSH 本身不用动

  • 结果可复核:依赖在构建期解析并锁定,lockfile、SBOM、打包检查都会留下来当证据

说白了,你装到的每个包,我都能说清楚它从哪来、装了什么、有没有被动过。

和其他 DSH 桌面端有什么不一样

现在社区里也有别的 DSH 桌面端了,装完就能用,把 Harness 从终端搬进窗口,这点它们做得不错。但细看思路基本是同一个:把 Harness 原样套一层壳,配好界面和插件市场,你装到什么就是什么,想换组合只能等官方更新。

DSH Forge 不是这个思路。它是一个铸造框架,Harness 还是那个 Harness,"桌面端长什么样"由你来定。

最直观的差别在插件上:别的桌面端是运行期在壳里装插件;

Forge 在构建期就把插件组合进发行版,profile、catalog 把组合白纸黑字定下来,打出来的应用本身就带着你要的东西,

Fork 一份就能换掉任意组件。

依赖在构建期就被锁定,所以每次打包都可复现、有据可查,这种透明度是套壳式成品很难给的。

平台覆盖上,官方版 Windows、macOS、Ubuntu 都有安装包,其他桌面端大多还顾不上 Linux。

说到底:别人交付的是一个固定的 Harness 桌面应用,我交付的是能造这种应用的框架。

仓库中官方版只是框架产出的一个发行版,按我的偏好配好;

想要自己专属的,Fork 一份自己造。

两种用法,看你是哪种人

  • 只想用:直接去 Releases 下载安装包,挑你系统的那个,装完就能跑。这个官方版我已经维护起来了,现在带:

    • 自带皮肤,换肤不用翻配置

    • 侧边卡片栏,常用功能点一下就开

    • 内置 OTA 升级,出新版本在设置页点一下就能更新

  • 想自己改:Fork 仓库,替换或者加上你自己的插件,打一个自己的桌面端。单实例锁、窗口安全、sandbox、context isolation、升级、失败回退这些坑,我都替你踩过了,你只需要挑插件,剩下的交给 Forge。

一个我自己挺喜欢的功能

仓库里带了一个可分发的 skill。

在 Fork 的目录下跑一句 npx skills add ptonlix/dsh-forge --skill dsh-forge-add-plugin

之后直接跟 agent 说"把 dsh-better-sidebar@0.18.0-alpha.0 引入 developer",它会自己去审核来源、更新依赖、改配置,然后真的执行打包和冒烟测试。第三方脚本要跑的时候,它也会先问你要不要执行。

进度和打算

Electron 宿主、安全窗口、Profile 管理、生命周期(带 last-known-good 回退)、受管 pnpm、三平台安装包和 OTA,这些核心链路都通了。官方桌面版的皮肤、侧边卡片栏、升级功能已经能用,我自己日常也在用。文档中英双语,alpha 阶段的坑我都写在里面。

页面端插件市场、运行时切换 profile,这些还在做。

地址在这里:github.com/ptonlix/dsh...

如果你也在用 DSH,或者想做一个自己的 AI 桌面端,欢迎来提 issue、提 PR。

这项目叫 Forge,本来就是拿来给人敲打的。

相关推荐
YOU OU16 分钟前
Spring Cloud概述
后端·spring·spring cloud
半个落月29 分钟前
React JWT 登录鉴权实战:Mock、Zustand、Axios 与路由守卫全流程
后端·react.js
XingXingXxx33 分钟前
Skill 能自己变强吗?从轨迹归纳到文本空间优化的进化之路
后端
jvmind_dev1 小时前
频繁 new JedisCluster 之后,对象池为什么回不去了?
java·后端
掘金者阿豪1 小时前
给你的AI龙虾打造一间像素办公室!Star Office UI部署+公网访问完整教程
后端
学长毕业设计1 小时前
基于SpringBoot的咖啡馆管理系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
骇客野人1 小时前
SpringBoot业财一体化系统设计和落地实施方案
java·spring boot·后端
学长毕业设计1 小时前
基于SpringBoot的教学资源推荐系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
用户850869276151 小时前
一次线上文件上传 Bug 引发的区块链分布式存储深度排查
后端