Commit Graph
29 Commits
Author SHA1 Message Date
yanghang 0283af64e6 chore(release): publish macOS DMG only and update install notes 2026-06-22 18:17:48 +08:00
yanghang a1e44957e4 feat(desktop): standard macOS DMG and themed confirm dialogs 2026-06-22 17:23:33 +08:00
yanghang a258c75bcc fix(desktop): replace native dialogs and add mac dmg artifact 2026-06-22 16:35:44 +08:00
yanghang c2b5f39633 fix(ci): release notes 改用 --notes-file,绕开 macOS runner(bash 3.2)命令替换+引号 bug
$(cat <<'EOF' ... platform's ... EOF) 在 bash 3.2 会把撇号当未闭合引号报
'unexpected EOF'(Win/Linux 的 bash5 无此问题),导致 macOS publish 步骤失败、
release 缺 mac 包。改成写临时文件 + gh release ... --notes-file,彻底规避。
2026-06-22 03:42:51 +08:00
yanghang 9353116bc0 fix(desktop): Linux 快捷方式带图标 — .desktop Icon 指向包内 GenericAgent.png
- lib.rs: Linux ensure_desktop_shortcut 的 Icon= 改为包内 GenericAgent.png
  (Icon 需真实图片文件,原来指 AppImage 路径不显示图标),缺失时回退
  主题图标 application-x-executable
- CI: 将 src-tauri/icons/icon.png 作为 GenericAgent.png 打进 Linux 包顶层
2026-06-22 02:34:18 +08:00
yanghang eff7c83b8b feat(desktop): Linux/mac 桌面快捷方式 + 便携卸载器(对齐 Windows)
- lib.rs: ensure_desktop_shortcut 增加 Linux(写 .desktop 到 ~/Desktop 与
  ~/.local/share/applications)与 macOS(Desktop 软链 .app)实现;
  shortcut_should_ask/decide/maybe_setup_shortcut 放开到非 Windows
- 新增 desktop_release/scripts/linux/uninstall.sh 与 macos/uninstall.command:
  停 bundle 自有进程 → 删本 bundle 的快捷方式 → 删设置 → 清 WebKit/WKWebView
  数据 → 删 bundle 目录(作用域限定本 bundle,不动其他安装)
- CI: 将卸载脚本打入 Linux/mac 便携包顶层
- 已在 Ubuntu 24.04 真机验证: cargo build 通过、uninstall.sh 隔离测试通过
2026-06-22 02:00:14 +08:00
yiqi-017 15c59dd1e7 feat(desktop): add portable uninstaller for Windows
Ship uninstall.bat (top-level, double-click entry) + uninstall_windows.ps1
(worker under runtime/) in the Windows portable bundle. The uninstaller:
- gracefully stops the bridge, then force-kills bundle-owned processes on
  ports 14168/8900 (filtered by exe path so other bundles are untouched)
- removes the desktop shortcut only when it targets this bundle
- removes ~/.ga_desktop_settings.json
- schedules deletion of the bundle folder after exit (detached cmd)

Wire both scripts into the release-package workflow.
2026-06-21 22:48:26 +08:00
yanghang 5cb19fedcc ci: race-safe unified release (retry create until it exists before upload) 2026-06-19 04:14:28 +08:00
yanghang 34296b754e feat(desktop): relocatable portable — install deps into embedded python (no venv, no editable -e), prepared-marker; bilingual release notes 2026-06-19 04:05:02 +08:00
yanghang 0a250aa9ba ci(linux): avoid SIGPIPE write error when listing tarball contents under pipefail 2026-06-19 03:37:35 +08:00
yanghang 54d02806ad ci: consolidate desktop release into one workflow (portable-only, unified naming + bilingual txt, tag-triggered unified release) 2026-06-19 03:23:16 +08:00
yiqi-017 5af3d4497e ci(macos): bundle bilingual install guides (zh + en) with xattr workaround 2026-06-19 02:32:52 +08:00
yiqi-017 87bc3bd14a feat(conductor): follow desktop-selected model live + build on test_yiqi
Conductor and its subagents always used the first model (llm_no=0)
because GenericAgent() defaults to index 0 and conductor never switched.
Read ui.llmNo from ~/.ga_desktop_settings.json and apply it before each
conductor task (live follow) and on every subagent spawn, so the
conductor uses whatever model the user picked in the desktop UI.

Also enable the three desktop package workflows on the test_yiqi branch
and add frontends/conductor.py to their path filters so conductor
changes trigger a build.
2026-06-19 00:26:11 +08:00
yiqi-017 0c4b602b1b ci(macos): fix 'app is damaged' — preserve signature, add unquarantine launcher
cp -R broke the symlinks and ad-hoc code signature inside GenericAgent.app,
which makes Apple Silicon report the bundle as damaged. Copy with ditto and
re-apply an ad-hoc signature so it verifies. Also ship a 'Start
GenericAgent.command' that runs xattr -cr to clear the download quarantine
flag before launching, so users avoid the damaged/Gatekeeper prompt without
touching a terminal. README and SHA256SUMS updated accordingly.
2026-06-18 19:02:57 +08:00
yiqi-017 143a0ac3ea ci(macos): authenticate python-build-standalone API call to avoid 403 rate limit
The assemble step queried api.github.com/releases/latest anonymously,
which is capped at 60 requests/hour/IP on shared runners and failed with
HTTP 403 rate limit exceeded. Pass GITHUB_TOKEN via GH_TOKEN env and add
an Authorization header so the call uses the 1000/hour authenticated limit.
2026-06-18 18:53:16 +08:00
yiqi-017 69ba144c90 ci(macos): drop npm cache and use npm install to match win/linux
The mac workflow enabled cache: npm with cache-dependency-path pointing
at package-lock.json, but that file is gitignored and never committed, so
setup-node failed with 'unable to cache dependencies' and npm ci would
also fail without a lockfile. Align with the win/linux workflows which use
plain npm install and no cache.
2026-06-18 18:48:23 +08:00
apple f399e62d0c fix: add macOS portable runtime packaging 2026-06-18 18:33:03 +08:00
yanghang 549c8b2d0e ci: remove old linux-test-build workflow (superseded by linux-desktop-release-package) 2026-06-18 18:29:03 +08:00
yanghang ed29d93095 ci: remove old windows-test-release workflow (superseded by windows-desktop-release-package) 2026-06-18 18:26:23 +08:00
yanghang 9ba5f47a60 ci+ui: Windows portable assembly workflow; drop loading sub-text
- 新增 windows-desktop-release-package.yml: CI 构建+组装 Windows 自包含便携包
  (exe + runtime/{python,wheels,install_windows.ps1,app}),对标 Linux workflow
- loading.html: 去掉进度条下方'首次启动正在准备运行环境,仅此一次'小字
2026-06-18 17:44:42 +08:00
yanghang 9ee6a0e1a4 fix(ci): match URL-encoded python-build-standalone download url (+ -> %2B) 2026-06-18 16:50:25 +08:00
yanghang 07d34d5fbe feat(desktop): self-contained portable bundle (Windows + Linux)
- lib.rs: 跨平台首次自准备——检测自包含包(runtime/)无 venv 时,后台离线
  建 venv+装依赖再起 bridge;加载窗显示进度条;Linux 用 $APPIMAGE 定位 runtime/
- loading.html: 加 window.gaProgress 进度条 + 状态文字
- install_windows.ps1 / install_linux.sh: 加 --wheel-dir 离线 + --extra-packages
  (conductor 依赖) + GAPROGRESS 进度标记;镜像源;Linux 离线模式跳过 AppImage/图标
- install.bat: 回填 release 版(自动定位项目根 + 错误处理)
- linux workflow: 组装完整自包含便携包(内置 python + 离线 wheels + 源码 + AppImage)
2026-06-18 16:42:56 +08:00
yanghang 1676fcdba5 test linux desktop release package workflow 2026-06-17 18:53:44 +08:00
yanghang 1a81b43a96 Make desktop test workflows manual only 2026-06-17 02:54:38 +08:00
yanghang d82b0d3d3a Trigger Linux test build on test branch 2026-06-17 02:10:52 +08:00
yanghang dfdb1203bd Add Linux desktop test build workflow 2026-06-17 02:09:54 +08:00
yanghang 26394b6601 Publish Windows portable desktop executable 2026-06-16 23:54:16 +08:00
yanghang ee6dc6de8a Fix Windows workflow npm install without lockfile 2026-06-16 23:44:36 +08:00
yanghang 2fb357bc38 Add Windows desktop test release workflow 2026-06-16 23:37:45 +08:00