Adyen 開源 Agent Marketplace:一份設定同步八種 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 顆星。

Adyen 官方公告文章標題與作者 Alexander Grooff、Juliano Martinez,發布日期 2026 年 10 月 22 日Pin
Adyen 官方知識庫公告:One setup for every AI tool: Agent Marketplace,2026 年 10 月 22 日由兩位工程師署名發布

先把結論放在前面:把「一套設定同步八種工具」當成它的主要賣點,會看錯重點。八工具轉檔只是外顯層,這套工具真正在賣的是可審查的重現性。lock 檔記錄每個資源的精確版本與內容指紋,每台機器裝到位元組相同的檔案,升版要另外下命令並像任何程式碼變更一樣走 code review。安全檢查也一樣:三道關卡能擋掉隱藏文字與可執行腳本這類常見手法,但官方文件明講,檢查降低風險,不證明資源安全。

同事貼出一組好 prompt 之後,通常會發生什麼事

Adyen 自述內部超過一千名開發者每天用 AI 工具寫程式(這是官方說法)。分享的起點都差不多:有人寫出一組好用的指令,貼進內部頻道,其他人複製到自己的儲存庫。接著複本越積越多、沒人知道誰在維護、沒有版本號,寫給 Claude Code 的資源拿到 Cursor 又不能直接用。配套的痛點很多人有共感,像是想讓 Claude Code 與 Codex 共用記憶的 holaOS,處理的就是同一段經驗無法跨工具累積的問題。

Agent Marketplace 把這些被分享的東西定義成五種資源,每種都有清楚的去處:

  • skill(技能):給代理的指令與參考檔案,教它完成特定任務,跟 Notion 3.7 的 Agent Skills 處理的是同類東西
  • command(命令):人主動呼叫的具名工作流程
  • subagent(子代理):自帶指令、可用工具與模型設定的代理設定檔
  • hook:事件觸發就執行的腳本,例如送出提示或呼叫工具的時候
  • MCP 伺服器:透過 Model Context Protocol(模型上下文協定,讓代理連接外部工具的開放標準)接上外部服務

再往上有一個 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 欄位。遇到目標工具表達不了的設定,編譯器會直接報診斷訊息,選擇不默默生成一份該工具讀不正確的檔案。

Agent Marketplace 官方文件的支援工具識別碼對照表Pin
官方文件 harnesses 對照表:八種工具各有小寫識別碼,設定檔的 harnesses 清單使用這些值

設定本身分四層合併:組織層(/etc/agent-marketplace/)、使用者層、儲存庫層、個人本機覆蓋層。平台團隊訂基線,專案負責人補專案脈絡,個人保住自己的偏好,每一層只管自己的範圍。

sync 與 update 刻意分開:lock 檔才是主角

整個設計最關鍵的決定,是讓「同步」與「更新」分成兩個命令。.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 安裝時,內容檢查分三道:

  • 登錄庫關:營運者決定哪些登錄庫被認可,並設定授權、大小與隱藏內容政策
  • 發布前關:掃描每個資源的每個檔案,找隱藏 HTML 註解、隱形或雙向 Unicode 字元、終端機控制序列、危險或遠端 URL、可執行檔與腳本、動態程式碼執行、工具授權、hook 與 MCP 能力。每項發現判定為 reject、warn 或 allow,被拒的修訂版會被列出來,但不供下載
  • 本機關:安裝精確修訂版並驗證下載內容的摘要值;帶安全發現的修訂版要先人工確認,被撤銷的修訂版直接擋下,sync --check 會回報

撤銷有三種粒度:整個登錄庫、一個資源的全部修訂版、單一修訂版,被撤銷的修訂版沒有任何政策能救回來。--accept-risk 可以替你同意帶安全發現的修訂版,但救不了被 reject 或被撤銷的版本,被 reject 的唯一例外是營運者已經把它標成營運者公開。被拒的修訂版預設會出現在目錄裡讓人看得到評估結果,只是不供下載;營運者可以用 rejected_resources 設定把它標成營運者公開,但 reject 的評估標記會留著,不會被洗白。離線模式下 sync 用的是快取,看不到快取之後才發布的撤銷,這個邊界文件也寫明白了。

然後是官方主動坦白的清單,這部分反而最值得抄下來。Marketplace 伺服器不做的事:不驗證公開目錄呼叫者的身分,能連上就能搜尋與下載;不做每個人能裝什麼的權限控制;不終止 TLS,兩個監聽埠都走純 HTTP;不加密靜態資料;不儲存或輪替密鑰。反過來說,TLS、身分驗證、靜態加密、密鑰管理、worker 對外連線目的地的白名單、容器用非 root 執行,全部是營運者的功課。整套系統唯一內建登入的地方,是選配的管理面板。

所以官方那句結論才重要:這些檢查降低風險,不證明資源安全。hook 與 MCP 伺服器本來就能跑腳本、開網路連線,安裝前看懂每個資源在做什麼,仍然是人的工作。想在生態裡找商業化對照,Claude Marketplace 把工具與顧問服務收進同一個入口,走的是另一條路。

跟微軟 APM 和 Vercel skills.sh 怎麼選

官方文件自己排了一張對比表,事實基準是 2026 年 10 月當時的對方文件。微軟的 APM(Agent Package Manager)走套件模型:套件與依賴一起解析,支援超過十種工具,包含 GitHub Copilot 與 IntelliJ,安裝時檢查政策檔。Vercel 的 skills CLI 與 skills.sh 走極簡路線:只裝 skill,靠同一份 SKILL.md 塞進 79 種工具的資料夾,公開目錄附排行榜,預設回傳匿名使用資料。agent-marketplace 走的是組織線:四層設定、組織層可派送或強制資源、lock 進審查流程、自架目錄能撤銷。

對比項agent-marketplaceAPMskills 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 遙測是官方支持的使用情境,工具本身對這件事保持中立,要不要信任雇主是另一個問題。

現在就能裝,hooks 先別推上 production

現況整理:v5.0.3 與公告同天(10 月 22 日)發布,提供 macOS 與 Linux 各兩種架構的單一執行檔,下載、設成可執行、放進 PATH 就能用,沒有執行環境依賴,也沒有 Windows 版本。起步不需要自架任何東西:init 選目標工具,install --from 指向一個 Git 登錄庫,sync 寫入,status 查看裝了什麼與從哪來。專案時程也可以當參考:GitHub 儲存庫建於 7 月 24 日,v5.0.0 到 v5.0.3 在公告前四天內連發,表示內部已經跑到穩定節奏才對外。

Agent Marketplace 官方文件首頁的導覽結構Pin
agent-marketplace.io 文件首頁:依資源使用者、發布者與 Marketplace 營運者三種角色分流

還沒確定的部分有以下幾項。hooks 官方標為實驗性:編譯與寫檔能從頭跑到尾,但事件處理方式與資料格式因工具而異,同一個 hook 在另一種環境可能拿到不同欄位的事件資料,依賴它上 production 前要逐個檢查產出檔案。未來會不會新增支援工具、Windows 何時有版本,官方都沒給時間表。跟 APM 與 skills.sh 的對比也有保存期限,兩個專案都在快速變動,這張表值得在兩週後或下一個版本出現時回查一次。

如果團隊現在還在用共享文件貼 prompt,最便宜的驗證路徑是:挑一項大家真的在共用、又常有人拿錯版本的技能,放進一個 Git 登錄庫,在新機器上跑一次 sync 看是否重建出相同結果,確認 lock 帶來的審查流程真的比手動複製省事,再考慮組織層與自架 Marketplace。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 2111

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...