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 的日常開發任務,減少手動操作。

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

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

小夜