npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lingcheng-tw/lcaipack-v2

v1.0.0

Published

LC-AI-Pack:AI 資源市集工具(打包 / 上傳 / 安裝到 Claude Code、Codex)

Readme

LC-AI-Pack CLI (v2)

LC-AI-Pack:AI 資源市集工具(打包 / 上傳 / 安裝到 Claude Code、Codex)

lcaipack 是凌誠 AI 資源中心的命令列用戶端,負責把市集上的 AI 資源(skill / agent / mcp / bundle)安裝到你的 AI 工具(Claude Code、Codex),也負責資源作者端的打包、上傳與上架申請。

所有會寫入檔案的操作(install / update / remove / repair / reinstall / reconfigure)都會先產生一份可審核的 Deployment Plan,確認後才實際套用。

⚠️ 與舊版 @lingcheng-tw/lcaipack 的關係

本套件是全新改寫的 v2,與舊版 @lingcheng-tw/lcaipack(Node.js 實作、以 deploy / pull / registry 指令操作 IIS AI Registry)功能完全不同、設定與資料格式互不相容。兩者的執行檔名同樣是 lcaipack,請勿同時全域安裝。

| | 舊版 @lingcheng-tw/lcaipack | 本套件 @lingcheng-tw/lcaipack-v2 | |---|---|---| | 實作 | Node.js | .NET 自包含原生執行檔 | | 後端 | IIS AI Registry(靜態 manifest) | AI 資源中心 Platform API | | 目標工具 | GitHub Copilot | Claude Code、Codex | | 核心指令 | deploy / pull / status | install / update / remove / status |

系統需求

  • Windows x64(本套件目前只提供此平台;其他平台請改用 AI 資源中心提供的對應用戶端)
  • Node.js 20 以上(僅用於 npm 安裝與啟動 shim,CLI 本體不需要 Node 執行)

安裝

npm install -g @lingcheng-tw/lcaipack-v2

安裝後即可在終端機使用 lcaipack:

lcaipack --help
lcaipack version

若你先前安裝過舊版,請先移除避免 lcaipack 指令衝突:

npm uninstall -g @lingcheng-tw/lcaipack

本地測試(發布到 npm 之前)

套件推上 npm 之前,可以先在本機以 npm link 或直接安裝 tarball 驗證。

⚠️ 務必從建置輸出目錄 tools/LcAiPack/scripts/dist/npm 執行,不是樣板目錄 tools/LcAiPack/scripts/npm。 樣板目錄沒有 binaries/(CLI 執行檔),版本號也還是佔位的 0.0.0,link 過去會找不到執行檔。

先產生建置輸出:

# Windows PowerShell 5.1 與 PowerShell 7 皆可
.\tools\LcAiPack\scripts\build-npm.ps1

腳本預設會先清空 scripts/dist/npm 再重新建置,因此每次跑完都是乾淨的產物。

方式一:npm link(開發用,改動即時反映)

# 全域連結(在建置輸出目錄執行)
cd tools/LcAiPack/scripts/dist/npm
npm link

# 驗證
lcaipack version
lcaipack --help

# 解除全域連結(可在任意目錄執行)
npm unlink -g @lingcheng-tw/lcaipack-v2

⚠️ 解除連結必須用完整的 scope 名稱 @lingcheng-tw/lcaipack-v2。 舊版用的 npm unlink -g lcaipack 對本套件無效——它會回傳 exit code 0 看似成功, 但實際上什麼都沒解除,連結仍然存在。請以 npm ls -g --depth=0 確認結果。

npm link 建立的是符號連結,因此重跑 build-npm.ps1 更新 dist/npm 內容後, lcaipack 會直接指向新的執行檔,不需要重新 link。

方式二:安裝 tarball(最貼近使用者的實際體驗)

驗證「使用者 npm install 拿到的東西」是否正確時用這個方式,因為它走的是真正的封裝與解壓流程:

npm install -g tools/LcAiPack/scripts/dist/npm/lingcheng-tw-lcaipack-v2-<版本>.tgz

lcaipack version

# 解除安裝
npm uninstall -g @lingcheng-tw/lcaipack-v2

也可以先檢查 tarball 實際包了哪些檔案:

tar -tzf tools/LcAiPack/scripts/dist/npm/lingcheng-tw-lcaipack-v2-<版本>.tgz

預期只會有這 5 個項目:

package/LICENSE
package/binaries/win-x64/lcaipack.exe
package/bin/lcaipack.js
package/package.json
package/README.md

