快速開始
本頁帶你從空資料夾走到已安裝的套件。只有最後兩個步驟需要 NAS。
| 需求 | 用途 |
|---|---|
| Node.js 22.12 或以上,與 npm | 安裝 CLI。建置 Vue 介面。 |
| Go 1.25 或更新版本 | 建置 native-go 的後端與 binary 的範例 CGI。沒有 Go 時,build 會以 STANDALONE_GO_MISSING 失敗。 |
| NAS 上的 DSM 管理員帳號 | deploy、status 與 logs。建立、檢查、建置與 inspect 不需要。 |
npm install -g @synopackageland/clisynopkgland init -t native-go --with files,jobs,login --package MyApp my-appcd my-appinit 會建立 dsm-package.yaml、backend/ 內的 Go 後端、frontend/ 內的 Vue 介面、i18n/ 內九種語言的介面文字,以及給 AI 助理使用的 AGENTS.md 與 CLAUDE.md。它不會覆寫任何檔案:若檔案已存在,會以 INIT_TARGET_NOT_EMPTY 停止。backend/go.mod 會要求 SDK Go module github.com/synopackageland/syno-pkg-land-sdk,frontend/package.json 則要求同版本的 npm 套件 @synopackageland/sdk。請見原始碼 repository。
此範例啟用 files、jobs 與 login。若不需要額外能力,省略 --with 即可。請見能力。
安裝介面相依套件
Section titled “安裝介面相依套件”build 不會安裝任何東西。請先安裝一次 Vue 介面的相依套件:
(cd frontend && npm install)沒有安裝時,build 會以 STANDALONE_UI_BUILD_FAILED 失敗,並提示你安裝介面相依套件。以 --ui plain 建立的專案沒有 frontend/ 資料夾,可略過此步驟。
檢查、建置與 inspect
Section titled “檢查、建置與 inspect”synopkgland checksynopkgland build --arch x86_64synopkgland inspect dist/MyApp-0.1.0-0001-x86_64.spk| 指令 | 作用 |
|---|---|
check | 驗證 manifest、能力組合與路由策略。失敗時回報錯誤碼與提示。 |
build | 建置介面與後端,並在 dist/ 為每個架構寫出一個 SPK。省略 --arch 時,會建置 arches 內的所有架構。 |
inspect | 不安裝,直接讀取 SPK。先檢查 DSM 7 套件格式,再輸出套件名稱、版本、架構、是否已簽章,以及能力與解除安裝後清理的說明。 |
任何指令都可加上 --json,輸出單一 JSON 物件。
部署到 NAS
Section titled “部署到 NAS”deploy 會建置一個 SPK,並安裝到你用 --host 指定的 NAS。
synopkgland deploy --dry-run --arch x86_64synopkgland deploy --host my-nas--dry-run 只輸出計畫,不連接 NAS。--host 可接 synoagentcli profile 名稱、主機名稱或 URL。省略 --arch 時,deploy 會從 NAS 讀取 CPU。憑證、架構與版本請見交付。
若不想用 CLI 安裝,可把 SPK 複製到你的電腦,改用套件中心 > 手動安裝。SPK 未簽章,安裝前 DSM 可能會顯示警告。
synopkgland status --host my-nasstatus 會顯示套件是否已安裝、DSM 狀態、開啟 App 的位址(Open URL),以及每項已宣告能力的狀態。
| 狀態 | 意義 |
|---|---|
ready | 已安裝且可用。套件安裝後,files、jobs 與 login 即為 ready。 |
needs-admin-approval | 已宣告 delegate 或 root-ops,但 DSM 管理員尚未核准。請見能力。 |
blocked | 套件尚未安裝。對 delegate 與 root-ops 而言,也表示 status 無法驗證核准狀態。它需要 dist/ 內已安裝版本的 SPK,請先在同一個專案建置該版本。 |
unsupported | 此環境無法執行該能力。 |
開啟 Open URL,或從 DSM 主選單開啟 App。