Releases: VincentJiang06/dsh-mp-automator
Releases · VincentJiang06/dsh-mp-automator
Release list
v0.3.0 — image token economy
Image token economy (vision routes)
On image-capable routes every attached screenshot keeps billing on every later request. 0.3.0 makes that spend deliberate:
imageBudget(default 3): max screenshots attached per session — state is keyed by the session object, so budgets never leak between conversations sharing one plugin instance- sha256 dedupe: an unchanged screen is never re-attached (free, disclosed as economy — not failure)
- exhaustion is honest: past budget you get the geometry table plus the billing rationale, never a silent skip
- Proven live on kimi-k2.7-code: attach→dedupe→attach→attach→exhausted, exactly 3 image blocks in requests, vision verified from pixels (evidence)
Gate hardening
- G1 cache window removed: the quick pre-act doctor costs 0.10–0.18s measured — every act now gets a fresh freshness verdict; the "touch a .ts inside the TTL" hole is gone
freshnessTtlSecondsremoved (dead knob); leftover keys in existing configs are harmlessSTEP_TIMEOUTmapped to its real remedy (a wedged DevTools render process times out only screenshots — restart DevTools, observed live)
Doctrine (from live evidence)
Native overlays (wx.showLoading, toasts) render in a layer DevTools screencaps do not capture — byte-identical PNGs proved the dedupe right. The skill now teaches: never assert a toast from a screenshot.
51/51 tests; tarball now ships test/ so npm test works in the installed package. Full audit trail in ATTACK-LEDGER.md (R5 + independent pre-tag fix-audit).
v0.2.0 — scroll-aware visibility & the index.js harness
Every change traces to a ledgered residual from the 0.1.0 audits.
Added
- In-repo harness for
lib/index.js— the fix-audit's top residual (that file carried every P1 and had zero tests). 46 tests total, run against the real host packages. - Scroll-aware visibility: flags computed against the current scroll window (
step scrollTop), disclosed asscrollTop=; unreadable scroll positions are disclosed, never silent.
Fixed
mp_consolewalks every buffer page (no ≤2000 assumption); every early exit discloses an unread tail.- Explicit
isConcurrencySafeon all tools; async screenshot IO; probe cache perbinPath|cwd.
Verified — four-route live battery (route proven in-band by <imageStatus>):
| route | input | result |
|---|---|---|
| deepseek-v4-pro | text | PASS |
| deepseek-v4-flash | text | PASS (10× mp_act under a noisy driver, all clean) |
| kimi-k2.7-code | [text] | PASS — honest degrade |
| kimi-k2.7-code | [text, image] | PASS — exactly 1 image block; read button text & colors from pixels |
Full evidence: docs/evidence/live-matrix.md