Skip to content
This repository was archived by the owner on May 6, 2026. It is now read-only.

Commit d03fb6c

Browse files
yysjasmineclaude
andcommitted
release: bump to 1.0.4 — robust pnpm lookup on ui:build retry
Real user report: OpenClaw install on a fresh WSL Ubuntu exited with "line 101: pnpm: command not found". Root cause in the retry path we added last release: $child_path was computed BEFORE upstream install.sh ran, so it didn't see dirs npm/corepack created during the install (npm_prefix/bin may have moved, corepack parks pnpm under ~/.local/share/pnpm, etc). Our retry invoked `pnpm ui:build` against that stale PATH and bash's cached negative lookup, bombing out with a "command not found" even though pnpm was installed and functional. Fix: when the retry kicks in (dist/control-ui/index.html missing), do the same hash -r + candidate-list dance we already use for the openclaw binary search — refresh npm prefix, probe npm_prefix/bin, ~/.local/share/pnpm, ~/.local/bin, /usr/local/bin, /usr/bin — and only then attempt the ui:build re-run. If pnpm is still nowhere to be found, surface the exact PATH we searched so the user can finish the build manually. Version strings bumped in installer.iss, build-pkg.sh, and the README download tables / build-from-source outputs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b97cdb0 commit d03fb6c

5 files changed

Lines changed: 47 additions & 13 deletions

