huanbao commited on
Commit
32b56d3
·
verified ·
1 Parent(s): b9c4570

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +5 -168
entrypoint.sh CHANGED
@@ -78,13 +78,13 @@ cat <<EOF > "$HOME/.claude/settings.json"
78
  }
79
  EOF
80
 
81
- # 4. 自动生成 Codex 配置
82
  # 修复要点:
83
- # a. 顶层键必须位于任何 [table] 段之前,否则键被归入 table 导致配置失效;
84
  # b. hfspace 容器 seccomp 拦截 CLONE_NEWUSER 且无 bwrap,沙箱双路径全阻断,
85
  # 必须 sandbox_mode="danger-full-access" + approval_policy="never" 让 Codex 完全跳过沙箱;
86
- # c. 通道用实测可用的中转网关:wire_api="responses"、env_key="OPENAI_API_KEY";
87
- # d. 凭证解析:优先 CODEX_API_KEY 环境变量,其次 /data/.codex/gw_token。
88
  CODEX_KEY_RESOLVED="${CODEX_API_KEY:-}"
89
  if [ -z "$CODEX_KEY_RESOLVED" ] && [ -f /data/.codex/gw_token ]; then
90
  CODEX_KEY_RESOLVED="$(head -n 1 /data/.codex/gw_token | tr -d '[:space:]')"
@@ -133,167 +133,4 @@ chmod 600 /data/.codex/gw_token 2>/dev/null || true
133
 
134
  # 7. 切换并启动
135
  cd /data/app
