← 返回 Skills 市场
lichm1007

Issuefinder Tool

作者 lichm1007 · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
396
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install issuefinder-tool
功能描述
功能强大的车辆日志下载与解析工具,支持云端日志下载、本地日志处理、自动故障分析等功能
使用说明 (SKILL.md)

issuefinder-tool

工具概述

issuefinder-tool 是一个专业的车辆日志分析工具,提供云端日志下载、本地日志解析、自动故障分析等功能。工具能够自动识别日志类型,支持多种日志格式,并可与 IssueFinder API 集成进行智能分析。

核心功能

  • 车辆日志下载:从云端下载指定 VIN 和时间的车辆日志
  • 智能故障分析:自动分析车辆重启原因和故障信息
  • 本地日志处理:支持多种日志格式的解析和转换
  • 自动类型识别:智能检测日志文件类型,自动选择合适的解析工具
  • 归档文件支持:自动解压 zip、tar.gz、7z 等压缩格式

🚀 推荐使用方式

为了更好地管理日志输出路径,强烈推荐使用包装脚本 iflog 命令。

为什么使用包装脚本?

  • 自动路径管理:日志自动保存到 ISSUEFINDER_LOGS_PATH 环境变量指定的路径
  • 日期分组:自动按 年/月/日 创建目录结构,便于管理
  • 完全兼容:支持原始工具的所有参数和功能
  • 独立维护:不影响原始工具的云端同步更新

快速开始

# 1. 设置环境变量(已配置为 /home/lixiang/work/sdata/iss-log)
export ISSUEFINDER_LOGS_PATH="/home/lixiang/work/sdata/iss-log"

# 2. 设置命令别名(添加到 ~/.bashrc 或 ~/.zshrc)
alias iflog='/home/lixiang/.openclaw/skills/issuefinder-tool/scripts/iflog'

# 3. 重新加载配置
source ~/.bashrc  # 或 source ~/.zshrc

# 4. 使用 iflog 命令(自动按日期分组)
iflog --direct-download --vin HLX33B124P1767770 --happen-time "2025-10-27 18:43"
iflog -u /path/to/lastlog_file
iflog --issuefinder --vin HLX33B124P1767770 --happen-time "2025-10-27 18:43"

自动生成的目录结构

/home/lixiang/work/sdata/iss-log/
├── 2026/
│   ├── 02/
│   │   ├── 28/
│   │   │   ├── VIN_HLX33B124P1767770/    # 云端下载的日志
│   │   │   ├── vehicle_logs.zip/         # 本地处理的日志
│   │   │   └── ...
│   │   └── 26/
│   │       └── ...

详细文档:查看 WRAPPER_USAGE.md 了解更多信息


工作模式

本地文件处理模式(默认)

上传并处理本地日志文件,支持自动类型识别。

适用场景:已有日志文件,需要解析或转换格式

基础用法(推荐使用 iflog 命令,自动管理输出路径):

# 自动检测文件类型并处理(使用配置的路径)
iflog -u /path/to/lastlog_file

# 处理压缩包(自动解压)
iflog -u /path/to/logs.zip

# 手动指定工具类型
iflog -t lastlog_unpack -u /path/to/lastlog_file --verbose

# 或使用原始工具(需手动指定输出路径)
issuefinder-tool.py -u /path/to/lastlog_file --output /home/lixiang/work/sdata/iss-log/$(date +%Y/%m/%d)

IssueFinder 分析模式

通过 IssueFinder API 自动分析车辆重启原因和故障信息。

适用场景:需要自动分析车辆故障原因

基础用法(推荐使用 iflog 命令):

# 分析车辆重启原因(自动保存到配置路径)
iflog --issuefinder --vin HLX33B124P1767770 --happen-time "2025-10-27 18:43"

# 支持多种时间格式
iflog --issuefinder --vin HLX33B124P1767770 --happen-time "2025-10-27T18:43"
iflog --issuefinder --vin HLX33B124P1767770 --happen-time "2025/10/27 18:43:00"

