Mac 是控制端,不需要 Windows 安装包,但此前必须 cd 到仓库敲 node apps/cli/dist/index.js,太啰嗦。 新增: - pnpm pack:mac(scripts/pack-macos.mjs):把 CLI 与 MCP 打包为带 shebang 的 可执行单文件(195KB / 772KB),免 node_modules - scripts/install-macos.sh:安装到 ~/.local/bin(已在 PATH)+ 打印 MCP 配置片段 - Mac 端不打 Node 运行时(控制端本机已有 Node,体积从约 50MB 降到约 1MB) 修复:execFileSync 不能接收带参数的命令字符串(改用 execSync) 验证:./nodeagent --help 与 MCP tools/list(18) 可直接执行; install-macos.sh 安装后可在任意目录调用 nodeagent
67 lines
2.0 KiB
Bash
67 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
||
#
|
||
# 把 nodeagent 控制端安装到 ~/.local/bin(通常已在 PATH 中)。
|
||
#
|
||
# 用法:
|
||
# pnpm pack:mac && bash scripts/install-macos.sh
|
||
# NODEAGENT_BIN_DIR=/usr/local/bin bash scripts/install-macos.sh
|
||
#
|
||
set -euo pipefail
|
||
|
||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
SRC="$ROOT/release/nodeagent-macos"
|
||
BIN_DIR="${NODEAGENT_BIN_DIR:-$HOME/.local/bin}"
|
||
|
||
# 1. 检查 Node.js(Mac 作为控制端需要本机 Node;不像 Windows 被控端可自带运行时)
|
||
if ! command -v node >/dev/null 2>&1; then
|
||
echo "✗ 未找到 Node.js。请先安装 Node.js 22+(推荐: brew install node)" >&2
|
||
exit 1
|
||
fi
|
||
VER="$(node --version | tr -d 'v')"
|
||
MAJOR="${VER%%.*}"
|
||
if [ "$MAJOR" -lt 22 ]; then
|
||
echo "✗ 需要 Node.js 22+,当前 v$VER" >&2
|
||
exit 1
|
||
fi
|
||
echo "✓ Node.js v$VER"
|
||
|
||
# 2. 检查构建产物
|
||
if [ ! -f "$SRC/nodeagent" ] || [ ! -f "$SRC/nodeagent-mcp" ]; then
|
||
echo "✗ 未找到构建产物:$SRC" >&2
|
||
echo " 请先在项目目录运行: pnpm pack:mac" >&2
|
||
exit 1
|
||
fi
|
||
|
||
# 3. 安装(install 会设置 755 权限)
|
||
mkdir -p "$BIN_DIR"
|
||
install -m 755 "$SRC/nodeagent" "$BIN_DIR/nodeagent"
|
||
install -m 755 "$SRC/nodeagent-mcp" "$BIN_DIR/nodeagent-mcp"
|
||
echo "✓ 已安装到 $BIN_DIR"
|
||
echo " - nodeagent 控制端 CLI"
|
||
echo " - nodeagent-mcp MCP server(供 WorkBuddy 调用)"
|
||
|
||
# 4. PATH 检查
|
||
case ":$PATH:" in
|
||
*":$BIN_DIR:"*) ;;
|
||
*)
|
||
echo "⚠️ $BIN_DIR 不在 PATH 中,请追加到 ~/.zshrc:"
|
||
echo " export PATH=\"$BIN_DIR:\$PATH\""
|
||
;;
|
||
esac
|
||
|
||
# 5. 打印 MCP 配置片段
|
||
cat <<EOF
|
||
|
||
── 把下面这段加入 ~/.workbuddy/mcp.json ─────────────────────────
|
||
{
|
||
"mcpServers": {
|
||
"nodeagent": {
|
||
"command": "$BIN_DIR/nodeagent-mcp"
|
||
}
|
||
}
|
||
}
|
||
────────────────────────────────────────────────────────────────
|
||
|
||
验证: nodeagent --help
|
||
EOF
|