chore: rename pi-built/pi-test scripts to build/test
Some checks failed
CI / build-check-test (push) Has been cancelled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 20:54:00 +08:00
parent 812bca79a3
commit f1c5e7dc1d
10 changed files with 65 additions and 141 deletions

View File

@@ -94,7 +94,7 @@ Run the TUI in a controlled terminal (from the repo root):
```bash ```bash
tmux new-session -d -s pi-test -x 80 -y 24 tmux new-session -d -s pi-test -x 80 -y 24
tmux send-keys -t pi-test "./pi-test.sh" Enter tmux send-keys -t pi-test "./test.sh" Enter
sleep 3 && tmux capture-pane -t pi-test -p # capture after startup sleep 3 && tmux capture-pane -t pi-test -p # capture after startup
tmux send-keys -t pi-test "your prompt here" Enter tmux send-keys -t pi-test "your prompt here" Enter
tmux send-keys -t pi-test Escape # special keys (also C-o for ctrl+o, etc.) tmux send-keys -t pi-test Escape # special keys (also C-o for ctrl+o, etc.)

View File

@@ -22,7 +22,7 @@
| `.pi/agent/extensions/*/index.ts` | sproutclaw 本地扩展(中文启动页、状态行、命令安装等) | | `.pi/agent/extensions/*/index.ts` | sproutclaw 本地扩展(中文启动页、状态行、命令安装等) |
| `.pi/agent/prompts/` | 自定义 slash prompt`cl`/`is`/`pr`/`wr` 等) | | `.pi/agent/prompts/` | 自定义 slash prompt`cl`/`is`/`pr`/`wr` 等) |
| `.pi/agent/skills/` | 可复用 SkillsGitea、SSH、GitHub 等) | | `.pi/agent/skills/` | 可复用 SkillsGitea、SSH、GitHub 等) |
| `pi-built.sh` | 使用已构建 `dist/cli.js` 启动 Agent | | `build.sh` | 使用已构建 `dist/cli.js` 启动 Agent |
| `scripts/sync-upstream.sh` | 合并上游 pi-mono 更新 | | `scripts/sync-upstream.sh` | 合并上游 pi-mono 更新 |
| `scripts/push-sproutclaw.sh` | 推送到 GitHub / Gitea | | `scripts/push-sproutclaw.sh` | 推送到 GitHub / Gitea |
@@ -33,20 +33,20 @@ npm install --ignore-scripts
npm run build npm run build
npm run check npm run check
./test.sh ./test.sh
./pi-test.sh ././test.sh
``` ```
运行本地源码版 Agent开发调试 运行本地源码版 Agent开发调试
```bash ```bash
./pi-test.sh ././test.sh
``` ```
运行已构建版 Agent日常更快 运行已构建版 Agent日常更快
```bash ```bash
npm run build npm run build
./pi-built.sh ./build.sh
``` ```
启动 WebUI 时,在 TUI 中执行: 启动 WebUI 时,在 TUI 中执行:
@@ -142,7 +142,7 @@ git checkout main && git merge upstream-sync
```bash ```bash
npm install --ignore-scripts npm install --ignore-scripts
npm run build npm run build
./pi-test.sh ././test.sh
``` ```
### sproutclaw 相对 upstream 的 intentional 改动 ### sproutclaw 相对 upstream 的 intentional 改动

View File

@@ -14,7 +14,7 @@ npm run build
Run from source: Run from source:
```bash ```bash
/path/to/pi-mono/pi-test.sh /path/to/sproutclaw/test.sh
``` ```
The script can be run from any directory. Pi keeps the caller's current working directory. The script can be run from any directory. Pi keeps the caller's current working directory.

View File

