Skip to content

feat: 支持 Windows 平台 #28

@Code-MonkeyZhang

Description

@Code-MonkeyZhang

背景

目前项目只构建和发布 macOS 安装包。Windows 的打包配置(electron-builder、release.yml)已经写好了但被注释掉,看起来好像只要取消注释就能用,但实际上还有几个跨平台兼容性问题需要先解决。

现状

桌面端主进程代码已经做了 Windows 适配的准备工作:二进制文件名区分了 .exe 后缀,进程清理分别用了 taskkill(Windows)和 killall(macOS),窗口也针对 Windows 做了无边框处理。electron-builder 配置了 NSIS 安装程序,CI 里的 Windows 构建步骤也写好了。

但 server 端的数据目录用了 xdg-basedir 这个库来决定路径(macOS 上是 ~/.local/share/persona-agent/),这个库在 Windows 上返回的是 undefined,代码里直接 throw 了,所以 server 在 Windows 上跑不起来。需要改成 Windows 上用 %APPDATA%/persona-agent/,或者直接用 Electron 的 app.getPath('userData') 传给 server。

另外 bun build --compile 在 Windows 上输出的二进制后缀是 .exe,而 build 脚本里的 --outfile 写死成了 persona-agent-server 没带后缀。electron-builder.ymlextraResources 里引用的路径也是按 macOS 写的。cloudflared 的路径引用(getCloudflaredBinPath)在 Windows 上也需要加 .exe 后缀。

这些问题都不大,但需要逐个排查和修复,然后才能正式开启 Windows 构建。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions