在 DeepSeek Harness (DSH) 的生態中,通用開發任務通常使用標準預設處理。對於移動端原生開發,通用規則往往不夠。iOS、Android 和 HarmonyOS 擁有不同的語言、工具鏈和編譯流程。dsh-app-native 解決了這個問題,它是一個移動端原生開發 agent 預設,覆蓋 iOS、Android 和 HarmonyOS 的所有原生語言,並自動檢測工作區平臺以切換相應的原生語言規則。
核心功能¶
該預設通過改變 agent 的 persona(角色)來約束行爲,而非改變其底層能力。它繼承自 standard 預設的所有文件、技能和工具,但在行爲邏輯上針對原生開發進行了定製。
- 多平臺原生支持:覆蓋 iOS(Objective-C/Swift/C++)、Android(Kotlin/Java/C++)和 HarmonyOS(ArkTS/C++/JS)的原生開發。
- 自動平臺檢測:根據工作區文件自動識別平臺:
- HarmonyOS:
oh-package.json5、hvigorfile.ts、*.ets - iOS:
*.xcodeproj、Podfile、*.m/*.swift - Android:
settings.gradle(.kts)、build.gradle(.kts)、AndroidManifest.xml、*.kt/*.java
- HarmonyOS:
- 特定工具鏈集成:使用原生開發配套工具鏈進行代碼智能、構建和調試。
- Persona 約束:內置嚴格的開發規範,例如禁止語言切換(如 ObjC 到 Swift 的遷移)、禁止隨意引入新依賴、禁止手動編輯生成的配置文件。
安裝與啓用¶
安裝命令會將預設文件包落盤到用戶目錄,使其在所有配置文件的預設選擇器中可用。
dsh plugin --profile web add dsh-app-native
安裝完成後,重啓配置文件,並在新建會話的預設選擇器中選擇“移動端原生開發”。
典型用法與依賴¶
更新與移除¶
- 更新:
dsh plugin --profile web update dsh-app-native(需重啓)。 - 移除:
dsh plugin --profile web remove dsh-app-native(預設文件不會自動刪除,需手動清理$DSH_HOME/.agent-presets/app-native/)。
配套插件¶
該預設本身不包含所有工具的具體實現,需要配合以下插件或工具鏈以獲得完整功能:
- 代碼智能:
dsh-lsp-actions(需在cordis.patch.yml中配置servers表)。 - iOS 設備循環:
@zseven-w/dsh-ios(macOS + Xcode 環境)。 - HarmonyOS 設備循環:
dsh-hdc-bridge。 - 圖像識別:建議使用
modlens_read_image獲取結構化截圖證據,而非直接讀取圖像。 - 構建與 API:依賴 DevEco Studio 或
deveco-cli工具鏈提供的arkts_check、build_project、hms_*等能力。
注意事項¶
- 禁止手動編輯生成文件:預設禁止手動編輯
.xcodeproj、.pbxproj、build.gradle以及生成的文件(如 merged manifest、BuildConfig、R 類等)。 - 會話限制:預設的選擇僅在新建會話或無歷史記錄的會話中生效。正在運行的會話將保持其初始配置。
- 許可證:本項目採用 MIT 許可證。
總結¶
dsh-app-native 是一個針對移動端原生開發場景優化的 DeepSeek Harness 預設。它通過強制執行平臺特定的開發規範和工具鏈調用,幫助開發者規避常見的原生開發陷阱,如語言風格不一致或誤操作生成文件。