排障指南
概述
本章按照常见问题现象组织排障思路,适用于以下场景:
- CLI 命令无法识别,或启动后立即报错。
- 登录失败、Token 过期、工具调用返回 401/403。
- 模型调用失败、API Key 配置错误、请求触发速率限制。
- 启动后行为与预期不一致(例如模型列表异常、工作目录错误、技能缺失等)。
建议优先验证以下三个基础条件是否正常:
- CLI 命令可正常执行
- LLM 服务可正常访问
- 当前登录态有效
确认以上基础能力正常后,再针对具体现象进行进一步排查。
通用排障流程
遇到异常时,建议按以下顺序逐项检查:
- 检查 CLI 是否可用
在 shell 中执行:
unitarylab --help确认 CLI 能正常启动,并正确输出子命令列表。
- 检查登录状态
执行:
unitarylab whoami确认当前 Token 仍处于有效期内。
- 检查 LLM 配置
执行:
unitarylab configure重新完成一遍配置流程,CLI 会自动进行连通性校验。
也可以在会话中执行:
/config- 让 Agent 执行自检
进入会话后,可以直接描述当前现象,例如:
我刚才让你保存文件,但终端没有任何输出,能否帮我分析可能原因?Agent 会尝试基于当前可用工具进行自检与分析。
- 确认命令是否发生变化
执行:
/help确认当前版本中的命令名称与参数格式是否发生变化。
命令无法识别
现象
在 shell 中执行:
unitarylab提示:
command not found可能原因
- CLI 尚未正确安装。
- 可执行文件目录未加入 PATH。
- 当前 shell 与安装环境不一致(例如安装在某个 venv 中,但运行时使用的是其他环境)。
排查步骤
- 确认当前 shell、Python 环境与 PATH 配置符合预期。
- 检查 CLI 是否安装在当前环境中。
- 联系内部发布渠道,确认当前版本的推荐安装方式。
安装流程的详细说明将在 快速开始 中补充。
启动后自动进入 configure
现象
执行 unitarylab 后,没有进入对话界面,而是直接要求填写:
- Provider
- API Base
- API Key
原因说明
CLI 未检测到完整的 LLM 配置。常见原因包括:
- 首次使用,尚未初始化配置文件。
- 本地配置文件被删除、覆盖或损坏。
- 使用了
--dotenv <path>,但目标路径中不存在有效配置。
完成配置后,CLI 会自动进入对话界面。
登录相关问题
提示「请先运行 unitarylab login」
现象
执行:
unitarylab或:
unitarylab start时,CLI 立即中断并提示需要登录。
可能原因
- 首次使用,尚未登录。
- Token 已过期(剩余有效期不足 60 秒时会被视为过期)。
- 最近执行过:
unitarylab logout解决方案
执行:
unitarylab login如果当前环境为非终端(例如 CI、容器或后台进程),CLI 不会自动弹出登录流程。请先在交互式终端中完成登录。
工具调用返回 401 / 403
现象
Agent 在调用远端工具时返回类似错误:
状态码:401,响应:{"code": ..., "message": "..."}原因说明
这是 CLI 的预期行为。
对于 401 / 403 错误,CLI 不会自动重试或隐式刷新登录态,而是将原始错误透传给模型,由模型提示用户重新登录。
解决方案
在会话中执行:
/login或退出后执行:
unitarylab login重新登录后,重新发送上一轮请求即可。
LLM 配置相关问题
模型返回 401 / invalid API key
现象
发送请求后,模型立即返回 API Key 相关错误。
处理方式
在终端环境下,CLI 会自动询问是否立即重新配置。
确认后,会进入与 configure 相同的配置流程。配置完成后,可直接重发上一轮请求。
如果当前环境不支持交互式输入,请返回 shell 执行:
unitarylab configure模型列表存在错误项
现象
/model 或 /models list 中出现:
- 已废弃模型
- 无效模型 ID
- 示例占位符模型
- 无法正常调用的模型
例如:
your-model-id
example排查步骤
- 查看当前模型列表:
/models list- 删除错误模型:
/models remove <id>- 重新从 Provider 拉取模型列表:
/models refreshCLI 会自动拒绝写入明显的占位符 ID。如果这些 ID 仍然存在,通常说明它们是通过手动编辑配置文件加入的。
使用 Custom Provider 后仍出现 DashScope 默认模型
现象
切换到 Custom Provider 后,模型列表中仍然存在 DashScope 的默认示例模型。
原因说明
CLI 在启动时会检测 Provider 与模型来源是否一致,并输出 warn 提示。
解决方案
推荐以下两种处理方式:
- 重新执行:
/configCLI 会基于当前 Provider 重新拉取或重新配置模型列表。
- 手动删除无关模型:
/models remove <id>工作目录与会话相关问题
/cd 后 shell 目录未变化
现象
在会话中执行:
/cd <path>后,Agent 的路径发生变化,但 shell 当前目录没有变化。
原因说明
这是预期行为。
CLI 中的 /cd 仅修改 Agent 的逻辑工作目录,不会修改宿主 shell 的 os.getcwd()。
如果需要同时修改 shell 当前目录,请在 shell 中单独执行:
cd <path>详见:会话与工作目录指南
恢复会话后工作目录不符合预期
原因说明
CLI 会自动恢复该会话最后一次使用的工作目录。
如果你在多个目录之间频繁切换,恢复后的目录可能与当前预期不一致。
解决方案
进入会话后先执行:
/pwd确认当前目录。
如有需要,再执行:
/cd <path>切换到目标目录。
技能相关问题
/skills 列表为空或缺少预期技能
现象
执行:
/skills后,未看到预期中的技能。
可能原因
- 当前发行版与之前版本的技能集不同。
- 技能目录未成功加载。
解决方案
- 在进程中输入:
/<技能名>后按 Tab,查看自动补全结果,确认当前可用技能。
- 联系内部发布渠道,确认当前发行版是否包含目标技能。
调用技能后 Agent 未按预期下钻
现象
调用索引技能后,Agent 没有继续沿技能引用链进入子技能。
建议做法
尽量明确指定目标技能,例如:
请使用 cryptography/shor 技能完成下面的任务或者直接调用具体技能:
/shor以跳过索引层。
联系技术支持
如果以上步骤仍无法解决问题,建议整理以下信息后提交反馈:
-
unitarylab --help输出结果(用于确认版本与命令集) -
unitarylab whoami输出结果(请勿包含敏感信息) -
会话启动时的自检信息(版本、环境、操作系统、耗时等)
-
完整复现路径:
- 执行了哪些命令
- 每一步的输出内容
- 最终错误信息
请勿提交 API Key、密码等敏感凭据。 如果日志中包含敏感信息,请先完成脱敏处理后再提交。