بنقرة واحدة
debug
Debug NanoClaw Codex container issues: auth, mounts, session resumption, runtime failures, and service health.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Debug NanoClaw Codex container issues: auth, mounts, session resumption, runtime failures, and service health.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/add-gmail/SKILL.md.
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/add-parallel/SKILL.md.
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/add-telegram/SKILL.md.
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/add-telegram-swarm/SKILL.md.
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/add-voice-transcription/SKILL.md.
Legacy compatibility wrapper. Canonical skill lives in .codex/skills/convert-to-docker/SKILL.md.
| name | debug |
| description | Debug NanoClaw Codex container issues: auth, mounts, session resumption, runtime failures, and service health. |
Host (macOS/Linux) Container (Linux VM)
────────────────────────────────────────────────────────────
src/container-runner.ts container/agent-runner/
│ │
│ spawns container runtime │ runs Codex SDK
│ │
├── data/env/env ───────────────> /workspace/env-dir/env
├── groups/{folder} ─────────────> /workspace/group
├── data/ipc/{folder} ──────────> /workspace/ipc
├── data/sessions/{folder}/.codex/ -> /home/node/.codex/
└── (main only) project root ----> /workspace/project
logs/nanoclaw.loglogs/nanoclaw.error.loggroups/{folder}/logs/container-*.logdata/sessions/{folder}/.codex/launchctl list | grep nanoclaw
container ls --format '{{.Names}} {{.Status}}' 2>/dev/null | grep nanoclaw
grep -E 'ERROR|WARN|timeout|failed' logs/nanoclaw.log | tail -30
Check latest container log first:
ls -lt groups/*/logs/container-*.log | head -5
cat groups/<group>/logs/container-<timestamp>.log
Likely causes:
codex login not done, no API key in .env)container/Docker unavailable)Supported auth paths:
data/sessions/{group}/.codex/auth.json.env allowlist (OPENAI_API_KEY, CODEX_API_KEY, plus optional OpenAI overrides)Checks:
ls -la data/sessions/<group>/.codex/
grep -E '^(OPENAI_API_KEY|CODEX_API_KEY|OPENAI_BASE_URL|OPENAI_ORG_ID|OPENAI_PROJECT_ID)=' .env
Validate mounted env inside container:
echo '{}' | container run -i \
--mount type=bind,source=$(pwd)/data/env,target=/workspace/env-dir,readonly \
--entrypoint /bin/bash nanoclaw-agent:latest \
-c 'export $(cat /workspace/env-dir/env | xargs); env | grep -E "^(OPENAI_API_KEY|CODEX_API_KEY|OPENAI_BASE_URL|OPENAI_ORG_ID|OPENAI_PROJECT_ID)="'
Ensure mount target is .codex and session IDs are persisted:
grep -n '/home/node/.codex' src/container-runner.ts
sqlite3 store/messages.db "SELECT group_folder, session_id FROM sessions ORDER BY group_folder;"
ls -la data/sessions/<group>/.codex/sessions 2>/dev/null
grep -E 'mount|Mount validated|REJECTED|Container mount configuration' logs/nanoclaw.log | tail -30
cat ~/.config/nanoclaw/mount-allowlist.json
Remember:
-v host:container--mount type=bind,...,readonlygrep -E 'Connected to WhatsApp|Connection closed|QR|authentication required' logs/nanoclaw.log | tail -20
grep -E 'New messages|Processing messages|Spawning container|Agent error' logs/nanoclaw.log | tail -40
sqlite3 store/messages.db "SELECT chat_jid, MAX(timestamp) latest FROM messages GROUP BY chat_jid ORDER BY latest DESC LIMIT 10;"
mkdir -p data/env groups/test
cp .env data/env/env
echo '{"prompt":"Say hello","groupFolder":"test","chatJid":"test@g.us","isMain":false}' | \
container run -i \
--mount "type=bind,source=$(pwd)/data/env,target=/workspace/env-dir,readonly" \
-v $(pwd)/groups/test:/workspace/group \
-v $(pwd)/data/ipc/test:/workspace/ipc \
nanoclaw-agent:latest
npm run build
./container/build.sh
launchctl kickstart -k gui/$(id -u)/com.nanoclaw
Collect and share:
logs/nanoclaw.loggroups/<folder>/logs/container-*.logsqlite3 store/messages.db "SELECT * FROM sessions;"