42 lines
1.8 KiB
Bash
Executable File
42 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# 启动官方 codex app-server(照搬开源核心,不改 agent 循环、不改沙箱)。
|
||
#
|
||
# 用法:
|
||
# ./start.sh # stdio,适合本机客户端(client.py)
|
||
# ./start.sh --listen unix:///tmp/codex.sock # Unix socket,多客户端共享一个 server
|
||
# ./start.sh --listen ws://127.0.0.1:8080 # WebSocket,远程/另一台机器接
|
||
# CODEX_HOME=~/.codex ./start.sh # 默认就是 ~/.codex,不设也一样
|
||
#
|
||
# 先只校验配置、不启动(排障用):
|
||
# codex app-server --print-startup-config
|
||
#
|
||
# 注意:
|
||
# 1. 模型和登录不在开源里:首次使用前先在你自己的机器上完成
|
||
# `codex login`(ChatGPT 登录)或配好 API key 的 model provider,
|
||
# 否则 thread/start 能建、turn/start 会在模型调用处失败。
|
||
# 2. 不要把 --dangerously-bypass-approvals-and-sandbox 写进常驻启动,
|
||
# 那是给外部已沙箱化的环境准备的,见 README 安全一节。
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")"
|
||
|
||
# 本机 VM 修复:系统里的 codex 是裸二进制,旁边没有
|
||
# codex-code-mode-host 和 codex-resources/bwrap,工具会 fail closed。
|
||
# 本项目 bin/ 里是配对好的官方 0.164.0-alpha.9 三件套
|
||
# (codex + codex-code-mode-host + codex-resources/bwrap),
|
||
# 优先用它;Mac 上用 npm 正常安装的 codex 自带这三件套,
|
||
# 不需要 bin/,直接用 PATH 里的 codex 即可。
|
||
if [ -n "${CODEX_BIN:-}" ]; then
|
||
CODEX_CMD="$CODEX_BIN"
|
||
elif [ -x "$(dirname "$0")/bin/codex" ]; then
|
||
CODEX_CMD="$(dirname "$0")/bin/codex"
|
||
elif command -v codex >/dev/null 2>&1; then
|
||
CODEX_CMD="codex"
|
||
else
|
||
echo "找不到 codex,请先装官方 codex" >&2
|
||
exit 1
|
||
fi
|
||
|
||
echo "codex: $($CODEX_CMD --version 2>&1 | head -1) ($CODEX_CMD)"
|
||
echo "CODEX_HOME: ${CODEX_HOME:-$HOME/.codex}"
|
||
exec "$CODEX_CMD" app-server "$@"
|