疑難排解:lcaipack 指到別的執行檔

如果你的開發機曾把 CLI 的建置輸出目錄加進 PATH(例如 tools\LcAiPack\LcAiPack.Cli\bin\Debug\net10.0),該目錄下的 lcaipack.exe 可能會蓋掉或被蓋掉 npm 的版本,導致你測到的不是預期的那一份。

確認目前實際執行的是哪一個:

Get-Command lcaipack -All | Select-Object Source

npm 安裝/連結的版本會落在 Node.js 的全域 bin 目錄(例如 C:\nvm4w\nodejs)。 若順序不對,請調整 PATH,或暫時移除 Debug 目錄那一筆。

發布到 npm

發布一律使用 npm access token(PAT)。

1. 建立 token

到 npmjs.com 建立,三個條件缺一不可:

  1. Access Tokens → Generate New Token → 選 Granular Access Token
  2. Packages and scopes:@lingcheng-tw 設為 Read and write
  3. 勾選 Bypass 2FA

⚠️ Classic Token、或未勾選 Bypass 2FA 的 Granular Token,發布時都會被 npm 以 Two-factor authentication or granular access token with bypass 2fa enabled is required 擋下。

2. 發布

不需要任何參數,直接執行:

.\tools\LcAiPack\scripts\release-npm.ps1

腳本會依序帶你走完整個流程:

  1. 顯示套件名稱、版本、git 分支與工作區狀態
  2. 工作區有未提交變更時提出警告並要求確認
  3. 要求確認發布(npm 同一版本不可重複發布)
  4. 詢問 npm token —— 直接貼上按 Enter,輸入不會顯示
  5. 建置並發布,成功後印出建議的 git tag 指令

若不想每次貼 token,可以先設環境變數,腳本就不會再詢問:

$env:NPM_TOKEN = 'npm_xxxxxxxx'
.\tools\LcAiPack\scripts\release-npm.ps1

CI/自動化

自動化情境沒有互動終端機,請直接呼叫底層腳本並用環境變數提供 token:

$env:NPM_TOKEN = 'npm_xxxxxxxx'
.\tools\LcAiPack\scripts\build-npm.ps1 -Publish

release-npm.ps1 的確認步驟需要互動輸入,stdin 被重導向時會明確報錯而非卡住。

token 的處理方式

腳本會把 token 寫進一個本次執行專用的暫存 .npmrc,透過 npm_config_userconfig 指給 npm 使用,結束時(無論成功或失敗)立即刪除。因此:

  • 不會寫入你的 ~/.npmrc
  • 不會出現在命令列參數中(避免被 process list 看到)
  • 即使 npm 的錯誤訊息回顯 token,也會先被遮蔽成 *** 再輸出

錯誤排查

腳本會在建置之前先檢查 token 是否存在與格式是否正確,未提供就直接停下並說明如何建立, 不會白等一次完整建置。發布失敗時也會依 npm 回傳的錯誤碼 (EOTP/E403/E409/E402/ENEEDAUTH)給出對應的中文排查指引。

若 ~/.npmrc 裡的 token 是寫成 _authToken=...(沒有 registry 前綴),npm 不會採用它。 正確寫法是 //registry.npmjs.org/:_authToken=...。本腳本的暫存 .npmrc 已使用正確格式。

快速開始

# 1. 設定 AI 資源中心位址
lcaipack config set registry https://aiworkcenter.example.tw

# 2. 登入(輸入 aiwc_ 開頭的 Personal API Token)
lcaipack login

# 3. 瀏覽市集資源
lcaipack list

# 4. 在專案目錄安裝資源
cd D:\Project\MyProject
lcaipack install pdf-toolkit

# 5. 查看安裝狀態與可用更新
lcaipack status

核心觀念

Scope:專案 vs 全域

除非另有說明,所有 scoped 指令預設是專案範圍,以目前工作目錄為專案根目錄。

| 旗標 | 說明 | |---|---| | (無旗標) | 專案範圍,根目錄為目前目錄 | | --project <path> | 專案範圍,明確指定專案資料夾 | | --global | 使用者全域安裝 |

--global 與 --project 不可同時使用。

AI 工具(Host)與 Surface

目前可安裝的 AI 工具為 codex 與 claude-code(install --platform 未指定時兩者都裝)。github-copilot 已識別但本版暫不支援安裝。

Surface 為該工具下的具體部署面(如 codex-cli、claude-code-cli、claude-desktop),未指定時使用該 Host 的預設 surface。

Release 與 Preview 通道

