4e21ca937a
Deploy Documentation / deploy (push) Has been cancelled
Canary / Prepare Version (push) Has been cancelled
Canary / build-cli (push) Has been cancelled
Canary / Upload Install Script (push) Has been cancelled
Canary / bundle-desktop (push) Has been cancelled
Canary / bundle-desktop-intel (push) Has been cancelled
Canary / bundle-desktop-linux (push) Has been cancelled
Canary / bundle-desktop-windows (push) Has been cancelled
Canary / bundle-desktop-windows-cuda (push) Has been cancelled
Canary / Release (push) Has been cancelled
Unused Dependencies / machete (push) Has been cancelled
CI / changes (push) Has been cancelled
CI / Check Rust Code Format (push) Has been cancelled
CI / Build and Test Rust Project (push) Has been cancelled
CI / Build Rust Project on Windows (push) Has been cancelled
CI / Check MSRV (push) Has been cancelled
CI / Lint Rust Code (push) Has been cancelled
CI / Check Generated Schemas are Up-to-Date (push) Has been cancelled
CI / Test and Lint Electron Desktop App (push) Has been cancelled
CI / H5 Plaza Tests and Build (push) Has been cancelled
Live Provider Tests / check-fork (push) Has been cancelled
Live Provider Tests / changes (push) Has been cancelled
Live Provider Tests / Build Binary (push) Has been cancelled
Live Provider Tests / Smoke Tests (push) Has been cancelled
Live Provider Tests / Smoke Tests (Code Execution) (push) Has been cancelled
Live Provider Tests / Compaction Tests (push) Has been cancelled
Live Provider Tests / goose server HTTP integration tests (push) Has been cancelled
Publish Ask AI Bot Docker Image / docker (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Fork goose with custom MCP widgets, platform extensions (aider, git, web, search), MindSpace H5 backend/frontend, Plaza/Ops UIs, and deploy scripts for tkmind.cn. Co-authored-by: Cursor <cursoragent@cursor.com>
65 lines
1.4 KiB
Bash
Executable File
65 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ENGINE="${1:-}"
|
|
PROJECT_DIR="${2:-}"
|
|
TASK="${3:-}"
|
|
DRY_RUN="${4:-}"
|
|
|
|
AIDER_BIN="${AIDER_BIN:-${GOOSE_AIDER_BIN:-/root/aider/.venv/bin/aider}}"
|
|
|
|
if [[ -z "$ENGINE" || -z "$PROJECT_DIR" || -z "$TASK" ]]; then
|
|
echo "Usage: coding_router.sh <aider|goose|auto> <project_dir> <task> [--dry-run]"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "$PROJECT_DIR" ]]; then
|
|
echo "Project dir not found: $PROJECT_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
choose_engine() {
|
|
case "$ENGINE" in
|
|
aider) echo "aider" ;;
|
|
goose) echo "goose" ;;
|
|
auto)
|
|
if echo "$TASK" | grep -qE '修复|bug|Bug|BUG|重构|跨文件|实现|新增|改造|兼容|报错|测试失败|commit|提交|代码修改|开发|feature|refactor|fix'; then
|
|
echo "aider"
|
|
else
|
|
echo "goose"
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Unknown engine: $ENGINE"
|
|
exit 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
SELECTED_ENGINE="$(choose_engine)"
|
|
echo "Selected engine: $SELECTED_ENGINE"
|
|
|
|
if [[ "$DRY_RUN" == "--dry-run" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
cd "$PROJECT_DIR"
|
|
echo "===== git status before ====="
|
|
git status --short || true
|
|
|
|
case "$SELECTED_ENGINE" in
|
|
aider)
|
|
if [[ ! -x "$AIDER_BIN" ]]; then
|
|
echo "Aider not executable: $AIDER_BIN"
|
|
exit 1
|
|
fi
|
|
"$AIDER_BIN" --yes-always --message "$TASK"
|
|
echo "===== git status after ====="
|
|
git status --short || true
|
|
;;
|
|
goose)
|
|
echo "Goose developer tools handle this task in-session: $TASK"
|
|
exit 2
|
|
;;
|
|
esac
|