前言¶
用 uni-app x 做跨端應用時,打包往往要切到 HBuilderX、本機 SDK、簽名與 CLI 之間來回對齊;在 DeepSeek Harness 裏讓 agent 協助改代碼的同時,如果還要單獨開終端跑檢查與構建,上下文很容易斷。社區插件 dsh-app-packager(維護者 lw0129a,分類:工作流)把 AppPackager 引擎裝進 DSH:同一會話裏可以列項目、做環境體檢、執行 iOS IPA / Android APK / HarmonyOS HAP 構建,並可選打包後上傳。macOS 上功能完整;Windows / Linux 上 list / doctor 等純 Node 能力可用,check / build 依賴 bash(Git Bash 或 WSL)。
這是什麼¶
dsh-app-packager 是 DeepSeek Harness 的 bundle 插件,npm 包名 dsh-app-packager,同時附帶可安裝的 app-packager CLI 與打包引擎。它面向已在本地或倉庫裏維護 uni-app x 工程的開發者:在 Harness 裏通過 四個 agent 工具 驅動引擎,或在帶 Web 應用的 profile 裏用側欄 應用打包 面板點選操作。插件以 MIT 許可發佈;安裝前建議自行查看 GitHub 倉庫 源碼與許可證。插件在 當前 DSH 進程權限 下運行,會讀寫引擎目錄中的配置、證書路徑與 SDK,使用前請確認環境隔離策略是否符合你的要求。
核心功能¶
Agent 工具(四個)¶
app_packager_list— 讀取引擎目錄下config/projects/*.env,列出項目 ID、應用名、源碼目錄是否存在、啓用的平臺;首次調用會物化引擎目錄。app_packager_doctor— 體檢本機能否打包:Node、bash 橋接、Xcode / 簽名工具、HBuilderX CLI、JDK、Android SDK、DevEco Studio、HarmonyOS 簽名目錄、項目配置等。參數platform可選ios/android/harmony/all(默認all)。app_packager_check— 調用引擎check子命令,做指定平臺的打包前檢查;參數platform(默認all)、project(項目 ID,省略則全部)、可選home。app_packager_build— 執行真實打包,超時 90 分鐘。必填platform(ios/android/harmony/all);可選project、upload(如pgyer)、noUpload、version、harmonyDebug、keepWork、home。文檔建議不確定時先跑app_packager_check。
Web GUI 面板¶
插件注入瀏覽器側模塊後,側欄會出現 應用打包 入口(需 profile 含 @deepseek-ai/dsh-web-app;headless profile 無面板,工具仍可用)。面板通過同源 API(如 /api/app-packager/state、/job 等)驅動宿主進程裏的引擎,不在瀏覽器內執行打包邏輯。主要板塊包括:引擎初始化與 bash 橋接信息、與 app_packager_doctor 一致的環境檢查、SDK 一鍵配置、項目登記與列表、打包選項與範圍(多平臺多項目會串行成一條任務,日誌標 ▶ i/n)、已歸檔產物的上傳與密鑰配置、實時任務日誌與停止/清除等。
引擎與 CLI¶
引擎默認目錄爲 <插件目錄>/home,可通過插件配置項 home 或環境變量 APP_PACKAGER_HOME 改寫。交互式初始化也可用 CLI:
npx app-packager init
npx app-packager register ~/work/shop
list / doctor 全平臺可用;check / build 需要 bash。iOS 構建僅 macOS;非 macOS 上 doctor 會將 iOS 標爲不可用。
安裝與啓用¶
在 Harness 插件市場搜索 AppPackager,或執行:
dsh plugin --profile desktop add dsh-app-packager
安裝會一併帶上 app-packager CLI 與引擎。裝好後重啓該 profile 生效。社區目錄頁:skillhub.cn/plugins/lw0129a/dsh-app-packager(獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)。
典型用法¶
在會話裏讓 agent 列項目並體檢¶
agent 調用 app_packager_list 後,輸出類似:
AppPackager 引擎目錄:<插件目錄>/home
引擎版本:0.6.2
項目(1):
- shop(商城)
平臺: iOS (IPA), Android (APK)
源碼: /Users/me/work/shop
再調用 app_packager_doctor,按平臺查看失敗項與修復提示。
打包前檢查與構建¶
先 app_packager_check,確認證書、SDK、CLI 就緒後,再 app_packager_build,例如指定 Android 單項目、打包後不上傳:
在工具參數中設置 platform: android、project: shop、noUpload: true(具體字段以 Harness 工具調用界面爲準)。
插件配置(可選)¶
可在 profile 的 cordis.patch.yml 中覆蓋 id: app-packager 的配置,或在 設置 → 插件 → 插件配置 中修改:
- insert:
- id: app-packager
name: 'dsh-app-packager'
config:
home: ''
searchRoots: []
checkTimeoutMs: 600000
buildTimeoutMs: 5400000
outputLimit: 12000
home 留空時使用 <插件目錄>/home 或 APP_PACKAGER_HOME;buildTimeoutMs 默認對應 90 分鐘構建超時。
適用場景與注意¶
適合誰: 已在用 DeepSeek Harness 做 uni-app x 開發、希望把「環境檢查 → 多平臺打包 → 可選上傳」收進同一條工作流的團隊或個人;macOS 上需要打 iOS 包時尤其對口。
注意:
- 插件與引擎以 DSH 進程身份訪問本機工具鏈與密鑰文件;上傳板塊的 API Key 寫入引擎側
config/upload.local.env(mode 600),GET state只返回是否已配置,不回傳明文。 - 換插件版本時,文檔強調通過面板 升級插件 或官方升級腳本,避免直接用 pnpm 重裝包目錄導致
<插件目錄>/home內 SDK、證書與項目被刪;升級成功後需 重啓 DeepSeek Harness(而非僅刷新頁面),以便客戶端模塊清單與服務器 revision 一致。 - Windows 上 iOS 構建不可用;Linux / Windows 上構建路徑需 Git Bash 或 WSL。
結尾¶
dsh-app-packager 把 uni-app x 的 AppPackager 流水線嵌入 DSH:agent 四個工具覆蓋列表、體檢、檢查與構建,Web 面板覆蓋日常點選操作。進一步瞭解與 issue 反饋見 GitHub:lw0129a/dsh-app-packager,目錄介紹見 skillhub.cn/plugins/lw0129a/dsh-app-packager。