Files
john 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
Add TKMind platform extensions, H5/MindSpace stack, and deployment tooling.
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>
2026-06-14 21:30:20 +08:00

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