dsh-asc: App Store Connect CLI 原生集成

DeepSeek Harness (DSH) 通過插件機制擴展能力。開發者常需將現有的命令行工具接入智能體工作流,以實現自動化操作。dsh-asc 插件實現了這一目標,它將 asc(App Store Connect CLI)註冊爲 DSH 的原生工具,使智能體能夠直接調用 App Store Connect API。

簡介

該插件由 Tangweiwei227 維護。它是一個純插件,運行在 DSH 進程上下文中,通過 execFile 調用本地 asc 二進制文件。asc 本身支持 76 個頂層命令組和 1,200+ 個 App Store Connect API 端點,覆蓋 TestFlight、構建上傳、App Store 發佈、Apple Ads、代碼簽名、截圖、元數據、訂閱、分析、Xcode Cloud、市場資源及替代分發等場景。

核心功能

  • 結構化調用:智能體傳入數組參數(如 ["apps", "list"]),而非自由字符串,避免解析歧義。
  • JSON 輸出:默認開啓非交互模式,返回標準 JSON 格式數據,包含 ok、exitCode、stdout 和 stderr。
  • Shell 注入防護:通過 execFile 直接執行二進制文件,不經過 Shell,確保模型生成的參數列表不會變成 Shell 命令。
  • 共享認證:複用宿主環境的 asc auth login 配置、~/.asc/config.json 或 ASC_* 環境變量,無需重複登錄。
  • 內置安全護欄:破壞性操作仍需 asc 自身的 --confirm 參數確認。

安裝與啓用

安裝前需確保本地已安裝 asc CLI。

# 安裝插件
dsh plugin --profile web add github:Tangweiwei227/dsh-asc

安裝完成後重啓 dsh web(或對應 profile),新會話即可使用 asc 工具。

典型用法

在對話中直接使用自然語言即可觸發工具調用。智能體在底層會將自然語言請求轉換爲 asc 的數組參數:

  • “List the apps on my account”
    • 對應調用:asc: ["apps", "list"]
  • “Upload this build to TestFlight”
    • 對應調用:asc: ["builds", "upload", "--app", "123", "--ipa", "build.ipa"]
  • “Pull localized metadata for this app”
    • 對應調用:asc: ["metadata", "pull", "--app", "123"]
  • “Check my current asc auth status”
    • 對應調用:asc: ["auth", "status"]

適用場景與注意事項

  • 前置依賴:插件依賴本地已安裝的 asc 二進制文件。可通過 curl -fsSL https://asccli.sh/install | bash 或 brew install asc 安裝。
  • 認證要求:調用前需完成 asc auth login 或配置相應的環境變量(如 ASC_KEY_ID、ASC_ISSUER_ID、ASC_PRIVATE_KEY 等)。
  • 超時限制:工具執行超時設置爲 300 秒,適用於大部分構建上傳與等待流程。
  • 輸出限制:stdout 緩衝區上限爲 64 MB。

dsh-asc 通過結構化調用和安全性設計,將 asc CLI 的能力無縫接入 DSH 生態,適合需要自動化 App Store Connect 操作的開發者。

  • GitHub: https://github.com/Tangweiwei227/dsh-asc
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