新增一键安装脚本和相关说明,简化用户安装和配置流程,支持自动安装 Bun、依赖及生成 .env 文件。

This commit is contained in:
discountry
2025-09-24 22:23:33 +08:00
parent 709384c7f9
commit 186544c59f
2 changed files with 126 additions and 0 deletions
+17
View File
@@ -10,6 +10,23 @@
遇到Bug,返回问题,请到 [Telegram群组](https://t.me/+4fdo0quY87o4Mjhh)
一键安装并启动(macOS / Linux):
```bash
chmod +x ./setup.sh && ./setup.sh
```
脚本会自动安装 Bun、安装依赖、引导输入 API Key/Secret,生成 `.env` 并启动程序。
Windows 使用 WSL(推荐):
1. 先安装并启用 WSL,参考微软官方文档:[在 Windows 上安装 WSL](https://learn.microsoft.com/zh-cn/windows/wsl/install)
2. 在 Microsoft Store 安装 Ubuntu(或其他 Linux 发行版),打开 “Ubuntu” 终端。
3. 在 WSL 中运行一键脚本:
```bash
git clone https://github.com/discountry/ritmex-bot.git
cd ritmex-bot
chmod +x ./setup.sh && ./setup.sh
```
按提示输入 ASTER_API_KEY / ASTER_API_SECRET,脚本将自动安装 Bun、依赖并启动程序。
1. **下载代码**
- 如果会使用 Git`git clone https://github.com/discountry/ritmex-bot.git`
- 如果不会使用 Git:点击仓库页面的 `Code` → `Download ZIP`,将压缩包解压到如 `桌面/ritmex-bot` 的目录。
+109
View File
@@ -0,0 +1,109 @@
#!/usr/bin/env bash
set -euo pipefail
# One-click setup for ritmex-bot (Linux/macOS)
# - Ensures Bun is installed
# - Installs dependencies
# - Prompts for API credentials
# - Generates .env
# - Starts the bot
main() {
require_unix
ensure_bun
install_deps
prompt_env
write_env
echo
echo "✅ Setup complete. Starting ritmex-bot..."
echo
start_bot
}
require_unix() {
case "$(uname -s)" in
Linux|Darwin) ;;
*) echo "This script supports only Linux and macOS." >&2; exit 1 ;;
esac
}
ensure_bun() {
if command -v bun >/dev/null 2>&1; then
echo "✔ Bun found: $(bun --version)"
return
fi
echo " Bun not found. Installing Bun..."
if [ "$(uname -s)" = "Darwin" ] && command -v brew >/dev/null 2>&1; then
brew install bun
else
# Non-interactive install via official script
curl -fsSL https://bun.sh/install | bash
# shellcheck disable=SC1090
if [ -f "$HOME/.bun/bun" ] || [ -d "$HOME/.bun" ]; then
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
fi
fi
if ! command -v bun >/dev/null 2>&1; then
echo "❌ Failed to install Bun. Please install it manually from https://bun.sh" >&2
exit 1
fi
echo "✔ Bun installed: $(bun --version)"
}
install_deps() {
echo "Installing dependencies with Bun..."
bun install
}
prompt_env() {
echo
echo "Please enter your AsterDex API credentials."
read -r -p "ASTER_API_KEY: " ASTER_API_KEY
read -r -s -p "ASTER_API_SECRET (input hidden): " ASTER_API_SECRET
echo
read -r -p "TRADE_SYMBOL (default BTCUSDT): " TRADE_SYMBOL || true
TRADE_SYMBOL=${TRADE_SYMBOL:-BTCUSDT}
# Optional trading parameters
read -r -p "TRADE_AMOUNT (default 0.001): " TRADE_AMOUNT || true
TRADE_AMOUNT=${TRADE_AMOUNT:-0.001}
read -r -p "LOSS_LIMIT (default 0.03): " LOSS_LIMIT || true
LOSS_LIMIT=${LOSS_LIMIT:-0.03}
read -r -p "KLINE_INTERVAL (default 1m): " KLINE_INTERVAL || true
KLINE_INTERVAL=${KLINE_INTERVAL:-1m}
}
write_env() {
local env_file=".env"
echo "Writing ${env_file}..."
cat > "${env_file}" <<EOF
# Generated by setup.sh
ASTER_API_KEY=${ASTER_API_KEY}
ASTER_API_SECRET=${ASTER_API_SECRET}
TRADE_SYMBOL=${TRADE_SYMBOL}
TRADE_AMOUNT=${TRADE_AMOUNT}
LOSS_LIMIT=${LOSS_LIMIT}
KLINE_INTERVAL=${KLINE_INTERVAL}
# Optional maker params (uncomment and tune as needed)
# MAKER_LOSS_LIMIT=0.03
# MAKER_PRICE_CHASE=0.3
# MAKER_BID_OFFSET=0
# MAKER_ASK_OFFSET=0
# MAKER_REFRESH_INTERVAL_MS=1500
# MAKER_MAX_CLOSE_SLIPPAGE_PCT=0.05
# MAKER_PRICE_TICK=0.1
EOF
echo "✔ .env created at $(pwd)/${env_file}"
}
start_bot() {
# Bun auto-loads .env; no need to run dotenv explicitly
bun run start
}
main "$@"