# @trillboards/cli 中文文档

规范地址：https://npmcn.com/package/%40trillboards/cli/

版本：0\.1\.12
npm 元数据更新时间：2026-11-02T17:16:35.896Z
中文译文更新时间：2026-11-02T17:41:48.247Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40trillboards/cli
原文对照：https://npmcn.com/package/%40trillboards/cli/?lang=original
项目主页：https://trillboards.com/support/developers/cli/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：800 kB，247 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：4 个
- 首次发布：2026-04-17T03:13:18.459Z
- 最新版本发布：2026-11-02T17:16:35.608Z
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

Trillboards DOOH API的官方CLI

## 安装

```sh
npm install @trillboards/cli
```

也可以使用：`pnpm add @trillboards/cli`、`yarn add @trillboards/cli`、`bun add @trillboards/cli`

## README

# trillboards-cli

使用oclif生成的新CLI

[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io/) [![Version](https://img.shields.io/npm/v/trillboards-cli.svg)](https://npmjs.org/package/trillboards-cli) [![Downloads/week](https://img.shields.io/npm/dw/trillboards-cli.svg)](https://npmjs.org/package/trillboards-cli)

-   [使用](https://npmcn.com/package/%40trillboards/cli/#readme-usage)
-   [命令](https://npmcn.com/package/%40trillboards/cli/#readme-commands)

# 使用

```sh-session
$ npm install -g @trillboards/cli
$ trillboards COMMAND
running command...
$ trillboards (--version)
@trillboards/cli/0.1.12 linux-x64 node-v22.23.4
$ trillboards --help [COMMAND]
USAGE
  $ trillboards COMMAND
...
```

# 命令

-   [`trillboards ads disable`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-ads-disable)
-   [`trillboards ads enable`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-ads-enable)
-   [`trillboards ads login`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-ads-login)
-   [`trillboards ads start`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-ads-start)
-   [`trillboards api METHOD PATH`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-api-method-path)
-   [`trillboards audience live SCREEN_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-audience-live-screen_id)
-   [`trillboards autocomplete [SHELL]`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-autocomplete-shell)
-   [`trillboards billing`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-billing)
-   [`trillboards billing usage`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-billing-usage)
-   [`trillboards code`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-code)
-   [`trillboards debug SCREEN_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-debug-screen_id)
-   [`trillboards devices reconcile FILE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-devices-reconcile-file)
-   [`trillboards doctor`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-doctor)
-   [`trillboards earnings [MODE]`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-earnings-mode)
-   [`trillboards endpoints`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-endpoints)
-   [`trillboards errors [CODE]`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-errors-code)
-   [`trillboards fill-rate`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-fill-rate)
-   [`trillboards generated generated-approved-metric-get METRIC`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-approved-metric-get-metric)
-   [`trillboards generated generated-approved-metrics-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-approved-metrics-list)
-   [`trillboards generated generated-changelog-query`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-changelog-query)
-   [`trillboards generated generated-configure-creative-feedback-brand EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-configure-creative-feedback-brand-experiment_id)
-   [`trillboards generated generated-creative-feedback-experiment-create`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-creative-feedback-experiment-create)
-   [`trillboards generated generated-creative-feedback-experiment-get EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-creative-feedback-experiment-get-experiment_id)
-   [`trillboards generated generated-creative-feedback-policy-update EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-creative-feedback-policy-update-experiment_id)
-   [`trillboards generated generated-creative-feedback-rewards-get EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-creative-feedback-rewards-get-experiment_id)
-   [`trillboards generated generated-creative-feedback-variants-register EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-creative-feedback-variants-register-experiment_id)
-   [`trillboards generated generated-csi-venue-history SCREENID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-csi-venue-history-screenid)
-   [`trillboards generated generated-csi-venue-occupancy SCREENID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-csi-venue-occupancy-screenid)
-   [`trillboards generated generated-curation-set-coverage-get SETKEY`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-curation-set-coverage-get-setkey)
-   [`trillboards generated generated-curation-set-roads-get SETKEY`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-curation-set-roads-get-setkey)
-   [`trillboards generated generated-curation-set-viewsheds-get SETKEY`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-curation-set-viewsheds-get-setkey)
-   [`trillboards generated generated-curation-sets-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-curation-sets-list)
-   [`trillboards generated generated-data-api-ad-sightings`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-ad-sightings)
-   [`trillboards generated generated-data-api-ad-sightings-history`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-ad-sightings-history)
-   [`trillboards generated generated-data-api-aggregate`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-aggregate)
-   [`trillboards generated generated-data-api-list-screens`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-list-screens)
-   [`trillboards generated generated-data-api-lookalike-screens`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-lookalike-screens)
-   [`trillboards generated generated-data-api-query-dsl`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-query-dsl)
-   [`trillboards generated generated-data-api-screen-audience-history SCREENID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-screen-audience-history-screenid)
-   [`trillboards generated generated-data-api-screen-audience-live SCREENID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-screen-audience-live-screenid)
-   [`trillboards generated generated-data-api-semantic-search`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-semantic-search)
-   [`trillboards generated generated-data-api-stats`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-stats)
-   [`trillboards generated generated-data-api-stream`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-stream)
-   [`trillboards generated generated-data-api-usage`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-data-api-usage)
-   [`trillboards generated generated-device-ota-manifest`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-device-ota-manifest)
-   [`trillboards generated generated-device-retained-cctv-review`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-device-retained-cctv-review)
-   [`trillboards generated generated-device-sensing-profile`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-device-sensing-profile)
-   [`trillboards generated generated-error-code-get CODE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-error-code-get-code)
-   [`trillboards generated generated-error-codes-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-error-codes-list)
-   [`trillboards generated generated-example-healthcheck`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-example-healthcheck)
-   [`trillboards generated generated-federated-get-latest-model-descriptor MODELTYPE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-federated-get-latest-model-descriptor-modeltype)
-   [`trillboards generated generated-federated-get-model-weights MODELTYPE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-federated-get-model-weights-modeltype)
-   [`trillboards generated generated-federated-gradient-upload`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-federated-gradient-upload)
-   [`trillboards generated generated-federated-performance-upload`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-federated-performance-upload)
-   [`trillboards generated generated-federated-taste-upload`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-federated-taste-upload)
-   [`trillboards generated generated-generate-creative-feedback-creative EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-generate-creative-feedback-creative-experiment_id)
-   [`trillboards generated generated-import-creative-feedback-creative EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-import-creative-feedback-creative-experiment_id)
-   [`trillboards generated generated-measured-board-audience-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-audience-get-boardid)
-   [`trillboards generated generated-measured-board-currency-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-currency-get-boardid)
-   [`trillboards generated generated-measured-board-occluders-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-occluders-get-boardid)
-   [`trillboards generated generated-measured-board-pass-replay-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-pass-replay-get-boardid)
-   [`trillboards generated generated-measured-board-tiles-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-tiles-get-boardid)
-   [`trillboards generated generated-measured-board-viewshed-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-board-viewshed-get-boardid)
-   [`trillboards generated generated-measured-boards-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-boards-list)
-   [`trillboards generated generated-measured-dma-format-index-get`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-dma-format-index-get)
-   [`trillboards generated generated-measured-geohash-tiles-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-geohash-tiles-list)
-   [`trillboards generated generated-measured-multiplier-feed-get`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-multiplier-feed-get)
-   [`trillboards generated generated-measured-roads-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measured-roads-list)
-   [`trillboards generated generated-measurement-calibration-get`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measurement-calibration-get)
-   [`trillboards generated generated-measurement-calibration-versions-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measurement-calibration-versions-list)
-   [`trillboards generated generated-measurement-releases-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-measurement-releases-list)
-   [`trillboards generated generated-owner-board-audience-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-board-audience-get-boardid)
-   [`trillboards generated generated-owner-board-currency-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-board-currency-get-boardid)
-   [`trillboards generated generated-owner-board-tiles-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-board-tiles-get-boardid)
-   [`trillboards generated generated-owner-board-viewshed-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-board-viewshed-get-boardid)
-   [`trillboards generated generated-owner-delivery-report-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-delivery-report-get-boardid)
-   [`trillboards generated generated-owner-face-get BOARDID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-face-get-boardid)
-   [`trillboards generated generated-owner-faces-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-faces-list)
-   [`trillboards generated generated-owner-measurement-releases-list`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-measurement-releases-list)
-   [`trillboards generated generated-owner-multiplier-feed-get`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-multiplier-feed-get)
-   [`trillboards generated generated-owner-publisher-yield-by-query-get`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-publisher-yield-by-query-get)
-   [`trillboards generated generated-owner-publisher-yield-get PUBLISHER`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-owner-publisher-yield-get-publisher)
-   [`trillboards generated generated-playground-dry-run OPERATION_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-playground-dry-run-operation_id)
-   [`trillboards generated generated-request-metadata-get REQUEST_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-request-metadata-get-request_id)
-   [`trillboards generated generated-review-creative-feedback-creative EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-review-creative-feedback-creative-experiment_id)
-   [`trillboards generated generated-sdk-enrich`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sdk-enrich)
-   [`trillboards generated generated-sdk-impression`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sdk-impression)
-   [`trillboards generated generated-sdk-qr-beacon`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sdk-qr-beacon)
-   [`trillboards generated generated-sdk-qr-scan`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sdk-qr-scan)
-   [`trillboards generated generated-sensing-paired-training-upload`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sensing-paired-training-upload)
-   [`trillboards generated generated-sighted-brands-search`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-sighted-brands-search)
-   [`trillboards generated generated-stop-creative-feedback-experiment EXPERIMENT_ID`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-generated-generated-stop-creative-feedback-experiment-experiment_id)
-   [`trillboards help [COMMAND]`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-help-command)
-   [`trillboards listen PORT`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-listen-port)
-   [`trillboards login`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-login)
-   [`trillboards logs tail`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-logs-tail)
-   [`trillboards reconcile`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-reconcile)
-   [`trillboards sandbox create`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-sandbox-create)
-   [`trillboards sandbox emit EVENT_TYPE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-sandbox-emit-event_type)
-   [`trillboards sandbox reset`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-sandbox-reset)
-   [`trillboards sandbox status`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-sandbox-status)
-   [`trillboards screens watch`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-screens-watch)
-   [`trillboards trigger [EVENT_TYPE]`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-trigger-event_type)
-   [`trillboards validate FILE`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-validate-file)
-   [`trillboards whoami`](https://npmcn.com/package/%40trillboards/cli/#readme-trillboards-whoami)

## `trillboards ads disable`

关闭本地赞助行（移除Claude Code死时间钩子）。

```
USAGE
  $ trillboards ads disable [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Turn off the in-place sponsored lines (removes the Claude Code dead-time hook).

EXAMPLES
  $ trillboards ads disable
```

## `trillboards ads enable`

在Claude Code中打开本地赞助行（安装死时间钩子）。选择;撤销与 `ads disable`.

```
USAGE
  $ trillboards ads enable [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Turn on in-place sponsored lines in Claude Code (installs the dead-time hook). Opt-in; undo with `ads disable`.

EXAMPLES
  $ trillboards ads enable
```

## `trillboards ads login`

用你的Trillboards账号（邮箱+密码）登录代理广告程序

```
USAGE
  $ trillboards ads login [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--email <value>]
    [--password <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --email=<value>     Account email (prompts if omitted)
  --format=<option>   Output format
                      <options: json|table|yaml>
  --password=<value>  Account password (prompts hidden if omitted; avoid passing on the command line)

DESCRIPTION
  Log in to the agent-ads program with your Trillboards account (email + password)

EXAMPLES
  $ trillboards ads login

  $ trillboards ads login --email you@example.com

  TRILLBOARDS_USER_TOKEN=<jwt> trillboards ads login
```

## `trillboards ads start`

将这台机器注册为虚拟屏幕，并租用其人工智能编码代理的死亡时间来赚钱

```
USAGE
  $ trillboards ads start [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--name <value>]
    [--once] [--simulate] [--interval <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --interval=<value>  Seconds between dead-time fills in --simulate mode (default 60)
  --name=<value>      Display name for this virtual screen (defaults to "Claude Code on <hostname>")
  --once              Register, heartbeat once, serve a single ad, then exit (great for testing)
  --simulate          Treat each interval tick as a dead-time trigger (v0 stand-in for real detection)

DESCRIPTION
  Register this machine as a virtual screen and rent its AI-coding-agent dead-time for money

EXAMPLES
  $ trillboards ads start

  $ trillboards ads start --once

  $ trillboards ads start --simulate --interval 30
```

## `trillboards api METHOD PATH`

生成原始API请求（如gh API）

```
USAGE
  $ trillboards api METHOD PATH [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [-d
    <value>] [--jq <value>]

ARGUMENTS
  METHOD  HTTP method (GET, POST, PUT, PATCH, DELETE)
  PATH    API path (e.g. /v1/partner/screens)

FLAGS
  -d, --data=<value>      Request body (JSON string)
      --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
      --base-url=<value>  [default: https://api.trillboards.com] API base URL
      --format=<option>   Output format
                          <options: json|table|yaml>
      --jq=<value>        JSON path expression to extract (e.g. "data.items" or "name")

DESCRIPTION
  Make raw API requests (like gh api)

EXAMPLES
  $ trillboards api GET /v1/partner/screens

  $ trillboards api POST /v1/partner/device --data '{"name":"test"}'

  $ trillboards api GET /v1/partner/info --jq partner_name
```

## `trillboards audience live SCREEN_ID`

实时观众感应数据的屏幕

```
USAGE
  $ trillboards audience live SCREEN_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--interval <value>]

ARGUMENTS
  SCREEN_ID  Screen ID to monitor

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --interval=<value>  [default: 5] Polling interval in seconds

DESCRIPTION
  Real-time audience sensing data for a screen

EXAMPLES
  $ trillboards audience live scr_abc123

  $ trillboards audience live scr_abc123 --format json

  $ trillboards audience live scr_abc123 --interval 3
```

## `trillboards autocomplete [SHELL]`

显示自动完成安装说明。

```
USAGE
  $ trillboards autocomplete [SHELL] [-r]

ARGUMENTS
  [SHELL]  (zsh|bash|powershell) Shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  Display autocomplete installation instructions.

EXAMPLES
  $ trillboards autocomplete

  $ trillboards autocomplete bash

  $ trillboards autocomplete zsh

  $ trillboards autocomplete powershell

  $ trillboards autocomplete --refresh-cache
```

_看代码: [@oclif / plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.45/src/commands/autocomplete/index.ts)_

## `trillboards billing`

账单摘要-当前计划和使用情况

```
USAGE
  $ trillboards billing [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Billing summary — current plan and usage

EXAMPLES
  $ trillboards billing

  $ trillboards billing --format json
```

## `trillboards billing usage`

账单使用详细信息以及可选的每个产品细分

```
USAGE
  $ trillboards billing usage [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--breakdown]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --breakdown         Show per-product breakdown table
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Billing usage details with optional per-product breakdown

EXAMPLES
  $ trillboards billing usage

  $ trillboards billing usage --breakdown

  $ trillboards billing usage --format json
```

## `trillboards code`

包装你的编码代理并从它的空闲时间（在它思考的时候播放文本/图像/视频广告）中获利。

```
USAGE
  $ trillboards code [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Wrap your coding agent and earn from its dead-time (plays text/image/video ads while it thinks)

EXAMPLES
  $ trillboards code

  $ trillboards code claude

  $ trillboards code -- codex --foo
```

## `trillboards debug SCREEN_ID`

诊断屏幕-状态，性能，观众，问题

```
USAGE
  $ trillboards debug SCREEN_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

ARGUMENTS
  SCREEN_ID  Screen ID to diagnose

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Diagnose a screen — status, performance, audience, issues

EXAMPLES
  $ trillboards debug scr_abc123

  $ trillboards debug scr_abc123 --format json
```

## `trillboards devices reconcile FILE`

调和您的设备舰队-将您的外部id与Trillboards已注册的id（匹配/缺失/孤儿/畸形/重复）进行区分

```
USAGE
  $ trillboards devices reconcile FILE [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

ARGUMENTS
  FILE  Path to your device external IDs — a JSON array, {"external_ids":[...]}, or one ID per line

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Reconcile your device fleet — diff your external IDs against what Trillboards has registered (matched / missing /
  orphan / malformed / duplicate)

EXAMPLES
  $ trillboards devices reconcile my-devices.json

  $ trillboards devices reconcile ids.txt --format json
```

## `trillboards doctor`

运行系统诊断并检查API连接

```
USAGE
  $ trillboards doctor [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Run system diagnostics and check API connectivity

EXAMPLES
  $ trillboards doctor
```

## `trillboards earnings [MODE]`

收入仪表板-今天的总结，历史图表，或直播

```
USAGE
  $ trillboards earnings [MODE] [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--period
    <value>]

ARGUMENTS
  [MODE]  (live) Mode: "live" for real-time streaming

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --period=<value>    [default: 1d] Time period (e.g. 1d, 7d, 30d)

DESCRIPTION
  Revenue dashboard — today's summary, historical charts, or live streaming

EXAMPLES
  $ trillboards earnings

  $ trillboards earnings --period 30d

  $ trillboards earnings live

  $ trillboards earnings --format json
```

## `trillboards endpoints`

发现可用的API端点

```
USAGE
  $ trillboards endpoints [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [-s <value>]

FLAGS
  -s, --search=<value>    Search query to filter endpoints
      --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
      --base-url=<value>  [default: https://api.trillboards.com] API base URL
      --format=<option>   Output format
                          <options: json|table|yaml>

DESCRIPTION
  Discover available API endpoints

EXAMPLES
  $ trillboards endpoints

  $ trillboards endpoints --search screens

  $ trillboards endpoints --format json
```

## `trillboards errors [CODE]`

从错误目录中查找错误代码

```
USAGE
  $ trillboards errors [CODE] [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

ARGUMENTS
  [CODE]  Error code to look up (e.g. screen_not_found)

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Look up error codes from the error catalog

EXAMPLES
  $ trillboards errors

  $ trillboards errors screen_not_found

  $ trillboards errors --format json
```

## `trillboards fill-rate`

填充率分析-整体，每屏幕，或按时间

```
USAGE
  $ trillboards fill-rate [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--by
    partner|screen|hour]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --by=<option>       Breakdown dimension
                      <options: partner|screen|hour>
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Fill rate analysis — overall, per-screen, or by time

EXAMPLES
  $ trillboards fill-rate

  $ trillboards fill-rate --by screen

  $ trillboards fill-rate --by hour

  $ trillboards fill-rate --format json
```

## `trillboards generated generated-approved-metric-get METRIC`

一个被认可的公制只适用于一天或一段时间。

```
USAGE
  $ trillboards generated generated-approved-metric-get METRIC [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--agencies <value>] [--board_id <value>] [--boards <value>] [--brands <value>] [--by <value>] [--categories
    <value>] [--cbsas <value>] [--day <value>] [--daypart <value>] [--dimensions <value>] [--formats <value>] [--grade
    <value>] [--grain <value>] [--markets <value>] [--media_owners <value>] [--parents <value>] [--population <value>]
    [--screens <value>] [--stats <value>] [--surfaces <value>] [--window <value>] [--window_end <value>]

ARGUMENTS
  METRIC  An approved metric name.

FLAGS
  --agencies=<value>
      Agency names, |-separated (or repeated): the brands one of them holds as agency of record (Winmo), any case. Taken
      by: creative_brand_history.

  --api-key=<value>
      [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)

  --base-url=<value>
      [default: https://api.trillboards.com] API base URL

  --board_id=<value>
      Board face id (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.

  --boards=<value>
      Face keys, |-separated (or repeated): f:<board id>:<face index> or p:<point id>. Taken by: creative_brand_history.

  --brands=<value>
      Comma-separated resolved brand ids. Taken by: creative_brand_history.

  --by=<value>
      Condition scope (board metrics): daypart, light, weather or speed. Taken by: board_measured_impressions_per_spot.

  --categories=<value>
      Comma-separated IAB tier-1 codes (IAB1..IAB25): the brands of those categories. A slice filter narrows the
      denominators with the rows. Taken by: creative_brand_history.

  --cbsas=<value>
      Comma-separated 5-digit Census CBSA codes (OMB July 2023 delineation). Taken by: creative_brand_history.

  --day=<value>
      One day (YYYY-MM-DD). Give day or window; neither is the last settled day. Taken by: camera_people_per_screen_hour,
      camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, sensing_census,
      same_panel_index, radio_identifiers_per_person, creative_sightings, creative_share_of_voice,
      creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance,
      seatbelt_unbuckled_ride_rate.

  --daypart=<value>
      Daypart filter (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.

  --dimensions=<value>
      Comma-separated dimensions (dimension= is the one-value spelling): the audience dimensions of a demographics metric
      (default all), or the slices creative_brand_history cuts its rows by (category, parent, agency, media_owner, format,
      surface, board, cbsa; default none), every share over its slice. Taken by: demographic_share,
      creative_brand_history.

  --format=<option>
      Output format
      <options: json|table|yaml>

  --formats=<value>
      Comma-separated face formats: static, digital. Taken by: creative_brand_history.

  --grade=<value>
      Camera evidence grade: face_backed or person_backed. Taken by: camera_people_per_screen_hour,
      camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct.

  --grain=<value>
      The answer grain (screen_hour, screen_day, fleet_day, market_day, market_month, ...): one of the metric's grains.
      Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct,
      demographic_share, sensing_census, same_panel_index, radio_identifiers_per_person, creative_sightings,
      creative_share_of_voice, creative_street_presence, creative_vacancy_rate, creative_brand_history,
      seatbelt_compliance, seatbelt_unbuckled_ride_rate.

  --markets=<value>
      Comma-separated markets as COUNTRY:CODE (US DMA, CA CMA). Taken by: creative_sightings, creative_share_of_voice,
      creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance,
      seatbelt_unbuckled_ride_rate.

  --media_owners=<value>
      Media owner names, |-separated (or repeated): the faces whose registry owner holds a name's letters and digits, any
      case and punctuation. Taken by: creative_brand_history.

  --parents=<value>
      Comma-separated brand graph ids: the brands whose parent company is in one of those Wikidata families. Taken by:
      creative_brand_history.

  --population=<value>
      The population the shares are over. Taken by: sensing_census, same_panel_index.

  --screens=<value>
      Comma-separated 24-hex screen ids, up to the metric's max_screens. Taken by: camera_people_per_screen_hour,
      camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, seatbelt_compliance,
      seatbelt_unbuckled_ride_rate.

  --stats=<value>
      Comma-separated statistics (mean, p50, ...), from the metric's allowed stats. Taken by:
      camera_people_per_screen_hour, camera_head_pose_index.

  --surfaces=<value>
      Comma-separated reader surfaces: billboard, digital_board, bus_shelter, kiosk. Taken by: creative_brand_history.

  --window=<value>
      An inclusive span, YYYY-MM-DD..YYYY-MM-DD, up to the metric's max_window_days. Taken by:
      camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share,
      same_panel_index, radio_identifiers_per_person, creative_sightings, creative_share_of_voice,
      creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance,
      seatbelt_unbuckled_ride_rate.

  --window_end=<value>
      Currency window end (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.

DESCRIPTION
  One approved metric answered for a day or window, at its grain.

EXAMPLES
  $ trillboards generated approved-metric get
```

## `trillboards generated generated-approved-metrics-list`

被认可的指标是：你可以买到的每一个受控制的观众、摄像机、创意、安全带、董事会和座谈回答。

```
USAGE
  $ trillboards generated generated-approved-metrics-list [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  The approved metrics: every governed audience, camera, creative, seatbelt, board and panel answer you can buy.

EXAMPLES
  $ trillboards generated approved-metrics list
```

## `trillboards generated generated-changelog-query`

查询API变更日志

```
USAGE
  $ trillboards generated generated-changelog-query [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--since <value>]
    [--type <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --since=<value>     Only entries dated on or after this date (YYYY-MM-DD). Unreleased entries always included.
  --type=<value>      Filter by change category: "breaking" (changed+removed), "additive" (added), "deprecation"
                      (deprecated), "fix" (fixed). Comma-separated for multiple.

DESCRIPTION
  Query API changelog

EXAMPLES
  $ trillboards generated changelog query
```

## `trillboards generated generated-configure-creative-feedback-brand EXPERIMENT_ID`

配置您的本地品牌配置文件，并启用其预订的响应式活动

```
USAGE
  $ trillboards generated generated-configure-creative-feedback-brand EXPERIMENT_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--data <value>]

ARGUMENTS
  EXPERIMENT_ID  Native experiment ID returned by create_creative_experiment.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Configure your native brand profile and enable its booked reactive campaign

EXAMPLES
  $ trillboards generated configure-creative-feedback-brand
```

## `trillboards generated generated-creative-feedback-experiment-create`

在原生媒体购买广告投放上进行实验

```
USAGE
  $ trillboards generated generated-creative-feedback-experiment-create [--api-key <value>] [--base-url <value>]
  [--format json|table|yaml] [--data <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Create an experiment on a funded native media-buy placement

EXAMPLES
  $ trillboards generated creative-feedback-experiment create
```

## `trillboards generated generated-creative-feedback-experiment-get EXPERIMENT_ID`

阅读本地实验，政策和最新的500个拥有的创意恢复记录

```
USAGE
  $ trillboards generated generated-creative-feedback-experiment-get EXPERIMENT_ID [--api-key <value>] [--base-url
  <value>] [--format json|table|yaml]

ARGUMENTS
  EXPERIMENT_ID  Native experiment ID returned by create_creative_experiment.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Read your native experiment, policy and latest 500 owned creative recovery records

EXAMPLES
  $ trillboards generated creative-feedback-experiment get
```

## `trillboards generated generated-creative-feedback-policy-update EXPERIMENT_ID`

在预期的策略版本中替换原生创意权重

```
USAGE
  $ trillboards generated generated-creative-feedback-policy-update EXPERIMENT_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--data <value>]

ARGUMENTS
  EXPERIMENT_ID  Native experiment ID returned by create_creative_experiment.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Replace native creative weights at the expected policy version

EXAMPLES
  $ trillboards generated creative-feedback-policy update
```

## `trillboards generated generated-creative-feedback-rewards-get EXPERIMENT_ID`

阅读最新测量的本地游戏状态的计量页面

```
USAGE
  $ trillboards generated generated-creative-feedback-rewards-get EXPERIMENT_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--from <value>] [--to <value>] [--limit <value>] [--cursor <value>] [--idempotency_key <value>]

ARGUMENTS
  EXPERIMENT_ID  Native experiment ID returned by create_creative_experiment.

FLAGS
  --api-key=<value>          [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>         [default: https://api.trillboards.com] API base URL
  --cursor=<value>           Opaque next_cursor from this same date scope; rewind after scan_complete.
  --format=<option>          Output format
                             <options: json|table|yaml>
  --from=<value>             Inclusive first play date, YYYY-MM-DD; date range is at most 31 days.
  --idempotency_key=<value>  Unique caller-owned billing key for this page; committed retries return the receipt, not
                             another read.
  --limit=<value>            Maximum native play states returned on this metered page.
  --to=<value>               Inclusive last play date, YYYY-MM-DD; date range is at most 31 days.

DESCRIPTION
  Read a metered page of latest measured native play states

EXAMPLES
  $ trillboards generated creative-feedback-rewards get
```

## `trillboards generated generated-creative-feedback-variants-register EXPERIMENT_ID`

注册批准的本地生成的创造性变体

```
USAGE
  $ trillboards generated generated-creative-feedback-variants-register EXPERIMENT_ID [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--data <value>]

ARGUMENTS
  EXPERIMENT_ID  Native experiment ID returned by create_creative_experiment.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Register approved native generated creative variants

EXAMPLES
  $ trillboards generated creative-feedback-variants register
```

## `trillboards generated generated-csi-venue-history SCREENID`

以10分钟为单位的历史场馆占用率。

```
USAGE
  $ trillboards generated generated-csi-venue-history SCREENID [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--hours
    <value>]

ARGUMENTS
  SCREENID  Mongo ObjectId of the screen / venue sensing node (24-char lowercase hex).

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --hours=<value>     Look-back window in hours. Absent or non-positive values fall back to 24; values above 168 are
                      capped to 168 (7 days).

DESCRIPTION
  Historical venue occupancy in 10-minute CSI buckets.

EXAMPLES
  $ trillboards generated csi-venue-history
```

## `trillboards generated generated-csi-venue-occupancy SCREENID`

实时场地占用从WiFi CSI传感。

```
USAGE
  $ trillboards generated generated-csi-venue-occupancy SCREENID [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml]

ARGUMENTS
  SCREENID  Mongo ObjectId of the screen / venue sensing node (24-char lowercase hex).

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Real-time venue occupancy from WiFi CSI sensing.

EXAMPLES
  $ trillboards generated csi-venue-occupancy
```

## `trillboards generated generated-curation-set-coverage-get SETKEY`

一个策划集的测量覆盖率。

```
USAGE
  $ trillboards generated generated-curation-set-coverage-get SETKEY [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml]

ARGUMENTS
  SETKEY  A curated set key, as listed by /curation-sets.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  The measured coverage of one curated set.

EXAMPLES
  $ trillboards generated curation-set-coverage get
```

## `trillboards generated generated-curation-set-roads-get SETKEY`

为特定人群服务的道路，有交通指数和速度。

```
USAGE
  $ trillboards generated generated-curation-set-roads-get SETKEY [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--bbox
    <value>] [--dow_type <value>] [--hour <value>] [--metric <value>] [--road_class <value>]

ARGUMENTS
  SETKEY  A curated set key, as listed by /curation-sets.

FLAGS
  --api-key=<value>     [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>    [default: https://api.trillboards.com] API base URL
  --bbox=<value>        minLon,minLat,maxLon,maxLat (RFC 7946 order). The span is capped (`max_bbox_deg` on
                        /curation-sets); a wider box answers 413 bbox_too_large.
  --dow_type=<value>    Day-of-week type (default weekday).
  --format=<option>     Output format
                        <options: json|table|yaml>
  --hour=<value>        Local hour 0-23. Absent: every hour.
  --metric=<value>      traversal_index (default), speed or speed_ratio.
  --road_class=<value>  Comma-separated OSM classes: motorway, motorway_link, trunk, trunk_link, primary, primary_link,
                        secondary, secondary_link, tertiary, tertiary_link, unclassified, residential, living_street,
                        service.

DESCRIPTION
  The roads that serve a curated set, with the traffic index and speeds.

EXAMPLES
  $ trillboards generated curation-set-roads get
```

## `trillboards generated generated-curation-set-viewsheds-get SETKEY`

一个策展集合中每个成员的视角和面点。

```
USAGE
  $ trillboards generated generated-curation-set-viewsheds-get SETKEY [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--bbox
    <value>]

ARGUMENTS
  SETKEY  A curated set key, as listed by /curation-sets.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --bbox=<value>      minLon,minLat,maxLon,maxLat (RFC 7946 order). The span is capped (`max_bbox_deg` on
                      /curation-sets); a wider box answers 413 bbox_too_large.
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  The viewsheds and face points of every member of a curated set.

EXAMPLES
  $ trillboards generated curation-set-viewsheds get
```

## `trillboards generated generated-curation-sets-list`

策划板组（批准包）及其测量的覆盖范围。

```
USAGE
  $ trillboards generated generated-curation-sets-list [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--q <value>]
    [--limit <value>] [--offset <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --limit=<value>     Page size (default 200).
  --offset=<value>    Page offset.
  --q=<value>         Search the set names.

DESCRIPTION
  The curated board sets (approved packages) with their measured coverage.

EXAMPLES
  $ trillboards generated curation-sets list
```

## `trillboards generated generated-data-api-ad-sightings`

广告目击记录：出租车摄像头看到的户外广告，每个广告都有签名照片链接。

```
USAGE
  $ trillboards generated generated-data-api-ad-sightings [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--brand
    <value>...] [--brand_id <value>...] [--market <value>...] [--surface <value>...] [--board_id <value>...]
    [--creative_id <value>...] [--instrument <value>...] [--category <value>...] [--media_owner <value>...] [--has_photo
    <value>] [--from <value>] [--to <value>] [--limit <value>] [--cursor <value>]

FLAGS
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --board_id=<value>...     A board the sighting was matched to, repeatable.
  --brand=<value>...        A brand, repeatable for a brand set (competitors). Matched however it is typed:
                            "McDonald's", "mcdonalds" and "Mc Donalds" find the same records.
  --brand_id=<value>...     A resolved brand id, repeatable. Combined with `brand` as either-or.
  --category=<value>...     The brand's IAB tier-1 category (IAB1..IAB25), repeatable: the records whose resolved brand
                            votes in it (brand_knowledge_graph.iab_category, the `category` field).
  --creative_id=<value>...  A sighted creative (the campaign artwork), repeatable.
  --cursor=<value>          The `next_cursor` of the previous page.
  --format=<option>         Output format
                            <options: json|table|yaml>
  --from=<value>            Start (inclusive), YYYY-MM-DD or an ISO-8601 instant. Default: 30 days before `to`.
  --has_photo=<value>       true returns only records that carry a photo (photo_url set): a record without a shareable
                            face-blurred picture is skipped, so it is never returned or billed. The page can hold fewer
                            than limit records; keep following next_cursor until it is null.
  --instrument=<value>...   The reading instrument (ssr-v2, ssr-v1, vlmtext-v1, edge_ocr_v1), repeatable.
  --limit=<value>           Records per page, 1..500 (default 50). The page limit is reserved; the records returned are
                            billed.
  --market=<value>...       A market as COUNTRY:CODE (US DMA or CA CMA), repeatable.
  --media_owner=<value>...  A media owner, repeatable: the records matched to a face whose owner (`publisher_name`, the
                            registry's) holds the name's letters and digits, any case and punctuation (Lamar finds
                            LAMAR-PITTSBURGH and Lamar (Cincinnati)).
  --surface=<value>...      The surface kind as read (billboard, storefront, bus_shelter, ...), repeatable.
  --to=<value>              End (exclusive). Default: now. The span is at most 400 days.

DESCRIPTION
  Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.

EXAMPLES
  $ trillboards generated data-api-ad-sightings
```

## `trillboards generated generated-data-api-ad-sightings-history`

户外创意历史按品牌、市场和月份，从创意分类账。

```
USAGE
  $ trillboards generated generated-data-api-ad-sightings-history [--api-key <value>] [--base-url <value>] [--format <value>...] [--brand <value>...]
    [--brand_id <value>...] [--market <value>...] [--from <value>] [--to <value>] [--grain <value>] [--dimension
    <value>...] [--category <value>...] [--parent <value>...] [--agency <value>...] [--media_owner <value>...]
    [--surface <value>...] [--board <value>...] [--cbsa <value>...] [--limit <value>] [--cursor <value>]

FLAGS
  --agency=<value>...       Narrow to brands this agency holds as agency of record (Winmo), by name in any case,
                            repeatable.
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --board=<value>...        Narrow to faces by face key, repeatable for a set of boards: f:<board id>:<face index> (a
                            registered face) or p:<point id> (an unregistered board point), the `face_key` a board slice
                            answers with.
  --brand=<value>...        A brand by name, repeatable (competitors). Resolved to its brand id the way the brand search
                            does.
  --brand_id=<value>...     A resolved brand id, repeatable.
  --category=<value>...     Narrow to brands of an IAB tier-1 category (IAB1..IAB25), repeatable. A slice filter narrows
                            the denominators with the rows: the shares are within the categories named.
  --cbsa=<value>...         Narrow to faces in a Census CBSA (5-digit code, OMB July 2023 delineation), repeatable.
  --cursor=<value>          The `next_cursor` of the previous page.
  --dimension=<value>...    A slice the rows are cut by, repeatable: category, parent, agency (what the brand is),
                            media_owner, format, surface, board, cbsa (where it ran). Each row is a brand within its
                            slice, and every share is over its slice: a slice recomputes every denominator, and every
                            distinct count is counted within it. The market vacancy is cut by where-it-ran slices only.
  --format=<value>...       Narrow to static or digital faces, repeatable.
  --from=<value>            First month (YYYY-MM) or day. Default: 12 months before `to`.
  --grain=<value>           market_month (default) or fleet_month; market_week or fleet_week (ISO weeks from their
                            Monday, each counted whole, every week the from..to span touches); market_window or
                            fleet_window (the from..to span as one period). A fleet grain drops the market: with
                            dimension=cbsa it is the CBSA geography.
  --limit=<value>           Rows per page, 1..500 (default 100). The page limit is reserved; the rows returned are
                            billed.
  --market=<value>...       A market as COUNTRY:CODE, repeatable.
  --media_owner=<value>...  Narrow to faces whose registry owner holds the name's letters and digits, any case and
                            punctuation (Lamar finds LAMAR-PITTSBURGH and Lamar (Cincinnati)), repeatable.
  --parent=<value>...       Narrow to brands whose parent company is in this brand graph id's family (the `parent_id` a
                            parent slice answers with), repeatable.
  --surface=<value>...      Narrow to faces of a reader surface (billboard, digital_board, bus_shelter, kiosk),
                            repeatable.
  --to=<value>              Last month (YYYY-MM, inclusive) or day. Default: this month.

DESCRIPTION
  Outdoor creative history by brand, market and month, from the creative ledger.

EXAMPLES
  $ trillboards generated data-api-ad-sightings-history
```

## `trillboards generated generated-data-api-aggregate`

为时间窗口聚合受众分析。

```
USAGE
  $ trillboards generated generated-data-api-aggregate [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--group_by
    <value>] [--metric <value>] [--since <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --group_by=<value>  Dimension to group aggregations by.
  --metric=<value>    Metric to aggregate on.
  --since=<value>     Relative time window (e.g. "24h", "7d").

DESCRIPTION
  Aggregate audience analytics for a time window.

EXAMPLES
  $ trillboards generated data-api-aggregate
```

## `trillboards generated generated-data-api-list-screens`

列出对调用者可见的屏幕。

```
USAGE
  $ trillboards generated generated-data-api-list-screens [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--limit <value>]
    [--offset <value>] [--venue_type <value>] [--country <value>]

FLAGS
  --api-key=<value>     [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>    [default: https://api.trillboards.com] API base URL
  --country=<value>     ISO-3166 alpha-2 country code.
  --format=<option>     Output format
                        <options: json|table|yaml>
  --limit=<value>       limit
  --offset=<value>      offset
  --venue_type=<value>  Filter by venue taxonomy type (e.g. bar, restaurant).

DESCRIPTION
  List screens visible to the caller.

EXAMPLES
  $ trillboards generated data-api-list-screens
```

## `trillboards generated generated-data-api-lookalike-screens`

寻找具有相似用户概况的屏幕。

```
USAGE
  $ trillboards generated generated-data-api-lookalike-screens [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--screen_id
    <value>] [--limit <value>] [--min_similarity <value>]

FLAGS
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --format=<option>         Output format
                            <options: json|table|yaml>
  --limit=<value>           limit
  --min_similarity=<value>  min_similarity
  --screen_id=<value>       Internal screen identifier.

DESCRIPTION
  Find screens with similar audience profiles.

EXAMPLES
  $ trillboards generated data-api-lookalike-screens
```

## `trillboards generated generated-data-api-query-dsl`

经过批准的数据集上的可组合查询DSL。

```
USAGE
  $ trillboards generated generated-data-api-query-dsl [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml] [--data <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Composable query DSL over approved datasets.

EXAMPLES
  $ trillboards generated data-api-query-dsl
```

## `trillboards generated generated-data-api-screen-audience-history SCREENID`

屏幕的历史audience\_metrics行。

```
USAGE
  $ trillboards generated generated-data-api-screen-audience-history SCREENID [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--since
    <value>] [--until <value>] [--limit <value>]

ARGUMENTS
  SCREENID  Internal screen identifier.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --limit=<value>     limit
  --since=<value>     ISO-8601 start timestamp.
  --until=<value>     ISO-8601 end timestamp.

DESCRIPTION
  Historical audience_metrics rows for a screen.

EXAMPLES
  $ trillboards generated data-api-screen-audience-history
```

## `trillboards generated generated-data-api-screen-audience-live SCREENID`

屏幕上的实时观众快照。

```
USAGE
  $ trillboards generated generated-data-api-screen-audience-live SCREENID [--api-key <value>] [--base-url <value>]
  [--format json|table|yaml]

ARGUMENTS
  SCREENID  Internal screen identifier.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Real-time audience snapshot for a screen.

EXAMPLES
  $ trillboards generated data-api-screen-audience-live
```

## `trillboards generated generated-data-api-semantic-search`

场景嵌入的相似度搜索。

```
USAGE
  $ trillboards generated generated-data-api-semantic-search [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--q <value>]
    [--limit <value>] [--since <value>] [--min_similarity <value>]

FLAGS
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --format=<option>         Output format
                            <options: json|table|yaml>
  --limit=<value>           limit
  --min_similarity=<value>  min_similarity
  --q=<value>               q
  --since=<value>           Relative time window (e.g. "24h", "7d").

DESCRIPTION
  Similarity search over scene embeddings.

EXAMPLES
  $ trillboards generated data-api-semantic-search
```

## `trillboards generated generated-data-api-stats`

Platform-wide计数器。

```
USAGE
  $ trillboards generated generated-data-api-stats [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Platform-wide counters.

EXAMPLES
  $ trillboards generated data-api-stats
```

## `trillboards generated generated-data-api-stream`

现场观众/观察事件的服务器发送事件流。

```
USAGE
  $ trillboards generated generated-data-api-stream [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--observation_family <value>] [--venue_type <value>]

FLAGS
  --api-key=<value>             [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>            [default: https://api.trillboards.com] API base URL
  --format=<option>             Output format
                                <options: json|table|yaml>
  --observation_family=<value>  observation_family
  --venue_type=<value>          venue_type

DESCRIPTION
  Server-Sent Events stream of live audience/observation events.

EXAMPLES
  $ trillboards generated data-api-stream
```

## `trillboards generated generated-data-api-usage`

已验证密钥（计费指示板）的API使用情况。

```
USAGE
  $ trillboards generated generated-data-api-usage [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
  [--days <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --days=<value>      days
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  API usage for the authenticated key (billing dashboard).

EXAMPLES
  $ trillboards generated data-api-usage
```

## `trillboards generated generated-device-ota-manifest`

托管设备更新客户端的已签名OTA清单。

```
USAGE
  $ trillboards generated generated-device-ota-manifest [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml] [--agent <value>]

FLAGS
  --agent=<value>     Optional agent type filter (`agent-core`, `agent-core-lite`, etc.). When omitted the caller
                      receives the default manifest bundle.
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Signed OTA manifest for managed-device update clients.

EXAMPLES
  $ trillboards generated device-ota-manifest
```

## `trillboards generated generated-device-retained-cctv-review`

保存原始闭路电视证据及其完成的本地审查。

```
USAGE
  $ trillboards generated generated-device-retained-cctv-review [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml] [--data <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --data=<value>      JSON request body
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Store original CCTV evidence and its completed local review.

EXAMPLES
  $ trillboards generated device-retained-cctv-review
```

## `trillboards generated generated-device-sensing-profile`

用于调用连接器绑定屏幕的主动传感配置文件。

```
USAGE
  $ trillboards generated generated-device-sensing-profile [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Active sensing profile for the calling connector's bound screen.

EXAMPLES
  $ trillboards generated device-sensing-profile
```

## `trillboards generated generated-error-code-get CODE`

查找单个错误代码

```
USAGE
  $ trillboards generated generated-error-code-get CODE [--api-key <value>] [--base-url <value>] [--format
  json|table|yaml]

ARGUMENTS
  CODE  A stable error code from the catalog. See GET /v1/errors for the full list.

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  Look up a single error code

EXAMPLES
  $ trillboards generated error-code get
```

## `trillboards generated generated-error-codes-list`

列出所有错误代码

```
USAGE
  $ trillboards generated generated-error-codes-list [--api-key <value>] [--base-url <value>] [--format json|table|yaml]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>

DESCRIPTION
  List all error codes

EXAMPLES
  $ trillboards generated error-codes list
```

## `trillboards generated generated-example-healthcheck`

示例健康检查（阶段3管道验证）

```
USAGE
  $ trillboards generated generated-example-healthcheck [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--verbose
    <value>]

FLAGS
  --api-key=<value>   [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>  [default: https://api.trillboards.com] API base URL
  --format=<option>   Output format
                      <options: json|table|yaml>
  --verbose=<value>   When `true`, include diagnostic fields in the response.

DESCRIPTION
  Example healthcheck (Phase 3 pipeline proof)

EXAMPLES
  $ trillboards generated example-healthcheck
```

## `trillboards generated generated-federated-get-latest-model-descriptor MODELTYPE`

获取最新的聚合模型描述符（下载URL + sha256 +版本）。

```
USAGE
  $ trillboards generated generated-federated-get-latest-model-descriptor MODELTYPE [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--venue_type <value>] [--venue_subtype <value>] [--daypart <value>] [--geo <value>] [--device_profile <value>]

ARGUMENTS
  MODELTYPE  Federated model name.

FLAGS
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --daypart=<value>         daypart
  --device_profile=<value>  device_profile
  --format=<option>         Output format
                            <options: json|table|yaml>
  --geo=<value>             geo
  --venue_subtype=<value>   venue_subtype
  --venue_type=<value>      Venue category (required).

DESCRIPTION
  Fetch the latest aggregated model descriptor (download URL + sha256 + version).

EXAMPLES
  $ trillboards generated federated-get-latest-model-descriptor
```

## `trillboards generated generated-federated-get-model-weights MODELTYPE`

获取特定于设备的片的聚合权重。

```
USAGE
  $ trillboards generated generated-federated-get-model-weights MODELTYPE [--api-key <value>] [--base-url <value>] [--format json|table|yaml]
    [--venue_type <value>] [--venue_subtype <value>] [--daypart <value>] [--geo <value>] [--device_profile <value>]

ARGUMENTS
  MODELTYPE  Federated model name.

FLAGS
  --api-key=<value>         [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
  --base-url=<value>        [default: https://api.trillboards.com] API base URL
  --daypart=<value>         daypart
  --device_profile=<value>  device_profile
  --format=<opti
```

## 常见问题

### @trillboards/cli 是什么？

Trillboards DOOH API的官方CLI

### 如何安装 @trillboards/cli？

在项目目录运行 npm install @trillboards/cli，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 trillboards，可以用 npx trillboards 直接运行。

### @trillboards/cli 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @trillboards/cli 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @trillboards/cli 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @trillboards/cli 可以商用吗？

@trillboards/cli 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @trillboards/cli 还在维护吗？

最新版本 0\.1\.12 发布于 2026/11/03（今天）；至今共发布 12 个版本，其中过去 12 个月发布了 12 个；首次发布于 2026/04/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

