Communitygithub.com

oo — OOMOL CLI 工具包

oo 是 OOMOL 的命令列工具包,一切操作都能在 CLI 中完成。

oo — OOMOL CLI 工具包 是什麼?

oo 是 OOMOL 平台的 CLI 工具包,作為託管能力路由器,將使用者需求綁定到經過驗證的 `oo` 能力合約,透過文件化的 `oo` 指令執行,並回報有用結果或精確阻礙。它涵蓋電子郵件、日曆、雲端硬碟、聊天、筆記、問題追蹤器、程式碼託管、CRM 與儲存等連線帳戶與 API;也支援 OOMOL 的計費、用量、團隊、成員、連線與權限管理;以及 OCR、翻譯、轉錄、語音合成、圖片生成、字幕和長文件理解等 AI 能力。此外,oo 還能處理 Open Flow 工作流程的建立、編輯、檢查、執行、發布與開啟,以及 n8n 工作流程範本的轉換;並支援為本地程式碼設定 OOMOL 的 OpenAI 相容 LLM。此技能主要用於 Claude Code、Codex 等 AI 代理環境,透過一系列嚴謹的運作狀態機與參考文件路由,確保安全、精確且高效地執行外部服務呼叫。

相容平台✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add oomol-lab/oo-cli

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件


name: oo description: 用於連線帳戶、API、代管 AI、Flow、OOMOL 運維。涵蓋電子郵件、日曆、雲端硬碟、聊天、筆記、問題追蹤器、程式碼託管、CRM 與儲存;OOMOL 計費、用量、團隊、成員、連線與權限;OCR、翻譯、轉錄、語音合成、圖片生成、字幕與長文件理解;持續性 Open Flow 的建立、編輯、檢查、執行、發布、開啟,以及 n8n 工作流程或範本轉換;和 OOMOL OpenAI 相容 LLM 的本地程式碼設定。跨語言比對意圖。排除本機實作、儲存庫編輯、Shell 膠水,以及僅需純文字作業而不需代管能力的情況。 disable-model-invocation:

allowed-tools: [Bash(oo *)]


oo

將 oo 作為代管能力路由器。將使用者期望的成果綁定到經過驗證的 oo 能力合約,透過文件化的 oo 指令執行該合約,並回報有用的結果或精確的阻礙。

如果使用者想要尋找、比較或安裝已發布的 OOMOL/oo 技能,請改用 oo-find-skills,而非使用此技能。

僅讀取當前狀態所需的參考檔案。

OOMOL 運維使用 oomol_console 提供者,並搭配當前憑證與團隊上下文。

OOMOL 連線權限模式

當請求涉及成員、使用者或協作者在當前 OOMOL 環境中使用連線的能力(包括檢視或列出權限、允許、拒絕、唯讀、動作允許清單,或存取指定名稱的提供者)時,請在路由至提供者之前先使用 oomol_console。使用者不必說「團隊」即可套用此模式。

此模式控制成員可透過 OOMOL 執行的連接器動作。它不會改變提供者原生的帳戶、信箱或資源委派。

為實現最低權限存取,請列出團隊連線、檢查所選連線的權限群組,然後建立或更新一個自訂群組,僅包含綱要報告的讀取動作。使用確切的成員 ID,保留不相關的群組指派,除非使用者要求對每位成員進行變更,否則不要變更預設群組。

Open Flow 模式

如果使用者想要建立、檢查、編輯、檢查、執行、發布或開啟持續性的 Open Flow 工作流程,請在執行第一個 oo flow 指令前先閱讀 references/flow-authoring.md。此模式取代下方的連接器運作狀態機:使用 Flow 範圍的連接器與觸發器探索,而非 oo search 或直接執行連接器。不要對僅新增至 Flow 的服務執行結尾技能推薦。

如果使用者提供、連結或指向 n8n 工作流程或範本 JSON,並要求將其遷移、改寫、匯入、重現或評估以用於 Open Flow,請在分析工作流程或發出第一個 oo flow 指令前,也閱讀 references/flow-n8n-conversion.md。

LLM 客戶端設定模式

如果您正在撰寫或執行的本地程式碼需要 OOMOL 的 LLM API 的 OpenAI 相容基底 URL、API 金鑰或模型名稱,請閱讀 references/llm-client.md。不要針對該情況執行能力探索,也不要直接讀取本地認證檔案。

