跳到內容
Syno Package Land
語言: 繁體中文

開發者文件

想做自己的 app?把這段話交給 AI。

貼給能執行終端機指令的 AI 開發助手,例如 Claude Code、Codex 或 Cursor。它會建立專案、打包成套件,並告訴你怎麼安裝。

幫我做-NAS-app.txt
請用 Syno Package Land CLI 幫我把一個 app 做成 Synology NAS 的 DSM 套件(.spk)。

用 `npx @synopackageland/cli@latest <指令>` 執行 CLI。需要 Node.js 22 以上;模板另外需要什麼(例如 Go),以 CLI 指南為準。先檢查我的電腦裝了什麼,缺什麼就告訴我。

1. 動手前先讀 CLI 內建的指南:`npx @synopackageland/cli@latest skill list`,再 `npx @synopackageland/cli@latest skill show orchestrator`,照它的步驟走,每一步讀它指向的那一頁。指令和參數以指南和 `--help` 為準,不要憑記憶,也不要自己發明。
2. 建立任何東西之前,先問我這個 app 要做什麼。
3. 照指南開發,再用 CLI 驗證專案、打包並檢查 .spk。所有錯誤都修好才算完成。
4. 告訴我怎麼安裝:套件中心 →「手動安裝」選這個 .spk;SPK 未簽章,安裝前 DSM 可能會顯示警告。沒有我的同意,不要在我的 NAS 上安裝任何東西,也不要發布任何東西。

文件:https://synopkgland.com/zh-tw/docs/

你的電腦需要 Node.js 22 以上(預設模板另需 Go 1.25 以上),AI 會先幫你檢查。

synopkgland CLI 會把專案資料夾轉成未簽章的 SPK,讓你安裝到 Synology NAS。你可以建置含 Go 後端與 DSM 視窗介面的原生 App、封裝現成的靜態 Linux CGI、包裝 Docker Compose App,或封裝既有的原生產品。

先從快速開始入手,它帶你從空資料夾走到已安裝的套件。閱讀能力,了解你的程式碼能在 NAS 上做什麼,以及哪些動作需要管理員核准。

你想要模板建立指令你需要
建立含 Go 後端與 Vue 介面的新 App,在 DSM 視窗中執行native-go 搭配 Vue(預設)synopkgland init -t native-goGo、Node.js
建立相同的 App,但介面自行手寫native-go 搭配 plain 介面synopkgland init -t native-go --ui plainGo。plain 介面不能使用登入。
封裝自行處理驗證的靜態 Linux CGIbinarysynopkgland init -t binaryGo,用來建置範例 CGI
封裝上游容器composesynopkgland init -t composecompose.yaml,或產生的範例
封裝已有自己 payload 與 DSM 視窗的產品既有原生產品沒有模板。撰寫含 backend: {kind: native} 的 dsm-package.yaml。你自己的建置腳本

建立 native-go 專案時,可加上 --with files,jobs,login(以及 delegate、root-ops)。之後可用 synopkgland add 補上。各項能力的作用請見能力。

我想要…閱讀
從零開始到安裝好套件快速開始
決定我的程式碼能在 NAS 上做什麼能力
撰寫原生 App 的後端與處理常式原生 App
建置視窗介面介面
從登入入口網站的位址開啟我的 App入口網站
封裝已存在的產品既有原生產品
交付 shell、Node.js、Python、Bun 或 Deno 程式指令碼與直譯式語言
封裝 Docker Compose App容器 App
瀏覽並傳輸已登入使用者的 NAS 檔案檔案
在 DSM 桌面之外,用 Synology 帳號讓使用者登入登入
給我的 App 一個共用資料夾共用資料夾
在瀏覽器關閉後繼續處理資料背景工作
使用者離線時把檔案寫入他的資料夾Delegate
替管理員以 root 執行固定操作Root 操作
建置、部署、編訂版本並散布套件交付
了解資料存放位置、備份與移除 App資料與移除
查詢指令、欄位、API 方法、錯誤碼或平台限制CLI、Manifest、Compose manifest、API、錯誤碼、平台
快速得到答案常見問題

開發工具分成四個 repository。CLI 為 0.10.12,SDK 為 0.10.12,模板為 0.10.13;UI 函式庫有自己的版本 0.9.10。CLI 套件另外匯出 @synopackageland/cli/e2e:在真實 NAS 上跑套件端對端測試用的 DSM 登入、App 視窗與 SSH tunnel 輔助函式,並在執行輸出中遮蔽 DSM 的 session cookie 與 token。

Repository內容安裝方式
syno-pkg-land-clisynopkgland CLI:init、check、build、inspect、deploy、statusnpm @synopackageland/cli
syno-pkg-land-templatesinit 與 add 複製到專案中、屬於 App 自己的檔案npm @synopackageland/templates,CLI 的相依套件
syno-pkg-land-sdkExecutor 協定規格、executor、Go client 套件,以及 TypeScript 與 Vue clientGo module github.com/synopackageland/syno-pkg-land-sdk、npm @synopackageland/sdk
syno-pkg-land-uiDSM 樣式的 Vue 元件npm @synopackageland/ui

產生的 native-go 專案只在 backend/go.mod 記錄一次 SDK 版本。CLI 會從該版本建置 executor。