forked from WHC/Hermit
Initial CST-Agent: portable Linux/Termux/Windows coding agent.
Vendored sashidown, OpenAI-compatible env (OPENAI_*), and bootstrap scripts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
# One-shot on a Linux host: cross-build Windows x86_64 release (MinGW).
|
||||
# Output: dist/windows-x86_64/ — copy that folder to a Windows machine.
|
||||
set -euo pipefail
|
||||
|
||||
REPO_URL="${CST_AGENT_REPO:-https://git.whcself.xyz/WHC/CST-agent.git}"
|
||||
DIR="${1:-}"
|
||||
|
||||
if [[ -z "$DIR" ]]; then
|
||||
if [[ -f CMakeLists.txt && -d src ]]; then
|
||||
DIR="$(pwd)"
|
||||
else
|
||||
DIR="CST-agent"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -f "$DIR/CMakeLists.txt" ]]; then
|
||||
echo "==> git clone $REPO_URL -> $DIR"
|
||||
git clone "$REPO_URL" "$DIR"
|
||||
fi
|
||||
cd "$DIR"
|
||||
|
||||
need() { command -v "$1" >/dev/null || { echo "missing $1 (install mingw-w64 gcc cmake git)" >&2; exit 1; }; }
|
||||
need git; need cmake; need x86_64-w64-mingw32-gcc
|
||||
|
||||
echo "==> third-party (curl Schannel + PDCurses + busybox-w32)"
|
||||
chmod +x scripts/*.sh 2>/dev/null || true
|
||||
./scripts/build_third_party_mingw.sh all
|
||||
|
||||
echo "==> cmake Windows TUI"
|
||||
cmake -B build-win-tui \
|
||||
-DCMAKE_TOOLCHAIN_FILE=cmake/mingw-w64-x86_64.cmake \
|
||||
-DCST_BUILD_TUI=ON \
|
||||
-DCMAKE_PREFIX_PATH="$PWD/third_party/prefix-mingw" \
|
||||
-DPDCurses_ROOT="$PWD/third_party/prefix-mingw"
|
||||
cmake --build build-win-tui -j"$(nproc 2>/dev/null || echo 4)"
|
||||
|
||||
echo "==> package"
|
||||
./scripts/package_windows.sh
|
||||
|
||||
echo
|
||||
echo "OK: dist/windows-x86_64/"
|
||||
echo "Copy that folder to Windows, then:"
|
||||
echo " set OPENAI_API_KEY=sk-..."
|
||||
echo " set OPENAI_BASE_URL=https://api.openai.com/v1"
|
||||
echo " set OPENAI_MODEL=gpt-4.1-mini"
|
||||
echo " cst-agent.exe --workspace ."
|
||||
echo "See docs/env_openai.md and docs/README-windows.md"
|
||||
Reference in New Issue
Block a user