Taylor-Cat/dsh-macos-desktop ↗★ 3
dsh-macos-desktop
Retro macOS (System 7 / Mac OS 9) desktop UI for DSH web: chat, files, terminal, browser, docs and knowledge base inside one pixel desktop
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Taylor-Cat/dsh-macos-desktop说明文档
阅读完整 README ↗3. 配置文件逐行解释
3.1 package.json 关键字段
{
"name": "dsh-macos-desktop", // 包名 = 插件 ID = 客户端 bundle id,三处必须一致
"type": "module", // 宿主半侧是 ESM(lib/index.js 用 named export)
"main": "lib/index.js", // 宿主半侧入口
"exports": {
".": { "default": "./lib/index.js" },
"./client": { "default": "./lib/client.js" }, // 浏览器半侧入口(client-modules 从这里读)
"./cordis.patch.yml": "./cordis.patch.yml", // bundle patch 导出
"./package.json": "./package.json"
},
"dsh": {
"bundle": { "patch": "./cordis.patch.yml" }, // 声明这是 bundle,patch 参与宿主组合层
"client": { "platform": "web" } // 声明这是 web 客户端插件,进 __DSH_BOOT__
}
}
关于字段的一点校正:DSH 0.1.x 的
dsh.client没有id字段——插件 ID 就是包名,客户端 bundle 的id也等于包名。字段只有platform(必填,"web")和可选的inject(跨包模块依赖边)、immediately。不要写"client": { "id": "..." },那样既无效还容易和真实包名不一致。
3.2 cordis.patch.yml
# 2) 确认组合进了配置树(应能看到 dsh-macos-desktop 这一 row)
dsh --profile web --dump-config