TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

Adyen 工程師開源 Agent Marketplace 命令列工具,把技能、命令、子代理、hooks 與 MCP 設定用固定版本同步到 Claude Code、Codex、Cursor 等八種開發工具,同步不等於更新,內容掃描與撤銷機制劃出安全邊界。
用 AI 摘要這篇文章:
2026 年 10 月 22 日,支付公司 Adyen 的兩位工程師 Alexander Grooff 與 Juliano Martinez 在官方知識庫發布開源專案 Agent Marketplace。一句話講完它是什麼:一個命令列工具,讓你用一份設定檔,把 AI 代理資源(技能、命令、子代理、hooks、MCP 伺服器)安裝到八種 AI 開發工具會讀取的正確位置。專案走 Apache 2.0 授權,Adyen 特別聲明這不是公司的產品或服務,就是內部工具開放出來,GitHub 上到 10 月 26 日已有 77 顆星。

先把結論放在前面:把「一套設定同步八種工具」當成它的主要賣點,會看錯重點。八工具轉檔只是外顯層,這套工具真正在賣的是可審查的重現性。lock 檔記錄每個資源的精確版本與內容指紋,每台機器裝到位元組相同的檔案,升版要另外下命令並像任何程式碼變更一樣走 code review。安全檢查也一樣:三道關卡能擋掉隱藏文字與可執行腳本這類常見手法,但官方文件明講,檢查降低風險,不證明資源安全。
Adyen 自述內部超過一千名開發者每天用 AI 工具寫程式(這是官方說法)。分享的起點都差不多:有人寫出一組好用的指令,貼進內部頻道,其他人複製到自己的儲存庫。接著複本越積越多、沒人知道誰在維護、沒有版本號,寫給 Claude Code 的資源拿到 Cursor 又不能直接用。配套的痛點很多人有共感,像是想讓 Claude Code 與 Codex 共用記憶的 holaOS,處理的就是同一段經驗無法跨工具累積的問題。
Agent Marketplace 把這些被分享的東西定義成五種資源,每種都有清楚的去處:
再往上有一個 collection(集合包),把來自多個登錄庫的資源綁成一組,例如某個角色的建議包。集合本身不安裝任何東西,打開集合等於打開它的成員,個人還是可以排除其中一項。資源來源有三種:Git 儲存庫、本機資料夾,或自架的 Marketplace 服務。
.agents/config.yaml 列出你要的資源與目標工具,執行 agent-marketplace sync,工具會抓取資源、翻譯成各工具自己的格式,寫到該工具讀取的位置。官方支援的八種工具是 Claude Code、Codex、Cursor、Devin CLI、Factory Droid、Gemini CLI、OpenCode、Windsurf。
官方文件直接給了每種工具的落點對照表:
| 工具 | 儲存庫內根目錄 | 家目錄根目錄 |
|---|---|---|
| Claude Code | .claude | ~/.claude |
| Factory Droid | .factory | ~/.factory |
| Cursor | .cursor | ~/.cursor |
| Windsurf | 儲存庫根目錄 | ~/.codeium/windsurf |
| Gemini CLI | .gemini | ~/.gemini |
| Devin CLI | .devin | ~/.config/devin |
| Codex | .agents(技能、命令)+.codex(子代理、hooks、MCP) | ~/.agents+~/.codex(或 CODEX_HOME) |
| OpenCode | .opencode | ~/.config/opencode |
兩個細節可以看出這份文件寫得扎實:Codex 的檔案拆在兩個根目錄,技能與命令放 .agents,子代理、hooks、MCP 設定放 .codex;Claude Code 的 MCP 伺服器是整套表的唯一例外,不進 .claude 資料夾,寫到 .mcp.json 或 ~/.claude.json 的 mcpServers 欄位。遇到目標工具表達不了的設定,編譯器會直接報診斷訊息,選擇不默默生成一份該工具讀不正確的檔案。

