在 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 预设。它通过强制执行平台特定的开发规范和工具链调用,帮助开发者规避常见的原生开发陷阱,如语言风格不一致或误操作生成文件。