siluzan-cso-cli 1.1.10 → 1.1.11-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,7 +42,7 @@
42
42
  在**用户的目标项目根目录**执行(根据用户使用的助手选择 `--ai`):
43
43
 
44
44
  ```bash
45
- npm install -g siluzan-cso-cli
45
+ npm install -g siluzan-cso-cli@beta
46
46
  siluzan-cso init --ai cursor # 写入 Cursor(默认)
47
47
  siluzan-cso init --ai cursor,claude # 同时写入多个平台
48
48
  siluzan-cso init --ai all # 写入所有支持的平台
@@ -50,6 +50,7 @@ siluzan-cso init -d /path/to/skills # 写入自定义目录
50
50
  siluzan-cso init --force # 强制覆盖已存在文件
51
51
  ```
52
52
 
53
+ > **注意**:当前为测试版(1.1.11-beta.2),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-cso-cli`。
53
54
 
54
55
  | 助手 | 建议 `--ai` |
55
56
  |------|-------------|
package/dist/index.js CHANGED
@@ -1939,11 +1939,11 @@ var require_semver2 = __commonJS({
1939
1939
  import { Command, Option } from "commander";
1940
1940
 
1941
1941
  // src/config/defaults.ts
1942
- var BUILD_ENV = "production";
1943
- var DEFAULT_API_BASE = "https://api.siluzan.com";
1944
- var DEFAULT_CSO_BASE = "https://cso.siluzan.com";
1945
- var DEFAULT_WEB_BASE = "https://www.siluzan.com";
1946
- var DEFAULT_AGENT_BASE = "https://agent.mysiluzan.com";
1942
+ var BUILD_ENV = "test";
1943
+ var DEFAULT_API_BASE = "https://api-ci.siluzan.com";
1944
+ var DEFAULT_CSO_BASE = "https://cso-ci.siluzan.com";
1945
+ var DEFAULT_WEB_BASE = "https://www-ci.siluzan.com";
1946
+ var DEFAULT_AGENT_BASE = "https://agent-ci.mysiluzan.com";
1947
1947
 
1948
1948
  // src/commands/init.ts
1949
1949
  import * as fs2 from "fs/promises";
@@ -11,12 +11,12 @@ compatibility: Requires siluzan-cso-cli installed and authenticated via `siluzan
11
11
 
12
12
  ## 一键安装
13
13
 
14
- 如果 CLI 尚未安装,直接帮用户执行安装脚本(脚本位于 `scripts/install.sh` 和 `scripts/install.ps1`):
14
+ 如果 CLI 尚未安装,直接帮用户执行对应平台的安装脚本:
15
15
 
16
- - **macOS / Linux / WSL / Git Bash:** `bash scripts/install.sh`
16
+ - **macOS / Linux / WSL:** `bash scripts/install.sh`
17
17
  - **Windows PowerShell:** `powershell -ExecutionPolicy Bypass -File scripts/install.ps1`
18
18
 
19
- 脚本会自动完成 Node.js 检测/安装、CLI 全局安装、Skill 全局注册,并交互式引导用户配置 API Key
19
+ 脚本会自动完成 Node.js 检测/安装、CLI 安装、Skill 全局注册,并引导用户配置 API Key。无需选择,本脚本专为 siluzan-cso-cli 定制。
20
20
 
21
21
  ---
22
22
 
@@ -155,6 +155,6 @@ account-group ──需要 mediaCustomerId──► list-accounts
155
155
 
156
156
  > 无对应 CLI 命令的模块,或需要引导用户在网页端查看数据时,查阅 `references/web-pages.md` 获取完整页面清单与链接。
157
157
 
158
- URL 格式:`https://www.siluzan.com/v3/foreign_trade/cso/{页面}`
158
+ URL 格式:`https://www-ci.siluzan.com/v3/foreign_trade/cso/{页面}`
159
159
 
160
160
  常用页面:`task`(任务管理)· `postVideo`(发布页)· `ManageAccounts`(账号管理)· `planning`(AI 内容规划)· `table`(绩效报表)· `Workdata`(作品数据)
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "slug": "siluzan-cso",
3
- "version": "1.1.10",
4
- "publishedAt": 1776306496073,
3
+ "version": "1.1.11-beta.2",
4
+ "publishedAt": 1776308196940,
5
5
  "homepage": "https://www.siluzan.com",
6
6
  "source": "https://dev.azure.com/jack4it/Sammamish/_git/siluzan-skill",