設定本身分四層合併:組織層(/etc/agent-marketplace/)、使用者層、儲存庫層、個人本機覆蓋層。平台團隊訂基線,專案負責人補專案脈絡,個人保住自己的偏好,每一層只管自己的範圍。
整個設計最關鍵的決定,是讓「同步」與「更新」分成兩個命令。.agents/config.yaml 是你編輯的檔案,列出來源、每個 Git 來源跟蹤的 ref、要取用哪些資源。.agents/lock.yaml 由 CLI 產生,記錄每個 ref 解析到的精確 commit,加上每個資源的內容指紋。兩個檔一起 commit 進儲存庫。
lock 記的東西比想像中細:來源儲存庫的正規化網址、設定裡寫的 ref、ref 當時指向的精確 commit,再加每個搜尋資料夾的修訂摘要(SHA-256 指紋),以及每個找到的資源(不管有沒有被選用)的內容指紋。也因為指紋涵蓋整個來源,多數時候只是把某個資源加進選擇清單,lock 檔不用重寫。本機資料夾來源是例外,它每次都重新讀取,永遠不會出現在 lock 裡,兩台機器要裝到同樣的東西,前提是資料夾內容相同。
sync 的行為:下載 lock 記錄的那個 commit、核對指紋、安裝選定的資源。指紋對不上就停止並報錯,不會安裝不同的內容。再跑一次什麼都不會做,所以放進腳本或 CI 都安全。它只動自己管理的檔案,名稱撞到你手寫的檔案會報告衝突,不直接覆蓋。
升版是另一回事。上游儲存庫推了新 commit,你的環境什麼都不會變,直到有人執行 agent-marketplace update 重新解析 ref、更新 lock,然後像任何 diff 一樣送 code review。CI 有兩個武器:sync --locked 在 lock 過期時直接失敗,sync --check 只檢查不寫入,用來抓漂移。update 也拒絕把 lock 移動到上游已經不存在的選擇。文件裡有個坦白的提醒:組織層如果沒有發放 lock,所有機器就跟著 ref 跑,每次 sync 都拿到新 commit,等於刻意跳過審查。
從自架 Marketplace 安裝時,內容檢查分三道:
sync --check 會回報撤銷有三種粒度:整個登錄庫、一個資源的全部修訂版、單一修訂版,被撤銷的修訂版沒有任何政策能救回來。--accept-risk 可以替你同意帶安全發現的修訂版,但救不了被 reject 或被撤銷的版本,被 reject 的唯一例外是營運者已經把它標成營運者公開。被拒的修訂版預設會出現在目錄裡讓人看得到評估結果,只是不供下載;營運者可以用 rejected_resources 設定把它標成營運者公開,但 reject 的評估標記會留著,不會被洗白。離線模式下 sync 用的是快取,看不到快取之後才發布的撤銷,這個邊界文件也寫明白了。
然後是官方主動坦白的清單,這部分反而最值得抄下來。Marketplace 伺服器不做的事:不驗證公開目錄呼叫者的身分,能連上就能搜尋與下載;不做每個人能裝什麼的權限控制;不終止 TLS,兩個監聽埠都走純 HTTP;不加密靜態資料;不儲存或輪替密鑰。反過來說,TLS、身分驗證、靜態加密、密鑰管理、worker 對外連線目的地的白名單、容器用非 root 執行,全部是營運者的功課。整套系統唯一內建登入的地方,是選配的管理面板。
所以官方那句結論才重要:這些檢查降低風險,不證明資源安全。hook 與 MCP 伺服器本來就能跑腳本、開網路連線,安裝前看懂每個資源在做什麼,仍然是人的工作。想在生態裡找商業化對照,Claude Marketplace 把工具與顧問服務收進同一個入口,走的是另一條路。
官方文件自己排了一張對比表,事實基準是 2026 年 10 月當時的對方文件。微軟的 APM(Agent Package Manager)走套件模型:套件與依賴一起解析,支援超過十種工具,包含 GitHub Copilot 與 IntelliJ,安裝時檢查政策檔。Vercel 的 skills CLI 與 skills.sh 走極簡路線:只裝 skill,靠同一份 SKILL.md 塞進 79 種工具的資料夾,公開目錄附排行榜,預設回傳匿名使用資料。agent-marketplace 走的是組織線:四層設定、組織層可派送或強制資源、lock 進審查流程、自架目錄能撤銷。
| 對比項 | agent-marketplace | APM | skills CLI/skills.sh |
|---|---|---|---|
| 安裝單位 | 從登錄庫挑選資源 | 套件與其依賴 | skill |
| 資源種類 | 五種+集合包 | 說明、技能、prompt、代理、hooks、命令、外掛、MCP、LSP 伺服器 | skill |
| 組織控制 | 組織設定層可派送或強制 | 政策檔限制可安裝內容 | 無 |
| 目錄型態 | 自架 Marketplace,可撤銷 | Git 儲存庫裡的策展索引檔 | 公開的 skills.sh 目錄 |
| 支援工具 | 八種 | 超過十種 | 79 種 |
情境分流大概是這樣:個人想快速試公開 skill,skills CLI 最省事;資源以套件與依賴為主、需要安裝時政策或 APM 獨佔的工具,選 APM;團隊或組織要每台機器與 CI 拿到位元組相同的檔案、升版走審查、還要能撤銷出問題的修訂版,這才是 agent-marketplace 的位置。代價也要一併算:自架 Marketplace 需要資料庫、物件儲存、worker 與反向代理;只靠 Git 登錄庫起步的話,這些基礎設施一樣都不用。
遙測預設是關閉的,這一版沒有官方的收集端點,想開的人得自己提供接收端點。打開之後,basic 等級回報每個命令的次數與耗時、命令名稱、目標工具、成敗碼,外加 CLI 版本、作業系統、CPU 架構與安裝識別碼;detailed 等級再加上設定快照,包含每個遠端登錄庫的位置、ref 與子資料夾,以及每個選用資源的型別與名稱。永不回報的欄位官方列得明白:命令參數、登錄庫憑證與本機路徑、資源內容、使用者名稱、提示內容、搜尋文字、終端機畫面。公告文章裡有句直白的話:「散發開發者資源的工具,不應該變成監看開發者的方式。」
不過文件隨後補了一筆:組織可以在 /etc/agent-marketplace/config.yaml 設定遙測等級與接收端點,使用者與環境變數都不能覆蓋。公司在管理的機器上開 detailed 遙測是官方支持的使用情境,工具本身對這件事保持中立,要不要信任雇主是另一個問題。
現況整理:v5.0.3 與公告同天(10 月 22 日)發布,提供 macOS 與 Linux 各兩種架構的單一執行檔,下載、設成可執行、放進 PATH 就能用,沒有執行環境依賴,也沒有 Windows 版本。起步不需要自架任何東西:init 選目標工具,install --from 指向一個 Git 登錄庫,sync 寫入,status 查看裝了什麼與從哪來。專案時程也可以當參考:GitHub 儲存庫建於 7 月 24 日,v5.0.0 到 v5.0.3 在公告前四天內連發,表示內部已經跑到穩定節奏才對外。

還沒確定的部分有以下幾項。hooks 官方標為實驗性:編譯與寫檔能從頭跑到尾,但事件處理方式與資料格式因工具而異,同一個 hook 在另一種環境可能拿到不同欄位的事件資料,依賴它上 production 前要逐個檢查產出檔案。未來會不會新增支援工具、Windows 何時有版本,官方都沒給時間表。跟 APM 與 skills.sh 的對比也有保存期限,兩個專案都在快速變動,這張表值得在兩週後或下一個版本出現時回查一次。
如果團隊現在還在用共享文件貼 prompt,最便宜的驗證路徑是:挑一項大家真的在共用、又常有人拿錯版本的技能,放進一個 Git 登錄庫,在新機器上跑一次 sync 看是否重建出相同結果,確認 lock 帶來的審查流程真的比手動複製省事,再考慮組織層與自架 Marketplace。