分析结果包含

  • 重启原因(reboot reason)
  • 最终分析结果(final result)
  • 屏幕状态(screen status)
  • 相关日志文件下载

云端日志下载模式

通过 IssueFinder API 下载云端日志文件。

适用场景:需要获取云端存储的车辆日志

基础用法(推荐使用 iflog 命令):

# 下载指定 VIN 和时间的日志(自动保存到配置路径)
iflog --cloud-log \
  --vin HLX33B124P1767770 \
  --happen-time "2025-10-27 18:43" \
  --task-type 1731484362257596488

# 自定义任务类型
iflog --cloud-log \
  --vin HLX33B124P1767770 \
  --happen-time "2025-10-27 18:43" \
  --task-type YOUR_TASK_ID \
  --poll-interval 30

直接云端下载模式(推荐)

直接从云端存储下载日志,绕过 IssueFinder API,速度更快。

适用场景:仅需要下载日志文件,不需要分析

基础用法(推荐使用 iflog 命令,自动管理输出路径):

# 下载 Klog 类型日志(自动保存到 /home/lixiang/work/sdata/iss-log/YYYY/MM/DD/)
iflog --direct-download \
  --vin HLX14B175S1996368 \
  --happen-time "2025-11-06 18:00"

# 下载特定类型的日志,指定时间范围
iflog --direct-download \
  --vin HLX14B175S1996368 \
  --happen-time "2025-11-06 18:00" \
  --log-type log_HUF_Klog \
  --time-range 120

# 从测试环境下载
iflog --direct-download \
  --vin HLX14B175S1996368 \
  --happen-time "2025-11-06 18:00" \
  --env testtwo

支持的日志解析工具

工具名称 适用文件类型 说明
lastlog_unpack lastlog 文件 解析系统 lastlog 日志
minidump_unpack minidump 文件 解析系统崩溃转储文件
clp_decompress *.clp, *.clp.zst 解压 CLP 压缩格式日志
md_parser_slog md_qx_slog2.bin 解析 modem SLOG 格式日志
xbllog_unpack xbllog 文件 解析 XBL bootloader 日志
logfs_unpack logfs 文件 解压 logfs 文件系统日志
ftrace_console_parser gvmbootlog, gvmlog 解析 ftrace 控制台日志
archive_extractor .zip, .tar.gz, .7z 解压归档文件

自动识别:工具会根据文件名自动选择合适的解析工具,也可以通过 -t 参数手动指定。


常用参数说明

云端下载相关参数

参数 说明 示例
--vin 车辆 VIN 码(必需) HLX33B124P1767770
--happen-time 问题发生时间(必需) "2025-10-27 18:43"
--log-type 日志类型(默认:log_HUF_Klog) log_HUF_kernel
--time-range 时间范围,单位分钟(默认:±60) 120
--env 环境选择(默认:prod) prod, testtwo, ontest
--task-type 任务类型/Flow ID 1731484362257596488

本地处理相关参数

参数 说明 示例
-u, --upload 要处理的文件路径 /path/to/log.bin
-t, --tool 指定工具类型(可选) lastlog_unpack

通用参数

参数 说明 默认值
--server IssueFinder 服务器地址 https://issuefinder-playground-init-dev.inner.chj.cloud
--output 输出目录 ./results
--timeout 超时时间(秒) 300
--poll-interval 轮询间隔(秒) 30
--verbose 显示详细输出 -
--keep-env 保留云端环境(不自动清理) -
--skip-version-check 跳过版本检查 -

常用日志类型

HUF(主机端)日志类型

  • log_HUF_Klog - 主机 Kernel 日志(默认)
  • log_HUF_kernel - 主机内核日志
  • log_HUF_8155_android - 8155 芯片 Android 日志
  • log_HUF_mcu - MCU 日志

HUR(其他)日志类型

  • log_HUR_Klog - HUR Kernel 日志

提示:不同日志类型包含的文件数量和类型不同,根据实际需求选择合适的类型。


支持的时间格式

工具支持以下时间格式输入(会自动转换为标准格式):

# ISO 格式
2025-10-27T18:43

# 空格分隔(需要引号)
"2025-10-27 18:43"
"2025-10-27 18:43:00"