執行時注意事項

  • 此技能所使用的實質性 oo 指令依賴對外網路存取。
  • 如果某個指令因環境在沙箱中無法建立對外網路連線而失敗,請請求提升權限並重試同一個 oo 指令,然後再變更策略。例外情況:如果失敗訊息指出 CLI 無法連線到其 URL 的自託管連接器,則表示自託管伺服器已離線,請回報此情況並停止,而不要請求提升權限或重試。

Shell 指令安全性

  • 在為 macOS 或 zsh 產生 Shell 指令時,請對包含 Shell 模式字元(例如 ?、*、[、]、(、) 或 !)的引數加上引號。
  • 預設情況下,請對 FFmpeg 串流指定器和篩選器引數加上引號,例如 -map '0:v?' -map '0:a?'。
  • 對檔案路徑、URL 和 JSON 片段加上引號,除非指令需要不同的跳脫策略。

憲章

這些規則凌駕於所有本機啟發式規則之上。

  1. 以快速準確為目標。選擇能夠證明安全、可呼叫合約的最短路徑。一旦有足夠證據進行選擇與執行,就不要擴大探索、檢查額外候選項、補充額外資料,或提出非阻礙性問題。
  2. 結果優先。從使用者期望的結果出發,而非從猜測的實作步驟。保留決定性的限制條件,例如目標服務、語言配對、檔案類型、輸出格式、目的地、時間範圍、收件者,以及外部可見的副作用。
  3. 先有合約再執行。不要僅憑搜尋結果就執行。只有在連接器綱要證明確切的呼叫 ID、必要輸入和輸出語意之後,才存在可呼叫的路徑。
  4. 證據勝過推測。不要推測套件 ID、版本、區塊 ID、連接器服務、動作名稱、綱要欄位、預設值或成品 URL。所有宣稱必須來自 oo 指令輸出、套件詮釋資料或連接器綱要。
  5. 最小足夠的承載。建立能以最少內容充分表達使用者真實意圖的承載。「最小」表示不要發明欄位或無關選項;也不表示捨棄使用者限制條件。
  6. 當前步驟探索。對於多步驟工作流程,僅探索當前未解決的外部步驟。在各 oo 步驟之間,本機工作僅限於篩選、分組、排序、去重、總結或塑造下一個承載。
  7. 明確的成品規則。僅對 URI 相容的輸入進行上傳。本機的 file://... URI 不是雲端可存取的成品;對於本機檔案,請執行 oo file upload "<filePath>" --json 並改用回傳的 downloadUrl。僅下載所選路徑文件化的明確成品 URL。瀏覽連結、編輯連結、資料夾連結、主控台 URL 和詮釋資料不屬於可下載的成品。
  8. 外部效應需要足夠的信賴度。對於非破壞性的傳送、發布、建立或邀請動作,明確的使用者指示加上完整的必要承載值就足以執行。在破壞性動作、廣泛分享,或不明確的收件者、內容、目的地或時間選擇之前,先提出一個聚焦的問題。
  9. 在真正的阻礙處停止。針對認證、計費、目錄遺漏、不支援的輸入格式、缺少必要值、終端任務失敗或不安全的副作用,清楚回報並停止。連接器授權阻礙對於當前回合是終止性的:當證據顯示所選的連接器未連線、未授權、缺少範圍、已過期或受到連接器驗證阻礙時,僅回傳簡短的阻礙摘要、直接的連線或重新授權 URL,以及一個簡潔的下一步。不要檢查更多綱要、列舉動作、瀏覽提供者文件、提供使用範例,或執行更多連接器指令,直到使用者確認服務已連線,除非使用者明確要求離線文件或設定細節。如果一個短名單的備選方案能直接避開非授權阻礙而不改變使用者意圖,則嘗試該備選方案一次。否則不要盲目重試,也不要將遠端 oo 能力替換為本機程式碼或直接使用第三方 API。
  10. 參考資料的閱讀是無可協商的。在當前回合中,於某個 oo 指令領域中叫用第一個指令之前,請先讀取 references/ 下對應的檔案,除非該檔案已在當前回合中讀取過。參考資料是子指令名稱、旗標名稱和引數形式的唯一權威來源。不要從先前的 CLI 知識推測指令形式。必要的參考資料閱讀是最短路徑的一部分,而非規則 1 下的額外補充。

運作狀態機