@@ -1,61 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Default to the repository-local pi config so this source checkout uses the
# copied learning config instead of ~/.pi.
export PI_CODING_AGENT_DIR="${PI_CODING_AGENT_DIR:-$SCRIPT_DIR/.pi/agent}"
# Check for --no-env flag
NO_ENV=false
ARGS=()
for arg in "$@"; do
if [[ "$arg" == "--no-env" ]]; then
NO_ENV=true
else
ARGS+=("$arg")
fi
done
if [[ "$NO_ENV" == "true" ]]; then
# Unset API keys (see packages/ai/src/env-api-keys.ts)
unset ANTHROPIC_API_KEY
unset ANTHROPIC_OAUTH_TOKEN
unset OPENAI_API_KEY
unset GEMINI_API_KEY
unset GROQ_API_KEY
unset CEREBRAS_API_KEY
unset XAI_API_KEY
unset OPENROUTER_API_KEY
unset ZAI_API_KEY
unset MISTRAL_API_KEY
unset MINIMAX_API_KEY
unset MINIMAX_CN_API_KEY
unset AI_GATEWAY_API_KEY
unset OPENCODE_API_KEY
unset COPILOT_GITHUB_TOKEN
unset GH_TOKEN
unset GITHUB_TOKEN
unset HF_TOKEN
unset GOOGLE_APPLICATION_CREDENTIALS
unset GOOGLE_CLOUD_PROJECT
unset GCLOUD_PROJECT
unset GOOGLE_CLOUD_LOCATION
unset AWS_PROFILE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
unset AWS_REGION
unset AWS_DEFAULT_REGION
unset AWS_BEARER_TOKEN_BEDROCK
unset AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
unset AWS_CONTAINER_CREDENTIALS_FULL_URI
unset AWS_WEB_IDENTITY_TOKEN_FILE
unset AZURE_OPENAI_API_KEY
unset AZURE_OPENAI_BASE_URL
unset AZURE_OPENAI_RESOURCE_NAME
echo "Running without API keys..."
fi
"$SCRIPT_DIR/node_modules/.bin/tsx" --tsconfig "$SCRIPT_DIR/tsconfig.json" "$SCRIPT_DIR/packages/coding-agent/src/cli.ts" ${ARGS[@]+"${ARGS[@]}"}

View File

@@ -21,7 +21,7 @@ if "%~1"=="-h" goto help
if "%~1"=="--help" goto help if "%~1"=="--help" goto help
:run :run
call "%SCRIPT_DIR%pi-built.bat" %* call "%SCRIPT_DIR%build.bat" %*
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%
:help :help

View File

@@ -6,9 +6,9 @@ set "POWERSHELL_EXE=powershell.exe"
where %POWERSHELL_EXE% >nul 2>nul where %POWERSHELL_EXE% >nul 2>nul
if errorlevel 1 ( if errorlevel 1 (
>&2 echo powershell.exe not found. Install PowerShell or run pi-test.ps1 directly. >&2 echo powershell.exe not found. Install PowerShell or run test.ps1 directly.
exit /b 1 exit /b 1
) )
%POWERSHELL_EXE% -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%pi-test.ps1" %* %POWERSHELL_EXE% -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%test.ps1" %*
exit /b %ERRORLEVEL% exit /b %ERRORLEVEL%

125
test.sh
View File

