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