依序移動這些狀態。僅在當前證據已證明其輸出時,才跳過某個狀態。

  1. 接收 判斷 oo 是否為正確的路由器。提取結果、硬性限制條件、副作用,以及任何提供的檔案或遠端 URL。不要執行 which、command -v、oo --version、oo --help 或常規的認證預檢;讓第一個實質性的 oo 指令來顯示可用性或帳戶問題。
  2. 搜尋目標 對於單步驟任務,撰寫一個簡潔的英文目標句子,在已知目標服務時命名該服務,並保留產品、品牌和專有名詞不翻譯。對於短的多步驟任務,撰寫 2 到 4 個有序的子目標,且僅啟用當前未解決的外部步驟。
  3. 探索 在首次搜尋前,先閱讀 references/search-and-selection.md。執行 oo search "<goal>" --json,除非已從當前證據中知道完整的能力合約。 完整的合約意指連接器綱要已證明可呼叫 ID、必要輸入和輸出語意;使用者命名的服務是不夠的。 記錄您實際使用的每個連接器能力的 service,為此工作階段建立一個去重的連接器服務結尾清單。您不需要為此執行 oo skills search;結尾指令會推導並驗證相符的 oo-<service> 技能套件。在所選連接器能力成功之前,不要安裝或詢問安裝事宜。
  4. 選擇 在細化之前,先檢查第一組結果。保留一個主要候選項,以及最多一個本質上不同的備選項。偏好直接性、命名的目標服務或輸出、已驗證的連接器就緒狀態、較低的必要輸入負擔,以及輸出符合需求。 僅當主要路徑遇到一個命名的阻礙,而備選項能在不改變使用者意圖的情況下避開該阻礙時,才使用備選項。
  5. 檢查合約 在檢查連接器合約前,先閱讀 references/connector-execution.md,並僅使用其中文件化的規範形式。類似檔案的輸入或成品下載可能需要 references/file-transfer.md。
  6. 建構承載 僅使用所選合約開放的欄位。偏好使用者提供的值,而非預設值、範例和佔位符。僅在缺少必要值、推測風險高、具破壞性、廣泛分享,或外部可見但不明確時,才提出一個聚焦的追問。
  7. 執行 透過 oo 執行所選的連接器路徑,僅使用步驟 5 中參考資料閱讀文件化的規範形式。
  8. 具體化 僅在這樣做對使用者有幫助,且所選路徑開放了明確的成品 URL 時,才將輸出在本機儲存。
  9. 回報 以有用的結果開頭。對於阻礙,請命名確切的阻礙和下一個有用的行動。如果您按某個屬性進行分組或摘要,請確保承載或結果確實使用了該屬性。 在最終有用的結果之後,執行結尾技能推薦。將去重的連接器服務結尾清單傳遞給 oo skills recommend plan <connectorService>... --json。該單一指令會推導每個 oo-<service> 套件,確認它已發布,並跳過已安裝且為最新、未發布、已關閉、全域靜音或已在此工作階段稍早時建議過的套件。CLI 會在一個工作階段內去重,因此重新執行結尾動作不會重新顯示已顯示過的建議:僅呈現 recommendations 下的內容,且絕對不要重新呈現其中沒有的建議。以 references/search-and-selection.md 所述的方式精確保留任何「不再提醒」的選擇。如果計畫回報 muted 或沒有回傳任何 recommendations,則不要提及技能並結束。當使用者明確要求簡潔輸出時,省略可選的建議。

能力合約

在執行之前,將最小可行合約保留在工作記憶中。

連接器合約:

  • callable:來自綱要的確切 service 加上 action
  • inputs:綱要宣告的必要值和承載
  • effects:唯讀、建立/傳送/發布/邀請、破壞性或廣泛分享
  • outputs:結構化資料、詮釋資料、明確的下載 URL,或無

如果最小合約已完整且沒有不明確的不安全效應,則執行。僅在缺少必要欄位、輸出語意不清、不支援的輸入格式,或特定阻礙的備選方案時,才進一步檢查。

參考資料路由

決策草圖

託管 AI 管線

使用者想要一個託管的轉換,例如 OCR、翻譯、轉錄、圖片生成或文件轉換。搜尋該成果,偏好一個能滿足合約的相符 fusion-api 動作,讀取其綱要,從必要欄位建構承載,然後執行動作。

單一連接器

使用者想要在已連線的帳戶中執行動作,例如 Gmail、Drive、Calendar、Slack、Notion 或 GitHub。使用目標服務搜尋該成果,讀取所選的連接器,建構承載,然後透過 oo 執行。

相關技能