Changelog
September 3, 2026 · View on GitHub
v1.14.27 — Self-disable also triggers in manual proxy mode (/bili/ baseURL detection)
Problem: The v1.14.25 self-disable only covered the bili opencode launcher (env var BILLION_CONTEXT_PROXY). Users pointing a provider baseURL at the billion-context proxy directly (manual mode) still got duplicate context-management stacks — ACP's tools and /acp command alongside the proxy's wire-level compression (issue #337).
Fix (#338):
- The plugin's config hook now scans every configured provider for the documented
/bili/path prefix inoptions.baseURLand, when found, self-disables: all five ACP tools (compress,decompress,search_context,acp_status,acp_context_recap) are permission-denied (removed from the LLM tool list), the/acpcommand andprimary_toolsregistration are skipped, and every transform/event hook becomes a no-op. One log line explains why. - Detection is per-provider and case-sensitive; lookalikes (
/bilix/,bilibili.com, bare/bili) do not match. The disable flag un-latches on config reload when no provider routes through the proxy again. - Zero behavior change when no provider routes through the proxy — standalone installs are unaffected. 15 new tests (unit + integration through the real plugin factory); full suite 1044/1044.
Docs (#352):
- Soft-deprecated
minContextLimitandmodelMinLimits(JSDoc + JSON schema + README/CONFIGURATION, EN/zh). Both remain fully honored until removed; growth nudges (minNudgeContextPercent+nudgeGrowthTokens) are the maintained nudge mechanism.modelMaxLimitsis not deprecated.
Bookkeeping (#358): promoted the npm stable dist-tag to 1.14.26.
Install: opencode plugin opencode-acp@latest --global
v1.14.26 — Per-provider/per-model compress overrides; growth nudges respect the minNudgeContextPercent floor
Problem: T1 growth nudges fired well below any configured lower context limit — the minNudgeContextPercent floor was plumbed into the trigger policy but ignored, so growth nudges fired at any context size (issue #342: ten trigger=growth nudges at 67K–152K against a 150K minimum on a 400K model).
Fix (#343):
- Growth nudges now require
currentTokens >= minNudgeContextPercent% × model context(default 5%; set0to disable). Over-max (maxContextLimit) and the 98% emergency override bypass the floor; T2/T3 tier-promotion nudges are unaffected. - When the model context window is unknown the floor is unresolvable and pre-fix growth-only behavior is preserved.
- Docs: corrected stale
minContextLimit/maxContextLimitdefaults in README/CONFIGURATION (45%/55% → 80%/80%) and clarified thatminContextLimitgoverns turn/iteration reminder nudges whileminNudgeContextPercentgoverns the growth-nudge floor.
Feature (#351):
- New nested
compress.providersmap: override anycompressfield per provider and per model (23 fields — thresholds, nudge behavior, protection, preservation, …). Resolution is per field: model > provider > global; unknown provider/model IDs fall back to the global value. - A nested
maxContextLimitoutranks the legacy flatmodelMaxLimitsmap (nested > flat > global). Overrides deep-merge across the three config layers per provider/model key. - Strict validation (unknown fields and wrong types rejected) + JSON schema; documented in README (EN/zh) and CONFIGURATION (EN/zh) with recipes.
Install: opencode plugin opencode-acp@latest --global
v1.14.25 — Self-disable under the billion-context proxy
Problem: Users running bili opencode (the billion-context launcher) got BOTH stacks at once: the proxy injects compress / decompress / search_context / acp_status at the wire level and adds its own /acp panel, while opencode-acp registered the same tool names and a competing /acp — duplicate tools and a client-side panel shadowing the proxy's real compression state.
Fix (#335):
- The plugin now checks
process.env.BILLION_CONTEXT_PROXY(always exported by thebililauncher) at startup and, when set, logs one line and returns an empty plugin object — no tools, no commands, no transforms. - Zero behavior change without the env var; standalone installs are byte-for-byte identical.
Install: opencode plugin opencode-acp@latest --global