136
- exec "$@"
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
- # cc、cursor可用版本
159
- # #!/bin/bash
160
- # set -e
161
-
162
- # # 导出环境变量供子进程使用
163
- # export CURSOR_API_KEY="${CURSOR_API_KEY:-}"
164
-
165
- # # 检查并包装 claude 二进制,让其每次执行都强制携带跳过权限参数
166
- # CLAUDE_BIN=$(which claude 2>/dev/null || echo "/usr/local/bin/claude")
167
- # if [ -f "$CLAUDE_BIN" ] && [ ! -f "${CLAUDE_BIN}.orig" ]; then
168
- # mv "$CLAUDE_BIN" "${CLAUDE_BIN}.orig"
169
- # cat << 'EOF' > "$CLAUDE_BIN"
170
- # #!/bin/sh
171
- # exec "$0.orig" --dangerously-skip-permissions "$@"
172
- # EOF
173
- # chmod +x "$CLAUDE_BIN"
174
- # fi
175
-
176
- # # 1. 创建持久化挂载目录
177
- # mkdir -p /data/.claude /data/.codex /data/.cloudcli /data/app /data/.taskmaster /data/.cursor /data/.config/cursor
178
-
179
- # # 2. 软链接映射到持久化盘
180
- # if [ ! -L "$HOME/.claude" ]; then
181
- # rm -rf "$HOME/.claude"
182
- # ln -s /data/.claude "$HOME/.claude"
183
- # fi
184
-
185
- # if [ ! -L "$HOME/.cloudcli" ]; then
186
- # rm -rf "$HOME/.cloudcli"
187
- # ln -s /data/.cloudcli "$HOME/.cloudcli"
188
- # fi
189
-
190
- # if [ ! -L "$HOME/.taskmaster" ]; then
191
- # rm -rf "$HOME/.taskmaster"
192
- # ln -s /data/.taskmaster "$HOME/.taskmaster"
193
- # fi
194
-
195
- # if [ ! -L "$HOME/.codex" ]; then
196
- # rm -rf "$HOME/.codex"
197
- # ln -s /data/.codex "$HOME/.codex"
198
- # fi
199
-
200
- # if [ ! -L "$HOME/.cursor" ]; then
201
- # rm -rf "$HOME/.cursor"
202
- # ln -s /data/.cursor "$HOME/.cursor"
203
- # fi
204
-
205
- # mkdir -p "$HOME/.config"
206
- # if [ ! -L "$HOME/.config/cursor" ]; then
207
- # rm -rf "$HOME/.config/cursor"
208
- # ln -s /data/.config/cursor "$HOME/.config/cursor"
209
- # fi
210
-
211
- # # 3. 自动生成 Claude 配置
212
- # mkdir -p "$HOME/.claude"
213
- # cat <<EOF > "$HOME/.claude/settings.json"
214
- # {
215
- # "cleanupPeriodDays": 720,
216
- # "env": {
217
- # "ANTHROPIC_BASE_URL": "${ANTHROPIC_BASE_URL:-}",
218
- # "ANTHROPIC_AUTH_TOKEN": "${ANTHROPIC_AUTH_TOKEN:-}",
219
- # "CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
220
- # "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
221
- # "DISABLE_INSTALLATION_CHECKS": "1",
222
- # "CLAUDE_CODE_PROXY_RESOLVES_HOSTS": "1",
223
- # "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
224
- # "ENABLE_TOOL_SEARCH": "0",
225
- # "DISABLE_AUTOUPDATER": "1",
226
- # "API_TIMEOUT_MS": "1200000",
227
- # "CLAUDE_STREAM_IDLE_TIMEOUT_MS": "1200000",
228
- # "CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS": "1200000",
229
- # "CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS": "1200000",
230
- # "BASH_DEFAULT_TIMEOUT_MS": "1800000",
231
- # "IS_SANDBOX": "1",
232
- # "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-d",
233
- # "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-sonnet-d",
234
- # "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-d",
235
- # "ANTHROPIC_MODEL": "claude-sonnet-d",
236
- # "ANTHROPIC_REASONING_MODEL": "claude-sonnet-d"
237
- # },
238
- # "permissions": {
239
- # "defaultMode": "bypassPermissions",
240
- # "additionalDirectories": [
241
- # "/home/node",
242
- # "/data",
243
- # "/data/app",
244
- # "/home/node/app"
245
- # ],
246
- # "allow": [
247
- # "Bash(*)",
248
- # "Read(*)",
249
- # "Write(*)",
250
- # "Edit(*)",
251
- # "MultiEdit(*)",
252
- # "Glob(*)",
253
- # "Grep(*)",
254
- # "LS(*)",
255
- # "*"
256
- # ]
257
- # },
258
- # "hasCompletedOnboarding":true,
259
- # "dangerouslySkipPermissions": true,
260
- # "skipDangerousModePermissionPrompt": true,
261
- # "skipWebFetchPreflight": true
262
- # }
263
- # EOF
264
-
265
- # # 4. 自动生成 Codex 配置
266
- # mkdir -p "$HOME/.codex"
267
- # cat <<EOF > "$HOME/.codex/config.toml"
268
- # cli_auth_credentials_store = "file"
269
- # model_provider = "${CODEX_PROVIDER:-custom}"
270
- # model = "${CODEX_MODEL:-gpt-5.6-sol}"
271
- # [model_providers.custom]
272
- # name = "Custom"
273
- # base_url = "${CODEX_BASE_URL:-https://api.openai.com/v1}"
274
- # wire_api = "responses"
275
- # requires_openai_auth = true
276
- # EOF
277
-
278
- # cat <<EOF > "$HOME/.codex/auth.json"
279
- # {
280
- # "OPENAI_API_KEY": "${CODEX_API_KEY:-sk-dummy-key}"
281
- # }
282
- # EOF
283
-
284
- # # 5. 生成 Cursor 全路径凭证 (核心修复点)
285
- # # 基础目录创建
286
- # mkdir -p "$HOME/.cursor"
287
- # cat <<EOF > "$HOME/.cursor/cli-config.json"
288
- # {
289
- # "permissions": {
290
- # "allow": ["Shell(*)", "Read", "Write"],
291
- # "deny": []
292
- # },
293
- # "version": 1
294
- # }
295
- # EOF
296
-
297
- # # 6. 切换工作目录并启动
298
- # cd /data/app
299
- # exec "$@"
 
78
  }
79
  EOF
80
 
81
+ # 4. 自动生成 Codex 配置(依据 readme.md 实测结论修复 bwrap 命名空间报错)
82
  # 修复要点:
83
+ # a. 顶层键必须位于任何 [table] 段之前,否则键被归入 table 导致配置失效(实测注意点);
84
  # b. hfspace 容器 seccomp 拦截 CLONE_NEWUSER 且无 bwrap,沙箱双路径全阻断,
85
  # 必须 sandbox_mode="danger-full-access" + approval_policy="never" 让 Codex 完全跳过沙箱;
86
+ # c. 通道用实测可用的中转网关:wire_api="responses"、env_key="OPENAI_API_KEY"(移除 requires_openai_auth);
87
+ # d. 凭证解析:优先 CODEX_API_KEY 环境变量,其次 /data/.codex/gw_token(持久盘凭证文件)。
88
  CODEX_KEY_RESOLVED="${CODEX_API_KEY:-}"
89
  if [ -z "$CODEX_KEY_RESOLVED" ] && [ -f /data/.codex/gw_token ]; then
90
  CODEX_KEY_RESOLVED="$(head -n 1 /data/.codex/gw_token | tr -d '[:space:]')"
 
133
 
134
  # 7. 切换并启动
135
  cd /data/app
136
+ exec "$@"