Files
hakorune/tools/codex-tmux-driver/start-instance.sh

65 lines
2.0 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# 複数Codexインスタンスを簡単に起動するスクリプト
# 使い方: ./start-instance.sh A 8769
# ./start-instance.sh B 8770 --foreground
INSTANCE_NAME="${1:-A}"
PORT="${2:-8769}"
FOREGROUND=false
# オプション解析
if [[ "$3" == "--foreground" ]] || [[ "$3" == "-f" ]]; then
FOREGROUND=true
fi
# カラー定義
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}🚀 Starting Codex Instance ${INSTANCE_NAME} on port ${PORT}${NC}"
# hook-serverの起動
if [ "$FOREGROUND" = true ]; then
echo -e "${YELLOW}Starting hook-server in foreground...${NC}"
echo "Commands:"
echo " export CODEX_HOOK_SERVER=ws://localhost:${PORT}"
echo " export CODEX_LOG_FILE=/tmp/codex-${INSTANCE_NAME}.log"
echo " codex exec"
echo ""
HOOK_SERVER_PORT=$PORT HOOK_SERVER_AUTO_EXIT=false \
node tools/codex-tmux-driver/hook-server.js
else
# バックグラウンドで起動
echo -e "${YELLOW}Starting hook-server in background...${NC}"
HOOK_SERVER_PORT=$PORT HOOK_SERVER_AUTO_EXIT=true \
nohup node tools/codex-tmux-driver/hook-server.js \
> /tmp/hook-${INSTANCE_NAME}.log 2>&1 &
HOOK_PID=$!
echo "Hook server PID: $HOOK_PID"
# 起動確認
sleep 1
if kill -0 $HOOK_PID 2>/dev/null; then
echo -e "${GREEN}✅ Hook server started successfully${NC}"
else
echo -e "${RED}❌ Hook server failed to start${NC}"
echo "Check log: /tmp/hook-${INSTANCE_NAME}.log"
exit 1
fi
# Codex起動コマンドの表示
echo ""
echo "Now run these commands in another terminal:"
echo -e "${GREEN}export CODEX_HOOK_SERVER=ws://localhost:${PORT}${NC}"
echo -e "${GREEN}export CODEX_LOG_FILE=/tmp/codex-${INSTANCE_NAME}.log${NC}"
echo -e "${GREEN}codex exec --ask-for-approval never${NC}"
echo ""
echo "To monitor:"
echo " tail -f /tmp/hook-${INSTANCE_NAME}.log"
echo " tail -f /tmp/codex-${INSTANCE_NAME}.log"
fi