--preview 的語意是「讓 Preview 版本可見、可安裝」,不是「優先選用 Preview」。預設挑版永遠以 Release 為準。若明確指定一個 Preview 版本卻沒有加 --preview,CLI 會直接報錯提示。

JSON 模式

多數指令支援 --json。此模式下 stdout 只輸出機器可解析的資料,進度與診斷訊息一律走 stderr,且會強制以非互動方式執行(不會跳出設定值輸入提示)。


指令總表

| 指令 | 說明 | |---|---| | lcaipack login | 驗證並儲存 Personal API Token | | lcaipack logout | 刪除本機儲存的 Personal API Token | | lcaipack config get | 顯示目前組態 | | lcaipack config set <key> <value> | 設定組態值(目前支援 registry) | | lcaipack list | 列出市集資源 | | lcaipack status | 檢查已安裝資源、版本、本機修改與可用更新 | | lcaipack version | 顯示目前版本與可用更新 | | lcaipack self-update | 檢查或套用 CLI 自身更新 | | lcaipack install [key] | 從市集安裝資源,或以 --source 側載本機資源 | | lcaipack update [key] | 把已安裝資源更新到市集最新版本 | | lcaipack remove <key> | 移除已安裝資源 | | lcaipack repair <key> | 使用 exact cached version 修復資源 | | lcaipack reinstall <key> | 使用 exact cached version 重新 Plan 並重裝資源 | | lcaipack reconfigure <key> | 重新設定已安裝資源:重跑設定命令 | | lcaipack setup show <key> | 顯示資源包已保存的設定值與設定命令完成狀態 | | lcaipack setup set <key> <parameterId> <value> | 寫入一般(非秘密)設定值 | | lcaipack setup clear <key> <parameterId> | 清除本 scope 的該設定值 | | lcaipack setup operation list | 列出全部 operation,最新在前 | | lcaipack setup operation show <operationId> | 顯示單一 operation 的完整紀錄 | | lcaipack setup operation retry <operationId> | 繼續或重試未收斂的安裝操作 | | lcaipack setup log path <operationId> | 輸出既有 operation 的 log 完整路徑 | | lcaipack setup clean --operation <id> | 清理指定 operation 的狀態檔與 log 檔 | | lcaipack cache list | 列出快取與 receipt 使用狀態 | | lcaipack cache clean | 清理未被 receipt 引用的快取 | | lcaipack logs | 檢視或匯出脫敏診斷記錄 | | lcaipack pack | 驗證 lcpack.json 並打包資源 zip | | lcaipack push <zip> | 上傳資源包(進 Preview 通道) | | lcaipack promote <key>@<version> | 申請上架 Release(送交管理員核准) |


認證與組態

lcaipack login

驗證並儲存 Personal API Token。

| 選項 | 說明 | |---|---| | --pat <token> | Personal API Token(aiwc_ 開頭);未提供時互動輸入(不回顯) | | --registry <url> | 順便設定 Registry 位址(等同 config set registry) |

PAT 取用優先序:--pat → 環境變數 LCAIPACK_PAT → 本機 credentials.json。

lcaipack login
lcaipack login --registry https://aiworkcenter.example.tw
lcaipack login --pat aiwc_xxxxxxxx          # CI 用

lcaipack logout

刪除本機儲存的 Personal API Token。無選項。

lcaipack config

# 顯示目前組態(registry、home、已註冊專案清單)
lcaipack config get

# 設定 Registry 位址(目前只支援 registry 這個鍵)
lcaipack config set registry https://aiworkcenter.example.tw

尚未設定 Registry 時,任何需要連線的指令都會提示: 尚未設定 Registry 位址,請先執行:lcaipack config set registry <Platform.Api 網址>


瀏覽與檢查

lcaipack list

列出市集資源。

| 選項 | 說明 | |---|---| | --type <type> | skill / agent / mcp / bundle | | --category <category> | 分類 | | --search <keyword> | 關鍵字 | | --preview | Preview 模式:一併列出 Preview 通道版本 | | --json | 輸出 JSON(供腳本解析) |

lcaipack list
lcaipack list --type skill --search pdf
lcaipack list --preview --json

lcaipack status

檢查已安裝資源、版本、本機修改與可用更新。

| 選項 | 說明 | |---|---| | --global | 檢視使用者全域安裝 | | --project <path> | 專案資料夾(預設目前目錄) | | --preview | Preview 模式:版本比較納入 Preview 通道 | | --json | 輸出 JSON(供腳本解析) |

