feat(desktop): 真实 Wails 桌面应用可构建可运行

把 Wails 壳从编译不过的桩做成能启动的原生桌面应用。

- main.go: 真实 Wails v2 入口(import wails + assetserver + AssetServer 嵌入 dist +
  深色背景 #0b0d12 + OnStartup + Bind)
- app.go: App.startup 注入 ctx; ReadLocalFile 做真(os.ReadFile, 本地文件 I/O) + Ping 探活
- go.mod: GOWORK=off go mod tidy 拉全 wails v2.12 依赖树
- Makefile: desktop=GOWORK=off wails dev(原生窗口热重载); desktop-build=wails build(打包.app)
  — 用 GOWORK=off 让自包含的 desktop 独立构建,不污染后端 go.work
- .gitignore: 忽略 wails 生成物(build/ wailsjs/ package.json.md5)
- 验证: go build 出 5.7MB 原生二进制(含 webkit cgo); wails build 全过 →
  build/bin/sundynix_desktop.app(生成绑定/编译前端/编译应用/打包/自签名)
- 运行: make desktop(开发窗口) 或 make desktop-build(打包); 桌面端前端经 HTTP 连
  Gateway:8080(CORS 已放开), 需先起后端 + 配模型

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Blizzard
2026-06-11 17:33:49 +08:00
parent 21e5f6620d
commit 7a4133773c
6 changed files with 138 additions and 19 deletions
+6 -3
View File
@@ -1,4 +1,4 @@
.PHONY: infra infra-down devnats demo e2e gateway dispatcher mcp-go mcp-py mcp-py-setup web admin desktop tidy
.PHONY: infra infra-down devnats demo e2e gateway dispatcher mcp-go mcp-py mcp-py-setup web admin desktop desktop-build tidy
infra: ## 启动基础设施 (NATS / Postgres / Redis / Milvus / Neo4j)
docker compose up -d
@@ -37,8 +37,11 @@ web: ## 桌面端前端 devVite :5173,连本地 Gateway:8080
admin: ## 运维控制台 devVite :5174,配置 LLM 模型等控制面)
cd sundynix-admin && npm install && npm run dev
desktop:
cd sundynix-desktop && wails dev
desktop: ## 真实桌面端开发模式(Wails 原生窗口 + 热重载;需先 make infra + 后端 + 配模型)
cd sundynix-desktop && GOWORK=off wails dev
desktop-build: ## 打包桌面端为原生应用(产物在 sundynix-desktop/build/bin/
cd sundynix-desktop && GOWORK=off wails build
tidy:
cd sundynix-gateway && go mod tidy