Repository navigation
v2.6.18
简体中文: 查看本版本的中文更新日志
2.6.18 - 2026-10-16
Added
- An end-user troubleshooting guide.
docs/guides/TROUBLESHOOTING.mdcovers the eight problems that used to mean opening an issue: a port already in use, a usage database too new for the installed version, a SQLite WAL lock and when to reach fordb resyncagainstdb repair, macOS Keychain prompts, binding localhost from WSL2, GitHub Copilot's OTel exports reporting no tokens, a dashboard with no data, and a failed update check.docs/README.mdand the onboarding guide link it. (#187, thanks @Dhruv1401) - Three endpoints that existed in
api.pybut not in the reference:GET /api/activity-insightswith itsrefreshparameter and per-day caching, the PWAGET /manifest.webmanifest, and theGET /sw.jsservice worker. Amp joins the supported-client matrix, marked as a placeholder becauseAmpParser._parse_allreturns no rows yet, with its real~/.amp/log path recorded. Two specs that were on disk but unlinked -- the TUI spec and the OpenClaw reporting agent guide -- are indexed fromdocs/README.md. (#183, thanks @Dhruv1401) - 37 test modules now carry a docstring describing what they cover, so the scope of a file is readable before its assertions. Test logic is unchanged, checked by comparing Python ASTs against the previous main with the docstrings removed. (#199, thanks @Dhruv1401)
src/tokdash/pricing_db.jsonmoves from 2.0.34 to 2.0.35 (lastUpdated: 2026-10-13T14:06:35Z) with the auto-approved results of the 2026-10-13 scan: one addition and no repricings.muse-wonder(meta) joins at $4.00 input / $20.00 output per MTok, cache at $0.20 read / $4.00 write. The scan's 90 price changes are review-required and stay in the updater's diff report for a manual pass. (#237)
Changed
- Model output speed now defaults to generation windows rather than whole requests. The page mixed the two definitions, and a whole-request window includes the initial wait for the first token, so two rows could be comparing different work. The timing filter is applied before the comparison table, the combined-throughput figure, concurrency, the trend and the hourly buckets, so every number on the page answers the same question; API defaults are untouched, so existing clients keep their behaviour. A Settings toggle persists the choice and reveals the timing labels, a harness with only whole-request timing stays eligible for the model, and the measurements such a harness does contribute are explained by that action instead of being reported as missing data. The terminology and the detailed timing explanations follow across all six dashboard locales, and the mixed-method notice keeps distinct method names rather than collapsing them. (#250)
Fixed
- Claude messages copied across transcripts no longer leave the stored view on a smaller snapshot or losing usage when the owning file was rewritten or deleted. Claude keeps its file-local candidates and selects the same streaming winner as the live parser, and Crush resolves one deterministic owner per session across databases, so a session copied into two stores is no longer counted twice in the live view while the stored view counted it once.
ClaudeParsermoves topersistent_parser_version4 andCrushParserto 2, and the store'sSCHEMA_VERSIONmoves from 13 to 14, so the migration rebuilds surviving inputs while preserving durable archived usage. An ownership change also invalidates timing for both the former and the new owner even when the two files exchange messages without changing their row counts, and the timing worker reads newly acquired calls instead of treating an incomplete cached measurement as a complete result. (#247, closes #170) - Codex rollouts are read whether they are stored plain or Zstandard-compressed, in both the active and the archived session directories, and the existing event keys deduplicate the overlapping copies that leaves behind in the usage and session views. A corrupt compressed frame is isolated, so the other rollouts stay readable instead of failing the sync.
CodexParsermoves topersistent_parser_version5. (#248, closes #245) - WorkBuddy counts its usage-bearing
providerDatarows, including function calls, once per provider message id. Both~/.workbuddyand the legacy~/.workbuddy-aiare discovered by default, withWORKBUDDY_DATA_DIRoverrides preserved, andWorkBuddyParsermoves topersistent_parser_version2. (#248, closes #246) - The Hermes mark is the official icon on the web, macOS and Windows rather than a black circle and triangle. The official portrait is used consistently and the old inverted and dark variants are gone, with the two companion contract tests updated to stop expecting a dark-appearance copy for Hermes. (#204, #242, thanks @Dhruv1401)
- The GitHub Actions artifacts move to
download-artifact8.0.2 andupload-artifact7.0.2 in the PyPI publish and companion release workflows. (#243, #244)