輸出會分成幾個區塊:可更新、已是最新、檔案缺損(建議重新 install 修復)、遠端已下架(建議 remove),以及本機來源安裝(source: local,不與市集比較版本)。

--json 輸出欄位:receiptFile、upgrade、keep、repair、deprecated、localSource。

lcaipack version

顯示目前版本與可用更新。

| 選項 | 說明 | |---|---| | --json | 輸出 JSON(供腳本解析):{ product, rid, currentVersion, latestVersion, updateAvailable, error } |

即使查詢市集失敗仍回傳 0,錯誤訊息會放在輸出內。

lcaipack self-update

檢查或準備 CLI 自身更新。未帶 --yes 時一律只檢查。

| 選項 | 說明 | |---|---| | --check | 只檢查可用更新,不下載或切換版本 | | --target-version <version> | 指定要檢查或套用的 exact version;仍需 --yes 才會套用 | | --yes | 確認並套用更新 | | --non-interactive | 以非互動模式執行;必須搭配 --yes | | --json | 以 JSON 輸出檢查或更新結果 |

套用更新的前提:Windows 平台、self-contained 單檔發佈。下載後會驗證 SHA256,再以隱藏 helper 原子置換並執行 exact-version health check,失敗自動 rollback。CLI 更新後不會自動重啟。

透過 npm 安裝時,建議改用 npm update -g @lingcheng-tw/lcaipack-v2 升級,以免 npm 套件記錄的版本與實際執行檔不一致。


安裝與生命週期

lcaipack install [key]

從市集安裝資源到 AI 工具,或以 --source 側載本機資源。安裝前會先產生可審核的 Deployment Plan。

| 參數 | 說明 | |---|---| | key | 資源包識別碼,可帶版本:<key>[@version];與 --source 恰好給一個 |

| 選項 | 說明 | |---|---| | --global | 安裝到使用者全域(預設安裝到專案) | | --project <path> | 專案資料夾(預設目前目錄) | | --platform <host> | 要安裝的 AI 工具,可多次指定;預設全部:codex, claude-code | | --surface <surface> | 指定 surface(預設為該 Host 的預設 surface) | | --preview | Preview 模式:允許安裝 Preview 通道版本 | | --source <path> | 本機來源資料夾(側載尚未上架的資源);全程不呼叫 Registry;不可與 --offline / --preview 併用 | | --backup-and-replace | 只處理 unmanaged 目的地與本包自己的本機修改;先備份再覆蓋。不可用於搶奪 ownership | | --offline | 只使用本機受管快取,不連線、不降版(必須指定精確版本 <key>@<version>) | | --allow-shadowing | 明確允許 Global/Project 對同一 Host 重疊 | | --dry-run | 只產生 Deployment Plan,不 Apply | | --json | 輸出機器可解析的 Plan/結果 JSON | | --yes | 略過互動確認;不能略過 blocking problem |

# 安裝最新 Release 到目前專案的所有支援工具
lcaipack install pdf-toolkit

# 安裝指定版本,只裝到 Claude Code
lcaipack install [email protected] --platform claude-code

# 安裝到使用者全域
lcaipack install pdf-toolkit --global

# 先看 Plan 不套用
lcaipack install pdf-toolkit --dry-run

# 側載本機尚未上架的資源
lcaipack install --source D:\Work\my-skill

# 離線安裝(需精確版本,且快取中須已有該版本)
lcaipack install [email protected] --offline

# CI 非互動
lcaipack install pdf-toolkit --yes --json

安裝過程若資源包宣告了設定參數,CLI 會互動詢問(秘密值不回顯,且只寫入作業系統安全儲存區)。加上 --json 或 stdin 被導向時會強制非互動,缺值會以 blocking problem 形式呈現。

專案範圍安裝成功後,該專案根目錄會被加入已註冊專案清單。

lcaipack update [key]

把已安裝資源更新到市集最新版本(同樣經過 Deployment Plan)。

| 參數 | 說明 | |---|---| | key | 只更新指定資源;省略則更新全部 |

| 選項 | 說明 | |---|---| | --global | 更新使用者全域安裝 | | --project <path> | 專案資料夾(預設目前目錄) | | --preview | Preview 模式:可更新到 Preview 通道版本 | | --yes | 略過互動確認 | | --json | 輸出機器可解析的結果 JSON |

lcaipack update              # 更新目前專案的全部資源
lcaipack update pdf-toolkit  # 只更新一個
lcaipack update --global --yes

source: local(側載)的資源永遠會被略過,不會從市集更新。遠端已下架的資源會在 stderr 提示建議 lcaipack remove。

