Skip to content

fix: 修复 StepPage 自动准备、插件误报和终端 PATH 持久化 - #223

Merged
ZouR-Ma merged 2 commits into
mainfrom
fix/steppage-provisioning-and-path
Oct 9, 2026
Merged

ZouR-Ma merged 2 commits into
mainfrom
fix/steppage-provisioning-and-path

Conversation

@ZouR-Ma

@ZouR-Ma ZouR-Ma commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

问题与修复

全新安装首次启动时,Step 一边后台安装 StepPage,一边连接尚不存在的 steppage-mcp,导致本次会话报错,即使稍后安装完成也不会重新连接。本次在安装、升级和启动时共享可执行文件准备逻辑:验证命令可用后再连接 MCP,MCP 连接超时从准备完成后开始计算;交互界面和其他 MCP 继续可用。

同时修复两个相关问题:

  • 安装器不再因为旧终端的 PATH 已包含 Step 就跳过 shell 持久配置;新版本交互启动也能补修旧升级路径遗漏的配置。
  • 在家目录启动时,用户和项目插件目录可能指向同一位置。按真实目录去重,避免把同一份插件误报为“被项目插件覆盖”。

兼容性与失败处理

  • 旧预装标记继续记录用户主动卸载意图,缺失或损坏的可执行文件仍可修复;保留凭证、配置、自定义命令、参数及显式禁用设置。
  • StepPage 当前发布形式要求外部 Node.js ≥20;Step 的独立二进制不因此新增 Node.js 依赖。
  • 下载、安装或前置条件失败仅提示 StepPage 未就绪,保留可用的 Step。下次启动重试,并展示手动 curl 安装命令、step mcp prepare 和重启说明。
  • 复用 PATH 上健康的命令,或使用 ~/.local/bin/steppage-mcp 的绝对路径;准备完成后再次验证版本。
  • 多进程安装使用锁;取消或超时先停止安装器子进程,再释放锁,避免迟到写入。
  • 保留最新 main 的 MCP 环境变量限制;受信任安装器使用安装环境,MCP 进程继续使用受限制的运行环境。
  • STEP_NO_MODIFY_PATH=1 保留;畸形的 shell 配置标记不改写。

验证

  • 已同步 main 494c8f2。
  • 8 个相关 coding-agent 测试文件:159 项通过,覆盖安装修复、旧标记、卸载/禁用/自定义配置、目录别名、取消、多进程、升级和 MCP 运行环境。
  • 离线 CLI completion 测试:13 项通过;fixture 显式禁用可选 StepPage MCP,避免全新配置触发网络安装而超过测试预算。
  • npm run build:offline 通过,已生成 workspace JavaScript 入口。
  • 隔离环境完整 bash test.sh 通过:coding-agent 4051 项、CLI 656 项、脚本 32 项及其他包均通过;按既有条件跳过的平台和网络集成项保留。macOS 使用 TMPDIR=/tmp 避免既有 tsx socket 路径超长。
  • GitHub 原提交 23a15a3 的完整 build/check/test CI 与提交署名检查均通过。2026-10-09 将两个提交的 author/committer 修正为 ZouR-Ma <2605315944@qq.com>,当前 HEAD 为 44f694e;代码树完全一致,新提交 CI 正在重跑。
  • node --test scripts/release-bundle.test.mjs:15 项通过;3 项 PowerShell 执行测试因本机没有 pwsh 跳过。
  • npm run check、补充 TypeScript 检查、git diff --check 通过。
  • macOS 真实重装线上 0.1.2,复现首次启动竞态、插件误报和 PATH 缺陷;修复后的本地源码在隔离 HOME 首次启动成功连接 StepPage 的 13 个工具,失败路径确认展示手动安装命令。
  • 本机补修 PATH 后,用干净 PATH 启动新 zsh,能找到 Step 和 StepPage。

验证边界

本地启动验证使用源码入口,未打包或发布新的独立二进制;未验证实际页面生成。原生 Windows 的 StepPage 自动安装仍不支持,本次保留可用的 Step 并提示平台限制;WSL 使用 Linux 路径。

@ZouR-Ma
ZouR-Ma force-pushed the fix/steppage-provisioning-and-path branch from 23a15a3 to 44f694e Compare October 9, 2026 06:14
@ZouR-Ma
ZouR-Ma merged commit 6e3acc8 into main Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant