cxs is a local-first CLI for searching Codex session logs. It is designed for progressive retrieval: find the right session first, then read
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(platform): 明确退到 macOS + Linux,Windows best-effort

之前 release matrix 出 cxs-windows-x64.exe,但实际从未在原生 Windows
验证过完整流程 (install.sh 是 bash only;~/.codex/* hardcode 假设;
ci.yml 只跑 ubuntu-latest)。坦白做减法,不冒充支持。

- release.yml 删 windows-x64 build (4 平台 binary)
- install.sh 删 msys/cygwin/mingw case,unsupported OS 直接退
- package.json 加 os: ["darwin", "linux"] —— Windows 用户跑
npm i -g @act0r/cxs 会得到 EBADPLATFORM,不是更深的错误
- README CLI Install Guide 头部明示 "macOS / Linux only,Windows 走 WSL"

历史 release v0.1.0 / v0.2.0 上的 cxs-windows-x64.exe 不删 (作为
best-effort artifact 留着,Windows 用户自取自担风险)。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Entire-Checkpoint: 68a4b5fdbe46

cat 3d86cb9d 1a2e6670

+13 -9
-2
.github/workflows/release.yml
··· 29 29 asset: cxs-linux-x64 30 30 - target: bun-linux-arm64 31 31 asset: cxs-linux-arm64 32 - - target: bun-windows-x64 33 - asset: cxs-windows-x64.exe 34 32 steps: 35 33 - name: Checkout 36 34 uses: actions/checkout@v4
+3 -1
README.md
··· 32 32 33 33 ## CLI Install Guide 34 34 35 + > **平台支持**:**macOS / Linux only**(`darwin-arm64` / `darwin-x64` / `linux-x64` / `linux-arm64`)。Windows 走 WSL,我们没原生测过 Windows path。 36 + 35 37 ### 一行安装(推荐:零依赖) 36 38 37 39 从 GitHub Release 拉对应平台的 standalone binary,自动放到 `~/.local/bin/cxs`,**不需要预装 Bun 或 Node**: ··· 40 42 curl -fsSL https://raw.githubusercontent.com/catoncat/cxs/main/scripts/install.sh | bash 41 43 ``` 42 44 43 - 支持平台:darwin-arm64 / darwin-x64 / linux-x64 / linux-arm64 / windows-x64。如果 `~/.local/bin` 不在 PATH,脚本会提示;或先 `export CXS_INSTALL_DIR=/usr/local/bin` 再跑。 45 + 如果 `~/.local/bin` 不在 PATH,脚本会提示;或先 `export CXS_INSTALL_DIR=/usr/local/bin` 再跑。 44 46 45 47 ### npm 全局安装(需要 Node 22+) 46 48
+1
package.json
··· 34 34 "engines": { 35 35 "node": ">=22" 36 36 }, 37 + "os": ["darwin", "linux"], 37 38 "scripts": { 38 39 "build": "esbuild cli.ts --bundle --platform=node --target=node22 --format=esm --external:better-sqlite3 --external:chalk --external:commander --outfile=dist/cli.js && node scripts/post-build.mjs", 39 40 "prepublishOnly": "npm run build",
+9 -6
scripts/install.sh
··· 22 22 esac 23 23 24 24 case "$OS" in 25 - darwin) EXT=""; PLATFORM="darwin-$ARCH" ;; 26 - linux) EXT=""; PLATFORM="linux-$ARCH" ;; 27 - msys*|cygwin*|mingw*) EXT=".exe"; PLATFORM="windows-$ARCH" ;; 28 - *) echo "unsupported os: $OS" >&2; exit 1 ;; 25 + darwin) PLATFORM="darwin-$ARCH" ;; 26 + linux) PLATFORM="linux-$ARCH" ;; 27 + *) 28 + echo "unsupported OS: $OS" >&2 29 + echo "cxs supports macOS and Linux only. Windows users: please run under WSL." >&2 30 + exit 1 31 + ;; 29 32 esac 30 33 31 - ASSET="cxs-${PLATFORM}${EXT}" 34 + ASSET="cxs-${PLATFORM}" 32 35 URL="https://github.com/${OWNER}/${REPO}/releases/latest/download/${ASSET}" 33 36 34 37 mkdir -p "$INSTALL_DIR" 35 - TARGET="$INSTALL_DIR/cxs${EXT}" 38 + TARGET="$INSTALL_DIR/cxs" 36 39 37 40 echo "downloading $ASSET from $URL" 38 41 curl -fsSL --proto '=https' --tlsv1.2 -o "$TARGET" "$URL"