Bot 显示离线

症状:智能体安装干净,但 Discord 里 bot 图标显示离线 / Telegram 不回复 / Slack 用户显示不活跃。

修复:

sento restart

等 30 秒让频道握手。如果还离线,sento logs -n 50 找认证错误。

常见根本原因:

  • Bot token 过期或被撤销(Discord token 不活动 90 天会重置)
  • 安装后必要的 intents / scope 被去掉了(看每个频道的文档看需要的权限)
  • 网络抖动 —— Guardian 通常一分钟内能处理

"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

症状:让智能体浏览网页时它冻结或崩。

修复:你的主机内存不到 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 应该返回至少一个匹配。
  • 重启计数到最大了吗?检查 /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 一下。
  • 你在依赖 Gemini embeddings 但没 API key 吗?如果是,语义搜索不工作但关键词搜索还行。

iMessage:SQLITE_CANTOPEN

症状:iMessage 智能体读不了消息,日志显示 SQLITE_CANTOPEN

修复:你启动 Sentō 的终端没有完全磁盘访问权限。给它:

系统设置 → 隐私与安全性 → 完全磁盘访问 → 加上 Terminal(或 iTerm / Warp / Ghostty)。重启终端。

还是卡住?

GitHub 开一个 issue,带上:

  • 你的 OS / 主机类型(VPS 提供商、macOS 版本、Docker 镜像)
  • sento doctor 的输出
  • sento logs 的最后 40 行

真人会读每一个。