dsh-xcodebuild:DeepSeek Harness 的 Xcode 构建与调试插件

DeepSeek Harness 的插件化架构允许开发者通过工具链接管本地环境。对于 iOS/macOS 开发者,直接在智能体流程中执行 xcodebuild 往往不够直观,容易丢失上下文。dsh-xcodebuild 插件通过一组模型友好的工具,将 Xcode 的构建、测试、调试和日志流接入 DeepSeek Harness 的对话流中。

插件定位

这是一个运行在 macOS 系统上的 DeepSeek Harness 客户端插件,专注于 iOS 和 macOS 项目的构建与开发循环。它由 harde1 维护,基于 MIT 许可证。插件核心功能包括构建、测试、清理、归档、运行,以及实时的可过滤构建日志流。

核心功能

插件提供以下七项工具,供智能体调用:

  • xcode_doctor:检查机器环境状态,列出缺失的工具并给出安装命令,同时显示当前使用的 Xcode 版本。在设备无法安装或启动时,应优先运行此工具。
  • xcode_project:自动检测项目(.xcworkspace、.xcodeproj、Package.swift),列出所有 schemes、配置和 targets。
  • xcode_destinations:合并多种数据源(-showdestinations、xcdevice、devicectl 等),列出所有可用的设备目的地,包括模拟器、My Mac、硬件设备以及 USB 设备。每个条目包含可用的目标字符串和推荐设备。
  • xcode_run:执行构建、测试、清理、归档和运行操作。它会将完整日志流传输到后台运行中,并收集编译错误。对于模拟器使用 simctl,对于 CoreDevice 知道的设备使用 devicectl,对于 iOS 16 及更早版本使用 ideviceinstaller + ios-deploy。
  • xcode_log:查看运行日志。支持缓冲的 tail、按行号增量切片,或正则表达式过滤。该工具在构建过程中调用是安全的。
  • xcode_lldb:调试应用。支持查看视图层级(生成 .lookin 文件供 Lookin.app 打开)、运行原始 LLDB 命令(如 po、bt),以及管理 LLDB 会话(附加、中断、分离、状态)。对于 iOS 16 及更早版本,需要通过 pymobiledevice3 转发的 debugserver 端口进行连接。
  • xcode_device_log:读取模拟器或物理硬件的日志。对于 iOS 16 及更早版本,可读取应用沙盒中崩溃日志目录下的日志文件。

典型用法

在智能体流程中,可以使用以下步骤完成一个标准的开发循环:

  1. 环境诊断:首先调用 xcode_doctor,确保机器已安装 Xcode 及相关依赖。
  2. 项目检测:调用 xcode_project 获取当前工作目录下的项目结构、Schemes 和 Targets。
  3. 设备选择:调用 xcode_destinations 列出可用设备,选择目标进行构建。
  4. 执行构建:调用 xcode_run 执行构建、测试或运行。此操作会触发侧边栏面板的自动打开与日志流传输。
  5. 日志排查:调用 xcode_log 实时查看构建输出,或调用 xcode_device_log 查看设备日志。
  6. 调试与修复:若遇到崩溃或特定问题,调用 xcode_lldb 进行调试,或直接修改代码后重复步骤 3-5。

交互与面板

插件通过一个面板来展示构建状态和日志。默认情况下,面板会自动打开(通过 localStorage 中的 dsh-xcodebuild:autoOpen 键控制)。

  • 侧边栏集成:如果安装了 dsh-better-sidebar,面板会作为标签页集成在右侧边栏;否则,它会作为 Shell 原生右侧边栏的标签页,或者在没有侧边栏时的悬浮窗口显示。
  • AI 调用时自动打开:面板在构建、运行等操作时会自动聚焦。AI 调用(如查看日志、LLDB 操作)不会抢占屏幕,而是记录在面板的 AI 条带中。

注意事项

  • 系统限制:插件仅支持 macOS 系统。
  • 依赖项:若要使用 xcode_lldb 调试 iOS 16+ 设备,需安装 pymobiledevice3。
  • 许可证:插件代码基于 MIT 许可证开源,使用前请检查源码以确保符合项目需求。

总结

dsh-xcodebuild 为 DeepSeek Harness 提供了完整的 Xcode 开发闭环能力。通过将构建、测试、日志和调试工具标准化,开发者可以让智能体直接处理 iOS/macOS 的日常开发任务,减少手动操作。

羽毛球分组比赛记分
小程序二维码

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

小夜