跳到主內容

Theme / v5.3.3

Ponytail

讓 AI 編碼代理像最懶的資深工程師

基礎觀念

v4.10.1~v4.13.0:OpenCode 2、per-project Mode 與 Codex 註冊回歸

🟡 中階|v4.10.0 → v4.13.0 六個 release 的升級重點:OpenCode 2 支援、hooks 安全強化、mode 改為 per-project、v4.10.2 起影響 Codex/VS Code/Qwen 的 hook 註冊回歸修復、findings 編號與誠實 benchmark。含互動測驗與升級檢查清單。

概述

Ponytail 在 2026-10-02 至 10-05 連發六個版本(v4.10.1~v4.10.3、v4.11.0、v4.12.0、v4.13.0,無跳號)。六條主線:

  1. OpenCode 2 支援(v4.10.1)
  2. hooks 安全與可靠性(v4.10.2)
  3. mode 改為 per-project(v4.10.3 / v4.13.0)
  4. Codex hook 註冊回歸修復(v4.11.0)——最重要的一條
  5. findings 編號與誠實 benchmark(v4.12.0)
  6. 新 host 加入、ZCode 移除(v4.11.0~v4.13.0)

一、OpenCode 2 支援(v4.10.1)

OpenCode plugin 原本在 OpenCode 2 以「Plugin must export a default definition」載入失敗。@ragokan 的移植(#943)讓它在 OpenCode 2 載入全部 commands 與 skills,且:

  • 同一 entrypoint 在 OpenCode 1(實測 1.15~1.18.34)仍可運行
  • OpenCode 2 上 /ponytail <level> 切換立即套用到當前訊息

二、hooks 安全與可靠性(v4.10.2)

一個安全與可靠性批次,含 11 位首次貢獻者:

  • 不再內插路徑進 shell 文字(#827):lifecycle hooks 不再把 plugin 路徑 splice 進 shell text——路徑含空白或特殊字元時的注入面被移除
  • regex 加時限(#890):PONYTAIL_SUBAGENT_MATCHER 加 time-box,回溯型 regex 無法掛死 SubagentStart(#658 的修復)
  • npm 發布等待綠燈(#831):OIDC 發布依賴與 test gate 強化,發布前測試必須全綠
  • Windows / WSL:hooks 不再掛起、backslash 路徑正規化後找得到 scripts(#646、#752)
  • Pi 的 prompt cache(#963):改以 systemPromptOptions.sections 注入,保留 prompt cache;OMP 的 prompt parts 保持陣列(#780)
  • Copilot CLI(#655):無 node 時 hooks exit 0,不炸 session;shared-hook 限制寫進文件

三、mode 改為 per-project(v4.10.3 / v4.13.0)

release notes 的說法很生動:「Several sessions, one machine, no more fighting.」

  • mode 依 project 保存(#981、#1037):一個 repo 的 session 不再改掉或清掉另一個 repo 的 mode
  • bare /ponytail 到處一致(#982):off 時→開啟;on 時→回報目前等級
  • off 真的是 off(v4.13.0):Qoder 的 off 跨 prompts 持久(#676);off-mode 的 SessionStart 靜音(#687);無效參數保留現有 mode(#677)
  • /ponytail-review 不再持久化 review 結果(#750)
  • Codex 切換等級現在同時送達新等級的 rules(v4.13.0,#932)
隨堂測驗

阿榮同時開著 repo A(mode: on)與 repo B(mode: off)的 session。升到 v4.10.3 之後,在 repo B 執行 `/ponytail off` 會影響 repo A 嗎?

💡 想先看個提示?

「Several sessions, one machine, no more fighting.」

四、Codex hook 註冊回歸(v4.11.0)

這是本批最重要的一條教訓:

  • 起因:v4.10.2 為了宣告 agent-plugins.org manifest,root plugin.json 加了一行 Agent Plugins $schema
  • 後果:Codex、VS Code 與 Qwen 見到該 schema 後把 ponytail 載入為 skills-only Agent Plugin——hooks 從未註冊、rules 從未抵達模型(v4.10.2 與 v4.10.3 都受影響)
  • 修復(#1021):移除該行,三個 host 恢復完整功能

一行 metadata 造成兩個版本的靜默失效——而且是「看起來裝好了」的失效。

五、findings 編號與誠實 benchmark(v4.12.0)

  • findings 編號(#523):review 與 audit 的發現加編號,你可以直接回「fix 2 and 4」而不必引用原文行
  • /ponytail-gain 誠實化(#1029):改顯示 agentic benchmark 平均值——54% less code、22% fewer tokens、20% lower cost、27% faster、safety kept——取代被多話 baseline 膨脹的舊 single-shot median 數字
  • README 瘦身:per-agent 安裝步驟移至 INSTALL.md;README 明列唯一官方安裝來源(#1026、#1027)

六、新 host 與其他

加入:Kimi Code plugin adapter(#657)、CodeBuddy 經既有 Claude plugin(#891)、Kilo Code VS Code extension、Command Code(#244);文件新增 Factory Droid、DeepSeek Harness(原生 AGENTS.md/SKILL.md reader)、Freebuff CLI、Muse Code、Qwen Code、Goose、Oh My Pi (omp)、Skills CLI、Cline CLI。README 新增西語、韓語、簡中、日語翻譯(#1039)。

移除:ZCode 支援(#1040)。

其他修正:statusline badge 指向 plugin 更新後仍存活的副本、不誤刪相似名稱的 statuslines(#1033、#848);uninstall 清除 statusline nudge flag 與各 host state dir 的 mode flag(#680、#788);Hermes ruleset 改為注入一次(#787)、拒絕 review 作為預設 mode(#700)、支援 UTF-8 BOM 設定(#873);debt scan 認得 /* ponytail: */ 區塊註解並跳過 .git/node_modules/dist/build(#815);audit 在 delete 前要求全樹 caller 檢查(#714);review/audit 新增 reuse 標籤(#881)。

隨堂總結測驗

隨堂測驗

小美的 Codex 裝著 v4.10.2 的 ponytail,她發現 rules 好像從未生效。最可能的原因是?

💡 想先看個提示?

這不是設定問題,是兩個版本期間的真實回歸。

動手升級檢查清單

升級 v4.13.0:動手檢查清單

逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)

0 / 5

延伸閱讀