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
羽毛球分组比赛记分
小程序二维码

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

小夜