File tree

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ Pre-built installers live on the [GitHub Releases page](https://github.com/Sense
8989

9090
| Platform | Download | How to Use |
9191
|----------|----------|------------|
92-
| Windows | [`AgentPack-1.0.3-windows-x64.exe`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-windows-x64.exe) | Double-click and follow the wizard; installation runs inside WSL2, and the PowerShell window is taken over by the installed agent when setup finishes |
93-
| macOS | [`AgentPack-1.0.3-macos-universal.pkg`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-macos-universal.pkg) | Double-click, then complete setup in the Terminal window that opens; the same window becomes the agent's REPL / gateway once installation finishes |
94-
| Linux | [`AgentPack-1.0.3-linux.sh`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-linux.sh) *or* the one-liner below | Download and run `chmod +x AgentPack-1.0.3-linux.sh && ./AgentPack-1.0.3-linux.sh`, or paste `curl -fsSL https://raw.githubusercontent.com/SenseTime-FVG/agent_pack/main/linux/install.sh \| bash` — either way the shell that ran the installer is handed over to the agent via `exec` |
92+
| Windows | [`AgentPack-1.0.4-windows-x64.exe`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-windows-x64.exe) | Double-click and follow the wizard; installation runs inside WSL2, and the PowerShell window is taken over by the installed agent when setup finishes |
93+
| macOS | [`AgentPack-1.0.4-macos-universal.pkg`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-macos-universal.pkg) | Double-click, then complete setup in the Terminal window that opens; the same window becomes the agent's REPL / gateway once installation finishes |
94+
| Linux | [`AgentPack-1.0.4-linux.sh`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-linux.sh) *or* the one-liner below | Download and run `chmod +x AgentPack-1.0.4-linux.sh && ./AgentPack-1.0.4-linux.sh`, or paste `curl -fsSL https://raw.githubusercontent.com/SenseTime-FVG/agent_pack/main/linux/install.sh \| bash` — either way the shell that ran the installer is handed over to the agent via `exec` |
9595

9696
## Building from Source
9797

@@ -104,7 +104,7 @@ cd windows
104104
iscc installer.iss
105105
```
106106

107-
Output: `dist/AgentPack-1.0.3-windows-x64.exe`
107+
Output: `dist/AgentPack-1.0.4-windows-x64.exe`
108108

109109
### macOS (.pkg)
110110

@@ -115,7 +115,7 @@ cd macos
115115
./build-pkg.sh
116116
```
117117

118-
Output: `dist/AgentPack-1.0.3-macos-universal.pkg`
118+
Output: `dist/AgentPack-1.0.4-macos-universal.pkg`
119119

120120
### Linux
121121

README.zh-CN.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@ Bundled skills 已经直接放进 `repos/hermes-agent/skills/` 和 `repos/opencl
8888

8989
| 平台 | 下载 | 使用方式 |
9090
|------|------|---------|
91-
| Windows | [`AgentPack-1.0.3-windows-x64.exe`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-windows-x64.exe) | 双击运行向导;安装过程在 WSL2 中执行,安装完成后当前 PowerShell 窗口会被接管,直接跑起 agent |
92-
| macOS | [`AgentPack-1.0.3-macos-universal.pkg`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-macos-universal.pkg) | 双击后在自动打开的 Terminal 窗口中完成安装;安装结束后同一个窗口会变成 agent 的 REPL / gateway |
93-
| Linux | [`AgentPack-1.0.3-linux.sh`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.3-linux.sh) 或下面的一行命令 | 下载后 `chmod +x AgentPack-1.0.3-linux.sh && ./AgentPack-1.0.3-linux.sh`,或直接粘贴 `curl -fsSL https://raw.githubusercontent.com/SenseTime-FVG/agent_pack/main/linux/install.sh \| bash` — 两种方式都会在安装结束后用 `exec` 在当前 shell 里拉起 agent |
91+
| Windows | [`AgentPack-1.0.4-windows-x64.exe`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-windows-x64.exe) | 双击运行向导;安装过程在 WSL2 中执行,安装完成后当前 PowerShell 窗口会被接管,直接跑起 agent |
92+
| macOS | [`AgentPack-1.0.4-macos-universal.pkg`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-macos-universal.pkg) | 双击后在自动打开的 Terminal 窗口中完成安装;安装结束后同一个窗口会变成 agent 的 REPL / gateway |
93+
| Linux | [`AgentPack-1.0.4-linux.sh`](https://github.com/SenseTime-FVG/agent_pack/releases/latest/download/AgentPack-1.0.4-linux.sh) 或下面的一行命令 | 下载后 `chmod +x AgentPack-1.0.4-linux.sh && ./AgentPack-1.0.4-linux.sh`,或直接粘贴 `curl -fsSL https://raw.githubusercontent.com/SenseTime-FVG/agent_pack/main/linux/install.sh \| bash` — 两种方式都会在安装结束后用 `exec` 在当前 shell 里拉起 agent |
9494

9595
## 从源码构建
9696

@@ -103,7 +103,7 @@ cd windows
103103
iscc installer.iss
104104
```
105105

106-
产物:`dist/AgentPack-1.0.3-windows-x64.exe`
106+
产物:`dist/AgentPack-1.0.4-windows-x64.exe`
107107

108108
### macOS (.pkg)
109109

@@ -114,7 +114,7 @@ cd macos
114114
./build-pkg.sh
115115
```
116116

117-
产物:`dist/AgentPack-1.0.3-macos-universal.pkg`
117+
产物:`dist/AgentPack-1.0.4-macos-universal.pkg`
118118

119119
### Linux
120120

linux/lib/install-openclaw.sh

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,41 @@ install_openclaw() {
9898
local ui_dist="$OPENCLAW_INSTALL_DIR/dist/control-ui"
9999
if [ ! -f "$ui_dist/index.html" ]; then
100100
echo "[!] Control UI assets missing at $ui_dist — retrying ui:build with full output..."
101-
if ! ( cd "$OPENCLAW_INSTALL_DIR" && PATH="$child_path" pnpm ui:build ); then
101+
102+
# Re-locate pnpm from scratch. $child_path above was computed
103+
# BEFORE install.sh ran and so doesn't see dirs npm/corepack
104+
# created during the install (e.g. $npm_prefix/bin, corepack's
105+
# ~/.local/share/pnpm, etc). Use `hash -r` to clear bash's
106+
# negative lookup cache, then fall through a list of well-known
107+
# install locations. Mirrors the same belt-and-suspenders
108+
# approach used for the openclaw binary search below.
109+
hash -r 2>/dev/null || true
110+
local retry_path="$child_path"
111+
# Refresh npm prefix in case the install shuffled it.
112+
local npm_prefix_now=""
113+
if command -v npm >/dev/null 2>&1; then
114+
npm_prefix_now="$(PATH="$retry_path" npm config get prefix 2>/dev/null || true)"
115+
fi
116+
local extra
117+
for extra in \
118+
"${npm_prefix_now:+$npm_prefix_now/bin}" \
119+
"$HOME/.local/share/pnpm" \
120+
"$HOME/.local/bin" \
121+
"/usr/local/bin" \
122+
"/usr/bin"; do
123+
[ -z "$extra" ] && continue
124+
case ":$retry_path:" in *":$extra:"*) ;; *) retry_path="$extra:$retry_path" ;; esac
125+
done
126+
127+
if ! PATH="$retry_path" command -v pnpm >/dev/null 2>&1; then
128+
echo "[!] ERROR: pnpm not on PATH after install — ui:build cannot retry." >&2
129+
echo " Searched: $retry_path" >&2
130+
echo " Finish the install manually:" >&2
131+
echo " cd $OPENCLAW_INSTALL_DIR && pnpm install && pnpm ui:build && pnpm build" >&2
132+
return 1
133+
fi
134+
135+
if ! ( cd "$OPENCLAW_INSTALL_DIR" && PATH="$retry_path" pnpm ui:build ); then
102136
echo "[!] ERROR: pnpm ui:build failed. Run with AGENTPACK_VERBOSE=1 to see the dependency install step in full." >&2
103137
echo " You can complete the install manually by running:" >&2
104138
echo " cd $OPENCLAW_INSTALL_DIR && pnpm install && pnpm ui:build && pnpm build" >&2

macos/build-pkg.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
88
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
99
BUILD_DIR="$SCRIPT_DIR/build"
1010
DIST_DIR="$PROJECT_ROOT/dist"
11-
VERSION="1.0.3"
11+
VERSION="1.0.4"
1212
SCRIPTS_DIR="$BUILD_DIR/scripts"
1313

1414
rm -rf "$BUILD_DIR"

windows/installer.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; Requires Inno Setup 6.x
33

44
#define MyAppName "Agent Pack"
5-
#define MyAppVersion "1.0.3"
5+
#define MyAppVersion "1.0.4"
66
#define MyAppPublisher "Agent Pack"
77
#define MyAppURL "https://github.com/SenseTime-FVG/agent_pack"
88

0 commit comments

Comments
 (0)