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 IntentServer Members Intent を有効化。エージェントを再起動。

エージェントがメッセージに応答しない

症状:bot はオンラインだが応答しない。

順番にチェック:

  1. チャンネル権限 — その特定のチャンネルで bot ロールに View Channel + Send Messages が必要。
  2. メンションゲーティング — グループでは access.jsonrequireMention: true が、bot は @ メンションされた時のみ応答することを意味します。
  3. DM ポリシーdmPolicy: "disabled" または "allowlist" + 空の allowFrom なら、何も通りません。~/.claude/channels/<channel>/access.json を確認。
  4. レート制限 — 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 行

実際の人間がすべてを読みます。