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
|
```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.)
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -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/` | 可复用 Skills(Gitea、SSH、GitHub 等) |
|
| `.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/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 改动
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
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
|
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
|
||||||
|
|||||||
@@ -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
125
test.sh
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user