chore: rename pi-built/pi-test scripts to build/test
Some checks failed
CI / build-check-test (push) Has been cancelled
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:
@@ -94,7 +94,7 @@ Run the TUI in a controlled terminal (from the repo root):
|
||||
|
||||
```bash
|
||||
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
|
||||
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.)
|
||||
|
||||
10
README.md
10
README.md
@@ -22,7 +22,7 @@
|
||||
| `.pi/agent/extensions/*/index.ts` | sproutclaw 本地扩展(中文启动页、状态行、命令安装等) |
|
||||
| `.pi/agent/prompts/` | 自定义 slash prompt(`cl`/`is`/`pr`/`wr` 等) |
|
||||
| `.pi/agent/skills/` | 可复用 Skills(Gitea、SSH、GitHub 等) |
|
||||
| `pi-built.sh` | 使用已构建 `dist/cli.js` 启动 Agent |
|
||||
| `build.sh` | 使用已构建 `dist/cli.js` 启动 Agent |
|
||||
| `scripts/sync-upstream.sh` | 合并上游 pi-mono 更新 |
|
||||
| `scripts/push-sproutclaw.sh` | 推送到 GitHub / Gitea |
|
||||
|
||||
@@ -33,20 +33,20 @@ npm install --ignore-scripts
|
||||
npm run build
|
||||
npm run check
|
||||
./test.sh
|
||||
./pi-test.sh
|
||||
././test.sh
|
||||
```
|
||||
|
||||
运行本地源码版 Agent(开发调试):
|
||||
|
||||
```bash
|
||||
./pi-test.sh
|
||||
././test.sh
|
||||
```
|
||||
|
||||
运行已构建版 Agent(日常更快):
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
./pi-built.sh
|
||||
./build.sh
|
||||
```
|
||||
|
||||
启动 WebUI 时,在 TUI 中执行:
|
||||
@@ -142,7 +142,7 @@ git checkout main && git merge upstream-sync
|
||||
```bash
|
||||
npm install --ignore-scripts
|
||||
npm run build
|
||||
./pi-test.sh
|
||||
././test.sh
|
||||
```
|
||||
|
||||
### sproutclaw 相对 upstream 的 intentional 改动
|
||||
|
||||
@@ -14,7 +14,7 @@ npm run build
|
||||
Run from source:
|
||||
|
||||
```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.
|
||||
|
||||
61
pi-test.sh
61
pi-test.sh
@@ -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[@]}"}
|
||||
@@ -21,7 +21,7 @@ if "%~1"=="-h" goto help
|
||||
if "%~1"=="--help" goto help
|
||||
|
||||
:run
|
||||
call "%SCRIPT_DIR%pi-built.bat" %*
|
||||
call "%SCRIPT_DIR%build.bat" %*
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
:help
|
||||
|
||||
@@ -6,9 +6,9 @@ set "POWERSHELL_EXE=powershell.exe"
|
||||
|
||||
where %POWERSHELL_EXE% >nul 2>nul
|
||||
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
|
||||
)
|
||||
|
||||
%POWERSHELL_EXE% -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%pi-test.ps1" %*
|
||||
%POWERSHELL_EXE% -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%test.ps1" %*
|
||||
exit /b %ERRORLEVEL%
|
||||
63
test.sh
63
test.sh
@@ -1,61 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -euo pipefail
|
||||
|
||||
AUTH_FILE="$HOME/.pi/agent/auth.json"
|
||||
AUTH_BACKUP="$HOME/.pi/agent/auth.json.bak"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Restore auth.json on exit (success or failure)
|
||||
cleanup() {
|
||||
if [[ -f "$AUTH_BACKUP" ]]; then
|
||||
mv "$AUTH_BACKUP" "$AUTH_FILE"
|
||||
echo "Restored auth.json"
|
||||
# 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
|
||||
}
|
||||
trap cleanup EXIT
|
||||
done
|
||||
|
||||
# Move auth.json out of the way
|
||||
if [[ -f "$AUTH_FILE" ]]; then
|
||||
mv "$AUTH_FILE" "$AUTH_BACKUP"
|
||||
echo "Moved auth.json to backup"
|
||||
fi
|
||||
|
||||
# Skip local LLM tests (ollama, lmstudio)
|
||||
export PI_NO_LOCAL_LLM=1
|
||||
|
||||
# Unset API keys (see packages/ai/src/stream.ts getEnvApiKey)
|
||||
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 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 HF_TOKEN
|
||||
unset GOOGLE_APPLICATION_CREDENTIALS
|
||||
unset GOOGLE_CLOUD_PROJECT
|
||||
unset GCLOUD_PROJECT
|
||||
@@ -70,7 +52,10 @@ 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
|
||||
unset AZURE_OPENAI_API_KEY
|
||||
unset AZURE_OPENAI_BASE_URL
|
||||
unset AZURE_OPENAI_RESOURCE_NAME
|
||||
echo "Running without API keys..."
|
||||
fi
|
||||
|
||||
echo "Running tests without API keys..."
|
||||
npm test
|
||||
"$SCRIPT_DIR/node_modules/.bin/tsx" --tsconfig "$SCRIPT_DIR/tsconfig.json" "$SCRIPT_DIR/packages/coding-agent/src/cli.ts" ${ARGS[@]+"${ARGS[@]}"}
|
||||
|
||||
Reference in New Issue
Block a user