opencode-acp 1.14.8-dev.3 → 1.14.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/README.zh-CN.md +18 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -492,6 +492,24 @@ For the complete list with root cause analysis, see the [bug tracker](https://gi
|
|
|
492
492
|
|
|
493
493
|
## Changelog
|
|
494
494
|
|
|
495
|
+
### v1.14.8 — Stable Release (10 PRs since v1.14.7)
|
|
496
|
+
|
|
497
|
+
Stable release promoted from dev prereleases v1.14.8-dev.1 through v1.14.8-dev.3. Includes all fixes tested in the dev channel.
|
|
498
|
+
|
|
499
|
+
**Highlights**:
|
|
500
|
+
|
|
501
|
+
- **System token visibility** (#241): `acp_status` and nudge breakdown now show system prompt token proportion (5-15% of context). Consolidated 4 duplicate estimation algorithms into 1 shared `estimateSystemPromptTokens()` using the real Anthropic tokenizer.
|
|
502
|
+
- **HOW_TO_COMPRESS_RULES re-added to nudge** (#245): v1.14.7 over-removed the compression rules from all nudge locations. In long sessions (8,000+ messages), the rules in the system prompt degrade due to "lost in the middle" effect — re-added to nudge for high-attention guidance when compression triggers.
|
|
503
|
+
- **Tool pair integrity** (#248): Compression ranges that split tool_use/tool_result pairs caused API rejections. New `adjustBoundariesForToolPairs` auto-extends boundaries by callID matching.
|
|
504
|
+
- **Pluggable message filters** (#239, #242): `keepLastOnly` dedup mechanism + 4 OMO builtin filters for cleaning up third-party (e.g. OMO) injected messages that accumulate duplicates.
|
|
505
|
+
- **Orphan message splicing** (#240): When `hideConsumedCompressCalls` leaves only structural parts (step-finish, reasoning), the message is now spliced out instead of surviving as a 500-2000 token orphan.
|
|
506
|
+
- **E2E hardening** (#238): Observation recording, T2 cadence regression scenario, consumed-call hiding scenario, auxiliary call filtering. 12 E2E scenarios (was 8).
|
|
507
|
+
- **acp_status consumed compress hiding** (#244): Hides consumed compress calls from the PROTECTED list.
|
|
508
|
+
|
|
509
|
+
**All PRs included**: #238 (E2E hardening), #232 (remove dead turnProtection/DCP migration), #234 (re-add /acp stats), #239 (pluggable message filter), #240 (orphan splice), #241 (system tokens), #242 (keepLastOnly + OMO filters), #244 (acp_status consumed compress), #245 (HOW_TO_COMPRESS_RULES re-add), #248 (tool pair integrity).
|
|
510
|
+
|
|
511
|
+
**Install**: `opencode plugin opencode-acp@stable --global`
|
|
512
|
+
|
|
495
513
|
### v1.14.8-dev.3 — Dev Prerelease (1 PR since v1.14.8-dev.2)
|
|
496
514
|
|
|
497
515
|
Dev prerelease covering PR #248. Published to `dev` npm tag for early testing.
|
package/README.zh-CN.md
CHANGED
|
@@ -480,6 +480,24 @@ Dev 预发布,涵盖 PR #238–#242。发布到 `dev` npm tag 供早期测试
|
|
|
480
480
|
|
|
481
481
|
**安装**:`opencode plugin opencode-acp@dev --global`
|
|
482
482
|
|
|
483
|
+
### v1.14.8 — 正式版(v1.14.7 以来 10 个 PR)
|
|
484
|
+
|
|
485
|
+
正式版,从 dev 预发布 v1.14.8-dev.1 至 v1.14.8-dev.3 提升而来。包含所有在 dev 通道测试过的修复。
|
|
486
|
+
|
|
487
|
+
**亮点**:
|
|
488
|
+
|
|
489
|
+
- **系统 token 可见性**(#241):`acp_status` 和 nudge breakdown 现在显示系统 prompt token 占比(上下文的 5-15%)。将 4 处重复的估算算法整合为 1 个共享 `estimateSystemPromptTokens()`,使用真正的 Anthropic 分词器。
|
|
490
|
+
- **HOW_TO_COMPRESS_RULES 重新加入 nudge**(#245):v1.14.7 过度删除了所有 nudge 位置的压缩规则。在长 session(8000+ 消息)中,system prompt 中的规则因"lost in the middle"效应衰减——重新加入 nudge 以在压缩触发时提供高注意力区指导。
|
|
491
|
+
- **工具配对完整性**(#248):压缩范围拆分 tool_use/tool_result 配对会导致 API 拒绝。新增 `adjustBoundariesForToolPairs` 按 callID 匹配自动扩展边界。
|
|
492
|
+
- **可插拔消息过滤器**(#239, #242):`keepLastOnly` 去重机制 + 4 个 OMO 内置过滤器,用于清理第三方注入消息的重复累积。
|
|
493
|
+
- **孤儿消息清理**(#240):`hideConsumedCompressCalls` 仅剩结构化部分时(step-finish、reasoning),消息现在被 splice 掉,不再作为 500-2000 token 孤儿存活。
|
|
494
|
+
- **E2E 强化**(#238):观察记录、T2 节奏回归场景、consumed-call 隐藏场景、辅助调用过滤。E2E 场景 8→12 个。
|
|
495
|
+
- **acp_status 隐藏已消耗 compress**(#244):从 PROTECTED 列表中隐藏已消耗的 compress 调用。
|
|
496
|
+
|
|
497
|
+
**包含的所有 PR**:#238(E2E 强化)、#232(移除死代码 turnProtection/DCP 迁移)、#234(重新添加 /acp stats)、#239(可插拔消息过滤器)、#240(孤儿消息清理)、#241(系统 token)、#242(keepLastOnly + OMO 过滤器)、#244(acp_status 已消耗 compress)、#245(HOW_TO_COMPRESS_RULES 重新加入)、#248(工具配对完整性)。
|
|
498
|
+
|
|
499
|
+
**安装**:`opencode plugin opencode-acp@stable --global`
|
|
500
|
+
|
|
483
501
|
### v1.14.7 — 去重 HOW_TO_COMPRESS_RULES(PR #228)
|
|
484
502
|
|
|
485
503
|
**问题**:`HOW_TO_COMPRESS_RULES`(~1.2K tokens)每次 nudge 注入重复 3-4 次——系统提示词 1 次、nudge 模板 1-2 次、breakdown 块 1 次。非 maxLimit 场景下 suffix 消息单独就包含 2-3 份规则。每次 nudge 浪费 2.4-3.6K tokens。v1.14.6 让 debug 模式持久化 nudge 文本到聊天界面后,重复变得可见。
|
package/dist/index.js
CHANGED
|
@@ -8892,7 +8892,7 @@ import { writeFile as writeFile2, mkdir as mkdir2 } from "fs/promises";
|
|
|
8892
8892
|
import { join as join3 } from "path";
|
|
8893
8893
|
import { existsSync as existsSync3 } from "fs";
|
|
8894
8894
|
import { homedir as homedir3 } from "os";
|
|
8895
|
-
var LOG_VERSION = true ? "1.14.8
|
|
8895
|
+
var LOG_VERSION = true ? "1.14.8" : "dev";
|
|
8896
8896
|
var Logger = class {
|
|
8897
8897
|
logDir;
|
|
8898
8898
|
enabled;
|