# 斜杠分隔(需要引号)
"2025/10/27 18:43"
"2025/10/27 18:43:00"

使用示例

示例 1: 快速分析车辆故障

# 自动下载日志并分析重启原因
issuefinder-tool.py --issuefinder \
  --vin HLX33B124P1767770 \
  --happen-time "2025-10-27 18:43"

输出

  • 分析结果:重启原因、最终结论
  • 下载的日志文件
  • 保存位置:./results/

示例 2: 下载指定时间范围的所有日志

# 下载前后 2 小时的日志
issuefinder-tool.py --direct-download \
  --vin HLX14B175S1996368 \
  --happen-time "2025-11-06 18:00" \
  --time-range 120 \
  --output ./my_logs

示例 3: 处理本地压缩包中的日志

# 自动解压并识别处理所有日志文件
issuefinder-tool.py -u /path/to/vehicle_logs.zip --verbose

# 指定特定工具处理
issuefinder-tool.py -t lastlog_unpack -u /path/to/logs.tar.gz

示例 5: 批量处理多个文件

# 处理目录中的所有日志文件(通过脚本循环)
for file in /path/to/logs/*; do
  issuefinder-tool.py -u "$file" --output ./results/$(basename "$file")
done

高级功能

自动版本更新

工具会自动检查服务器版本并更新到最新版本:

  • 更新文件保存在:~/.issuefinder/issuefinder-tool.py
  • 可使用 --skip-version-check 跳过版本检查

环境管理

  • 自动清理:默认完成后自动删除云端环境
  • 保留环境:使用 --keep-env 参数保留环境供后续使用
  • 环境 ID:工具会输出环境 ID,可用于调试

故障排查

常见问题

1. 找不到文件或无法识别类型

# 使用 -t 参数手动指定工具类型
issuefinder-tool.py -t lastlog_unpack -u /path/to/file

2. 云端下载失败

# 使用 --verbose 查看详细错误信息
issuefinder-tool.py --direct-download --vin XXX --happen-time "..." --verbose

3. 环境清理失败

  • 环境会在 1 小时不活动后自动清理
  • 使用 --keep-env 可以保留环境供后续使用

4. 连接超时

# 增加超时时间
issuefinder-tool.py -u file --timeout 600

最佳实践

  1. 使用直接下载模式:如果只需要日志文件,使用 --direct-download--cloud-log 更快
  2. 合理设置时间范围:默认 ±60 分钟通常足够,特殊情况可扩大到 ±120 分钟
  3. 启用详细输出:调试时使用 --verbose 查看详细信息
  4. 指定输出目录:使用 --output 将不同任务的日志分开存储
  5. 批量处理:结合 Shell 脚本实现批量下载和处理

相关资源

  • 服务器地址https://issuefinder-playground-init-dev.inner.chj.cloud
  • 工具位置.siada-cli/skills/issuefinder-tool/scripts/
    • issuefinder-tool.py - 原始工具(从云端同步)
    • issuefinder-tool-wrapper.py - 包装脚本(推荐)
    • iflog - 便捷命令(推荐)
  • 默认输出目录
    • 原始工具:./results/
    • 包装脚本:$ISSUEFINDER_LOGS_PATH/YYYY/MM/DD/ (已配置为 /home/lixiang/work/sdata/iss-log/)
  • 更新位置~/.issuefinder/issuefinder-tool.py
  • 包装脚本文档WRAPPER_USAGE.md

获取帮助

# 查看完整帮助信息
issuefinder-tool.py -h

# 查看版本信息
issuefinder-tool.py --version

最后更新:2026-02-28

安全使用建议
Before installing or running this skill: 1) Treat it as capable of sending local files to the remote server hardcoded in the code — do not run it on machines containing sensitive logs or PII. 2) Verify the remote endpoint (issuefinder-playground-init-dev.inner.chj.cloud) and whether it is trusted/within your organization; ask the author for hosting and auth details. 3) Prefer running the tool in an isolated/test environment and inspect or run the Python scripts locally to confirm what is uploaded. 4) If you need to allow network uploads, require explicit configuration of the target server and credentials (and a clear privacy/data-handling policy) rather than relying on a hardcoded endpoint. 5) If you do not want the agent to call this skill autonomously, restrict autonomous invocation in your agent settings or only invoke it manually.
功能分析
Type: OpenClaw Skill Name: issuefinder-tool Version: 1.0.0 The skill bundle is classified as suspicious due to two significant vulnerabilities found in `scripts/issuefinder-tool.py`. First, the `extract_archive_with_system_tools` function uses `subprocess.run` to call external archive utilities (`unzip`, `tar`, `7z`, `gunzip`) with user-controlled input (`args.upload`). While `shell=False` is used, a specially crafted archive path could potentially lead to argument injection vulnerabilities in the external tools, allowing for arbitrary command execution (RCE). Second, the `check_and_update_version` function implements an auto-update mechanism that downloads and re-executes the script from a remote server (`https://issuefinder-playground-init-dev.inner.chj.cloud/api/cli/download`). This creates a supply chain vulnerability, as a compromise of the update server could lead to arbitrary code execution on the agent's system.
能力评估
Purpose & Capability
Name/description (vehicle log download & analysis) align with the included scripts: wrapper + a larger CLI that downloads cloud logs, uploads files, runs tools, and extracts archives. However the client talks to a hardcoded internal-looking server (issuefinder-playground-init-dev.inner.chj.cloud) and performs remote environment creation/upload/download operations while the skill metadata declares no credentials or API tokens — unusual but not impossible for an internal unauthenticated service. This mismatch is noteworthy.
Instruction Scope
SKILL.md and WRAPPER_USAGE.md instruct the user to set an output path, alias a wrapper, and run the CLI. The runtime instructions do not tell the agent to read unrelated system files or scan the host; they only operate on user-specified log files or cloud downloads. The wrapper/CLI operate on file paths the user provides (expected for this tool).
Install Mechanism
There is no install spec (instruction-only) and the included scripts are run directly. No third-party downloads or archive extraction during install are declared. The tool itself performs network calls at runtime, but the repository does not install remote code during skill installation.
Credentials
The tool can upload arbitrary local log files and create remote environments via HTTP endpoints (/api/environment/create, /api/files/{env}/upload, etc.). The skill metadata requests no credentials or environment variables, yet the code transmits potentially sensitive logs to a remote host. There is no declaration/consent in SKILL.md about uploading logs to that server or what data is transmitted. This is a proportionality concern: either credentials/ownership should be declared and documented, or the documentation should explicitly warn users that files will be sent to an external API.
Persistence & Privilege
The skill is not always:true and is user-invocable (normal). The agent may invoke it autonomously (platform default). Autonomous invocation combined with the tool's ability to upload local files increases blast radius if the agent is permitted to call the skill without further checks. This is a contextual risk but not a direct misconfiguration in the skill metadata.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install issuefinder-tool
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /issuefinder-tool 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of issuefinder-tool – a comprehensive vehicle log analysis and download tool. - Added cloud log downloading, local log analysis, and automatic fault analysis features. - Supports multiple log formats, smart log type detection, and archives extraction (zip, tar.gz, 7z). - Integrated recommended wrapper script (iflog) for automated path management and convenient log grouping by date. - Documented usage for cloud, local, fault analysis, and direct download modes. - Included detailed parameter descriptions, log type lists, time format handling, and troubleshooting guidance.
元数据
Slug issuefinder-tool
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Issuefinder Tool 是什么?

功能强大的车辆日志下载与解析工具,支持云端日志下载、本地日志处理、自动故障分析等功能. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 396 次。

如何安装 Issuefinder Tool?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install issuefinder-tool」即可一键安装,无需额外配置。

Issuefinder Tool 是免费的吗?

是的,Issuefinder Tool 完全免费(开源免费),可自由下载、安装和使用。

Issuefinder Tool 支持哪些平台?

Issuefinder Tool 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Issuefinder Tool?

由 lichm1007(@lichm1007)开发并维护,当前版本 v1.0.0。

💬 留言讨论