result-bitable-reporter

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Result Bitable Reporter

结果多维表格上报器

Use this skill for a deterministic
sqlite -> Feishu
result pipeline around
capture_results
.
本Skill用于构建围绕
capture_results
的确定性
sqlite -> 飞书
结果传输管道。

Path Convention

路径约定

Canonical install and execution directory:
~/.agents/skills/result-bitable-reporter/
. Run commands from this directory:
bash
cd ~/.agents/skills/result-bitable-reporter
One-off (safe in scripts/loops from any working directory):
bash
(cd ~/.agents/skills/result-bitable-reporter && npx tsx scripts/result_reporter.ts --help)
标准安装与执行目录:
~/.agents/skills/result-bitable-reporter/
。请从该目录运行命令:
bash
cd ~/.agents/skills/result-bitable-reporter
一次性执行(可在脚本/循环中从任意工作目录安全运行):
bash
(cd ~/.agents/skills/result-bitable-reporter && npx tsx scripts/result_reporter.ts --help)

Workflow

工作流

  1. Optional data collection:
  • collect-start
    : start background
    evalpkgs run
    for one device (
    SerialNumber
    ) with
    TaskID
    (digits only).
  • collect-stop
    : stop that collector and print summary metrics (
    delta
    ,
    task_delta
    ,
    records_jsonl
    ,
    tracking_events
    ,
    runtime_sec
    ).
  1. Data selection:
  • filter
    : preview target sqlite rows (
    capture_results
    ) before upload.
  • Task-scoped selection: pass
    --task-id <TASK_ID>
    to constrain rows to one task.
  • Default status filter is pending+failed (
    reported IN (0, -1)
    ).
  1. Data reporting:
  • report
    : batch create Feishu records and write back sqlite status.
  • Optional
    --max-rows <n>
    sets total cap for one report run (default: process all matched rows).
  • For per-task workflows, always pass
    --task-id <TASK_ID>
    to avoid cross-task uploads.
  • Success writeback:
    reported=1
    ,
    reported_at=now_ms
    ,
    report_error=NULL
    .
  • Failure writeback:
    reported=-1
    ,
    reported_at=now_ms
    ,
    report_error=<truncated error>
    .
  1. Retry:
  • retry-reset
    : move failed rows (
    reported=-1
    ) back to pending (
    reported=0
    ), then rerun
    report
    .
  1. 可选数据收集:
  • collect-start
    :为指定设备(
    SerialNumber
    )启动后台
    evalpkgs run
    任务,需传入纯数字格式的
    TaskID
  • collect-stop
    :停止该收集任务,并打印汇总指标(
    delta
    task_delta
    records_jsonl
    tracking_events
    runtime_sec
    )。
  1. 数据筛选:
  • filter
    :在上传前预览目标sqlite中的
    capture_results
    行数据。
  • 任务范围筛选:传入
    --task-id <TASK_ID>
    以将数据限定为单个任务的结果。
  • 默认状态筛选条件为待上报+上报失败(
    reported IN (0, -1)
    )。
  1. 数据上报:
  • report
    :批量创建飞书记录,并将上报状态回写至sqlite。
  • 可选参数
    --max-rows <n>
    设置单次上报的最大行数限制(默认:处理所有匹配行)。
  • 对于单任务工作流,请务必传入
    --task-id <TASK_ID>
    以避免跨任务上传。
  • 上报成功回写:
    reported=1
    reported_at=当前时间戳
    report_error=NULL
  • 上报失败回写:
    reported=-1
    reported_at=当前时间戳
    report_error=<截断后的错误信息>
  1. 重试机制:
  • retry-reset
    :将上报失败的行(
    reported=-1
    )重置为待上报状态(
    reported=0
    ),之后可重新运行
    report
    命令。

Run

运行方式

CLI entry:
bash
npx tsx scripts/result_reporter.ts <subcommand> [flags]
Subcommands:
  • collect-start
  • collect-stop
  • filter
  • report
  • retry-reset
Required env by phase:
  • Collection:
    BUNDLE_ID
    ,
    SerialNumber
  • Feishu report:
    FEISHU_APP_ID
    ,
    FEISHU_APP_SECRET
    ,
    RESULT_BITABLE_URL
  • Optional overrides:
    FEISHU_BASE_URL
    ,
    TRACKING_STORAGE_DB_PATH
    ,
    RESULT_SQLITE_TABLE
CLI入口:
bash
npx tsx scripts/result_reporter.ts <subcommand> [flags]
子命令:
  • collect-start
  • collect-stop
  • filter
  • report
  • retry-reset
各阶段所需环境变量:
  • 数据收集阶段:
    BUNDLE_ID
    SerialNumber
  • 飞书上报阶段:
    FEISHU_APP_ID
    FEISHU_APP_SECRET
    RESULT_BITABLE_URL
  • 可选覆盖配置:
    FEISHU_BASE_URL
    TRACKING_STORAGE_DB_PATH
    RESULT_SQLITE_TABLE

Resources

相关资源

  • scripts/result_reporter.ts
    : executable source of truth for flags and behavior.
  • references/sqlite-and-field-mapping.md
    : sqlite schema, collect-start/collect-stop semantics, SQL operations, command examples.
  • references/feishu-api-and-errors.md
    : Feishu APIs, URL rules, failures, field mapping env overrides, command examples.
  • scripts/result_reporter.ts
    :包含所有命令参数与行为逻辑的可执行源码。
  • references/sqlite-and-field-mapping.md
    :sqlite表结构、collect-start/collect-stop语义、SQL操作及命令示例。
  • references/feishu-api-and-errors.md
    :飞书API、URL规则、错误处理、字段映射环境变量覆盖及命令示例。