Skip to content

[P1] uiux: 統一 Bash/Zsh/PowerShell 的接入、驗證與修復操作 #434

Open

Description

@guan4tou2

2026-10-25 最新核對

main 4d528ba5 已合併 #443:首次引導、日常設定與 WSL 接入/驗證/修復共用既有 RecordTerminalFlow,來源狀態回讀不會重複安裝或重設驗證。設定開啟只讀取,不自動改 profile。

本單剩餘重點是實際平台接入驗收:Windows PowerShell 5.1/7 的 edition/profile、真實 WSL,以及完整安裝→新分頁→I/O→重開讀回矩陣。Mac 沒有 WSL;未新增 macOS PowerShell backend。#432 的 Windows 後續修正仍未合併。


使用者結果

使用 Bash、Zsh 或 PowerShell 都沿同一條路徑完成接入,不需要先理解 hook/relay/run/session。首次引導、日常設定、儀表板修復使用同一份操作狀態與驗證結果。

操作一致不代表擷取能力相同:各 shell 保留專用 adapter、profile、語法、依賴與已驗證能力。WSL 是執行環境,不是第四種 shell。

基準與目前缺口

2026-10-22 核對遠端 main 0d79823b 及已推送候選 2b21b690(codex/recording-export-workflow)。這是程式/流程分析;不宣稱本輪跑過三種 shell 的全平台原生驗收。

  • RecordTerminalFlow.tsx 已有選 shell、安裝、nonce、逾時與輸出測試,不另重寫一個 onboarding。
  • HooksPanel.tsx 的日常設定仍是另一套偵測/啟用/移除流程;安裝結果與收到指令/輸出的驗證不在同一處。
  • terminalActivation.ts 的主機選單在非 Windows 只列 Zsh/Bash。若後端在 Mac 偵測到受支援的 PowerShell,不應僅因主機平台就從接入選單消失。
  • 終端說明仍一次列出 native/PTY 分類與 CLI 指令;這些是進階診斷,不該是接入前必讀知識。

共用操作

  1. 偵測執行環境及 shell,推薦目前使用者的環境/shell;可手動改選實際支援的組合。
  2. 顯示會修改的 profile/安裝位置與本機或客體歸屬,執行接入。
  3. 必要時明示開新分頁;在使用者選擇的終端執行對應語法的測試。
  4. 同處顯示「已安裝」「收到指令」「收到測試輸出/退出碼」的實際結果與時間。
  5. 失敗留在原處重試/重新偵測;已接入來源只重驗需要的步驟。
  6. 日常可從同一處查看紀錄、重新驗證、修復或移除整合。

這些是呈現不同事實,不是要求每一步增加一次確認。普通開啟設定不得自動改 profile。

驗收

  • 首次引導、設定與儀表板修復共用既有接入流程/狀態契約;不維護兩套安裝與驗證語義。
  • Bash/Zsh/PowerShell 使用相同操作名稱與順序,但各自使用正確 profile、測試語法、相依條件及能力說明。
  • 選單依實際偵測與安裝能力提供項目;Mac 不出現 WSL;後端支援且可用的 Mac PowerShell 不被無條件排除。
  • Windows PowerShell 5.1/PowerShell 7 的 edition 與 profile 可辨識;不靠同一個 shell 名稱推論兩者都已接入。
  • 切換 shell/環境、專案切換、重試與晚到結果不會誤認為新的驗證成功;主機結果不充作 WSL 客體結果。
  • 已安裝不冒充收到指令;收到指令不冒充收到輸出。普通指令、互動程式、原始 stdin/混流邊界如實說明,不做鍵盤側錄。
  • 可從設定原地驗證並查看保存證據,不要求返回首次設定或自行去時間軸找 canary。
  • 一般用戶預設看到接入與結果;工具分類、手動命令與診斷按需展開。
  • 安裝可重入;只撤回 RedLog 自己的 profile 修改,移除不刪既有證據;保留未歸屬/跨專案 spool 隔離。
  • 在實際支援的 shell/平台完成安裝→新分頁→stdout/stderr/exit→重開讀回;測試與未測能力分開列示。

範圍與依賴

沿用 Spec 062 US1–3、#317、#288、#226;#433/#327/#326/#345 的 WSL/傳輸缺陷及 PR #432 維持原追蹤,本單不重報其修正。未有後端支援前,不增加任意 executable path 欄位或假裝可安裝。

不合併三種 shell 為萬用腳本,不新增 shell、不加舊 hook 相容層,不為統一 UI 擴建通用工作流引擎。內建終端保留備用。

2026-10-25 已合併 main

PR #443 已合併 main 4d528ba5,包含後續 AI 暫停邊界修正 ccf0347a。本次增量已落地;完整人工/平台矩陣仍待驗收,本 issue 保持開啟。

  • 接入、驗證/修復已共用 RecordTerminalFlow,設定開啟時不會安裝;WSL 狀態重讀不會重複安裝或清掉驗證 attempt。
  • 以實際 backend 能力選 Bash/Zsh/PowerShell;沒有新增 macOS PowerShell backend 支援。
  • Mac 安裝副本已驗證真實 Zsh 指令及輸出;PowerShell/真實 WSL 仍未在本輪真機驗收。

推送前五道 gate 依序通過;unit 4,250 passed/28 skipped。設定/來源/匯出的 14 個行為案例已整併為 4 次啟動,刪除 5 項重複 renderer 檢查。最後 T079 的兩項來源/HUD E2E 通過;非 HUD 測試不再顯示懸浮窗,產品預設不變。

Mac arm64 內測 DMG 已重建,完整性/資源/簽章檢查通過;此新 DMG 未再安裝並重播全部人工流程。先前原生與安裝副本的驗證範圍詳見候選 verification.md。可進行小範圍 Mac 內測,不宣稱 Windows/真實 WSL 或完整跨平台驗收。

Spec 062 T072–T080 記錄此 bounded increment;T008–T013 仍開啟,Spec 保持 Draft。剩餘驗收完成後再判斷關閉。

修正後 PR CI:macOS/Windows/Ubuntu unit、完整 Ubuntu Electron E2E、Windows 與 Linux install smoke 全部通過。首次 Windows 失敗曾阻擋 E2E;已重現並修正檔案系統/Date.now 時鐘差異,不以重跑掩蓋。合併後 main CI(40171701987)的三平台 unit 與 Ubuntu Electron E2E 也已全部通過;不取代人工跨平台驗收。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions