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