lcaipack remove <key>

移除已安裝資源。本機修改預設會阻擋並提供處置選項。

| 選項 | 說明 | |---|---| | --global | 移除使用者全域安裝 | | --project <path> | 專案資料夾(預設目前目錄) | | --platform <host> | 只移除指定 AI 工具的部署 | | --surface <surface> | 只移除指定 surface 的部署(需搭配 --platform 才會生效) | | --keep-modified | 保留本機修改並解除工具管理 | | --backup-and-remove | 明確允許備份後移除本機修改 | | --dry-run | 只產生移除計畫,不執行 | | --json | 輸出機器可解析的結果 JSON | | --yes | 略過互動確認 |

處置優先序:--keep-modified > --backup-and-remove > 預設阻擋。

lcaipack remove pdf-toolkit
lcaipack remove pdf-toolkit --dry-run
lcaipack remove pdf-toolkit --keep-modified
lcaipack remove pdf-toolkit --platform claude-code --surface claude-code-cli

lcaipack repair <key> / lcaipack reinstall <key>

以 exact cached version 修復或重裝資源,兩者選項完全相同。

| 選項 | 說明 | |---|---| | --global | 處理使用者全域安裝 | | --project <path> | 專案資料夾(預設目前目錄) | | --backup-and-replace | 明確授權「備份後覆蓋」;本機修改會先備份為 .bak-lcaipack-<時間戳> 再補回受管內容 | | --yes | 略過互動確認 | | --json | 輸出機器可解析的結果 JSON |

| 指令 | 適用情境 | |---|---| | repair | 受管檔案缺損或被改動,要補回原始受管內容。不支援 source: local 的安裝(會提示改用 reinstall) | | reinstall | 重新 Plan 並整包重裝。source: local 會從 receipt 記錄的來源資料夾重新打包 |

lcaipack repair pdf-toolkit
lcaipack repair pdf-toolkit --backup-and-replace
lcaipack reinstall my-local-skill

reinstall 若原來源資料夾已不存在會直接失敗,並提示改用 lcaipack install --source <新路徑>。

lcaipack reconfigure <key>

重新設定已安裝資源:重跑設定命令(會要求缺少的必填值)。

| 選項 | 說明 | |---|---| | --global | 重新設定使用者全域安裝 | | --project <path> | 專案資料夾(預設目前目錄) | | --yes | 略過互動確認 | | --json | 輸出機器可解析的結果 JSON |

會優先用 receipt 記錄的 SHA 從本機快取取得 artifact(可離線);快取沒有才回市集取。若該資源包沒有宣告任何安裝設定,會提示無事可做並以 exit code 1 結束。


安裝設定值與 operation

lcaipack setup show <key>

顯示資源包在本 scope 的已保存設定值、有效來源與設定命令完成狀態。

| 選項 | 說明 | |---|---| | --global | 檢視使用者全域 scope | | --project <path> | 專案資料夾(預設目前目錄) | | --json | 輸出機器可解析的 JSON |

設定值來源會標示為全域已保存值或專案覆寫值。

lcaipack setup set <key> <parameterId> <value>

寫入一般(非秘密)設定值。秘密請在安裝流程中以不回顯方式輸入,不要用這個指令。

| 參數 | 說明 | |---|---| | key | 資源包識別碼 | | parameterId | 跨版本穩定的參數身分 | | value | 要保存的一般值 |

選項:--global(寫入使用者全域 scope)、--project <path>、--json。

lcaipack setup clear <key> <parameterId>

清除本 scope 的該設定值。選項同 setup set。

lcaipack setup operation

# 列出全部 operation,最新在前
lcaipack setup operation list
lcaipack setup operation list --json

# 顯示單一 operation 的完整紀錄
lcaipack setup operation show <operationId>

# 繼續或重試未收斂的安裝操作(沿用同一個 operation 與同一份 log)
lcaipack setup operation retry <operationId>
lcaipack setup operation retry <operationId> --yes --json

retry 會沿用原本的 operation 種類(install / update / reconfigure)。已成功結案的 operation 無法重試,會以 exit code 1 結束。

lcaipack setup log path <operationId>

只輸出既有 operation 的 log 完整路徑(stdout 只有路徑本身,方便腳本取用);找不到就明確失敗(exit code 1)。

lcaipack setup clean --operation <id>

明確清理指定 operation 的狀態檔與 log 檔。

| 選項 | 說明 | |---|---| | --operation <id> | 要清理的明確 OperationId;可重複指定多次,至少一筆 |

