Theme / 0.9.130
Pstack
用可驗證的工作流程協作,從單一入口學會工程技能
Changelog
版本更新紀錄
收錄 Pstack 的版本變遷軌跡。每條紀錄以舊值→新值呈現,舊值以紅線劃掉但保留可見,方便對照改動軌跡。
0.9.130
當前版本2026-11-06- 版本定位:0.9.129→0.9.130(2026-11-06 查核)。移植版上游 michael-denyer/pstack-claude 的 v0.9.130 於 2026-11-05 12:36 UTC 發布,releases 清單確認 0.9.129 與 0.9.130 之間無其他版本。本版主軸:新增 Kimi Code CLI、Grok Build、OMP、OpenCode 2 四個原生平台支援,並修正 setup-pstack 的模型行為、Antigravity 關閉輸出與多項工具行為。Cursor 原版(cursor/plugins)不發 GitHub releases,本次查核無新 release 活動。
- Kimi Code CLI 原生 plugin(#394,@donbeave 貢獻):官方原文——「pstack now installs as a native Kimi Code CLI plugin」。根層級的
kimi.plugin.json指向共用 skills 樹,plugin 啟用時把kimi-instructions.md的 routing 指令加進 system prompt。安裝:fresh session 跑/plugins install https://github.com/michael-denyer/pstack-claude與/reload,以/skill:pstack:poteto-mode呼叫 skill。新的kimi-tools.md把 Claude 工具對應到 Kimi 的工具(Agent含內建coder、explore、planagents,以及一次性 wake-up 的CronCreate)。Kimi 不讀session hook行,關閉 routing 要用/plugins disable pstack;setup-pstack不在該處寫 effort 或 hook 行。Kimi Code CLI 2.4.1 for macOS 實測確認安裝與 routing/skill 內容送達 synthetic provider;model compliance 未測。 - Grok Build 原生 plugin(#398,@donbeave 貢獻):官方原文——「pstack now loads as a native Grok Build plugin from a local checkout」。從本地 checkout 以
grok plugin install "$PWD/plugins/pstack" --trust安裝、grok plugin enable pstack啟用。.grok-plugin/plugin.json列出共用 skills 與 Grok 專屬的pstack-routingskill——Grok 會丟棄SessionStarthook 輸出,改由該 skill 的 description 攜帶 poteto-mode hint;模型可能不遵循,且session hook: off關不掉,唯有停用 plugin 才能關閉。新的grok.md把 Claude 工具對應到 Grok 的(Agent對應spawn_subagent)。grok plugin update不會刷新本地安裝,README 另給更新步驟。Grok Build 1.0.70 for macOS 以tests/grok-smoke.py確認 synthetic provider 收到 routing skill description 與明確 skill 內容。 - OMP 原生 plugin(#396,@donbeave 貢獻):官方原文——「pstack now installs as a native OMP plugin through the marketplace」。安裝:
omp plugin marketplace add michael-denyer/pstack-claude之後omp plugin install --scope user pstack@pstack-claude。新的plugins/pstack/package.json在omp/index.mjs宣告 extension:在每個 main-agent turn 前加 poteto-mode mandate,並把 main 與 subagent turns 指向新的omp-tools.md;agent 從已安裝 plugin 的檔案讀取每個pstack:<name>skill,不會誤取同名 skill。在~/.omp/pstack-models.md設session hook: off對所有 OMP profile 關閉 routing,setup-pstack在 OMP 只寫這一行、models 留給 OMP 自己的modelRoles。限制:OMP 18.16.0 跨 scope 共用同一個 plugin cache,升級或移除可能影響其他安裝(上游 issue 16827)。OMP 18.16.0 實測確認本地 marketplace 安裝、skill 存取與 routing 開關;model compliance 未測。 - OpenCode 2 原生 plugin 取代 ~/.agents/skills 安裝(#397,@donbeave 貢獻):官方原文——「OpenCode 2 now has a native plugin in place of the
~/.agents/skillsinstall」。安裝:把 checkout 的plugins/pstack/opencode目錄加進~/.config/opencode/opencode.jsonc的plugins陣列,或以opencode plugin add 'github:michael-denyer/pstack-claude#main'安裝 Git 套件;根層級package.json現以./server匯出 plugin。opencode/index.js把每個 skill 註冊為pstack-<name>,並在 root sessions 的每個 model step(含 compaction 之後)加session-start-opencode.md的 routing 指令;當pstack-skill ID 解析到其他安裝時略過 routing;在${XDG_CONFIG_HOME:-~/.config}/opencode/pstack-models.md設session hook: off可關閉。先前把 pstack skills link 進~/.agents/skills的使用者要先移除那些 links。OpenCode 1 不支援。新的opencode-tools.md把 Claude 工具對應到 OpenCode 的。OpenCode 2.2.5 以 synthetic loopback provider 實測明確啟用與 routing;CLI delegation 更早在 2.0.30 驗證;此 plugin 的真實模型行為未測。 - RUNTIMES 註冊與測試:Kimi、Grok、OMP、OpenCode 加入
tools/runtimes.mjs的RUNTIMES,generator 會標記四者的 manifest 版本與各 mapping 的 Model names 區段並檢查每個 manifest;poteto-mode 的 Platform Adaptation 與setup-pstack的 runtime 表都列上四者。tests/kimi.test.mjs、tests/grok.test.mjs、tests/omp.test.mjs、tests/opencode.test.mjs檢查各 mapping 覆蓋 skills 用到的 Claude 術語。 - Kimi 的 setup-pstack model 參數行為(#407,@donbeave 貢獻):
setup-pstack在 Kimi 的步驟 1、6 與 sheet header 說明inherit-parent與auto會省略model;Kimi 此時在設了[secondary_model]預設時以該預設跑 subagent,否則用 parent 的 model——這兩個別名不再必然等於 parent 的 model。當Agent工具沒有model參數時,setup 只提供這兩個別名;Kimi 2.5.1 只在模型池有兩個以上模型時才顯示該參數。步驟 2 保留 model ID 原樣(含claude-開頭者),不改寫成 family 名稱;kimi-tools.md同步說明,無 sheet 時 agent 省略model。 - Grok 的 setup-pstack 模型來源修正(#408,@donbeave 貢獻):
setup-pstack原本從Agent工具與 session model selector 讀模型,但 Grok 透過spawn_subagent派發,其 description 才列出 subagent 可用的模型;步驟 1 現改提供那些模型。當 subagent model inheritance 隱藏model引數時,setup 只提供inherit-parent與auto,並註明設定的 subagent overrides 仍然生效。步驟 2 保留工具列出的完整claude-model ID,不改寫成 family 名稱。 - Antigravity:session hook: off 時 hook 改印 {}(#405,@donbeave 貢獻):官方原文——「With
session hook: off, the AntigravitySessionStarthook now prints{}where it printed nothing」,因為 Antigravity 的 hooks 文件說 hook 以 JSON 在 stdout 回傳輸出;{}不帶injectSteps,故不載入 mandate,tests/session-hook.test.mjs的agyoff 案例改以 JSON 解析輸出。 - MiniMax Code 更新步驟不再刪除已裝副本(#401,@donbeave 貢獻):README 的 MiniMax Code 更新步驟改為:記錄 plugin 啟用狀態、結束所有
mcodeprocess、把plugins/pstack搬到plugins/之外的未用路徑(MiniMax 會載入plugins/下每個目錄),再跑git pull與cp行,最後還原啟用狀態。首次安裝會檢查plugins/pstack不存在。參考表新增記錄:MiniMax Code 0.7.4 上,synthetic-provider sessions 在 plugin 啟用時送達 routing 與明確的pstack:poteto-modeskill、停用時省略;agent dispatch 與真實模型 compliance 仍未驗證。 - worktree-audit.mjs 在 Bun/macOS 不再卡死(#406,@donbeave 貢獻):官方原文——「
worktree-audit.mjsno longer stalls under Bun on macOS」。原以realpathSync以名稱比對 sibling symlink,而 Bun 會開啟 link 目標取其名稱;macOS 27.2 guest 中,對 autofs 的/homelink 做該開啟動作會卡死 worktree-audit 測試。Bun on macOS 下 audit 改只以 stat identity 比對 links;在 Node(腳本 shebang 所指定)與其他平台則維持名稱比對。 - deslop diff 基準改 base、how 路徑提示修正、session-pickup 先驗證、codex-tools.md 對映 Codex rollouts、policy forks(#400,@wattanartongtipsukon-create 貢獻):官方原文——「
deslopdiffs against the branch's base, where it diffed againstmain」,base 依序取 PR 的 base branch、否則分支切出的來源分支、否則預設分支,未提交變更也計入;編輯後deslop重跑驗證該變更的 checks,檢查失敗的編輯會被還原。how的 simple path 中,explainer prompt 改告知孤身 explainer 沒有 explorers 跑過、需自行追蹤程式碼(舊 prompt 謊稱 explorers 已完成該工作)。session-pickup playbook 現在先驗證 inherited claims 再路由剩餘工作——原本步驟 4 路由後即結束 playbook,步驟 5 的驗證落在結束之後。codex-tools.md對映${CODEX_HOME:-~/.codex}/sessions/與archived_sessions/下的 Codex rollouts(含以zstd -dc讀取的 zstd 壓縮.jsonl.zst),只保留cwd為 workspace 或其 worktree 的 rollouts;recall與show-me-your-work改把 Codex 導向該對映、讀 Codex 歷史而非 Claude Code 的 projects 目錄,show-me-your-work在CODEX_THREAD_ID未設定時回報審計無法執行。tools/forks.json將deslop與 explainer-prompt 編輯自 0.9.130 起宣告為policyforks。 - 完整教學見
lessons/v09130-four-native-platforms.md。
0.9.129
舊版本2026-11-05- 版本定位:0.9.128→0.9.129(2026-11-05 查核)。移植版上游 michael-denyer/pstack-claude 的 v0.9.129 於 2026-11-04 15:24 UTC 發布,releases 清單確認 0.9.128 與 0.9.129 之間無其他版本。本版只有一項變更:Antigravity 平台支援。Cursor 原版(cursor/plugins)不發 GitHub releases,其 pstack 路徑最新 commit 為 2026-10-27(#1043,含
chore(pstack): bump to 0.15.36),本次查核日無活動。 - Antigravity 平台支援(#390,@minatoaquaMK2 貢獻):官方原文——「pstack now runs on Antigravity.
agy plugin install ./plugins/pstackinstalls all 67 skills, the 4 agents, and theSessionStartrouting hook」。安裝內容來自新的.antigravity-plugin/plugin.json與根層級的hooks.json:Antigravity 只從該根檔案讀 hooks、忽略 Claude Code 的hooks/hooks.json,hook 執行./hooks/session-start.sh agy。 - Antigravity 的兩個限制與對應作法:其一,Antigravity 在已安裝的 plugin 目錄內啟動 hooks、且不設定 plugin-root 變數,共用腳本的
agy分支因此以相對於該目錄的路徑運作;其二,Antigravity 原生 skill loader 只保留 skill 本文前 24,000 bytes,會截掉 poteto-mode 結尾,因此 routing hook 以injectStepssystem message 發出 poteto-mode mandate、新的agy-tools.md(含invoke_subagent與inherit/flash_lite/flash/pro模型值)都指示 agent 用read_file完整讀取 poteto-mode 的SKILL.md。在~/.gemini/config/pstack-models.md設session hook: off可關閉該 mandate。 - 驗證範圍與 Windows 限制:generator 會檢查 Antigravity manifest、
hooks.json的 hook 宣告與 hook script 的 execute bit;tests/agy.test.mjs、tests/session-hook.test.mjs與tests/runtime-packaging.test.mjs新增案例。官方實測:agy1.4.12 與 1.5.0 對本地 model stub(無 Google 帳號)確認 mandate 出現在 model request、session hook: off時不出現;macOS 上登入的agy1.5.0 session 完整讀取 poteto-mode skill 並成功派發poteto-agent。官方明言 hook 用sh、Windows 未測試(untested)。 - 2026-11-05 複查更正:本條初版誤將 #1043 的 commit 訊息主體寫成
chore(pstack): bump to 0.15.36。經親自查gh api repos/cursor/plugins/commits/c742dd6,#1043 主體是feat(pstack): make Orchestrate agentic and delete the orch scripts,bump to 0.15.36只是該 commit 內的第二個訊息段落;前 6 筆中也僅見 #983 的 bump to 0.15.34。0.9.127~0.9.128 條目與舊課文中同一段描述已一併更正為「含chore(pstack): bump to 0.15.36」。 - 完整教學見
lessons/v09129-antigravity-support.md。
- 版本定位:0.9.128→0.9.129(2026-11-05 查核)。移植版上游 michael-denyer/pstack-claude 的 v0.9.129 於 2026-11-04 15:24 UTC 發布,releases 清單確認 0.9.128 與 0.9.129 之間無其他版本。本版只有一項變更:Antigravity 平台支援。Cursor 原版(cursor/plugins)不發 GitHub releases,其 pstack 路徑最新 commit 為 2026-10-27(#1043,含
0.9.128
舊版本2026-11-04- 版本定位:0.9.126→0.9.128(2026-11-04 查核)。本站教學基準為移植版 0.9.126(commit
2dc481b);移植版上游 michael-denyer/pstack-claude 於查核日當天連發兩個 release:0.9.127(2026-11-04 00:10 UTC)與 0.9.128(2026-11-04 01:50 UTC),之間無其他版本。Cursor 原版(cursor/plugins)不發 GitHub releases,其 pstack 路徑最新 commit 為 2026-10-27(#1043,含chore(pstack): bump to 0.15.36),本次查核日無活動。 - 安全修復:移除被 Claude plugin directory 掃描器判定為 credential forward 的兩種寫法(0.9.128,#393):官方原文——「pstack no longer has the two source shapes that the Claude plugin directory's scanner read as a credential forward (
MCP_FORWARDS_CREDENTIAL_ENV), the finding that held the plugin from publishing」;修復原則是「No child process inherits the whole environment」:statechart runner 改給 mise 與 java 一份不含 proxy 變數的具名變數清單,proxy 環境下首次mise installTLC 或 Java 不再看到HTTPS_PROXY(此時依錯誤訊息設定TLA2TOOLS與JAVA,或自行帶 proxy 跑mise install);Pi extension、codex-session-effort.mjs、worktree-audit.mjs與claude-project-dir.mjs改讀具名變數而非整個 environment 物件;檔案讀取旁名為key的識別字也改為說明其實際持有的內容。 - watcher 查詢失敗類別更名:
missing-key→missing-field(0.9.128):官方原文——「the watcher'smissing-keyquery failure is nowmissing-field, so a consumer that matches that failure kind needs the new name」;比對此失敗類別的下游消費端需要改用新名稱。 - 0.9.128 撤回 0.9.127 的 pi 提示句(0.9.128):設定
pi agent tools: off時,pstack-pi-toolssystem prompt 區段不再加回 0.9.127 那句「用 session 自己的 subagent 工具委派」。官方以pi-subagents0.84.0 並裝的 10 個 live sessions 實測(模型openai/gpt-6.1-sol):5 個帶 0.9.127 原句、3 個帶改寫句、2 個無句,10 個 session 全部在讀pi-tools.md後呼叫subagents_enable與subagent、從未呼叫agent;且 10 個 session 的subagent都以不認得description選項為由拒絕呼叫,模型直接停止、沒有重試——模型是從 skill 自己的 Agent 呼叫指示取得description,一句 system prompt 蓋不掉。tools: off移除agent、send_message、list_agents、stop_agent與/pstack-agents的行為維持不變。 - Pi delegation 可讓位給外部擴充(0.9.127,#384,@foreztgump 貢獻):在
~/.pi/agent/pstack-models.md寫pi agent tools: off一行,Pi extension 即不註冊agent、send_message、list_agents、stop_agent與/pstack-agents,模型只看到一組委派工具——例如pi-subagents註冊的單一subagenttool;pstack-pi-toolssystem prompt 區段加了一句「在pi-tools.md指名 pstack 工具處,改用 session 自己的 subagent 工具委派」;skills、ask_user_question、schedule_wakeup、/loop與其他 prompt 區段保留。 - Codex prompt stubs 全數移除(0.9.127,#388):
plugins/pstack/.codex-plugin/prompts/下 43 個 prompt stubs 刪除——官方原文「Codex 0.166.0 loads none of them」,經 plugin install 或docs/reference.md的~/.codex/prompts配方(該配方一併移除)都不會載入;「Each skill already serves its own slash command」——每個 skill 本來就有自己的 slash command;generator 不再寫 stubs,commands/資料夾仍會使其失敗;#385 的 stub frontmatter quoting 隨 stubs 一併消失。 - watch-pr
readSnapshot重新攜帶上游 CI chain(0.9.127,#386):行為不變,no-checks wait 成為頭部新增的一個 branch;取代的上游行數從 62 行降到 3 行,sync dry-run 從 2,927 行降到 2,816 行,上游改policy.ts時的衝突更少。 - Claude desktop:poteto-mode 的 playbook checklist 保進
todo.md(0.9.127,#389):mcp__ccd_turn__update_plan要求約七個詞的簡短條目,desktop 實測(@Fpshealth 於 #387 測得)沒有 checklist 時 agent 丟掉了 36 個 playbook 步驟中的 17 個、且沒有skip:說明;現在逐字的 playbook checklist 保留在旁邊的todo.md。 - 完整教學見
lessons/v09127-09128-security-scan-and-platform-invocation.md。
- 版本定位:0.9.126→0.9.128(2026-11-04 查核)。本站教學基準為移植版 0.9.126(commit
圖例
- 當前版本 本站現在記錄的版本
- 舊版本 已被取代,保留作歷史對照
- 已同步 與上游 release 對齊
- 僅上游變動 上游 main 有 commit,但未發佈新版