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_enter和plan_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