7
7
  "requiredBinaries": [
@@ -199,7 +199,7 @@ siluzan-cso publish -c publish-config.json
199
199
 
200
200
  > 查询发布状态、处理失败项 → 参见 `references/task.md`
201
201
 
202
- 前往 CSO 任务管理页面查看进度:`https://www.siluzan.com/v3/foreign_trade/cso/task`
202
+ 前往 CSO 任务管理页面查看进度:`https://www-ci.siluzan.com/v3/foreign_trade/cso/task`
203
203
 
204
204
  ---
205
205
 
@@ -3,7 +3,7 @@
3
3
  ## 安装 CLI
4
4
 
5
5
  ```bash
6
- npm install -g siluzan-cso-cli
6
+ npm install -g siluzan-cso-cli@beta
7
7
  ```
8
8
 
9
9
  环境要求:Node.js 18+
@@ -44,7 +44,7 @@ siluzan-cso config set --token <Token> # 备用:设置 JWT Token
44
44
 
45
45
  > **⚠️ 不要使用 `config set --token <token>` 的方式。** 该方式会将 Token 明文写入 shell history(`~/.bash_history`、`~/.zsh_history`、PowerShell 历史),存在凭证泄露风险。推荐使用 `siluzan-cso login` 交互式输入。
46
46
 
47
- API Key 获取入口:`https://cso.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
47
+ API Key 获取入口:`https://cso-ci.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
48
48
 
49
49
  ### 通过环境变量传入凭据(CI/CD 推荐)
50
50
 
@@ -79,8 +79,8 @@ siluzan-cso config show
79
79
  输出示例:
80
80
  ```
81
81
  构建环境 : production
82
- apiBaseUrl : https://api.siluzan.com
83
- csoBaseUrl : https://cso.siluzan.com
82
+ apiBaseUrl : https://api-ci.siluzan.com
83
+ csoBaseUrl : https://cso-ci.siluzan.com
84
84
  apiKey : abcd****1234
85
85
  ```
86
86
 
@@ -1,7 +1,7 @@
1
1
  # web-pages — CSO 后台页面速查
2
2
 
3
3
  > 当需要引导用户前往网页端查看数据或执行操作时,使用本文件中的页面链接。
4
- > URL 格式:`https://www.siluzan.com/v3/foreign_trade/cso/{页面路径}`
4
+ > URL 格式:`https://www-ci.siluzan.com/v3/foreign_trade/cso/{页面路径}`
5
5
 
6
6
  ---
7
7
 
@@ -11,9 +11,9 @@
11
11
 
12
12
  | 页面 | 完整链接 | 功能说明 |
13
13
  |------|----------|----------|
14
- | 账号管理 | `https://www.siluzan.com/v3/foreign_trade/cso/ManageAccounts` | 绑定/授权/查看媒体账号列表、账号状态、Token 到期时间 |
15
- | 账号分组 | `https://www.siluzan.com/v3/foreign_trade/cso/AccountGroup` | 新建分组、管理分组内账号 |
16
- | 重点账号 | `https://www.siluzan.com/v3/foreign_trade/cso/KeyAccounts` | 配置重点关注账号、数据备份 |
14
+ | 账号管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/ManageAccounts` | 绑定/授权/查看媒体账号列表、账号状态、Token 到期时间 |
15
+ | 账号分组 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/AccountGroup` | 新建分组、管理分组内账号 |
16
+ | 重点账号 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/KeyAccounts` | 配置重点关注账号、数据备份 |
17
17
 
18
18
 
19
19
  ---
@@ -22,10 +22,10 @@
22
22
 
23
23
  | 页面 | 完整链接 | 功能说明 |
24
24
  |------|----------|----------|
25
- | 发布作品 | `https://www.siluzan.com/v3/foreign_trade/cso/postVideo?contentType=1` | 矩阵发布视频、图文、草稿管理、话题组 contentType=1 是视频,contentType=2是图文 |
25
+ | 发布作品 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/postVideo?contentType=1` | 矩阵发布视频、图文、草稿管理、话题组 contentType=1 是视频,contentType=2是图文 |
26
26
 
27
- | 发布日历 | `https://www.siluzan.com/v3/foreign_trade/cso/publishCalendar` | 日历视图规划发布任务、创建/编辑发布任务 |
28
- | 营销日历 | `https://www.siluzan.com/v3/foreign_trade/cso/marketingCalendar` | 营销节点日历、跳转创建发布任务 |
27
+ | 发布日历 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/publishCalendar` | 日历视图规划发布任务、创建/编辑发布任务 |
28
+ | 营销日历 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/marketingCalendar` | 营销节点日历、跳转创建发布任务 |
29
29
 
30
30
  ---
31
31
 
@@ -33,10 +33,10 @@
33
33
 
34
34
  | 页面 | 完整链接 | 功能说明 |
35
35
  |------|----------|----------|
36
- | 任务列表 | `https://www.siluzan.com/v3/foreign_trade/cso/task` | 发布任务列表、状态筛选、任务详情抽屉 |
37
- | 视频管理 | `https://www.siluzan.com/v3/foreign_trade/cso/VideoMgr` | 已发布视频/图文列表、删除、重发、评论查看 |
38
- | 视频搬家 | `https://www.siluzan.com/v3/foreign_trade/cso/relocation` | 将视频搬运到其他平台 |
39
- | 搬家记录 | `https://www.siluzan.com/v3/foreign_trade/cso/MovingRecord` | 搬家任务列表与执行状态 |
36
+ | 任务列表 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/task` | 发布任务列表、状态筛选、任务详情抽屉 |
37
+ | 视频管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/VideoMgr` | 已发布视频/图文列表、删除、重发、评论查看 |
38
+ | 视频搬家 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/relocation` | 将视频搬运到其他平台 |
39
+ | 搬家记录 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/MovingRecord` | 搬家任务列表与执行状态 |
40
40
 
41
41
  ---
42
42
 
@@ -44,9 +44,9 @@
44
44
 
45
45
  | 页面 | 完整链接 | 功能说明 |
46
46
  |------|----------|----------|
47
- | 私信管理 | `https://www.siluzan.com/v3/foreign_trade/cso/letter` | 按渠道/时间查看与处理私信(多平台 Tab) |
48
- | 评论管理 | `https://www.siluzan.com/v3/foreign_trade/cso/comment` | 收到的评论列表、回复、账号组筛选 |
49
- | 智能互动 | `https://www.siluzan.com/v3/foreign_trade/cso/interaction` | 私信欢迎语、自动回复规则配置 |
47
+ | 私信管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/letter` | 按渠道/时间查看与处理私信(多平台 Tab) |
48
+ | 评论管理 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/comment` | 收到的评论列表、回复、账号组筛选 |
49
+ | 智能互动 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/interaction` | 私信欢迎语、自动回复规则配置 |
50
50
 
51
51
  ---
52
52
 
@@ -54,9 +54,9 @@
54
54
 
55
55
  | 页面 | 完整链接 | 功能说明 |
56
56
  |------|----------|----------|
57
- | 作品数据 | `https://www.siluzan.com/v3/foreign_trade/cso/Workdata` | 作品维度统计、图表、明细(对应 CLI `report fetch`) |
58
- | 账户数据 | `https://www.siluzan.com/v3/foreign_trade/cso/accountdata` | 账户维度汇总数据、趋势图表 |
59
- | 绩效报表 | `https://www.siluzan.com/v3/foreign_trade/cso/table` | 多维度绩效报表、PDF 导出(对应 CLI `report fetch/records/download`) |
57
+ | 作品数据 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/Workdata` | 作品维度统计、图表、明细(对应 CLI `report fetch`) |
58
+ | 账户数据 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/accountdata` | 账户维度汇总数据、趋势图表 |
59
+ | 绩效报表 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/table` | 多维度绩效报表、PDF 导出(对应 CLI `report fetch/records/download`) |
60
60
 
61
61
  ---
62
62
 
@@ -64,10 +64,10 @@
64
64
 
65
65
  | 页面 | 完整链接 | 功能说明 |
66
66
  |------|----------|----------|
67
- | 内容规划 | `https://www.siluzan.com/v3/foreign_trade/cso/planning` | AI 内容规划列表、生成规划、企业维度筛选(对应 CLI `planning`) |
68
- | 营销首页 | `https://www.siluzan.com/v3/foreign_trade/cso/ContentHome` | 工作台总览:账号数、视频数、最新评论与视频 |
67
+ | 内容规划 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/planning` | AI 内容规划列表、生成规划、企业维度筛选(对应 CLI `planning`) |
68
+ | 营销首页 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/ContentHome` | 工作台总览:账号数、视频数、最新评论与视频 |
69
69
 
70
- | 话题组 | `https://www.siluzan.com/v3/foreign_trade/cso/TopicGroup` | 话题组维护、话题内容管理 |
70
+ | 话题组 | `https://www-ci.siluzan.com/v3/foreign_trade/cso/TopicGroup` | 话题组维护、话题内容管理 |
71
71
 
72
72
 
73
73
  ---
@@ -1,20 +1,25 @@
1
1
  #Requires -Version 5.1
2
2
  # =============================================================================
3
- # Siluzan Skill 一键安装脚本 (PowerShell)
4
- # 适用系统:Windows 10/11 (PowerShell 5.1+ PowerShell 7+)
5
- # 使用方式:irm https://skill.siluzan.com/install.ps1 | iex
3
+ # siluzan-cso-cli - One-click install script (PowerShell)
4
+ # Supported: Windows 10/11 (PowerShell 5.1+ or PowerShell 7+)
6
5
  # =============================================================================
7
6
 
8
7
  $ErrorActionPreference = 'Stop'
9
- [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
10
8
 
11
- # ── 常量 ─────────────────────────────────────────────────────────────────────
9
+ # -- Package info (injected at build time) ------------------------------------
10
+ $PKG_NAME = 'siluzan-cso-cli'
11
+ $CLI_BIN = 'siluzan-cso'
12
+ $SKILL_LABEL = 'Siluzan CSO'
13
+ $INSTALL_CMD = 'npm install -g siluzan-cso-cli@beta'
14
+ $PERMISSION_HINT = 'Assets + CSO (Content Publishing)'
15
+ $WEB_BASE = 'https://www-ci.siluzan.com'
16
+ $API_KEY_URL = "$WEB_BASE/v3/foreign_trade/settings/apiKeyManagement"
17
+
18
+ # -- Constants ----------------------------------------------------------------
12
19
  $NODE_MAJOR_MIN = 18
13
- $WEB_BASE = 'https://www.siluzan.com'
14
- $API_KEY_URL = "$WEB_BASE/v3/foreign_trade/settings/apiKeyManagement"
15
20
  $NPM_MIRROR = 'https://registry.npmmirror.com'
16
21
 
17
- # ── 辅助函数 ──────────────────────────────────────────────────────────────────
22
+ # -- Helpers ------------------------------------------------------------------
18
23
  function Write-Info { param([string]$Msg) Write-Host "[OK] $Msg" -ForegroundColor Green }
19
24
  function Write-Warn { param([string]$Msg) Write-Host "[!] $Msg" -ForegroundColor Yellow }
20
25
  function Write-Err { param([string]$Msg) Write-Host "[X] $Msg" -ForegroundColor Red }
@@ -32,7 +37,7 @@ function Refresh-Path {
32
37
  $env:Path = "$machinePath;$userPath"
33
38
  }
34
39
 
35
- # ── Node.js 版本检查 ─────────────────────────────────────────────────────────
40
+ # -- Node.js ------------------------------------------------------------------
36
41
  function Test-NodeVersion {
37
42
  try {
38
43
  $nodeCmd = Get-Command node -ErrorAction SilentlyContinue
@@ -49,15 +54,13 @@ function Get-NodeVersionString {
49
54
  try { return (node -v) } catch { return 'N/A' }
50
55
  }
51
56
 
52
- # ── Node.js 安装 ─────────────────────────────────────────────────────────────
53
57
  function Install-NodeJS {
54
58
  $hasWinget = $null -ne (Get-Command winget -ErrorAction SilentlyContinue)
55
-
56
59
  if ($hasWinget) {
57
- Write-Info "通过 winget 安装 Node.js LTS..."
60
+ Write-Info 'Installing Node.js LTS via winget...'
58
61
  winget install -e --id OpenJS.NodeJS.LTS --silent --accept-package-agreements --accept-source-agreements
59
62
  if ($LASTEXITCODE -ne 0) {
60
- Write-Warn "winget 安装返回非零状态,尝试备用方案..."
63
+ Write-Warn 'winget returned non-zero, trying fallback...'
61
64
  Install-NodeFallback
62
65
  return
63
66
  }
@@ -65,13 +68,10 @@ function Install-NodeJS {
65
68
  Install-NodeFallback
66
69
  return
67
70
  }
68
-
69
71
  Refresh-Path
70
-
71
72
  if (-not (Test-NodeVersion)) {
72
- Write-Warn "刷新 PATH 后仍未找到 Node.js,尝试定位安装目录..."
73
- $progFiles = $env:ProgramFiles
74
- $nodePath = "$progFiles\nodejs"
73
+ Write-Warn 'Node.js not found after PATH refresh, locating install dir...'
74
+ $nodePath = "$env:ProgramFiles\nodejs"
75
75
  if (Test-Path "$nodePath\node.exe") {
76
76
  $env:Path = "$nodePath;$env:Path"
77
77
  }
@@ -79,42 +79,41 @@ function Install-NodeJS {
79
79
  }
80
80
 
81
81
  function Install-NodeFallback {
82
- Write-Err "无法自动安装 Node.js"
82
+ Write-Err 'Cannot auto-install Node.js'
83
83
  Write-Host ''
84
- Write-Host " 请手动安装 Node.js:" -ForegroundColor Cyan
84
+ Write-Host ' Please install Node.js manually:' -ForegroundColor Cyan
85
85
  Write-Host ' https://nodejs.org/en/download/'
86
86
  Write-Host ''
87
- Write-Host " 安装完成后,重新打开 PowerShell 并再次运行本脚本。"
88
- throw "需要先安装 Node.js"
87
+ Write-Host ' After installation, reopen PowerShell and run this script again.'
88
+ throw 'Node.js is required'
89
89
  }
90
90
 
91
- # ── 主流程 ────────────────────────────────────────────────────────────────────
91
+ # -- Main ---------------------------------------------------------------------
92
92
  function Main {
93
93
  Write-Host ''
94
94
  Write-Host '+---------------------------------------------+' -ForegroundColor White
95
- Write-Host '| Siluzan Skill 一键安装 |' -ForegroundColor White
95
+ Write-Host "| $SKILL_LABEL -- Install |" -ForegroundColor White
96
96
  Write-Host '+---------------------------------------------+' -ForegroundColor White
97
97
  Write-Host ''
98
98
 
99
- # ── 步骤 1:环境检查 ──
100
- Write-Step "步骤 1/5:环境检查"
99
+ # Step 1: Environment check
100
+ Write-Step 'Step 1/4: Environment check'
101
101
 
102
102
  if (Test-NodeVersion) {
103
- Write-Info "Node.js $(Get-NodeVersionString) 已安装"
103
+ Write-Info "Node.js $(Get-NodeVersionString) found"
104
104
  } else {
105
105
  $nodeCmd = Get-Command node -ErrorAction SilentlyContinue
106
106
  if ($nodeCmd) {
107
- Write-Warn "Node.js $(Get-NodeVersionString) 版本过低(需要 >= $NODE_MAJOR_MIN),即将升级..."
107
+ Write-Warn "Node.js $(Get-NodeVersionString) is too old (need >= $NODE_MAJOR_MIN), upgrading..."
108
108
  } else {
109
- Write-Warn "未检测到 Node.js,即将自动安装..."
109
+ Write-Warn 'Node.js not found, installing...'
110
110
  }
111
111
  Install-NodeJS
112
-
113
112
  if (-not (Test-NodeVersion)) {
114
- Write-Err "Node.js 安装失败,请手动安装:https://nodejs.org/"
113
+ Write-Err 'Node.js installation failed. Please install manually: https://nodejs.org/'
115
114
  return
116
115
  }
117
- Write-Info "Node.js $(Get-NodeVersionString) 安装成功"
116
+ Write-Info "Node.js $(Get-NodeVersionString) installed"
118
117
  }
119
118
 
120
119
  $npmCmd = Get-Command npm -ErrorAction SilentlyContinue
@@ -123,131 +122,77 @@ function Main {
123
122
  $npmCmd = Get-Command npm -ErrorAction SilentlyContinue
124
123
  }
125
124
  if (-not $npmCmd) {
126
- Write-Err "未找到 npm(Node.js 安装可能不完整)"
125
+ Write-Err 'npm not found (Node.js installation may be incomplete)'
127
126
  return
128
127
  }
129
- Write-Info "npm 就绪"
128
+ Write-Info 'npm ready'
130
129
 
131
- # 切换 npm 源到国内镜像(加速下载)
132
130
  $currentRegistry = ''
133
131
  try { $currentRegistry = (npm config get registry 2>$null).Trim() } catch {}
134
132
  if ($currentRegistry -ne $NPM_MIRROR -and $currentRegistry -ne "$NPM_MIRROR/") {
135
- Write-Info "切换 npm registry 国内镜像(npmmirror.com)加速下载..."
133
+ Write-Info 'Switching npm registry to China mirror for faster downloads...'
136
134
  npm config set registry $NPM_MIRROR
137
- Write-Info "npm registry 已设置为 $NPM_MIRROR"
135
+ Write-Info "npm registry set to $NPM_MIRROR"
138
136
  } else {
139
- Write-Info "npm registry 已是国内镜像"
137
+ Write-Info 'npm registry already set to China mirror'
140
138
  }
141
139
 
142
- # ── 步骤 2:选择 Skill ──
143
- Write-Step "步骤 2/5:选择 Skill"
144
- Write-Host " 1) CSO — 内容发布(视频/图文 → 抖音/视频号/YouTube/TikTok 等)"
145
- Write-Host " 2) TSO — 广告管理(查账户/余额/消耗/充值/开户/MCC 等)"
146
- Write-Host " 3) 两者都安装"
147
- Write-Host ''
148
- $skillChoice = Read-Input " 请选择 [1/2/3,默认 3]: "
149
- if ([string]::IsNullOrWhiteSpace($skillChoice)) { $skillChoice = '3' }
150
-
151
- $installCso = $false
152
- $installTso = $false
153
- switch ($skillChoice) {
154
- '1' { $installCso = $true }
155
- '2' { $installTso = $true }
156
- default { $installCso = $true; $installTso = $true }
157
- }
140
+ # Step 2: Install CLI
141
+ Write-Step "Step 2/4: Install $PKG_NAME"
158
142
 
159
- # ── 步骤 3:安装 CLI + 全局注册 Skill ──
160
- Write-Step "步骤 3/5:安装 CLI 并注册 Skill 到所有 AI 平台"
143
+ Write-Info "Running: $INSTALL_CMD"
144
+ Invoke-Expression $INSTALL_CMD
145
+ if ($LASTEXITCODE -ne 0) { Write-Err "$INSTALL_CMD failed"; return }
146
+ Write-Info "$PKG_NAME installed"
161
147
 
162
- if ($installCso) {
163
- Write-Info "安装 siluzan-cso-cli..."
164
- npm install -g siluzan-cso-cli
165
- if ($LASTEXITCODE -ne 0) { Write-Err "安装 siluzan-cso-cli 失败"; return }
166
- Write-Info "注册 CSO Skill 到所有平台全局目录..."
167
- siluzan-cso init --global --force
168
- }
169
-
170
- if ($installTso) {
171
- Write-Info "安装 siluzan-tso-cli..."
172
- npm install -g siluzan-tso-cli
173
- if ($LASTEXITCODE -ne 0) { Write-Err "安装 siluzan-tso-cli 失败"; return }
174
- Write-Info "注册 TSO Skill 到所有平台全局目录..."
175
- siluzan-tso init --global --force
176
- }
148
+ Write-Info 'Registering Skill to all AI platform global directories...'
149
+ Invoke-Expression "$CLI_BIN init --global --force"
177
150
 
178
- # ── 步骤 4:打开浏览器引导创建 API Key ──
179
- Write-Step "步骤 4/5:配置 API Key"
151
+ # Step 3: Configure API Key
152
+ Write-Step 'Step 3/4: Configure API Key'
180
153
  Write-Host ''
181
- Write-Host " 即将打开 API Key 管理页面,请在浏览器中:"
182
- Write-Host " 注册 / 登录 Siluzan 账号"
183
- Write-Host " 点击「新建 API Key"
184
-
185
- if ($installCso -and $installTso) {
186
- Write-Host " ③ 勾选权限:素材、CSO(素材中心服务)和 TSO(广告投放服务)"
187
- } elseif ($installCso) {
188
- Write-Host " ③ 勾选权限:素材、CSO(素材中心服务)"
189
- } else {
190
- Write-Host " ③ 勾选权限:素材、TSO(广告投放服务)"
191
- }
192
- Write-Host " ④ 复制生成的 API Key"
154
+ Write-Host ' Opening the API Key management page. In your browser:'
155
+ Write-Host ' 1. Sign up / Log in to your Siluzan account'
156
+ Write-Host " 2. Click 'Create API Key'"
157
+ Write-Host " 3. Select permissions: $PERMISSION_HINT"
158
+ Write-Host ' 4. Copy the generated API Key'
193
159
  Write-Host ''
194
160
 
195
161
  try {
196
162
  Start-Process $API_KEY_URL
197
- Write-Info "已在浏览器中打开 API Key 管理页面"
163
+ Write-Info 'API Key management page opened in browser'
198
164
  } catch {
199
- Write-Warn "无法自动打开浏览器,请手动访问:"
165
+ Write-Warn 'Could not open browser automatically. Please visit:'
200
166
  Write-Host " $API_KEY_URL" -ForegroundColor Cyan
201
167
  }
202
168
 
203
169
  Write-Host ''
204
- $apiKey = Read-Input " 粘贴 API Key(直接回车跳过): "
170
+ $apiKey = Read-Input ' Paste API Key (press Enter to skip): '
205
171
 
206
172
  if (-not [string]::IsNullOrWhiteSpace($apiKey)) {
207
- if ($installCso) {
208
- siluzan-cso login --api-key $apiKey
209
- }
210
- if ($installTso) {
211
- siluzan-tso login --api-key $apiKey
212
- }
213
- Write-Info "API Key 已保存到 ~/.siluzan/config.json"
173
+ Invoke-Expression "$CLI_BIN login --api-key $apiKey"
174
+ Write-Info 'API Key saved to ~/.siluzan/config.json'
214
175
  } else {
215
176
  Write-Host ''
216
- Write-Warn "已跳过 API Key 配置,后续可通过以下方式设置:"
217
- Write-Host " 方式 1:siluzan-cso login --api-key YOUR_API_KEY"
218
- Write-Host " 方式 2:`$env:SILUZAN_API_KEY = 'YOUR_API_KEY'"
177
+ Write-Warn 'API Key configuration skipped. You can set it later:'
178
+ Write-Host " Option 1: $CLI_BIN login --api-key YOUR_API_KEY"
179
+ Write-Host ' Option 2: $env:SILUZAN_API_KEY = ''YOUR_API_KEY'''
219
180
  }
220
181
 
221
- # ── 步骤 5:完成 ──
222
- Write-Step "步骤 5/5:安装完成"
182
+ # Step 4: Done
183
+ Write-Step 'Step 4/4: Complete'
223
184
  Write-Host ''
224
- Write-Host " Siluzan Skill 安装成功!" -ForegroundColor Green
185
+ Write-Host " $SKILL_LABEL installed successfully!" -ForegroundColor Green
225
186
  Write-Host ''
226
- Write-Host " 已安装到以下全局 Skill 目录(所有 AI 助手通用):"
187
+ Write-Host ' Skill registered to these global directories (all AI assistants):'
227
188
  Write-Host ' ~/.cursor/skills/ ~/.claude/skills/ ~/.agents/skills/' -ForegroundColor DarkGray
228
189
  Write-Host ' ~/.gemini/skills/ ~/.codex/skills/ ~/.kilo/skills/' -ForegroundColor DarkGray
229
190
  Write-Host ' ~/.codeium/windsurf/skills/ ~/.config/opencode/skills/' -ForegroundColor DarkGray
230
191
  Write-Host ' ~/.openclaw/skills/ ~/.workbuddy/skills/' -ForegroundColor DarkGray
231
192
  Write-Host ''
232
- Write-Host " 常用命令:"
233
- if ($installCso) {
234
- Write-Host " siluzan-cso list-accounts # 查看媒体账号"
235
- Write-Host " siluzan-cso publish --help # 发布内容"
236
- }
237
- if ($installTso) {
238
- Write-Host " siluzan-tso list-accounts # 查看广告账户"
239
- Write-Host " siluzan-tso balance --help # 查询余额"
240
- }
241
- Write-Host ''
242
- Write-Host " 更新 CLI 与 Skill 文件:"
243
- if ($installCso) {
244
- Write-Host " siluzan-cso update"
245
- }
246
- if ($installTso) {
247
- Write-Host " siluzan-tso update"
248
- }
193
+ Write-Host " Update CLI & Skill files: $CLI_BIN update"
249
194
  Write-Host ''
250
- Write-Info "如遇问题请查看 $WEB_BASE 或联系支持"
195
+ Write-Info "Need help? Visit $WEB_BASE"
251
196
  Write-Host ''
252
197
  }
253
198
 
@@ -1,40 +1,33 @@
1
1
  #!/usr/bin/env bash
2
2
  # =============================================================================
3
- # Siluzan Skill 一键安装脚本
4
- # 支持系统:macOSLinuxWindows (Git Bash / WSL)
5
- # 使用方式:bash <(curl -fsSL https://skill.siluzan.com/install.sh)
3
+ # siluzan-cso-cli - One-click install script
4
+ # Supported: macOS, Linux, Windows (WSL)
6
5
  # =============================================================================
7
6
 
8
7
  set -euo pipefail
9
8
 
10
- # ── 常量 ─────────────────────────────────────────────────────────────────────
11
- RED='\033[0;31m'
12
- GREEN='\033[0;32m'
13
- YELLOW='\033[1;33m'
14
- CYAN='\033[0;36m'
15
- BOLD='\033[1m'
16
- DIM='\033[2m'
17
- NC='\033[0m'
9
+ # -- Package info (injected at build time) ------------------------------------
10
+ readonly PKG_NAME="siluzan-cso-cli"
11
+ readonly CLI_BIN="siluzan-cso"
12
+ readonly SKILL_LABEL="Siluzan CSO"
13
+ readonly INSTALL_CMD="npm install -g siluzan-cso-cli@beta"
14
+ readonly PERMISSION_HINT="Assets + CSO (Content Publishing)"
15
+ readonly WEB_BASE="https://www-ci.siluzan.com"
16
+ readonly API_KEY_URL="${WEB_BASE}/v3/foreign_trade/settings/apiKeyManagement"
18
17
 
18
+ # -- Constants ----------------------------------------------------------------
19
19
  readonly NODE_MAJOR_MIN=18
20
- readonly WEB_BASE="https://www.siluzan.com"
21
- readonly API_KEY_URL="${WEB_BASE}/v3/foreign_trade/settings/apiKeyManagement"
22
20
  readonly NPM_MIRROR="https://registry.npmmirror.com"
23
21
 
24
- # ── 辅助函数 ──────────────────────────────────────────────────────────────────
25
- info() { printf "${GREEN}[✓]${NC} %s\n" "$1"; }
26
- warn() { printf "${YELLOW}[!]${NC} %s\n" "$1"; }
27
- error() { printf "${RED}[✗]${NC} %s\n" "$1" >&2; }
28
- step() { printf "\n${BOLD}── 步骤 %s ──${NC}\n" "$1"; }
22
+ RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
23
+ CYAN='\033[0;36m'; BOLD='\033[1m'; DIM='\033[2m'; NC='\033[0m'
29
24
 
30
- read_input() {
31
- local prompt="$1" val=""
32
- printf "%s" "$prompt"
33
- read -r val < /dev/tty 2>/dev/null || read -r val
34
- echo "$val"
35
- }
25
+ info() { printf "${GREEN}[OK]${NC} %s\n" "$1"; }
26
+ warn() { printf "${YELLOW}[!]${NC} %s\n" "$1"; }
27
+ error() { printf "${RED}[X]${NC} %s\n" "$1" >&2; }
28
+ step() { printf "\n${BOLD}-- %s --${NC}\n" "$1"; }
36
29
 
37
- # ── 检测操作系统 ──────────────────────────────────────────────────────────────
30
+ # -- Detect OS ----------------------------------------------------------------
38
31
  detect_os() {
39
32
  local uname_out
40
33
  uname_out=$(uname -s 2>/dev/null || echo "Unknown")
@@ -46,10 +39,9 @@ detect_os() {
46
39
  esac
47
40
  }
48
41
 
49
- # ── 打开浏览器 ───────────────────────────────────────────────────────────────
42
+ # -- Open URL in browser ------------------------------------------------------
50
43
  open_url() {
51
- local url="$1"
52
- local os_type
44
+ local url="$1" os_type
53
45
  os_type=$(detect_os)
54
46
  case "$os_type" in
55
47
  macos) open "$url" 2>/dev/null && return 0 ;;
@@ -59,94 +51,85 @@ open_url() {
59
51
  return 1
60
52
  }
61
53
 
62
- # ── Node.js 安装 ─────────────────────────────────────────────────────────────
54
+ # -- Node.js ------------------------------------------------------------------
63
55
  node_version_ok() {
64
- if ! command -v node >/dev/null 2>&1; then
65
- return 1
66
- fi
67
- local version major
68
- version=$(node -v | tr -d 'v')
69
- major=$(echo "$version" | cut -d. -f1)
56
+ command -v node >/dev/null 2>&1 || return 1
57
+ local major
58
+ major=$(node -v | tr -d 'v' | cut -d. -f1)
70
59
  [ "$major" -ge "$NODE_MAJOR_MIN" ]
71
60
  }
72
61
 
73
62
  install_node() {
74
63
  local os_type
75
64
  os_type=$(detect_os)
76
-
77
65
  case "$os_type" in
78
66
  macos)
79
67
  if command -v brew >/dev/null 2>&1; then
80
- info "通过 Homebrew 安装 Node.js LTS..."
68
+ info "Installing Node.js LTS via Homebrew..."
81
69
  brew install node@22
82
70
  brew link --overwrite node@22 2>/dev/null || true
83
71
  else
84
- info "通过 install-node.vercel.app 安装 Node.js LTS..."
72
+ info "Installing Node.js LTS via install-node.vercel.app..."
85
73
  curl -fsSL https://install-node.vercel.app/lts | bash -s -- --yes
86
74
  fi
87
75
  ;;
88
76
  linux)
89
77
  if command -v apt-get >/dev/null 2>&1; then
90
- info "通过 NodeSource 安装 Node.js 22.x (apt)..."
78
+ info "Installing Node.js 22.x via NodeSource (apt)..."
91
79
  curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
92
80
  sudo apt-get install -y nodejs
93
81
  elif command -v yum >/dev/null 2>&1; then
94
- info "通过 NodeSource 安装 Node.js 22.x (yum)..."
82
+ info "Installing Node.js 22.x via NodeSource (yum)..."
95
83
  curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo -E bash -
96
84
  sudo yum install -y nodejs
97
85
  else
98
- info "通过 install-node.vercel.app 安装 Node.js LTS..."
86
+ info "Installing Node.js LTS via install-node.vercel.app..."
99
87
  curl -fsSL https://install-node.vercel.app/lts | bash -s -- --yes
100
88
  fi
101
89
  ;;
102
90
  gitbash)
103
- error "Git Bash 无法自动安装 Node.js。"
104
- echo ""
105
- echo " 请使用以下方式之一安装:"
106
- echo " 1. 在 PowerShell 中运行:irm https://skill.siluzan.com/install.ps1 | iex"
107
- echo " 2. 手动下载安装:https://nodejs.org/en/download/"
108
- echo ""
91
+ error "Cannot auto-install Node.js in Git Bash. Please use the PowerShell script or install manually."
92
+ echo " https://nodejs.org/en/download/"
109
93
  exit 1
110
94
  ;;
111
95
  *)
112
- error "不支持的系统,请手动安装 Node.js >= $NODE_MAJOR_MIN"
96
+ error "Unsupported OS. Please install Node.js >= ${NODE_MAJOR_MIN} manually:"
113
97
  echo " https://nodejs.org/en/download/"
114
98
  exit 1
115
99
  ;;
116
100
  esac
117
101
 
118
- # 刷新 PATH(某些安装方式需要)
119
102
  export PATH="$HOME/.local/bin:$HOME/.nodejs/bin:/usr/local/bin:$PATH"
120
103
  hash -r 2>/dev/null || true
121
104
 
122
105
  if ! node_version_ok; then
123
- error "Node.js 安装似乎未成功,请手动安装后重试"
106
+ error "Node.js installation failed. Please install manually:"
124
107
  echo " https://nodejs.org/en/download/"
125
108
  exit 1
126
109
  fi
127
110
  }
128
111
 
129
- # ── 主流程 ────────────────────────────────────────────────────────────────────
112
+ # -- Main ---------------------------------------------------------------------
130
113
  main() {
131
114
  echo ""
132
- echo -e "${BOLD}╭─────────────────────────────────────────────╮${NC}"
133
- echo -e "${BOLD}│ Siluzan Skill 一键安装 │${NC}"
134
- echo -e "${BOLD}╰─────────────────────────────────────────────╯${NC}"
115
+ echo -e "${BOLD}+---------------------------------------------+${NC}"
116
+ echo -e "${BOLD}| ${SKILL_LABEL} -- Install |${NC}"
117
+ echo -e "${BOLD}+---------------------------------------------+${NC}"
135
118
  echo ""
136
119
 
137
- # ── 步骤 1:环境检查与 Node.js 安装 ──
138
- step "1/5:环境检查"
120
+ # Step 1: Environment check
121
+ step "Step 1/4: Environment check"
139
122
 
140
123
  if node_version_ok; then
141
- info "Node.js $(node -v) 已安装"
124
+ info "Node.js $(node -v) found"
142
125
  else
143
126
  if command -v node >/dev/null 2>&1; then
144
- warn "Node.js $(node -v) 版本过低(需要 >= ${NODE_MAJOR_MIN}),即将升级..."
127
+ warn "Node.js $(node -v) is too old (need >= ${NODE_MAJOR_MIN}), upgrading..."
145
128
  else
146
- warn "未检测到 Node.js,即将自动安装..."
129
+ warn "Node.js not found, installing..."
147
130
  fi
148
131
  install_node
149
- info "Node.js $(node -v) 安装成功"
132
+ info "Node.js $(node -v) installed"
150
133
  fi
151
134
 
152
135
  if command -v pnpm >/dev/null 2>&1; then
@@ -154,120 +137,77 @@ main() {
154
137
  elif command -v npm >/dev/null 2>&1; then
155
138
  PKG_MANAGER="npm"
156
139
  else
157
- error "npm 未找到(Node.js 安装可能不完整)"
140
+ error "npm not found (Node.js installation may be incomplete)"
158
141
  exit 1
159
142
  fi
160
- info "$PKG_MANAGER 就绪"
143
+ info "$PKG_MANAGER ready"
161
144
 
162
- # 切换 npm 源到国内镜像(加速下载)
163
145
  local current_registry
164
146
  current_registry=$(npm config get registry 2>/dev/null || echo "")
165
147
  if [ "$current_registry" != "$NPM_MIRROR" ] && [ "$current_registry" != "${NPM_MIRROR}/" ]; then
166
- info "切换 npm registry 国内镜像(npmmirror.com)加速下载..."
148
+ info "Switching npm registry to China mirror for faster downloads..."
167
149
  npm config set registry "$NPM_MIRROR"
168
- info "npm registry 已设置为 $NPM_MIRROR"
150
+ info "npm registry set to $NPM_MIRROR"
169
151
  else
170
- info "npm registry 已是国内镜像"
152
+ info "npm registry already set to China mirror"
171
153
  fi
172
154
 
173
- # ── 步骤 2:选择要安装的 Skill ──
174
- step "2/5:选择 Skill"
175
- echo " 1) CSO — 内容发布(视频/图文 → 抖音/视频号/YouTube/TikTok 等)"
176
- echo " 2) TSO — 广告管理(查账户/余额/消耗/充值/开户/MCC 等)"
177
- echo " 3) 两者都安装"
178
- echo ""
179
- local skill_choice
180
- skill_choice=$(read_input " 请选择 [1/2/3,默认 3]: ")
181
- : "${skill_choice:=3}"
182
-
183
- local install_cso=0 install_tso=0
184
- case "$skill_choice" in
185
- 1) install_cso=1 ;;
186
- 2) install_tso=1 ;;
187
- *) install_cso=1; install_tso=1 ;;
188
- esac
155
+ # Step 2: Install CLI
156
+ step "Step 2/4: Install ${PKG_NAME}"
189
157
 
190
- # ── 步骤 3:安装 CLI 并全局注册 Skill ──
191
- step "3/5:安装 CLI 并注册 Skill 到所有 AI 平台"
158
+ info "Running: ${INSTALL_CMD}"
159
+ $PKG_MANAGER install -g ${PKG_NAME}$(echo "${INSTALL_CMD}" | grep -o '@[^ ]*' || true)
160
+ info "${PKG_NAME} installed"
192
161
 
193
- if [ "$install_cso" -eq 1 ]; then
194
- info "安装 siluzan-cso-cli..."
195
- $PKG_MANAGER install -g siluzan-cso-cli
196
- info "注册 CSO Skill 到所有平台全局目录..."
197
- siluzan-cso init --global --force
198
- fi
162
+ info "Registering Skill to all AI platform global directories..."
163
+ ${CLI_BIN} init --global --force
199
164
 
200
- if [ "$install_tso" -eq 1 ]; then
201
- info "安装 siluzan-tso-cli..."
202
- $PKG_MANAGER install -g siluzan-tso-cli
203
- info "注册 TSO Skill 到所有平台全局目录..."
204
- siluzan-tso init --global --force
205
- fi
206
-
207
- # ── 步骤 4:打开浏览器并引导创建 API Key ──
208
- step "4/5:配置 API Key"
165
+ # Step 3: Configure API Key
166
+ step "Step 3/4: Configure API Key"
209
167
  echo ""
210
- echo " 即将打开 API Key 管理页面,请在浏览器中:"
211
- echo " 注册 / 登录 Siluzan 账号"
212
- echo " 点击「新建 API Key"
213
- if [ "$install_cso" -eq 1 ] && [ "$install_tso" -eq 1 ]; then
214
- echo " 勾选权限:素材、CSO(素材中心服务)和 TSO(广告投放服务)"
215
- elif [ "$install_cso" -eq 1 ]; then
216
- echo " ③ 勾选权限:素材、CSO(素材中心服务)"
217
- else
218
- echo " ③ 勾选权限:素材、TSO(广告投放服务)"
219
- fi
220
- echo " ④ 复制生成的 API Key"
168
+ echo " Opening the API Key management page. In your browser:"
169
+ echo " 1. Sign up / Log in to your Siluzan account"
170
+ echo " 2. Click 'Create API Key'"
171
+ echo " 3. Select permissions: ${PERMISSION_HINT}"
172
+ echo " 4. Copy the generated API Key"
221
173
  echo ""
222
174
 
223
175
  if ! open_url "$API_KEY_URL"; then
224
- warn "无法自动打开浏览器,请手动访问:"
176
+ warn "Could not open browser automatically. Please visit:"
225
177
  echo -e " ${CYAN}${API_KEY_URL}${NC}"
226
178
  else
227
- info "已在浏览器中打开 API Key 管理页面"
179
+ info "API Key management page opened in browser"
228
180
  fi
229
181
 
230
182
  echo ""
231
- local api_key
232
- api_key=$(read_input " 粘贴 API Key(直接回车跳过): ")
183
+ printf " Paste API Key (press Enter to skip): "
184
+ local api_key=""
185
+ read -r api_key < /dev/tty 2>/dev/null || read -r api_key
233
186
 
234
187
  if [ -n "$api_key" ]; then
235
- if [ "$install_cso" -eq 1 ]; then
236
- siluzan-cso login --api-key "$api_key"
237
- fi
238
- if [ "$install_tso" -eq 1 ]; then
239
- siluzan-tso login --api-key "$api_key"
240
- fi
241
- info "API Key 已保存到 ~/.siluzan/config.json"
188
+ ${CLI_BIN} login --api-key "$api_key"
189
+ info "API Key saved to ~/.siluzan/config.json"
242
190
  else
243
191
  echo ""
244
- warn "已跳过 API Key 配置,后续可通过以下方式设置:"
245
- echo " 方式 1:siluzan-cso login --api-key <YOUR_API_KEY>"
246
- echo " 方式 2export SILUZAN_API_KEY=<YOUR_API_KEY>"
192
+ warn "API Key configuration skipped. You can set it later:"
193
+ echo " Option 1: ${CLI_BIN} login --api-key YOUR_API_KEY"
194
+ echo " Option 2: export SILUZAN_API_KEY=YOUR_API_KEY"
247
195
  fi
248
196
 
249
- # ── 步骤 5:完成 ──
250
- step "5/5:安装完成"
197
+ # Step 4: Done
198
+ step "Step 4/4: Complete"
251
199
  echo ""
252
- echo -e " ${GREEN} Siluzan Skill 安装成功!${NC}"
200
+ echo -e " ${GREEN}${SKILL_LABEL} installed successfully!${NC}"
253
201
  echo ""
254
- echo " 已安装到以下全局 Skill 目录(所有 AI 助手通用):"
202
+ echo " Skill registered to these global directories (all AI assistants):"
255
203
  echo -e " ${DIM}~/.cursor/skills/ ~/.claude/skills/ ~/.agents/skills/"
256
204
  echo -e " ~/.gemini/skills/ ~/.codex/skills/ ~/.kilo/skills/"
257
- echo -e " ~/.windsurf/skills/ (via ~/.codeium/) ~/.opencode/skills/"
205
+ echo -e " ~/.codeium/windsurf/skills/ ~/.config/opencode/skills/"
258
206
  echo -e " ~/.openclaw/skills/ ~/.workbuddy/skills/${NC}"
259
207
  echo ""
260
- echo " 常用命令:"
261
- [ "$install_cso" -eq 1 ] && echo " siluzan-cso list-accounts # 查看媒体账号"
262
- [ "$install_cso" -eq 1 ] && echo " siluzan-cso publish --help # 发布内容"
263
- [ "$install_tso" -eq 1 ] && echo " siluzan-tso list-accounts # 查看广告账户"
264
- [ "$install_tso" -eq 1 ] && echo " siluzan-tso balance --help # 查询余额"
265
- echo ""
266
- echo " 更新 CLI 与 Skill 文件:"
267
- [ "$install_cso" -eq 1 ] && echo " siluzan-cso update"
268
- [ "$install_tso" -eq 1 ] && echo " siluzan-tso update"
208
+ echo " Update CLI & Skill files: ${CLI_BIN} update"
269
209
  echo ""
270
- info "如遇问题请查看 ${WEB_BASE} 或联系支持"
210
+ info "Need help? Visit ${WEB_BASE}"
271
211
  echo ""
272
212
  }
273
213
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "siluzan-cso-cli",
3
- "version": "1.1.10",
3
+ "version": "1.1.11-beta.2",
4
4
  "description": "Siluzan platform AI Skill CLI — multi-platform content publishing (video/image-text) for Cursor, Claude Code, and OpenClaw.",
5
5
  "type": "module",
6
6
  "bin": {