huanbao commited on
Commit
2881109
·
verified ·
1 Parent(s): cb95286

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +29 -21
entrypoint.sh CHANGED
@@ -2,7 +2,7 @@
2
  set -e
3
 
4
  # 1. 创建持久化挂载目录
5
- mkdir -p /data/.claude /data/.codex /data/.cloudcli /data/app /data/.taskmaster /data/.cursor
6
 
7
  # 2. 软链接映射到持久化盘
8
  if [ ! -L "$HOME/.claude" ]; then
@@ -20,19 +20,24 @@ if [ ! -L "$HOME/.taskmaster" ]; then
20
  ln -s /data/.taskmaster "$HOME/.taskmaster"
21
  fi
22
 
23
- # 增加对 .codex 的软链接映射
24
  if [ ! -L "$HOME/.codex" ]; then
25
  rm -rf "$HOME/.codex"
26
  ln -s /data/.codex "$HOME/.codex"
27
  fi
28
 
29
- # 增加对 .cursor 的软链接映射
30
  if [ ! -L "$HOME/.cursor" ]; then
31
  rm -rf "$HOME/.cursor"
32
  ln -s /data/.cursor "$HOME/.cursor"
33
  fi
34
 
35
- # 3. 自动生成 settings.json(使用 ANTHROPIC_API_KEY 替代 AUTH_TOKEN)
 
 
 
 
 
 
 
36
  mkdir -p "$HOME/.claude"
37
  cat <<EOF > "$HOME/.claude/settings.json"
38
  {
@@ -55,16 +60,7 @@ cat <<EOF > "$HOME/.claude/settings.json"
55
  },
56
  "permissions": {
57
  "allow": [
58
- "Read",
59
- "Write",
60
- "Edit",
61
- "Bash(*)",
62
- "Glob",
63
- "Grep",
64
- "Agent",
65
- "WebFetch",
66
- "WebSearch",
67
- "NotebookEdit"
68
  ]
69
  },
70
  "model": "sonnet[1m]",
@@ -74,10 +70,8 @@ cat <<EOF > "$HOME/.claude/settings.json"
74
  }
75
  EOF
76
 
77
- # 自动生成 Codex 配置与激活凭证
78
  mkdir -p "$HOME/.codex"
79
-
80
- # 4.1 写入 config.toml
81
  cat <<EOF > "$HOME/.codex/config.toml"
82
  cli_auth_credentials_store = "file"
83
  model_provider = "${CODEX_PROVIDER:-custom}"
@@ -89,15 +83,25 @@ wire_api = "responses"
89
  requires_openai_auth = true
90
  EOF
91
 
92
- # 4.2 写入 auth.json 激活凭证
93
  cat <<EOF > "$HOME/.codex/auth.json"
94
  {
95
  "OPENAI_API_KEY": "${CODEX_API_KEY:-sk-dummy-key}"
96
  }
97
  EOF
98
 
99
- # 5 自动生成 Cursor 基础配置 (仅保留权限策略,认证通过 CURSOR_API_KEY 环境变量注入)
100
- mkdir -p "$HOME/.cursor"
 
 
 
 
 
 
 
 
 
 
 
101
  cat <<EOF > "$HOME/.cursor/cli-config.json"
102
  {
103
  "permissions": {
@@ -108,10 +112,14 @@ cat <<EOF > "$HOME/.cursor/cli-config.json"
108
  ],
109
  "deny": []
110
  },
 
 
 
 
111
  "version": 1
112
  }
113
  EOF
114
 
115
- # 6. 切换到工作目录并启动命令
116
  cd /data/app
117
  exec "$@"
 
2
  set -e
3
 
4
  # 1. 创建持久化挂载目录
5
+ mkdir -p /data/.claude /data/.codex /data/.cloudcli /data/app /data/.taskmaster /data/.cursor /data/.config/cursor
6
 
7
  # 2. 软链接映射到持久化盘
8
  if [ ! -L "$HOME/.claude" ]; then
 
20
  ln -s /data/.taskmaster "$HOME/.taskmaster"
21
  fi
22
 
 
23
  if [ ! -L "$HOME/.codex" ]; then
24
  rm -rf "$HOME/.codex"
25
  ln -s /data/.codex "$HOME/.codex"
26
  fi
27
 
 
28
  if [ ! -L "$HOME/.cursor" ]; then
29
  rm -rf "$HOME/.cursor"
30
  ln -s /data/.cursor "$HOME/.cursor"
31
  fi
32
 
33
+ # 增加对 Linux 配置目录 ~/.config/cursor 的软链接映射
34
+ mkdir -p "$HOME/.config"
35
+ if [ ! -L "$HOME/.config/cursor" ]; then
36
+ rm -rf "$HOME/.config/cursor"
37
+ ln -s /data/.config/cursor "$HOME/.config/cursor"
38
+ fi
39
+
40
+ # 3. 自动生成 settings.json (Claude)
41
  mkdir -p "$HOME/.claude"
42
  cat <<EOF > "$HOME/.claude/settings.json"
43
  {
 
60
  },
61
  "permissions": {
62
  "allow": [
63
+ "Read", "Write", "Edit", "Bash(*)", "Glob", "Grep", "Agent", "WebFetch", "WebSearch", "NotebookEdit"
 
 
 
 
 
 
 
 
 
64
  ]
65
  },
66
  "model": "sonnet[1m]",
 
70
  }
71
  EOF
72
 
73
+ # 4. 自动生成 Codex 配置
74
  mkdir -p "$HOME/.codex"
 
 
75
  cat <<EOF > "$HOME/.codex/config.toml"
76
  cli_auth_credentials_store = "file"
77
  model_provider = "${CODEX_PROVIDER:-custom}"
 
83
  requires_openai_auth = true
84
  EOF
85
 
 
86
  cat <<EOF > "$HOME/.codex/auth.json"
87
  {
88
  "OPENAI_API_KEY": "${CODEX_API_KEY:-sk-dummy-key}"
89
  }
90
  EOF
91
 
92
+ # 5. 自动生成 Cursor 凭证与基础配置(关键点!)
93
+ mkdir -p "$HOME/.cursor" "$HOME/.config/cursor"
94
+
95
+ # 5.1 写入 Linux 认证凭证文件 auth.json
96
+ cat <<EOF > "$HOME/.config/cursor/auth.json"
97
+ {
98
+ "accessToken": "${CURSOR_API_KEY:-}",
99
+ "apiKey": "${CURSOR_API_KEY:-}"
100
+ }
101
+ EOF
102
+ cp -f "$HOME/.config/cursor/auth.json" "$HOME/.cursor/auth.json"
103
+
104
+ # 5.2 写入基础 cli-config.json
105
  cat <<EOF > "$HOME/.cursor/cli-config.json"
106
  {
107
  "permissions": {
 
112
  ],
113
  "deny": []
114
  },
115
+ "authInfo": {
116
+ "email": "user@cloudcli.local",
117
+ "displayName": "Cursor User"
118
+ },
119
  "version": 1
120
  }
121
  EOF
122
 
123
+ # 6. 切换工作目录并启动
124
  cd /data/app
125
  exec "$@"