-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart-iflow.sh
More file actions
executable file
·81 lines (65 loc) · 1.74 KB
/
Copy pathstart-iflow.sh
File metadata and controls
executable file
·81 lines (65 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
# iFlow CLI 启动脚本
# 支持克隆仓库并进行AI辅助开发
set -e
echo "🚀 启动 iFlow CLI Docker 容器"
echo "=============================="
# 解析参数(API密钥现在是可选的)
API_KEY="${1:-}"
REPO_URL="${2:-}"
WORKSPACE_DIR="${3:-./workspace}"
# 创建工作目录
mkdir -p "$WORKSPACE_DIR"
# 创建配置目录和设置文件(如果提供了API_KEY)
CONFIG_DIR="./iflow-config"
mkdir -p "$CONFIG_DIR"
if [ -n "$API_KEY" ]; then
# 创建设置文件
cat > "$CONFIG_DIR/settings.json" << EOF
{
"auth": {
"apiKey": "$API_KEY",
"baseUrl": "https://api.iflow.cn"
}
}
EOF
echo "🔑 配置文件已创建"
fi
echo "📁 工作目录: $WORKSPACE_DIR"
echo "🔗 仓库URL: $REPO_URL"
# 如果提供了仓库URL,则克隆仓库
if [ -n "$REPO_URL" ]; then
echo "📥 正在克隆仓库: $REPO_URL"
# 进入工作目录并克隆仓库
cd "$WORKSPACE_DIR"
# 检查目录是否为空,如果非空则询问
if [ "$(ls -A . 2>/dev/null)" ]; then
echo "⚠️ 工作目录非空,是否继续? [y/N]"
read -r response
if [[ ! "$response" =~ ^[Yy]$ ]]; then
echo "操作已取消"
exit 0
fi
fi
# 克隆仓库
if git clone "$REPO_URL" .; then
echo "✅ 仓库克隆成功"
else
echo "❌ 仓库克隆失败"
exit 1
fi
echo "🔍 当前目录内容:"
ls -la
fi
echo
echo "🤖 启动 iFlow CLI..."
echo
# 启动iFlow CLI容器,挂载配置文件
docker run -it --rm \
-v "$(pwd)/$CONFIG_DIR:/root/.iflow" \
-v "$(pwd)/$WORKSPACE_DIR:/workspace" \
-w /workspace \
cc11001100/iflow-cli:latest \
"$@"
echo
echo "✅ iFlow CLI 会话结束"