Bot がオフライン表示
症状:エージェントはきれいにインストールされたが、Discord で bot アイコンがオフライン / Telegram が応答しない / Slack ユーザが非アクティブ。
修正:
sento restart
チャンネルハンドシェイクに 30 秒待ちます。それでもオフラインなら、sento logs -n 50 で認証エラーを探す。
よくある根本原因:
- Bot トークンが期限切れまたは取り消された(Discord トークンは 90 日間アクティビティがないとリセット)
- インストール後に必要な intents / scope が削除された(必要な権限についてはチャンネルごとのドキュメント参照)
- ネットワークの一時的な問題 — Guardian が通常 1 分以内に捉える
「Node 20+ required」
症状:npx sentoagent init が Node バージョンエラーで失敗。
修正(Ubuntu/Debian):
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs
node -v
macOS:brew install node@20 してから brew link --force node@20。
インストール中の権限エラー
症状:/usr/lib/node_modules への書き込みなどで EACCES。
修正:root で実行しているか、ユーザーレベルの npm prefix がない。通常ユーザーを作成、そのユーザーでインストール実行:
adduser sento
su - sento
npx sentoagent init
Sentō のインストーラはユーザーレベルのインストールが動くように NPM_CONFIG_PREFIX=~/.npm-global を設定します。Docker や Linux で root として実行しません。
Playwright がクラッシュ / エージェントが OOM
症状:Web を見るように頼むとエージェントがフリーズまたはクラッシュ。
修正:ホストの RAM が 2 GB 未満。VPS を少なくとも 2 GB にリサイズ。Chromium は呼吸する空間が必要。
「Message Content Intent」エラー(Discord)
症状:エージェントログが Used disallowed intents を表示、またはエージェントがメッセージを沈黙して無視。
修正:Discord Developer Portal → あなたの app → Bot → Privileged Gateway Intents → Message Content Intent と Server Members Intent を有効化。エージェントを再起動。
エージェントがメッセージに応答しない
症状:bot はオンラインだが応答しない。
順番にチェック:
- チャンネル権限 — その特定のチャンネルで bot ロールに View Channel + Send Messages が必要。
- メンションゲーティング — グループでは
access.jsonのrequireMention: trueが、bot は @ メンションされた時のみ応答することを意味します。 - DM ポリシー —
dmPolicy: "disabled"または"allowlist"+ 空のallowFromなら、何も通りません。~/.claude/channels/<channel>/access.jsonを確認。 - レート制限 — bot に大量のメッセージを送っていた場合、レートリミッタが一時的にメッセージをドロップしているかも。
Guardian がハングしたエージェントを再起動しない
症状:エージェントがハングしている、Guardian が反応しない。
チェック:
- Guardian は動いているか?
pgrep -fa guardian.jsで少なくとも 1 つのマッチが返るべき。 - 再起動カウントが最大か?
/tmp/sento-guardian-<agent>.jsonを確認。restarts.length >= 3なら、Guardian は 30 分ウィンドウがロールするまで諦めています。
修正:状態ファイルを削除して両方を再起動:
rm /tmp/sento-guardian-<agent>.json
sento restart
エージェントのメモリが永続化しない
症状:エージェントに何かを覚えるように言ったが、次のセッションで知らない。
チェック:
- ClawMem はインストール済みか?
ls ~/workspace/memory/で少なくともMEMORY.mdが表示されるべき。 - エージェントが実際に書いたか?
~/workspace/memory/の一番最近のファイルを見てcat。 - API キーなしで Gemini 埋め込みに依存している? もしそうなら、セマンティック検索は動かないがキーワード検索はまだ動きます。
iMessage:SQLITE_CANTOPEN
症状:iMessage エージェントがメッセージを読めない、ログに SQLITE_CANTOPEN。
修正:Sentō を起動したターミナルにフルディスクアクセスがない。付与:
システム設定 → プライバシーとセキュリティ → フルディスクアクセス → Terminal(または iTerm / Warp / Ghostty)を追加。ターミナルを再起動。
それでも詰まった?
GitHub で issue を開き、以下を添えて:
- OS / ホストタイプ(VPS プロバイダ、macOS バージョン、Docker イメージ)
sento doctorの出力sento logsの最後の 40 行
実際の人間がすべてを読みます。