Releases: FinbackYu/kimi-code-hud
Releases · FinbackYu/kimi-code-hud
Release list
v0.7.2
Changed
- Advance the audited Kimi Code compatibility baseline from 0.36.1 to 0.37.2:
the 10-field status-line payload, first-stdout-line contract, and 300ms host
ceiling are unchanged; footer line 2 gains a longer-livedwarningHintand
remains host-owned; the persisted wire manifest drops five transient record
types and adds durableprompt.accepted,runtime.set_binding, and
tower_mode.enter/tower_mode.exitrecords that HUD reducers safely
ignore. agent-core-v2 rewired its journal internals to Event2/defineState and
now always stampstimeon durable records; the on-disk wire format,
session layout, quota endpoint, plugin manifest, and hook payloads are
unchanged.
v0.7.1
Changed
- Advance the audited Kimi Code compatibility baseline from 0.34.0 through
0.36.1, covering the content-bearingplugin.session_startwire row,
mixed-provider subagent sessions, additive task metadata, and the unchanged
10-field status-line contract. - Persist Git branch/dirty results across HUD command processes for 15 seconds,
keyed by a cwd SHA-256 and capped at 64 worktrees. Concurrent cache misses
merge under a bounded cross-process lock, cache files are forced to mode
0600, optional Git locks are disabled, and the existing 150ms probe ceiling
remains in place.
Fixed
- Fail closed when an all-agent Session Cost ledger contains nonzero usage from
another provider or an unresolved model, avoiding partial session totals. - Treat an unresolved model provider as unknown: no managed Kimi quota or
provider usage is rendered or refreshed until attribution is explicit.
Security
- Resolve
gitthrough PATH to a canonical absolute executable and refuse
workspace-local hits before running the dirty-tree probe. - Strip OSC, CSI, other ESC string controls, and C0/DEL/C1 characters from all
dynamic HUD text before adding HUD-owned ANSI styling.
Compatibility
- Audited against Kimi Code
0.36.1at
13d86f8b7bb2443a3b8222e7d94deb0a66429f8e. - Full test suite: 347 tests passed.
v0.7.0
Added
- Add a provider-usage cache and detached-refresh framework, with the first
adapter for DeepSeek's official API balance. The active model resolves to
its provider table, cache files are isolated by a one-way API-key
fingerprint, the render hot path never performs network I/O, and custom
DeepSeek-compatible proxies are refused so credentials only reach the
fixed official balance endpoint. The footer renders currency as compact
balance text (DeepSeek Balance ¥N.NN) instead of inventing a quota
percentage or relying on unexplained abbreviations. DeepSeek also uses the
local all-agent cost path, so ready facts compose as
DeepSeek Balance ¥N.NN · Session Cost ≈¥N.NNfor CNY accounts (and the
matching USD form for USD accounts). Cost selects the official price table
from the balance response's currency and remains visible by itself when the
balance is unavailable but that account currency is known; an unknown
currency fails closed instead of guessing the symbol. - Add local all-agent session-cost estimates for supported models on the
official direct DeepSeek, OpenAI, and Anthropic APIs. A dedicated content-free
usage.recordledger reconstructs main and subagent history without
disturbing live metrics, waits for every wire to catch up, and fails closed
for unknown models or compatible proxies. The footer renders the full brand
and scope (DeepSeek Session Cost ≈¥N.NN/OpenAI Session Cost ≈$N.NN/
Anthropic Session Cost ≈$N.NN),
keeping estimates distinct from balances, admin billing, and subscriptions.
Changed
- Format CNY session costs with two decimal places once they reach one fen,
while retaining additional precision below that boundary so small nonzero
costs do not collapse to¥0.00.
Fixed
- Follow in-session effort and model switches from the per-request ground
truth: hosts stamp everyllm.requestwire row with thethinkingEffort
andmodelAliasthe request actually ran with, so a switch that emits no
newconfig.update/profile.bindrow — the host's own footer (e.g. the
line-2 context figures) can lag behind here — now updates the HUD on the
next request. The one-time backfill scan version is bumped so sessions
tracked by earlier HUD builds re-project effort and model from their
request journal too.
v0.6.5
Fixed
- Track the session model and thinking effort from the host's
profile.bindwire row: newer hosts bind the active profile once at session start (profile.bindwithmodelAlias+thinkingEffort) instead of emitting aconfig.updaterow, so such sessions fell back to the config.toml[thinking]effort — e.g. showinghighwhile the model actually ran atmax.
v0.6.4
Added
- Render the built-in footer's background-task badges —
[N task(s) running]
for shell processes and[N agent(s) running]for background subagents,
between the model and project segments. Counts come from a bounded
taskId -> { kind, status }reducer over the main-wiretask.started/
task.terminatedOps, reconciled per frame against the
agents/main/tasks/<taskId>.jsonsidecars so hosts that predate the
journaled Ops are covered too; the fresher record wins per task id. The
counts stay separate from the throughputactiveAgents/tpsAgents
figures and onlyrunningtasks badge.
Fixed
- Keep the fleet speed style when a swarm runs down to its last live
subagent: falling back to the solo-agent⚡ 45 t/s · TTFT 1.2smade the
HUD look like swarm mode had been exited. A lone live agent with a speed
reading now reports a one-agent fleet figure (tpsTotal = tps,
tpsAgents = 1), and while swarm mode is on the speed segment and gen
ticker keep the fleet head count, singularized as1 agent.
v0.6.3
Added:
- Fleet head counts now read "main+N" whenever the main agent feeds the figure (e.g. ⚡ 465 t/s (main+4 @93)), so the count can't be misread as a pure subagent figure while a swarm runs; it settles back to subagents only once the idle main agent ages out of the activity window.
v0.6.2
Compact-layout quota coloring and reliability fixes for the quota segment and the swarm fleet display.
Added:
- The compact layout colors the quota percentage by usage level (yellow ≥60%, red ≥85%) so it takes over the level signal from the missing bar; the comfortable green level stays default-colored.
Fixed:
- Subagents drop out of the fleet count the moment their turn ends instead of lingering until the two-minute activity window expires.
- The 5h/7d quota segment no longer disappears during idle access-token expiry: a 401/403 with a refresh_token still present keeps the last good cache.
Changed:
- Both READMEs clarify that the 5h/7d windows represent Kimi managed subscription usage, not API balance or spend.
v0.6.1
Documentation release for the HUD capability audit and refreshed project presentation.
Added:
- Real HUD screenshots in the Chinese and English READMEs.
- A canonical Kimi Code 0.31.0 capability inventory with activation instructions and token-scope definitions.
- A separate known-issues register with acceptance criteria.
Changed:
- Reorganized both READMEs around features, installation, configuration, runtime behavior, capabilities, and known issues.
v0.6.0
Changed
- Show the bare thinking effort level in the model segment (
K3 maxinstead
ofK3 thinking:max) in every layout; boolean thinking keeps the
thinkinglabel. - While the goal badge is up, the speed segment shows throughput only: the
gen timer, TTFT and the compaction state all hide (the badge already
carries the session clock), freeing space for the badge.
Removed
- Drop the full layout tier together with its exclusive Context segment,
version suffix, and Cache token counts. Layouts are now compact and normal,
and the width defense degrades normal -> compact; read the host-drawn
line 2 for context usage.
Fixed
- Count only agents with a fresh speed reading in the fleet throughput
figure: an agent still waiting on its first step stays in the gen-ticker
head count but no longer inflates theN agents @avgparenthetical, so
the displayed total, head count and average stay consistent.
v0.5.1
Added
- Add sanitized end-to-end status payload and wire fixtures, bounded 50 MiB
wire catch-up coverage, and a Node 18/20/22 CI matrix.
Changed
- Split the executable into command routing, a configuration management
service, and a budgeted render runtime. Render frames now share one config
snapshot and a 220ms internal deadline across stdin, metrics, quota refresh,
and Git collection. - Split metrics into state migration/storage, session location, bounded wire
reading, and throughput, turn, compaction, cache, goal, and session metadata
reducers. Metrics state v8 caps aggregate wire reads at 1 MiB per frame,
rotates subagent priority, preserves split UTF-8 lines, and incrementally
replaces historical projections after they catch up.
Fixed
- Fail closed when the SessionStart hook cannot safely parse a status-line
command, and quote generated commands whose paths contain spaces or shell
metacharacters. - Make management command failures observable through stderr and exit status,
while preserving render and detached-refresh silent fallbacks. - Classify quota failures so authorization errors clear stale data while
transient errors retain it, and make refresh locking atomic and
ownership-safe. - Preserve zero-valued quota windows when the usages API omits
used, deriving
it fromlimit - remainingso the percentage and reset countdown stay visible. - Keep stale TPS medians inside their owning agent bucket and fully reset an
agent when its wire rotates or truncates.