@viceme-ai/cli 0.18.0 → 0.19.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.19.0] - 2026-08-31
4
+
5
+ ### Features
6
+
7
+ - 实现玩法一发布与购买闭环 (#147) (`7b07940`)
8
+ - 适配新版网站关注与付费接入 (`b3d0cd0`)
9
+ - 迁移至 Work 互动资源图 (#152) (`f04807e`)
10
+ - 适配商品蓝图购买 Skill (#140) (`51fe94c`)
11
+ - 恢复创作者访问接入 (`39f0e4a`)
12
+
13
+ ### Fixes
14
+
15
+ - 修复付费访问配置保留 (`fcdb9c6`)
16
+ - 接受网站应用商品绑定 (`552ce61`)
17
+ - 更新无语言前缀的授权地址 (`b8d0aad`)
18
+
19
+ ### Other Changes
20
+
21
+ - 收敛网站访问配置入口 (`7340f57`)
22
+
3
23
  ## [0.18.0] - 2026-08-27
4
24
 
5
25
  ### Features
package/README.md CHANGED
@@ -39,9 +39,8 @@
39
39
  | Capability | What ViceMe provides |
40
40
  | --- | --- |
41
41
  | Publish a Skill | Validate a local Skill directory or ZIP, set a CNY price, upload it, review platform suggestions, and publish a paid listing. |
42
- | Publish a website | Register a creator website with a stable Work identity, optional URL, bilingual descriptions, and cover. |
43
- | Add creator access | Add host-native login, follow gates, and independently priced one-time feature access. |
44
- | Add website engagement | Create a creator-owned public danmaku Work, bind a tip-enabled Creator App, and install the CLI-generated hosted script. |
42
+ | Publish a website | Register and DNS-verify a creator website with a stable Website Work identity. |
43
+ | Add website engagement | Enable hosted danmaku and tips with Work SDK access, an Origin-bound Website Widget, and the official loader. |
45
44
  | Set up an Agent | Install, authenticate, update, diagnose, and repair the CLI and official Skills as one compatible release. |
46
45
  | Recover safely | Continue the same publication after a network or process interruption without uploading a duplicate product. |
47
46
 
@@ -89,8 +88,13 @@ viceme auth status
89
88
  # Sign in only when auth status reports unauthenticated.
90
89
  viceme auth login
91
90
 
91
+ # Confirm the MerchantAccountMember(OWNER) authority used for publication.
92
+ viceme merchant accounts
93
+
92
94
  # Upload the real private draft and open its Owner Preview before pricing.
93
95
  viceme skill publish --path ./my-skill
96
+ # With multiple active Merchant accounts, select the confirmed account:
97
+ # viceme skill publish --path ./my-skill --merchant <merchant-account-id>
94
98
 
95
99
  # Continue the same unpriced draft and upload media candidates.
96
100
  viceme skill publish --resume <publication-id>
@@ -162,11 +166,8 @@ Select a target explicitly with `viceme install --agent codex`, `claude`,
162
166
  | Skill | Use it when you want to... |
163
167
  | --- | --- |
164
168
  | `viceme-shared` | install ViceMe, sign in through the browser, manage Profiles, update, diagnose, or repair the local setup. |
165
- | `viceme-publish` | publish a local Skill directory, ZIP, or creator website while preserving its stable work identity. |
166
- | `viceme-access` | integrate host-native login, follow, and one-time purchase entry points without changing the website's original action. |
167
- | `viceme-danmaku` | create a public danmaku Work and install the CLI-generated hosted SDK snippet. |
168
- | `viceme-tip` | sign in, bind a creator work and verified domain, and add the hosted ViceMe tip checkout to one HTML page. |
169
- | `viceme-engagement` | create hosted danmaku, bind tips, and install one authoritative combined engagement script. |
169
+ | `viceme-publish` | publish a downloadable Skill, creator website Work, or an owned Merchant service or physical-product definition with its optional public Product and generated purchase Skill. |
170
+ | `viceme-tip` | verify a Website Work, activate an Origin-bound Website Widget, and add hosted tips to one page. |
170
171
 
171
172
  The Agent Skills own the conversational workflow and approval rules. The CLI
172
173
  owns deterministic local work and API calls. This separation lets an Agent
@@ -228,7 +229,7 @@ viceme auth login
228
229
  ```
229
230
 
230
231
  `VICEME_API_BASE_URL` is an API-only one-process CI/debug override, not Profile
231
- state. Persistent login and website embed generation are disabled while it is set.
232
+ state. Persistent login is disabled while it is set.
232
233
  Remote custom endpoints require HTTPS; only localhost and loopback development
233
234
  may use HTTP. Credentials are isolated by Profile authority, and an Agent
234
235
  must never switch to another Profile merely because it is already signed in.
@@ -247,17 +248,12 @@ Never copy an access token into the conversation.
247
248
  | `viceme version` | Show the CLI and bundled Skill versions. |
248
249
  | `viceme doctor` | Check the CLI, active Profile, credentials, API readiness, and installed official Skills. |
249
250
  | `viceme auth status` | Show whether the active Profile is signed in. |
250
- | `viceme website publish --path <dir> --name <name> [--url <url>] [--description-zh-cn ...] [--description-en-us ...] [--cover <image>]` | Publish or update a website while preserving `.viceme/website.json` as its stable identity. |
251
- | `viceme access init --website <dir> [--name <name>] [--follow key] [--purchase key --price-minor fen]...` | Configure follow and independently priced access for an explicitly published website. |
252
- | `viceme access init --name <name> --danmaku` | Create and activate a creator-owned public hosted danmaku Work. |
253
- | `viceme access inspect` / `viceme access apply` | Inspect or explicitly reconcile the Profile-bound capability config. |
254
- | `viceme creator-app show <app-id> --work-key <work-key> --locale <locale>` | Validate both owned resources and emit the authoritative combined engagement snippet for the selected `zh-CN` or `en-US` page locale. |
255
251
  | `viceme profile list` | Show Profiles and their API, Web, and market authorities. |
256
252
  | `viceme skill inspect --path <path>` | Validate a local Skill without side effects. |
257
253
  | `viceme skill listing prepare --path <path>` | Create or recover the stable private owner preview and persist the local binding. |
258
254
  | `viceme skill listing get <listing-id>` | Read the authoritative private Listing state. |
259
255
  | `viceme skill listing bind <listing-id> --path <path>` | Explicitly bind a source to a selected owned Listing. |
260
- | `viceme skill publish --path <path>` | Upload the real private package and return its Owner Preview before pricing. |
256
+ | `viceme skill publish --path <path> [--merchant <id>]` | Freeze the selected owned Merchant, upload the real private package, and return its Owner Preview before pricing. The flag is required only when multiple active Merchants exist. |
261
257
  | `viceme skill publish --resume <id>` | Continue the same unpriced Draft and upload media candidates without starting a platform model. |
262
258
  | `viceme publication review <id>` | Read the authoritative bilingual copy, price, selected media, and review state. |
263
259
  | `viceme publication suggest <id> --input ...` | Apply Agent-generated bilingual copy and media with Draft revision protection. |
@@ -269,6 +265,13 @@ Never copy an access token into the conversation.
269
265
  | `viceme publication confirm ...` | Confirm the exact current review digest. |
270
266
  | `viceme publication publish ...` | Make a confirmed listing public. |
271
267
  | `viceme update` | Update the CLI and matching official Skills together. |
268
+ | `viceme merchant accounts` | List ordinary MerchantAccounts where the current User is the OWNER member. |
269
+ | `viceme merchant work ...` | Create, inspect, update, and publish Merchant Works, including Website Works. |
270
+ | `viceme merchant work website-verification ...` | Create, inspect, verify, or revoke DNS ownership for one Website Work. |
271
+ | `viceme merchant work sdk-access ...` | Create, inspect, update, list, or disable a Work's hosted, follow, and paid access. |
272
+ | `viceme merchant commerce-application ...` | Create, inspect, update, activate, or suspend an Origin-bound Website Widget application. |
273
+ | `viceme merchant product ...` | Create, compile, activate, suspend, or archive Products and their generated purchase Skills. |
274
+ | `viceme commerce ...` | Install and run a signed purchase Skill through session, quote, payment order, and same-session status commands. |
272
275
 
273
276
  Run `viceme <command> --help` for the full flags and JSON fields.
274
277
 
package/README.zh.md CHANGED
@@ -35,9 +35,8 @@
35
35
  | 能力 | ViceMe 提供的内容 |
36
36
  | --- | --- |
37
37
  | 发布 Skill | 校验本地 Skill 目录或 ZIP、设置人民币价格、上传、审核平台建议,并发布付费商品。 |
38
- | 发布网站 | 使用稳定 Work 身份登记创作者网站,并可附带网址、双语描述和封面。 |
39
- | 接入创作者访问 | 在原站接入登录、关注门槛和按功能独立定价的一次性访问权限。 |
40
- | 接入网站互动 | 创建创作者自有的公开弹幕 Work,绑定支持赞赏的 Creator App,并安装 CLI 生成的托管脚本。 |
38
+ | 发布网站 | 使用稳定 Website Work 身份登记创作者网站并完成 DNS 所有权验证。 |
39
+ | 接入网站互动 | 通过 Work SDK access、绑定 Origin 的 Website Widget 与官方 loader 接入托管弹幕和赞赏。 |
41
40
  | 配置 Agent | 把 CLI 与官方 Skills 作为同一个兼容版本安装、登录、更新、诊断和修复。 |
42
41
  | 安全恢复 | 网络或进程中断后继续原发布任务,不重复上传和创建商品。 |
43
42
 
@@ -152,11 +151,8 @@ npx --yes @viceme-ai/cli@latest install
152
151
  | Skill | 适用场景 |
153
152
  | --- | --- |
154
153
  | `viceme-shared` | 安装 ViceMe、通过浏览器登录、管理 Profile、更新、诊断或修复本地环境。 |
155
- | `viceme-publish` | 发布本地 Skill 目录、ZIP 或创作者网站,并维护稳定作品身份。 |
156
- | `viceme-access` | 在不改变原站业务动作的前提下,接入原生登录、关注和一次性购买入口。 |
157
- | `viceme-danmaku` | 创建公开弹幕 Work,并安装 CLI 生成的托管 SDK 片段。 |
158
- | `viceme-tip` | 完成登录、绑定创作者作品与验证域名,并把 ViceMe 托管赞赏接入一个 HTML 页面。 |
159
- | `viceme-engagement` | 创建托管弹幕、绑定赞赏,并安装唯一权威的组合交互脚本。 |
154
+ | `viceme-publish` | 发布可下载 Skill、创作者网站 Work,或把当前用户拥有的商家服务与实物定义引导为可选的公开 Product 和自动生成的购买 Skill。 |
155
+ | `viceme-tip` | 验证 Website Work、激活绑定 Origin 的 Website Widget,并把托管赞赏接入页面。 |
160
156
 
161
157
  Agent Skills 负责对话流程和授权规则;CLI 负责确定性本地操作与 API 调用。因此 Agent
162
158
  可以解释每一步决策,而相同的命令契约仍可在终端或自动化中复现。
@@ -211,7 +207,7 @@ viceme auth login
211
207
  ```
212
208
 
213
209
  `VICEME_API_BASE_URL` 只是 API-only 的单进程 CI / 调试覆盖,不是 Profile 状态;
214
- 设置时禁止持久化登录和生成网站嵌入片段。远程自定义
210
+ 设置时禁止持久化登录。远程自定义
215
211
  Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以使用 HTTP。
216
212
  凭据按完整 Profile authority 隔离;Agent 不能因为另一个 Profile 已登录就擅自切换。
217
213
 
@@ -227,11 +223,6 @@ Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以
227
223
  | `viceme version` | 显示 CLI 与随包 Skills 版本。 |
228
224
  | `viceme doctor` | 检查 CLI、当前 Profile、凭据、API readiness 和已安装官方 Skills。 |
229
225
  | `viceme auth status` | 显示当前 Profile 是否已登录。 |
230
- | `viceme website publish --path <目录> --name <名称> [--url <网址>] [--description-zh-cn ...] [--description-en-us ...] [--cover <图片>]` | 发布或更新网站,并通过 `.viceme/website.json` 保持稳定作品身份。 |
231
- | `viceme access init --website <目录> [--name <名称>] [--follow key] [--purchase key --price-minor 分]...` | 为已显式发布的网站配置关注和按功能独立定价的访问权限。 |
232
- | `viceme access init --name <名称> --danmaku` | 创建并激活创作者自有的公开托管弹幕 Work。 |
233
- | `viceme access inspect` / `viceme access apply` | 检查或显式协调绑定 Profile 的功能配置。 |
234
- | `viceme creator-app show <app-id> --work-key <work-key> --locale <locale>` | 校验两个自有资源,并按页面的 `zh-CN` 或 `en-US` 语言生成权威组合交互片段。 |
235
226
  | `viceme profile list` | 显示 Profile 的 API、Web 与市场 authority。 |
236
227
  | `viceme skill inspect --path <path>` | 无副作用校验本地 Skill。 |
237
228
  | `viceme skill listing prepare --path <path>` | 创建或恢复稳定的创作者私有预览,并保存本地绑定。 |
@@ -249,6 +240,13 @@ Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以
249
240
  | `viceme publication confirm ...` | 确认当前精确 Review Digest。 |
250
241
  | `viceme publication publish ...` | 公开已经确认的 Listing。 |
251
242
  | `viceme update` | 同时更新 CLI 与匹配版本的官方 Skills。 |
243
+ | `viceme merchant accounts` | 列出当前 User 通过 OWNER 成员关系经营的普通 MerchantAccount。 |
244
+ | `viceme merchant work ...` | 创建、查看、更新和发布 Merchant Work,包括 Website Work。 |
245
+ | `viceme merchant work website-verification ...` | 创建、查看、验证或撤销一个 Website Work 的 DNS 所有权。 |
246
+ | `viceme merchant work sdk-access ...` | 创建、查看、更新、列出或禁用 Work 的托管、关注与付费 access。 |
247
+ | `viceme merchant commerce-application ...` | 创建、查看、更新、激活或暂停绑定 Origin 的 Website Widget application。 |
248
+ | `viceme merchant product ...` | 创建、编译、激活、暂停或归档 Product 及其生成的购买 Skill。 |
249
+ | `viceme commerce ...` | 安装并运行签名购买 Skill,完成会话、报价、支付订单与同会话状态查询。 |
252
250
 
253
251
  运行 `viceme <command> --help` 查看完整参数和 JSON 字段。
254
252
 
package/checksums.txt CHANGED
@@ -1,6 +1,6 @@
1
- 7372dac1935aa78f3cd091f22aef63953ff7400349d141f0baf4a7257007d4ff viceme_0.18.0_darwin_amd64
2
- 00e751bdfc95a0625cbe98f3a711568d6816b6bf3d34e334a13c71641896d7cf viceme_0.18.0_darwin_arm64
3
- c55739a73bc5fb1158343c68fd5e224fccaec19e3b783c7943523c5c327031c0 viceme_0.18.0_linux_amd64
4
- 9389ae6129ed9f96c1e0b20a250e792a27dff659ec4c1014d86c3cca3042114f viceme_0.18.0_linux_arm64
5
- 4844f3326d09c3c5a5f13e251dd19b8e67800c7c4d06c8c2f3e7a39198955728 viceme_0.18.0_windows_amd64.exe
6
- 9076b494736eeb30deb0632856f45b10db42a93dba0d3640c2bf838e4504c79e viceme_0.18.0_windows_arm64.exe
1
+ 8a3ad2399e9ab35a87335b7abdbdd7e5443205fb5e858878de86551f2b0304a4 viceme_0.19.0_darwin_amd64
2
+ 0a04d9a72002d1a6c965d7614977ae114f904c1f4e7e57b8dae748920538f1b4 viceme_0.19.0_darwin_arm64
3
+ 324b69ee4fc7abdf084d770fbee040bbca82a69ecf95e2d64da086f55fcd9a07 viceme_0.19.0_linux_amd64
4
+ 2f479d051ced507a19426ea4b53162dde82e51b6a81d7a46d7f21069d8d4fea9 viceme_0.19.0_linux_arm64
5
+ 163e47fc6b1944ac8ec7c97fc5c60b46f3bd58e2429c6937b9deb3a365e5365c viceme_0.19.0_windows_amd64.exe
6
+ 6f3789af852ffab06b3906cfed780eec4db05707d932be61047a856c481ace34 viceme_0.19.0_windows_arm64.exe
package/docs/releasing.md CHANGED
@@ -17,7 +17,7 @@ files, create tags, write changelog entries, or run npm commands locally.
17
17
  - `feat:` selects minor;
18
18
  - every other releasable change selects patch.
19
19
  5. The workflow synchronizes `package.json`, `package-lock.json`, Go build
20
- metadata, bundled Skill metadata, command manifest, release digests, and
20
+ metadata, bundled Skill metadata, release manifest digests, and
21
21
  `CHANGELOG.md`.
22
22
  6. It runs `make check` and `make npm-package-check`, creates a short-lived
23
23
  installation token for the repository-scoped ViceMe Release GitHub App, and
@@ -44,8 +44,20 @@ leave every other optional permission disabled. Webhooks and user authorization
44
44
  are not required. Configure:
45
45
 
46
46
  - repository variable `RELEASE_APP_ID`: the numeric App ID;
47
+ - repository variable `COMMERCE_SKILL_TRUST_KEYS`: the versioned public
48
+ Commerce Skill trust ring in
49
+ `keyId:base64url-spki[,keyId:base64url-spki]` form. Release and POC workflows
50
+ parse every SPKI, require unique Ed25519 key IDs, freeze the validated ring
51
+ for that workflow execution, and revalidate it in every binary job;
47
52
  - repository secret `RELEASE_APP_PRIVATE_KEY`: the complete generated PEM key.
48
53
 
54
+ A Commerce Skill `keyId` is permanently bound to one Ed25519 public key after
55
+ it has signed a Product Skill Release. Key rotation must allocate a new ID and
56
+ publish both the old and new public keys in `COMMERCE_SKILL_TRUST_KEYS` before
57
+ Shop signs with the new key. Never replace key material under an existing ID;
58
+ remove an old public key only after every Release signed by it is no longer
59
+ installable.
60
+
49
61
  Protect `dev` with an active branch ruleset that retains the normal pull request,
50
62
  one approving review, the `PR quality` check, all three `PR npm installer
51
63
  (<runner>)` checks, deletion protection, and force push protection. Add `ViceMe
@@ -102,11 +114,46 @@ calculation to `WHEN_REQUIRED`: immutable artifacts are still compared
102
114
  byte-for-byte on recovery, while optional AWS streaming checksum trailers that
103
115
  the origins do not implement are not sent.
104
116
 
105
- Every release renders `release/agent-install.md.tmpl` with the exact stable
106
- version. The same bytes are published as the immutable
107
- `cli/releases/vX.Y.Z/agent-install.md` object in both regions. Only the highest
108
- stable version updates the public root `agent-install.md`, `install.sh`, and
109
- `install.ps1` pointers. The separate `agent-release-manifest.json` contains the six platform asset
117
+ Every release renders two public Agent contracts with the exact stable version:
118
+
119
+ - `release/agent-install.md.tmpl` is the narrow CLI Runtime bootstrap. It
120
+ installs or updates one verified CLI plus official-Skill generation, runs
121
+ `viceme doctor`, and then returns control to its caller. It does not know a
122
+ Product stable name or install a merchant Product Skill.
123
+ - `release/commerce-skill-install.md.tmpl` is the generic Product Skill
124
+ activation contract. It first uses an already healthy Commerce Runtime and
125
+ delegates to the same-region `agent-install.md` only when the Runtime is
126
+ missing or reports an unsupported version. It then runs the exact
127
+ platform-provided `viceme commerce skill install` command and returns to the
128
+ original service request.
129
+
130
+ Recovery never rerenders an already-published asset with the current `main`
131
+ template and then asks it to match old bytes. It downloads every existing asset
132
+ from the immutable GitHub Release and restores those exact bytes over the
133
+ locally assembled candidate; only genuinely missing assets, such as the first
134
+ `commerce-skill-install.md` added to an older release, remain newly generated
135
+ and are uploaded. The final release is downloaded again and compared with the
136
+ complete recovered candidate before S3 publication continues.
137
+
138
+ Historical tags are not required to contain validators or release generators
139
+ introduced later. Recovery validates the trusted workflow revision that is
140
+ performing the repair and preserves every binary or checksum already present in
141
+ the GitHub Release. A missing binary is rebuilt from the exact immutable tag
142
+ with the frozen current trust ring; an existing checksum must match that byte,
143
+ while a missing checksum is derived from the existing binary. A recovered
144
+ signed Agent Manifest must exactly match a freshly reconstructed Manifest over
145
+ the final verified binary pairs, so a partial Release can never combine an old
146
+ signature with different replacement bytes. Current generators are otherwise
147
+ used only for genuinely missing contract assets. The tag, existing release
148
+ bytes, and final recovered candidate remain immutable and are verified
149
+ independently.
150
+
151
+ The same bytes are published as immutable
152
+ `cli/releases/vX.Y.Z/agent-install.md` and
153
+ `cli/releases/vX.Y.Z/commerce-skill-install.md` objects in both regions. Only
154
+ the highest stable version updates the public root `agent-install.md`,
155
+ `commerce-skill-install.md`, `install.sh`, and `install.ps1` pointers. The
156
+ separate `agent-release-manifest.json` contains the six platform asset
110
157
  digests, bundled Skill digests, installer digests, and Sigstore verification
111
158
  identity. Its detached `agent-release-manifest.sigstore.json` bundle is created with
112
159
  the Release Workflow's GitHub OIDC identity and verified before publication;
@@ -115,15 +162,25 @@ that predates this contract keeps its original `release-manifest.json`
115
162
  unchanged and uses the trusted current workflow generator only to add the new
116
163
  Agent Manifest, signature bundle, and document.
117
164
 
118
- The publication job verifies both public origins after upload. It compares the
119
- versioned document, Manifest, and signature bundle with the release artifacts,
120
- checks immutable and root cache policies, requires the public root Agent
121
- document to use `text/markdown; charset=utf-8`, compares the CN and Global root
122
- documents, and proves that an uploaded object outside the installation
165
+ The publication job verifies both public origins after upload. It compares both
166
+ versioned documents, the Manifest, and signature bundle with the release
167
+ artifacts, checks immutable and root cache policies, requires both public root
168
+ Agent documents to use `text/markdown; charset=utf-8`, compares CN and Global
169
+ root documents, and proves that an uploaded object outside the installation
123
170
  allowlist is not anonymously readable. Anonymous bucket listing must also stay
124
- disabled. The allowlist is limited to `agent-install.md`, the existing root
125
- installers, and the versioned `cli/releases` installation objects; Skill ZIPs,
126
- user uploads, and business media never belong in this bucket or policy.
171
+ disabled. The allowlist is limited to `agent-install.md`,
172
+ `commerce-skill-install.md`, the existing root installers, and the versioned
173
+ `cli/releases` installation objects; Skill ZIPs, user uploads, and business
174
+ media never belong in this bucket or policy.
175
+
176
+ ViceMe Product pages point Agents to the root `commerce-skill-install.md`, not
177
+ directly to the base installer or a signed Product ZIP. The Commerce contract
178
+ accepts only the exact platform-generated install command. The CLI retrieves a
179
+ fresh Shop authorization and independently verifies Product Skill identity,
180
+ digest, platform signature, and Commerce Runtime compatibility. Release tests
181
+ must keep both contracts free of merchant-controlled URLs, API origins, shell
182
+ fragments, and login requirements; the base `agent-install.md` must additionally
183
+ remain free of Product stable names and Product installation commands.
127
184
 
128
185
  Configure the repository secret `CN_S3_HTTPS_PROXY` with the authenticated
129
186
  HTTPS forward-proxy URL used by GitHub Actions to reach the CN S3 endpoint.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viceme-ai/cli",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "Install the ViceMe creator CLI and official Agent Skills",
5
5
  "type": "module",
6
6
  "bin": {