jackwener/OpenCLI · warning · EmptyResultError
This series has no koubei rating yet.
Error message
This series has no koubei rating yet.
What it means
EmptyResultError thrown by the autohome score command when the koubei page props parse fine but contain no brand name and no overall rating — i.e. the series legitimately has no koubei (owner-review) scores yet. This is a 'no data' condition, not a malfunction.
Source
Thrown at clis/autohome/score.js:96
browser: false,
args: [
{ name: 'series_id', required: true, positional: true, help: '车系 ID(来自 brand 的 series_id,或 k.autohome.com.cn/<id> URL)' },
],
columns: SCORE_COLUMNS,
func: async (args) => {
const seriesId = normalizeSeriesId(args.series_id);
const html = await ahFetch(`${AH_KOUBEI_BASE}/${seriesId}`, `score ${seriesId}`);
const pp = extractPageProps(html);
if (!pp) {
throw new CommandExecutionError(
`autohome score ${seriesId}`,
'No koubei data found — the series id may be wrong, or Autohome changed its page.',
);
}
const rows = parseScore(pp, seriesId);
const map = Object.fromEntries(rows.map((r) => [r.field, r.value]));
if (!map.name && map.overall == null) {
throw new EmptyResultError(
`autohome score ${seriesId}`,
'This series has no koubei rating yet.',
);
}
return rows;
},
});
View on GitHub (pinned to 49907e53dc)
Solutions
- Confirm the series id is the one you intended; a valid series with reviews will return data.
- Check the series page in a browser — if no koubei ratings exist there either, wait until owners post reviews.
- If you need some rating now, query a related/older series in the same family.
Example fix
// before opencli autohome score <brandNewSeriesId> // no reviews yet // after opencli autohome score <establishedSeriesId> // has koubei ratings
Defensive patterns
Strategy: try-catch
Validate before calling
// pre-check via the command's own error semantics: treat EmptyResultError as 'no data yet' // no pre-call validation possible; data availability only known after fetch
Try / catch
try {
const rows = await score(seriesId);
} catch (e) {
if (/no koubei rating yet/.test(e.message)) {
return null; // expected empty state, not a failure
}
throw e;
} Prevention
- Treat missing koubei data for new/low-volume series as expected.
- Check the live series page for a ratings section before automating.
- Schedule score lookups for mature series rather than just-launched ones.
When it happens
Trigger: Requesting scores for a brand-new or very low-volume series where map.name is empty and map.overall is null after parseScore runs.
Common situations: Recently launched models with too few owner reviews; series pages where the koubei section is empty; ids pointing at discontinued series with wiped review data.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- No series found for '${brand}'. Check the brand name spellin
- ${command} returned no results
- NOT_FOUND
- guazi browse ${code}
- guazi car ${clueId}
AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29).
Data as JSON: /api/errors/f4503c91fecf07fe.
Report an issue: GitHub.