跳到主要内容

日志

SkillFlaw 会使用 structlog 为单个流程与整个应用输出日志。

默认日志文件名为 skillflaw.log

日志存储

如果你没有显式设置 SKILLFLAW_CONFIG_DIR,SkillFlaw 会把它解析到当前平台中 skillflaw 应用的缓存目录。

因此默认路径通常会是:

  • macOS:~/Library/Caches/skillflaw
  • Linux:~/.cache/skillflaw

日志系统会使用以下运行时变量:

变量格式默认值说明
SKILLFLAW_CONFIG_DIRString平台缓存目录SkillFlaw 本地配置与存储的基础运行目录。
SKILLFLAW_LOG_LEVELStringERROR日志级别,可选 DEBUGINFOWARNINGERRORCRITICAL
SKILLFLAW_LOG_FILEString设置层默认 logs/skillflaw.log覆盖日志文件路径。如果父目录不存在,日志系统会回退到平台缓存目录并写入 skillflaw.log
SKILLFLAW_LOG_ENVStringdefault主要日志格式控制变量。container / container_json 输出 JSON,container_csv 输出键值格式。
SKILLFLAW_PRETTY_LOGSBooleanTrueSKILLFLAW_LOG_ENV=default 时,控制控制台渲染效果。
SKILLFLAW_LOG_FORMATString未设置可选的自定义控制台 / key-value 输出格式。
SKILLFLAW_LOG_RETRIEVER_BUFFER_SIZEInteger默认 0启用并设置 Logs endpoints 所用内存缓冲区大小。

如果你希望日志写入固定可预测的位置,请在 .env 中显式设置 SKILLFLAW_LOG_FILE,然后用 uv run skillflaw run --env-file .env 启动 SkillFlaw。

实时查看日志

如果你想实时观察 SkillFlaw 运行时日志,请直接跟随当前日志文件。

  1. 进入日志文件所在目录。


    _10
    cd ~/Library/Caches/skillflaw

  2. 持续查看主日志文件:


    _10
    tail -f skillflaw.log

    如果你没有看到新的日志,请先确认 SkillFlaw 正在运行,并执行一些操作来生成日志事件。你也可以回到启动 SkillFlaw 的终端,看是否日志被打印到了控制台。

流程与组件日志

当你运行一个流程后,可以查看该流程以及其中每个组件的日志。 例如,你可以检查 输入 / 输出组件 所接收或产生的 Message 对象。

查看流程日志

在可视化编辑器中点击 Logs,即可查看整个流程的日志:

Logs pane

然后点击 inputsoutputs 列中的单元格,就能查看其中的 Message 对象。 例如,下列 Message 数据可能来自 Chat Input 组件输出:


_12
"messages": [
_12
{
_12
"message": "What's the recommended way to set up Python on macOS?",
_12
"sender": "User",
_12
"sender_name": "User",
_12
"session_id": "Session Apr 21, 17:37:04",
_12
"stream_url": null,
_12
"component_id": "ChatInput-4WKag",
_12
"files": [],
_12
"type": "text"
_12
}
_12
],

对于输入 / 输出组件来说,原始输入不一定一开始就是完整 Message 对象。 例如,语言模型组件可能先把原始文本传给 Chat Output,再由 Chat Output 组装成 Message 对象。

流程对应的 .log 文件保存在 SkillFlaw 安装的日志目录中,具体位置请参阅 日志存储

查看聊天日志

Playground 中,你也可以查看每个聊天会话的历史记录。 详情请参阅 查看聊天历史

查看单个组件输出

当你在排查流程输出格式或内容问题时,逐个查看组件输出往往最有效,因为这样可以精确定位数据是在哪一步丢失或被错误转换的。

如果要查看某个组件在最近一次运行中的输出,请在可视化编辑器里点击该组件上的 Inspect output

访问 SkillFlaw Desktop 日志

如果你在使用 SkillFlaw Desktop 时遇到问题,可能需要收集启动日志用于调试。 由于桌面运行时独立于源码工作区分发,因此日志目录会因打包方式不同而不同。 如果桌面构建提供了内置支持包或日志导出能力,请优先使用它。

  1. 在 SkillFlaw Desktop 中复现问题。

  2. 如果你的构建版本支持支持包或日志导出,请优先使用这些能力。

  3. 如需手动查看日志,请在 Finder 或终端中打开桌面应用暴露的日志目录。

    如果你使用的是 Python / CLI 部署,请改用 实时查看日志 中介绍的服务端日志方案。

你可以自行分析日志,也可以把日志附加到 GitHub Issue 中,或发送到你的支持渠道以便协助排障。

另请参阅