@@ -1,76 +1,61 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -euo pipefail
AUTH_FILE="$HOME/.pi/agent/auth.json" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
AUTH_BACKUP="$HOME/.pi/agent/auth.json.bak"
# Restore auth.json on exit (success or failure) # Default to the repository-local pi config so this source checkout uses the
cleanup() { # copied learning config instead of ~/.pi.
if [[ -f "$AUTH_BACKUP" ]]; then export PI_CODING_AGENT_DIR="${PI_CODING_AGENT_DIR:-$SCRIPT_DIR/.pi/agent}"
mv "$AUTH_BACKUP" "$AUTH_FILE"
echo "Restored auth.json"
fi
}
trap cleanup EXIT
# Move auth.json out of the way # Check for --no-env flag
if [[ -f "$AUTH_FILE" ]]; then NO_ENV=false
mv "$AUTH_FILE" "$AUTH_BACKUP" ARGS=()
echo "Moved auth.json to backup" for arg in "$@"; do
if [[ "$arg" == "--no-env" ]]; then
NO_ENV=true
else
ARGS+=("$arg")
fi
done
if [[ "$NO_ENV" == "true" ]]; then
# Unset API keys (see packages/ai/src/env-api-keys.ts)
unset ANTHROPIC_API_KEY
unset ANTHROPIC_OAUTH_TOKEN
unset OPENAI_API_KEY
unset GEMINI_API_KEY
unset GROQ_API_KEY
unset CEREBRAS_API_KEY
unset XAI_API_KEY
unset OPENROUTER_API_KEY
unset ZAI_API_KEY
unset MISTRAL_API_KEY
unset MINIMAX_API_KEY
unset MINIMAX_CN_API_KEY
unset AI_GATEWAY_API_KEY
unset OPENCODE_API_KEY
unset COPILOT_GITHUB_TOKEN
unset GH_TOKEN
unset GITHUB_TOKEN
unset HF_TOKEN
unset GOOGLE_APPLICATION_CREDENTIALS
unset GOOGLE_CLOUD_PROJECT
unset GCLOUD_PROJECT
unset GOOGLE_CLOUD_LOCATION
unset AWS_PROFILE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
unset AWS_REGION
unset AWS_DEFAULT_REGION
unset AWS_BEARER_TOKEN_BEDROCK
unset AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
unset AWS_CONTAINER_CREDENTIALS_FULL_URI
unset AWS_WEB_IDENTITY_TOKEN_FILE
unset AZURE_OPENAI_API_KEY
unset AZURE_OPENAI_BASE_URL
unset AZURE_OPENAI_RESOURCE_NAME
echo "Running without API keys..."
fi fi
# Skip local LLM tests (ollama, lmstudio) "$SCRIPT_DIR/node_modules/.bin/tsx" --tsconfig "$SCRIPT_DIR/tsconfig.json" "$SCRIPT_DIR/packages/coding-agent/src/cli.ts" ${ARGS[@]+"${ARGS[@]}"}
export PI_NO_LOCAL_LLM=1
# Unset API keys (see packages/ai/src/stream.ts getEnvApiKey)
unset ANTHROPIC_API_KEY
unset ANTHROPIC_OAUTH_TOKEN
unset OPENAI_API_KEY
unset AZURE_OPENAI_API_KEY
unset DEEPSEEK_API_KEY
unset GEMINI_API_KEY
unset GOOGLE_CLOUD_API_KEY
unset GROQ_API_KEY
unset CEREBRAS_API_KEY
unset XAI_API_KEY
unset OPENROUTER_API_KEY
unset ZAI_API_KEY
unset ZAI_CODING_CN_API_KEY
unset MISTRAL_API_KEY
unset MINIMAX_API_KEY
unset MINIMAX_CN_API_KEY
unset MOONSHOT_API_KEY
unset KIMI_API_KEY
unset HF_TOKEN
unset FIREWORKS_API_KEY
unset TOGETHER_API_KEY
unset AI_GATEWAY_API_KEY
unset OPENCODE_API_KEY
unset CLOUDFLARE_API_KEY
unset CLOUDFLARE_ACCOUNT_ID
unset CLOUDFLARE_GATEWAY_ID
unset XIAOMI_API_KEY
unset XIAOMI_TOKEN_PLAN_CN_API_KEY
unset XIAOMI_TOKEN_PLAN_AMS_API_KEY
unset XIAOMI_TOKEN_PLAN_SGP_API_KEY
unset COPILOT_GITHUB_TOKEN
unset GH_TOKEN
unset GITHUB_TOKEN
unset GOOGLE_APPLICATION_CREDENTIALS
unset GOOGLE_CLOUD_PROJECT
unset GCLOUD_PROJECT
unset GOOGLE_CLOUD_LOCATION
unset AWS_PROFILE
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
unset AWS_REGION
unset AWS_DEFAULT_REGION
unset AWS_BEARER_TOKEN_BEDROCK
unset AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
unset AWS_CONTAINER_CREDENTIALS_FULL_URI
unset AWS_WEB_IDENTITY_TOKEN_FILE
unset BEDROCK_EXTENSIVE_MODEL_TEST
echo "Running tests without API keys..."
npm test