gstack 安装与重装记录
本文档整理了 gstack 的安装、重装、验证流程,基于本机实际操作结果编写。
适用环境:
- 仓库来源:
https://github.com/garrytan/gstack - 当前主机:Linux
- 目标运行时:Codex
- 当前采用的源码目录:
~/.agents/skills/gstack
安装总览图
安装后目录架构图
1. 安装形态
gstack 有两层路径需要区分:
源码目录 例如:
~/.agents/skills/gstack或~/.claude/skills/gstack运行时技能目录 例如:
- Codex:
~/.codex/skills/gstack* - Claude:
~/.claude/skills/gstack*
- Codex:
./setup --host <host> 的职责不是重新拉代码,而是把源码目录生成/链接到对应 host 的运行时技能目录。
2. 前置条件
安装前需要具备:
gitbunnode
本机验证命令:
bash
git --version
bun --version
node --version3. 首次安装
3.1 Claude 默认安装
官方 README 的默认安装方式是:
bash
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack
cd ~/.claude/skills/gstack
./setup这会把 gstack 安装到 Claude 相关路径,并生成对应技能入口。
3.2 Codex 安装
如果目标是 Codex,推荐先有一个本地 clone,再执行:
bash
cd <gstack-clone-dir>
./setup --host codex本次实际使用的源码目录是:
bash
cd ~/.agents/skills/gstack
./setup --host codex执行后,Codex 的运行时目录应出现在:
bash
~/.codex/skills/gstack
~/.codex/skills/gstack-*4. 本机实际重装流程
这次为了重新安装 garrytan/gstack,采用了“备份旧目录 + 全新克隆 + 重新 setup”的方式。
重装流程图
4.1 备份旧安装
bash
mv ~/.agents/skills/gstack ~/.agents/skills/gstack.bak-$(date +%Y%m%d-%H%M%S)4.2 重新克隆
bash
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.agents/skills/gstack如果你需要完整历史而不是浅克隆:
bash
git clone https://github.com/garrytan/gstack.git ~/.agents/skills/gstack4.3 重新生成 Codex 技能
bash
cd ~/.agents/skills/gstack
./setup --host codex -q说明:
-q是 quiet mode,减少输出噪音setup会执行bun install、生成 host 对应的SKILL.md、并把 Codex 技能链接到~/.codex/skills
5. 重装后的验证方法
5.1 验证源码目录
bash
cd ~/.agents/skills/gstack
git remote -v
git rev-parse --short HEAD
cat VERSION预期:
origin指向https://github.com/garrytan/gstack.git- 可以正常读取
VERSION
5.2 验证 Codex 技能目录
bash
find ~/.codex/skills -maxdepth 1 \( -type l -o -type d \) -name 'gstack*' -printf '%P -> %l\n' | sort预期至少应看到:
gstackgstack-office-hoursgstack-reviewgstack-ship- 其他
gstack-*技能目录或链接
5.3 验证 browse 运行时产物
bash
find ~/.codex/skills/gstack -maxdepth 3 | sed -n '1,80p'预期应包含:
~/.codex/skills/gstack/SKILL.md~/.codex/skills/gstack/bin~/.codex/skills/gstack/browse/dist~/.codex/skills/gstack/gstack-upgrade/SKILL.md
6. 本次安装中遇到的两个问题
6.1 OpenClaw skill 的 YAML frontmatter 报错
报错文件:
openclaw/skills/gstack-openclaw-ceo-review/SKILL.mdopenclaw/skills/gstack-openclaw-investigate/SKILL.mdopenclaw/skills/gstack-openclaw-office-hours/SKILL.md
根因:
description:使用了未加引号的 YAML 标量- 内容里包含
Four modes:/Four phases:/Two modes: :被 YAML 解析器当成新的 mapping 起点
修复方式:
- 仅将
description改为单引号字符串
6.2 setup --host codex 没有正确写入 ~/.codex/skills
根因:
setup误把$HOME/.agents/skills识别成 repo-local.agents/skills- 导致安装逻辑走偏,没有正确建立
~/.codex/skills/gstack*
修复方向:
- 在
setup里区分“仓库内.agents/skills”和“用户家目录下全局~/.agents/skills”
7. 本次额外修复
为了让 setup --host codex 在本机可用,本次还修了一个构建问题:
- 文件:
browse/scripts/build-node-server.sh - 问题:Bun 1.3.9 会把
@ngrok/ngrok的本地.node资产一起打包,导致--outfile失败 - 处理:把
@ngrok/ngrok也加入--external
验证命令:
bash
cd ~/.agents/skills/gstack
bash browse/scripts/build-node-server.sh预期输出:
text
Node server bundle ready: .../browse/dist/server-node.mjs8. 建议的标准重装命令
如果后面要再次重装,建议直接用下面这组命令:
bash
TS=$(date +%Y%m%d-%H%M%S)
mv ~/.agents/skills/gstack ~/.agents/skills/gstack.bak-$TS
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.agents/skills/gstack
cd ~/.agents/skills/gstack
./setup --host codex -q
find ~/.codex/skills -maxdepth 1 \( -type l -o -type d \) -name 'gstack*' -printf '%P -> %l\n' | sort9. 当前状态
截至本文档写入时,当前机器上的结果是:
~/.agents/skills/gstack已重新从garrytan/gstack克隆./setup --host codex -q已成功执行~/.codex/skills/gstack*已正确生成- OpenClaw 相关
SKILL.md的 YAML frontmatter 已修复为可解析状态