feat(product-source): HoloLake Desktop v0.5.0 — Electron 桌面知识库应用

铸渊 2026-08-08 开发,冰朔架构决策:
- 知识库放桌面,不放服务器
- Forgejo 是 Git 引擎,光湖自己维护更新,不接上游
- 不部署 Forgejo 源码,只引用 MANIFEST + 离线包

架构:
- Electron v35(Mac arm64)+ Vite + React 19
- 复用 guanghu-knowledge-base 前端组件
- Electron 主进程自动启动 Express + Git 引擎后端
- 数据存储:~/Library/Application Support/HoloLake Era/data/
- Forgejo 离线包(桌面)作为 Git 远程仓库对接

构建:
- npx electron-builder --mac --dir → HoloLake Era.app
- 签名后续用 Developer ID 补(CSC_IDENTITY_AUTO_DISCOVERY=false)

文件:
- electron/main.ts(Electron 主进程:窗口+服务器+生命周期)
- electron/preload.ts(IPC 安全桥梁:Forgejo 远程管理接口)
- forgejo/INTEGRATION.md(Forgejo 集成声明 + 更新策略)
- forgejo/MANIFEST.sha256(离线包校验清单)
- forgejo/icon.icns(应用图标,来自 HoloLake Era v0.4.6)
- vite.config.ts(复用知识库前端,构建到 dist/)
- tsconfig.electron.json(Electron TypeScript 配置)
This commit is contained in:
冰朔 2026-08-08 07:21:04 +08:00
commit 047f37e87e
10 changed files with 7617 additions and 0 deletions

View file

@ -0,0 +1,64 @@
{
"name": "hololake-desktop",
"version": "0.5.0",
"description": "HoloLake Era 桌面版 — Git 驱动的知识库管理",
"main": "dist-electron/main.js",
"type": "module",
"scripts": {
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
"dev:server": "tsx watch ../guanghu-knowledge-base/server/index.ts",
"dev:client": "vite",
"dev:electron": "electron .",
"build": "vite build && tsc -p tsconfig.electron.json",
"pack": "npm run build && electron-builder --mac --dir",
"dist": "npm run build && electron-builder --mac",
"preview": "vite preview"
},
"dependencies": {
"express": "^5.1.0",
"cors": "^2.8.5",
"simple-git": "^3.27.0",
"gray-matter": "^4.0.3",
"marked": "^15.0.0",
"diff": "^7.0.0"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/cors": "^2.8.17",
"@types/diff": "^6.0.0",
"@types/node": "^22.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.0",
"concurrently": "^9.1.0",
"electron": "^35.0.0",
"electron-builder": "^26.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tsx": "^4.19.0",
"typescript": "^5.7.0",
"vite": "^6.2.0"
},
"build": {
"appId": "com.guanghu.hololake-desktop",
"productName": "HoloLake Era",
"mac": {
"category": "public.app-category.productivity",
"icon": "forgejo/icon.icns",
"target": [
{ "target": "dmg", "arch": ["arm64"] }
]
},
"asar": false,
"files": [
"dist/**/*",
"dist-electron/**/*",
"forgejo/MANIFEST.sha256",
"!**/.DS_Store",
"!**/._*"
],
"directories": {
"output": "release"
}
}
}