opencode-acp 1.8.0 → 1.8.1
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 +37 -1
- package/README.zh-CN.md +37 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -108
- package/dist/index.js.map +1 -1
- package/dist/lib/compress/index.d.ts +1 -0
- package/dist/lib/compress/index.d.ts.map +1 -1
- package/dist/lib/compress/pipeline.d.ts.map +1 -1
- package/dist/lib/compress/status.d.ts +4 -0
- package/dist/lib/compress/status.d.ts.map +1 -0
- package/dist/lib/config-validation.d.ts.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/messages/inject/inject.d.ts.map +1 -1
- package/dist/lib/messages/inject/utils.d.ts +19 -0
- package/dist/lib/messages/inject/utils.d.ts.map +1 -1
- package/dist/lib/prompts/extensions/nudge.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +3 -1
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/state/utils.d.ts.map +1 -1
- package/dist/lib/ui/notification.d.ts +1 -1
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/utils.d.ts +1 -0
- package/dist/lib/ui/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -421,7 +421,43 @@ For the complete list with root cause analysis, see the [bug tracker](https://gi
|
|
|
421
421
|
|
|
422
422
|
## Changelog
|
|
423
423
|
|
|
424
|
-
### v1.
|
|
424
|
+
### v1.8.1 — Adaptive Nudge Frequency + System Prompt Gating
|
|
425
|
+
|
|
426
|
+
**Problem**: Large-context models (1M+) over-compressed at 20-30% context because Tips fired every 6K tokens (0.6% of 1M). System prompt injected every turn added constant pressure.
|
|
427
|
+
|
|
428
|
+
**Adaptive nudgeGrowthTokens**:
|
|
429
|
+
- Default is now adaptive: 5% of `modelContextLimit`, clamped to [6000, 50000]
|
|
430
|
+
- 128K → 6.4K, 200K → 10K, 500K → 25K, 1M → 50K, 2M+ → 50K (cap)
|
|
431
|
+
- Users can still set explicit `nudgeGrowthTokens` to override
|
|
432
|
+
- Removed hardcoded `6000` from schema defaults (was shadowing adaptive logic)
|
|
433
|
+
|
|
434
|
+
**System prompt gating**:
|
|
435
|
+
- SYSTEM prompt + `<dcp-system-reminder>` tags now pulse at `nudgeGrowthTokens` frequency
|
|
436
|
+
- Between nudges: system prompt injects **nothing** — zero compression noise
|
|
437
|
+
- First turn (`undefined` sentinel): always injects (establishes baseline)
|
|
438
|
+
|
|
439
|
+
**New tool: `acp_status`**:
|
|
440
|
+
- On-demand inspection of all compressed blocks (ID, tokens, age, topic)
|
|
441
|
+
- Replaces verbose block list in suffix with one-liner: `Compressed blocks: N (XK summary, last Ym ago). Use acp_status for details.`
|
|
442
|
+
|
|
443
|
+
**Compress notification improvement**:
|
|
444
|
+
- Header shows context before→after: `▣ ACP | Context 251.2K→249.3K`
|
|
445
|
+
- No percentage or limit shown (prevents model from anchoring on ceiling)
|
|
446
|
+
|
|
447
|
+
**Bug fixes**:
|
|
448
|
+
- `lastPerMessageNudgeTokens` reset to `0` after compress bypassed growth gate (feedback loop)
|
|
449
|
+
- Schema default `6000` shadowed `resolveAdaptiveNudgeGrowth()` — adaptive never activated
|
|
450
|
+
- `applyAnchoredNudges` + `injectContextUsage` duplicated context usage text
|
|
451
|
+
- `lastNudgeTokens === 0` sentinel replaced with `undefined` (explicit "never nudged")
|
|
452
|
+
|
|
453
|
+
**Tooling**:
|
|
454
|
+
- `scripts/dev-deploy.sh` — one-command build + deploy (auto-detects node, typecheck, build, deploy)
|
|
455
|
+
- Post-compress state transition integration tests (3 new)
|
|
456
|
+
- `acp_status` dedicated tests (7 new)
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
### v1.8.0 — Principle-Driven Prompts
|
|
425
461
|
|
|
426
462
|
**Philosophy**: Replaced verbose context-management guidance with 4 concise principles injected every turn. The model now sees *what matters* (principles) instead of *what to do* (rigid rules).
|
|
427
463
|
|
package/README.zh-CN.md
CHANGED
|
@@ -393,7 +393,43 @@ ACP 在首次启动时自动将配置从 `dcp.jsonc` 迁移到 `acp.jsonc`,将
|
|
|
393
393
|
|
|
394
394
|
## 更新日志
|
|
395
395
|
|
|
396
|
-
### v1.
|
|
396
|
+
### v1.8.1 — 自适应提醒频率 + 系统提示门控
|
|
397
|
+
|
|
398
|
+
**问题**:大上下文模型(1M+)在 20-30% 上下文时过度压缩,因为 Tips 每 6K tokens(1M 的 0.6%)就触发一次。系统提示每轮注入增加了持续压力。
|
|
399
|
+
|
|
400
|
+
**自适应 nudgeGrowthTokens**:
|
|
401
|
+
- 默认值现在自适应:`modelContextLimit` 的 5%,限制在 [6000, 50000]
|
|
402
|
+
- 128K → 6.4K,200K → 10K,500K → 25K,1M → 50K,2M+ → 50K(上限)
|
|
403
|
+
- 用户仍可显式设置 `nudgeGrowthTokens` 覆盖
|
|
404
|
+
- 移除了 schema 默认值中的硬编码 `6000`(之前覆盖了自适应逻辑)
|
|
405
|
+
|
|
406
|
+
**系统提示门控**:
|
|
407
|
+
- SYSTEM 提示 + `<dcp-system-reminder>` 标签现在按 `nudgeGrowthTokens` 频率脉冲
|
|
408
|
+
- 两次提醒之间:系统提示**不注入任何内容** —— 零压缩噪音
|
|
409
|
+
- 第一轮(`undefined` 哨兵值):始终注入(建立基线)
|
|
410
|
+
|
|
411
|
+
**新工具:`acp_status`**:
|
|
412
|
+
- 按需查看所有压缩块(ID、token 数、年龄、主题)
|
|
413
|
+
- 用一行摘要替代 suffix 中的冗长块列表:`Compressed blocks: N (XK summary, last Ym ago). Use acp_status for details.`
|
|
414
|
+
|
|
415
|
+
**压缩通知改进**:
|
|
416
|
+
- 头部显示上下文前后水平:`▣ ACP | Context 251.2K→249.3K`
|
|
417
|
+
- 不显示百分比或上限(防止模型锚定天花板)
|
|
418
|
+
|
|
419
|
+
**Bug 修复**:
|
|
420
|
+
- `lastPerMessageNudgeTokens` 压缩后重置为 `0` 绕过了增长检查(反馈循环)
|
|
421
|
+
- Schema 默认值 `6000` 覆盖了 `resolveAdaptiveNudgeGrowth()` —— 自适应从未生效
|
|
422
|
+
- `applyAnchoredNudges` + `injectContextUsage` 重复注入上下文使用文本
|
|
423
|
+
- `lastNudgeTokens === 0` 哨兵值替换为 `undefined`(明确的"从未触发")
|
|
424
|
+
|
|
425
|
+
**工具链**:
|
|
426
|
+
- `scripts/dev-deploy.sh` —— 一键构建 + 部署(自动检测 node、类型检查、构建、部署)
|
|
427
|
+
- 压缩后状态转换集成测试(新增 3 个)
|
|
428
|
+
- `acp_status` 独立测试(新增 7 个)
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
### v1.8.0 — 原则驱动提示
|
|
397
433
|
|
|
398
434
|
**理念**:用 4 条简洁原则替代冗长的上下文管理指导。模型现在看到的是*重要原则*而非*死板规则*。
|
|
399
435
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AA2BjD,QAAA,MAAM,MAAM,EAAE,MAqHK,CAAA;AAEnB,eAAe,MAAM,CAAA"}
|