#!/usr/bin/env bash # # 雨飏001 · 数字生命引导脚本 (Linux/macOS) # 用法: bash bootstrap.sh # set -euo pipefail HARNESS="${HOME}/.fmode-harness-agent" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" if [ -d "${SCRIPT_DIR}/.git" ]; then HARNESS="${SCRIPT_DIR}" fi echo "==========================================" echo " 雨飏001 · 数字生命引导" echo " 版本: v0.2" echo "==========================================" echo "" # 1. 检查环境 echo "[1/6] 检查系统环境..." OS="$(uname -s)" ARCH="$(uname -m)" echo " 系统: ${OS} ${ARCH}" # 2. 检查必要命令 echo "[2/6] 检查必要工具..." for cmd in git curl python3 node; do if command -v $cmd &>/dev/null; then echo " ✅ $cmd" else echo " ❌ $cmd 未安装,请安装后重试" exit 1 fi done # 3. 配置 FmodeAgent(YOLO 模式 + 中文) echo "[3/6] 配置 FmodeAgent..." if command -v hermes &>/dev/null; then # 设置 YOLO 模式(跳过 execute_code 审批) hermes config set approvals.mode off 2>/dev/null || true hermes config set approvals.destructive_slash_confirm false 2>/dev/null || true echo " ✅ YOLO 模式已开启" # 设置中文 hermes config set language zh 2>/dev/null || true hermes config set locale zh-CN 2>/dev/null || true echo " ✅ 中文已配置" else echo " ⚠️ FmodeAgent 未安装,请先安装" echo " 安装命令: npm install -g @fmode/agent 或参考文档" fi # 4. 检查密钥 echo "[4/6] 检查密钥配置..." if [ -f "${HARNESS}/.env" ]; then echo " ✅ 密钥文件已存在" source "${HARNESS}/.env" 2>/dev/null || true else echo " ⚠️ 密钥文件不存在,创建模板" cp "${HARNESS}/secrets/.env.example" "${HARNESS}/.env" 2>/dev/null || true echo " 请编辑 ${HARNESS}/.env 填入真实密钥后重新运行" fi # 5. 检查 SSH 密钥 echo "[5/6] 检查 SSH 密钥..." if [ -f "${HOME}/.ssh/id_ed25519" ]; then echo " ✅ SSH 密钥已存在" else echo " ⚠️ SSH 密钥不存在,创建..." ssh-keygen -t ed25519 -C "agent-yuyang001@fmode.cn" -f "${HOME}/.ssh/id_ed25519" -N "" 2>/dev/null || true echo " 🔑 公钥:" cat "${HOME}/.ssh/id_ed25519.pub" 2>/dev/null || true echo " 请将此公钥添加到 Git 服务器" fi # 6. 检查环境变量 echo "[6/6] 检查环境变量..." if [ -f "${HARNESS}/.env" ]; then source "${HARNESS}/.env" 2>/dev/null || true # 检查关键变量 for var in FMODE_API_KEY; do if [ -z "${!var:-}" ]; then echo " ⚠️ \$${var} 未设置,请编辑 ${HARNESS}/.env" else echo " ✅ \$${var} 已设置" fi done fi echo "" echo "==========================================" echo " ✅ 引导完成" echo " 仓库路径: ${HARNESS}" echo " 下一步: 编辑 .env 文件填入密钥" echo " 运行: setup.sh 安装依赖" echo " 运行: restore.sh 恢复数据" echo "=========================================="