基於安全考量,不支援萬用字元、日期區間或全部清除。任何一筆 id 格式不合法時整批拒絕,不會清理任何項目。

lcaipack setup clean --operation op-aaa --operation op-bbb

快取與診斷

lcaipack cache

# 列出快取與 receipt 使用狀態
lcaipack cache list

# 清理未被任何 receipt 引用的快取
lcaipack cache clean
lcaipack cache clean --json     # { removed, retained }

快取目錄為 %USERPROFILE%\.lcaipack\cache。掃描的 receipt 來源包含:全域安裝、所有已註冊專案、目前工作目錄。

lcaipack logs

檢視或匯出脫敏診斷記錄。

| 選項 | 說明 | |---|---| | --export <path> | 匯出脫敏診斷 log 到指定檔案 |

不帶選項時只印出 log 路徑。log 位於 %USERPROFILE%\.lcaipack\logs\lcaipack-<yyyyMMdd>.log(UTC 日期),會自動裁切到約 2 MB/最後 2000 行。

發生非預期錯誤時 CLI 會印出 錯誤 [LCAI-XXXXXXXX]:...,回報問題時請一併附上這個 error id。


資源作者:打包與發布

lcaipack pack

驗證 lcpack.json 並打包資源 zip。

| 選項 | 說明 | |---|---| | --source <path> | 資源來源資料夾(預設目前目錄) | | --output <path> | zip 輸出資料夾(預設同來源) | | --auto-version | patch +1(以遠端最新版本為基準;離線時以本地為準) |

cd D:\Work\my-skill
lcaipack pack
lcaipack pack --auto-version --output D:\Temp\out

成功時輸出 ✓ <zip>(N 個檔案,X KB),並列出非標準 frontmatter 的警告。

lcaipack push <zip>

上傳資源包。上傳後會先進 Preview 通道,驗證無誤後再用 promote 申請上架。

| 參數 | 說明 | |---|---| | zip | resource zip 路徑(lcaipack pack 的產物) |

| 選項 | 說明 | |---|---| | --pat <token> | Personal API Token(CI 用;優先於已儲存的憑證) |

lcaipack promote <key>@<version>

申請上架 Release(送交管理員核准)。

| 選項 | 說明 | |---|---| | --comment <text> | 送審附註 |

lcaipack promote [email protected] --comment "修正 PDF 解析編碼問題"

完整發布流程

lcaipack pack --auto-version
lcaipack push .\pdf-toolkit-1.2.1.zip
# 以 --preview 實際安裝驗證
lcaipack install [email protected] --preview --project D:\Temp\verify
lcaipack promote [email protected] --comment "..."

Exit code

| Code | 說明 | |---|---| | 0 | 全部成功 | | 1 | 一般錯誤 | | 2 | Plan 含 blocking problem,未執行任何寫入 | | 3 | 部分 target 成功、部分失敗 | | 4 | Plan 已過期,需重新 Plan 與重新確認 | | 5 | Apply 被拒絕(digest 不符、缺少同意等) | | 6 | 使用者取消(含 Ctrl+C,以及未確認 Deployment Plan) |

Ctrl+C 中止時會提示:已取消。未收斂的操作可用 lcaipack setup operation list 查看並重試。

環境變數

| 變數 | 說明 | |---|---| | LCAIPACK_PAT | Personal API Token。優先序:--pat > LCAIPACK_PAT > 本機 credentials.json | | LCAIPACK_HOME | 覆寫工具主目錄(預設 %USERPROFILE%\.lcaipack),供測試與 CI 隔離使用 | | NO_COLOR | 設定任意值即關閉錯誤輸出的顏色(stdout/stderr 被導向時也會自動關閉) | | CLAUDE_CONFIG_DIR | 供 CLI 定位 Claude Code 設定根目錄 |

本機檔案位置

%USERPROFILE%\.lcaipack\
├── config.json          # Registry 位址、已註冊專案清單
├── credentials.json     # Personal API Token
├── cache\               # 受管資源快取(依 SHA 索引)
├── logs\                # 脫敏診斷 log
└── updates\             # self-update 暫存與 status.json

授權

Copyright © 2026 凌誠科技股份有限公司(LingCheng Technology Co., Ltd.)

本軟體採專有非商業授權發布。您可於非商業目的下使用本工具,但禁止商業使用、修改、反向工程與再散布。詳細條款請參閱套件內的 LICENSE。

如需商業授權,請聯絡 凌誠科技股份有限公司。