用途
browse 是一个用于 QA 测试(质量保证测试)和站点「dogfooding」(内部自用体验验证)的无头 Chromium 命令行工具(CLI)。它通过命令行驱动真实浏览器行为,用于在测试与体验流程中对网页进行导航、交互与状态验证。
主要能力
根据资料描述,browse 具备以下能力:
- 作为无头 Chromium CLI 运行,启动后每条命令耗时约 100-200 毫秒。
- 持久化状态:支持 cookies、标签页(tabs)、会话(sessions)。
- 快照系统:使用元素引用(element refs)来定位页面元素。
- 导航(navigate)。
- 交互(interact)。
- 验证页面状态(verify page state)。
- 截图(take screenshots)。
- 检查响应式布局(check responsive layouts)。
- 测试表单(test forms)。
- 处理对话框(handle dialogs)。
使用方式
browse 以 Skills(技能)形式提供。资料显示其引用了上游文档 garrytan/gstack 的 SKILL.md(修订版本 f4bbfaa5bdfd2d6ce59541c2145432febde57fed),归属 Garry Tan,许可证为 MIT。该文档中包含一段预运行(preamble)的 bash 命令,涉及 gstack 的更新检查、会话目录创建、遥测与配置读取等操作,以及对 PROACTIVE、REPO_MODE、遥测提示等状态的处理逻辑。
资料中给出的预运行代码片段(原样保留):
_UPD=$(~/.claude/skills/gstack/bin/gstack-update-check 2>/dev/null || .claude/skills/gstack/bin/gstack-update-check 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
mkdir -p ~/.gstack/sessions
touch ~/.gstack/sessions/"$PPID"
_SESSIONS=$(find ~/.gstack/sessions -mmin -120 -type f 2>/dev/null | wc -l | tr -d ' ')
find ~/.gstack/sessions -mmin +120 -type f -delete 2>/dev/null || true
_CONTRIB=$(~/.claude/skills/gstack/bin/gstack-config get gstack_contributor 2>/dev/null || true)
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
echo "BRANCH: $_BRANCH"
echo "PROACTIVE: $_PROACTIVE"
source <(~/.claude/skills/gstack/bin/gstack-repo-mode 2>/dev/null) || true
REPO_MODE=${REPO_MODE:-unknown}
echo "REPO_MODE: $REPO_MODE"
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
echo "LAKE_INTRO: $_LAKE_SEEN"
_TEL=$(~/.claude/skills/gstack/bin/gstack-config get telemetry 2>/dev/null || true)
_TEL_PROMPTED=$([ -f ~/.gstack/.telemetry-prompted ] && echo "yes" || echo "no")
_TEL_START=$(date +%s)
_SESSION_ID="$$-$(date +%s)"
echo "TELEMETRY: ${_TEL:-off}"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
mkdir -p ~/.gstack/analytics
echo '{"skill":"gstack","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
# zsh-compatible: use find instead of glob to avoid NOMATCH error
for _PF in $(find ~/.gstack/analytics -maxdepth 1 -name '.pending-*' 2>/dev/null); do [ -f "$_PF" ] && ~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type skill_run --skill _pending_finalize --outcome unknown --session-id "$_SESSION_ID" 2>/dev/null || true; break; done
资料还提到若干与使用配套的机制,包括:当 PROACTIVE 为 "false" 时不主动建议 gstack 技能;升级提示(UPGRADE_AVAILABLE、JUST_UPGRADED)的处理流程;遥测(telemetry)选项与提示流程;AskUserQuestion 的格式规范;以及完成状态报告协议(DONE、DONE_WITH_CONCERNS、BLOCKED、NEEDS_CONTEXT)与升级(escalation)格式。具体安装命令资料中暂未提供明确说明。
适用场景
根据描述,browse 适用于:
- QA 测试流程中的浏览器自动化操作。
- 网站 dogfooding(内部自用体验验证)。
- 页面导航与元素交互。
- 页面状态验证。
- 截图与响应式布局检查。
- 表单测试与对话框处理。
限制
资料中明确列出或暗示的限制包括:
- 运行依赖无头 Chromium 环境。
- 命令耗时在启动后为每条约 100-200 毫秒(即存在启动开销)。
- 相关配置、遥测与升级行为依赖 gstack 配套脚本与目录(如
~/.claude/skills/gstack/、~/.gstack/)。 - 具体的安装步骤、收费与价格、支持的平台范围等资料暂未提供。
引用文档
以下为作者声明的引用来源,保留指定版本、署名和许可。
- garrytan/gstack/SKILL.md — 署名:Garry Tan;许可:MIT;版本:
f4bbfaa5bdfd2d6ce59541c2145432febde57fed。