v0.1.3
A second field-by-field audit: hot entries carry their id, search urls are canonical, and dates are exact.
A follow-up to the v0.1.2 data audit. Every command was walked against live responses again to close the last gaps where a surface returned a field the record dropped or stored a lossier form of it.
Hot entries now carry their id and type
A hot-rank entry only exposed its article through the url. It now records the
article id (CSDN's productId) and type (productType, e.g. blog), so a
hot row can be cross-referenced to article and comments directly.
The hot score now reads the exact hotRankScore integer instead of the
display form CSDN shows on the board (2.4w), which is rounded and does not
parse as a number.
Search urls are canonical
search returned the article link with a long ops_request_misc/utm tracking
tail. The url is now trimmed to the canonical scheme://host/path that actually
addresses the page.
Exact dates and covers from a user's posts
posts recorded published from the fuzzy UI label (前天 16:23, "the day
before yesterday"), losing the real date. It now keeps the exact timestamp
(2026-06-13 16:23:43) and falls back to the label only when the timestamp is
absent.
posts also dropped the article cover image. article now has a cover field,
filled from a post's picList when listed through posts. (A direct article
fetch leaves it empty: CSDN's article pages carry no cover meta.)
No surface or command changes
This release only corrects and widens what each existing command captures; the
command set, flags, and output formats are unchanged. Install with @latest.