Skip to content

DCP 版本歷史

本文件記錄了 OpenCode Dynamic Context Pruning (DCP) 外掛的完整版本更新記錄。


[v1.2.7] - 2026-01-22

新增功能

  • ✨ 顯示提取內容的 Token 計數(在修剪通知中)
  • 🛡️ 改進上下文注入防禦機制(新增陣列檢查)
  • 📝 最佳化:當最後一則訊息是使用者訊息時,將上下文作為使用者訊息注入
  • ⚙️ 簡化預設設定(僅包含 schema URL)

[v1.2.6] - 2026-01-21

新增功能

  • ✨ 新增 /dcp sweep 指令,支援手動修剪上下文

指令詳情

  • /dcp sweep - 修剪上一則使用者訊息後的所有工具
  • /dcp sweep N - 修剪最後 N 個工具

[v1.2.5] - 2026-01-20

新增功能

  • ✨ 在 /dcp context 指令中顯示工具計數
  • ✨ 最佳化 /dcp context 指令的 UI:
    • 顯示已修剪工具計數
    • 改進進度條準確性

效能最佳化

  • 🚀 最佳化上下文指令中的 Token 計算

[v1.2.4] - 2026-01-20

新增功能

  • ✨ 統一 DCP 指令到單一 /dcp 指令(子指令結構):
    • /dcp - 顯示說明
    • /dcp context - 上下文分析
    • /dcp stats - 統計資訊
  • ✨ 新增 commands 設定區段:
    • 可啟用/停用 slash 指令
    • 支援設定受保護工具清單

改進

  • 📝 簡化上下文指令 UI
  • 📝 文件更新:闡明 context_info 工具注入機制

修復

  • 🐛 修復修剪工具錯誤處理(失敗時拋出錯誤而非回傳字串)

文件

  • 📚 新增快取命中率統計到 README

[v1.2.3] - 2026-01-16

新增功能

  • ✨ 簡化提示詞載入(將提示詞移至 TS 檔案)

改進

  • 🔧 Gemini 相容性:使用 thoughtSignature 繞過工具部分注入驗證

[v1.2.2] - 2026-01-15

修復

  • 🐛 簡化注入時機(等待 assistant 輪次)
  • 🐛 Gemini 相容性修復:使用文字注入避免 thought signature 錯誤

[v1.2.1] - 2026-01-14

修復

  • 🐛 Anthropic 模型:在注入上下文前要求 reasoning block
  • 🐛 GitHub Copilot:跳過使用者角色的合成訊息注入

[v1.2.0] - 2026-01-13

新增功能

  • ✨ 新增 plan_enterplan_exit 到預設受保護工具清單
  • ✨ 支援問題工具(question tool)用於修剪

改進

  • 🔧 統一注入機制(帶 isAnthropic 檢查)
  • 🔧 扁平化提示詞目錄結構
  • 🔧 簡化和統一 prune.ts 檢查順序
  • 🔧 將系統提示詞處理程式提取到 hooks.ts

修復

  • 🐛 跳過子代理會話的系統提示詞注入
  • 🐛 GitHub Copilot:當最後一則訊息是使用者角色時跳過注入

[v1.1.6] - 2026-01-12

修復

  • 🐛 GitHub Copilot 使用者關鍵修復:使用 completed assistant message 和 tool part 注入可修剪工具清單

影響範圍

  • 此修復解決了 GitHub Copilot 使用者使用 DCP 時的關鍵問題

[v1.1.5] - 2026-01-10

新增功能

  • ✨ 新增 JSON Schema 支援設定檔自動補全
  • ✨ 新增受保護檔案模式設定(protectedFilePatterns)
  • ✨ 支援透過 glob 模式保護檔案操作(read/write/edit)

改進

  • 📝 文件:記錄子代理限制

修復

  • 🐛 修復 schema URL 使用 master 分支
  • 🐛 新增 $schema 到有效設定鍵清單

[v1.1.4] - 2026-01-06

修復

  • 🐛 移除 isInternalAgent 標誌(由於 hook 順序競爭條件)

改進

  • 🔧 最佳化內部代理偵測邏輯

[v1.1.3] - 2026-01-05

修復

  • 🐛 為內部代理(title、summary、compaction)跳過 DCP 注入
  • 🐛 停用 write/edit 工具的修剪

改進

  • 🔧 改進子代理限制偵測

[v1.1.2] - 2025-12-26

改進

  • 🔧 將 distillation 合併為統一通知
  • 🔧 簡化 distillation UI

[v1.1.1] - 2025-12-25

新增功能

  • ✨ 新增 purge errors 策略,在失敗的工具呼叫後修剪輸入
  • ✨ 新增 skill 工具支援到 extractParameterKey

改進

  • 📝 改進錯誤修剪的替換文字
  • 📝 文件:更新關於 context poisoning 和 OAuth 的提示

[v1.1.0] - 2025-12-24

新增功能

  • ✨ 主要功能版本更新
  • ✨ 新增自動修剪策略:
    • 去重策略
    • 覆寫策略
    • 清除錯誤策略

新增工具

  • ✨ LLM 驅動修剪工具:
    • discard - 移除工具內容
    • extract - 提取關鍵發現

設定系統

  • ✨ 多層級設定支援(全域/環境變數/專案)
  • ✨ 回合保護功能
  • ✨ 受保護工具設定

[v1.0.4] - 2025-12-18

修復

  • 🐛 不修剪 pending 或 running 的工具輸入

改進

  • 🔧 最佳化工具狀態偵測邏輯

[v1.0.3] - 2025-12-18

新增功能

  • ✅ 基於訊息的壓縮偵測

改進

  • 🔧 在會話初始化時檢查壓縮時間戳記

[v1.0.2] - 2025-12-17

新增功能

  • ✅ 基於訊息的壓縮偵測

改進

  • 🔧 清理程式碼結構

[v1.0.1] - 2025-12-16

初始版本

  • ✅ 核心功能實現
  • ✅ OpenCode 外掛整合
  • ✅ 基本的上下文修剪能力

版本命名規則

  • 主版本號(如 1.x)- 不相容的重大更新
  • 次版本號(如 1.2.x)- 向下相容的功能性新增
  • 修訂號(如 1.2.7)- 向下相容的問題修正

取得最新版本

建議在 OpenCode 設定中使用 @latest 標籤,確保自動取得最新版本:

jsonc
// opencode.jsonc
{
    "plugin": ["@tarquinen/opencode-dcp@latest"],
}

檢視最新發布版本:npm package