用途
该技能面向 elizaOS 运行环境的故障排查,覆盖启动(boot)错误、插件问题、数据库错误、服务异常以及模型未就绪等失败情形,适用于本地运行时与 Cloud 主机。核心目标是先建立版本与权限基线,再以最小侵入方式收集证据并分类故障,最后给出可执行的修复建议。
主要能力
- 建立版本与权限基线:识别已安装版本/提交、启动方式、操作系统、主机类型、实际 API 来源、数据库后端、预期 provider 及首个错误时间戳;确认对目标实例的归属与检查权限。区分 core-only 嵌入、独立 agent、应用/桌面宿主、Cloud 容器与 Cloud 瘦客户端(thin client),不假设瘦客户端存在本地运行时。
- 离线优先取证:只请求精确故障描述和一小段脱敏的现有错误窗口,不索取完整环境/配置/日志转储或 provider 密钥。
- 清单与环境变量存在性检查:通过随附的 Python 标准库辅助脚本
scripts/offline_report.py检查 manifest 元数据及被明确点名的环境变量是否存在(如--manifest ... --env OPENAI_API_KEY --env POSTGRES_URL)。脚本不读取环境值、.env、配置、日志或数据库,不执行子进程,不发起网络请求;manifest 读取仅限显式、有界、常规文件并拒绝符号链接组件。退出码 0 表示清单构建成功,1 表示至少一个 manifest 无法检查,2 表示参数/限制无效。 - 故障分类:依据生命周期与故障分诊确定阶段顺序,区分插件/模型/延迟能力等问题,例如:监听器启动前进程退出(启动/配置/插件导入 vs 适配器/迁移失败)、Shell 可开但无法对话(运行时状态、文本处理器注册、本地权重、Cloud 模型目录)、功能路由初始 404(延迟启动未完成 vs 插件失败/缺失)、连接器已配置但不可用(配置存在 vs 服务与连接器健康)、数据库错误(后端选择、存活、兼容性、迁移状态)。
- 受限检查运行中实例:经确认的 origin 上使用已验证的
GET /api/status与GET /api/health,设置短客户端超时与有界重试;不在 URL 中嵌入凭据或粘贴到对话中。HTTP 200 不等于 agent 能应答。日志/审计读取视为敏感数据访问,优先过滤现有日志,默认排除深度运行时反射与批量导出,保留证据、不清空缓冲区。 - 提出修复而非擅自执行:启动/重启、更改凭据或配置、安装插件、网络/provider 测试、迁移等操作均需明确批准,并说明预期影响、成本上限、数据风险与回滚方案;只通过启动器/监管程序停止自有进程,避免大范围 kill;不启用破坏性迁移标志、不删除存储、不把重置作为常规排障步骤。
使用方式
- 先确认版本与命令来源。资料以 develop 提交
eb9a6f7d3ccc46d3ff9d173383cff900004738c9(2026-10-15)为基线,非旧版 1.x CLI 文档;安装版本不同时应复核对应源码。不为诊断而安装、升级、构建或执行上游代码。 - 以离线方式收集最小证据,必要时运行随附脚本(脚本路径相对于本技能,而非目标仓库):
python3 scripts/offline_report.py --manifest /approved/checkout/package.json \
--env OPENAI_API_KEY --env POSTGRES_URL
- 对照症状表判断首个失败阶段。
- 仅在获得许可后检查已运行实例的健康、日志与授权。
- 提出修复方案、所需权限、验证与回滚标准;如需精确文件测试,须在准备好的隔离检出中、经批准后进行,并先阅读测试对 provider/网络/副作用的要求。
适用场景
- elizaOS 启动失败、进程在监听前退出
- Shell 打开但无法对话
- 插件缺失或延迟能力未就绪导致的路由 404
- 连接器已配置但不可用
- 数据库连接或迁移相关错误
- Cloud 容器与瘦客户端环境的就绪诊断
限制与注意事项
- 不假设 core 运行时会自动读取任意进程环境;更改设置前应先追踪宿主配置、插件配置与 provider 注册。
- 环境变量“存在”仅表示名称存在(即使为空),不证明有效性、激活状态或运行时继承。
- 退出码 0 不代表运行时就绪或凭据有效。
- 不把聊天、嵌入、模型生成、钱包、浏览器自动化或连接器测试当作健康检查,这些可能产生费用或副作用。
- 除启动/重启、改配置、装插件、网络测试、迁移等需批准外,修复操作也不应静默执行。
- 报告中须排除密钥、连接字符串、提示词、私有路径、钱包材料与账户标识。