@viceme-ai/cli 0.15.1 → 0.16.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 +37 -0
- package/README.md +57 -29
- package/README.zh.md +47 -22
- package/checksums.txt +6 -6
- package/npm/bin/viceme.mjs +7 -7
- package/npm/lib/launcher-environment.mjs +13 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.16.0] - 2026-08-19
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- 自动更新 CLI 与官方 Skills (`d68d096`)
|
|
8
|
+
|
|
9
|
+
### Fixes
|
|
10
|
+
|
|
11
|
+
- 合并并发自动更新并重执行等待命令 (`f48d2f6`)
|
|
12
|
+
|
|
13
|
+
### Other Changes
|
|
14
|
+
|
|
15
|
+
- 稳定激活子进程并发测试 (`fa139f9`)
|
|
16
|
+
- 注册 POC CLI 手动发布工作流 (`3e265fa`)
|
|
17
|
+
- 默认使用 Agent 补全发布内容 (`ee5030e`)
|
|
18
|
+
|
|
19
|
+
## [0.15.2] - 2026-08-18
|
|
20
|
+
|
|
21
|
+
### Fixes
|
|
22
|
+
|
|
23
|
+
- 统一认证失败详情契约 (`934139c`)
|
|
24
|
+
- 覆盖官方凭据的 Profile 迁移 (`53cad42`)
|
|
25
|
+
- 收口发布流程升级兼容契约 (`0aa469a`)
|
|
26
|
+
- 以 API 地址确定运行环境 (`5ee2002`)
|
|
27
|
+
- 合并作品详情确认与询价 (`d358466`)
|
|
28
|
+
- 修复 Skill 包元数据与占位符误判 (`594c89f`)
|
|
29
|
+
- 无价继续媒体与分析 (`e5bcdfb`)
|
|
30
|
+
- 隐藏发布流程环境选择 (`997dfd6`)
|
|
31
|
+
- 更新安装后的发布入口 (`a78db66`)
|
|
32
|
+
- 固定发布环境选择优先级 (`0171135`)
|
|
33
|
+
- 同步 Skill 发布摘要 (`6a76f1e`)
|
|
34
|
+
- 修正 WorkBuddy 预览打开契约 (`d21330a`)
|
|
35
|
+
|
|
36
|
+
### Other Changes
|
|
37
|
+
|
|
38
|
+
- 同步渐进式发布流程 (`a646450`)
|
|
39
|
+
|
|
3
40
|
## [0.15.1] - 2026-08-17
|
|
4
41
|
|
|
5
42
|
### Fixes
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
listings when a response is lost.
|
|
31
31
|
- **Built for Agents and automation** — stable JSON output, error codes, dry
|
|
32
32
|
runs, and explicit state transitions make every action inspectable.
|
|
33
|
-
- **Safe by default** —
|
|
33
|
+
- **Safe by default** — browser authorization, origin-bound profiles, local
|
|
34
34
|
secret checks, immutable digests, and verified uploads protect the release
|
|
35
35
|
path.
|
|
36
36
|
|
|
@@ -57,18 +57,20 @@
|
|
|
57
57
|
discover the installed Skills.
|
|
58
58
|
3. Attach a local Skill directory or ZIP and ask naturally:
|
|
59
59
|
|
|
60
|
-
> Publish this Skill to ViceMe
|
|
60
|
+
> Publish this Skill to ViceMe.
|
|
61
61
|
|
|
62
62
|
The Agent checks login, keeps the selected Profile fixed throughout the
|
|
63
63
|
workflow, validates the Skill, immediately uploads the private Draft, and opens
|
|
64
|
-
its real Owner Preview
|
|
65
|
-
|
|
66
|
-
the complete
|
|
67
|
-
|
|
64
|
+
its real Owner Preview. It uploads media candidates without asking for a price,
|
|
65
|
+
then the user's Agent prepares the bilingual copy and media suggestions. The Agent shows
|
|
66
|
+
the complete listing—including the images—and asks one combined question for
|
|
67
|
+
the price and any desired changes. It then shows the final review and asks once
|
|
68
|
+
whether to confirm and publish it publicly.
|
|
68
69
|
|
|
69
70
|
```text
|
|
70
|
-
Local Skill → Login → Validate and private upload → Owner Preview →
|
|
71
|
-
→
|
|
71
|
+
Local Skill → Login → Validate and private upload → Owner Preview → Agent enrichment
|
|
72
|
+
→ Complete listing details + price question → Final review
|
|
73
|
+
→ Confirm and publish → Public URL
|
|
72
74
|
```
|
|
73
75
|
|
|
74
76
|
The initial request to “publish” is not permission to make the listing public.
|
|
@@ -88,7 +90,15 @@ viceme auth login
|
|
|
88
90
|
# Upload the real private draft and open its Owner Preview before pricing.
|
|
89
91
|
viceme skill publish --path ./my-skill
|
|
90
92
|
|
|
91
|
-
#
|
|
93
|
+
# Continue the same unpriced draft and upload media candidates.
|
|
94
|
+
viceme skill publish --resume <publication-id>
|
|
95
|
+
viceme publication review <publication-id>
|
|
96
|
+
|
|
97
|
+
# The Agent writes a revision-protected suggestion. Platform analysis is an explicit fallback only.
|
|
98
|
+
viceme publication suggest <publication-id> --input <suggestion.json>
|
|
99
|
+
# viceme publication analyze <publication-id> && viceme publication wait <publication-id>
|
|
100
|
+
|
|
101
|
+
# After reviewing the complete listing details, set CNY 1.00 on that draft.
|
|
92
102
|
viceme skill publish --resume <publication-id> --price-minor 100
|
|
93
103
|
```
|
|
94
104
|
|
|
@@ -168,15 +178,15 @@ are not accepted.
|
|
|
168
178
|
| Login | Browser authorization happens before protected API work. Every command remains pinned to the same Profile and API origin. |
|
|
169
179
|
| Inspect | Local validation rejects unsafe paths, special files, excessive content, sensitive files, and common secret patterns. |
|
|
170
180
|
| Private upload and preview | The initial publish request authorizes the private Draft upload. The real package is verified and its Owner Preview opens before pricing. |
|
|
171
|
-
|
|
|
172
|
-
|
|
|
181
|
+
| Agent enrichment | The user's Agent reads the Skill as untrusted source data, prepares bilingual copy, and selects verified cover and gallery uploads. Platform analysis is an explicit fallback only. |
|
|
182
|
+
| Listing details and price | After enrichment, the Agent displays the exact title, bilingual copy, cover, and gallery, then asks one combined question for the CNY price in fen and any desired changes. It never asks for price by itself. |
|
|
173
183
|
| Review | The Agent displays the exact copy, price, cover, and gallery images. A short summary has a maximum display width of 30; ASCII counts as 1 and Chinese/non-ASCII as 2. |
|
|
174
184
|
| Publish | One explicit final confirmation authorizes review confirmation followed by immediate, irreversible public publication. |
|
|
175
185
|
|
|
176
186
|
If the upload or response is interrupted, continue the existing publication:
|
|
177
187
|
|
|
178
188
|
```bash
|
|
179
|
-
viceme
|
|
189
|
+
viceme skill publish --resume <publication-id>
|
|
180
190
|
```
|
|
181
191
|
|
|
182
192
|
Never create a second publication merely because the previous response was
|
|
@@ -184,9 +194,9 @@ unknown. Query or resume the existing ID first.
|
|
|
184
194
|
|
|
185
195
|
## Authentication and Profiles
|
|
186
196
|
|
|
187
|
-
Each Profile binds one
|
|
188
|
-
|
|
189
|
-
|
|
197
|
+
Each Profile binds one explicit API endpoint and one device-authorized account.
|
|
198
|
+
The separately stored distribution region selects only the CLI and bundled
|
|
199
|
+
Skill download source; it never selects a publication market.
|
|
190
200
|
|
|
191
201
|
```bash
|
|
192
202
|
viceme auth login
|
|
@@ -203,7 +213,6 @@ dedicated Profile before signing in:
|
|
|
203
213
|
```bash
|
|
204
214
|
viceme profile add \
|
|
205
215
|
--name private-cn \
|
|
206
|
-
--region cn \
|
|
207
216
|
--api-base-url https://api.example.com \
|
|
208
217
|
--use
|
|
209
218
|
viceme auth login
|
|
@@ -234,10 +243,13 @@ Never copy an access token into the conversation.
|
|
|
234
243
|
| `viceme skill listing get <listing-id>` | Read the authoritative private Listing state. |
|
|
235
244
|
| `viceme skill listing bind <listing-id> --path <path>` | Explicitly bind a source to a selected owned Listing. |
|
|
236
245
|
| `viceme skill publish --path <path>` | Upload the real private package and return its Owner Preview before pricing. |
|
|
237
|
-
| `viceme skill publish --resume <id
|
|
238
|
-
| `viceme publication wait <id>` | Wait for background analysis without re-uploading. |
|
|
246
|
+
| `viceme skill publish --resume <id>` | Continue the same unpriced Draft and upload media candidates without starting a platform model. |
|
|
239
247
|
| `viceme publication review <id>` | Read the authoritative bilingual copy, price, selected media, and review state. |
|
|
240
|
-
| `viceme publication
|
|
248
|
+
| `viceme publication suggest <id> --input ...` | Apply Agent-generated bilingual copy and media with Draft revision protection. |
|
|
249
|
+
| `viceme publication analyze <id>` | Explicitly request platform-model analysis when the current Agent cannot perform enrichment. |
|
|
250
|
+
| `viceme publication wait <id>` | Wait for an explicitly requested platform analysis without re-uploading. |
|
|
251
|
+
| `viceme skill publish --resume <id> --price-minor <fen>` | Apply the reviewed CNY price to the same Draft without creating another Listing. |
|
|
252
|
+
| `viceme publication asset upload ...` | Replace user-selected media, or add `--candidate-only` to stage Agent-provided media for `publication suggest`. |
|
|
241
253
|
| `viceme publication update ...` | Replace the complete listing draft from a strict JSON file. |
|
|
242
254
|
| `viceme publication confirm ...` | Confirm the exact current review digest. |
|
|
243
255
|
| `viceme publication publish ...` | Make a confirmed listing public. |
|
|
@@ -258,6 +270,11 @@ text.
|
|
|
258
270
|
"data": {},
|
|
259
271
|
"meta": {
|
|
260
272
|
"executingCliVersion": "<version>",
|
|
273
|
+
"autoUpdate": {
|
|
274
|
+
"from": "<previous-version>",
|
|
275
|
+
"to": "<executing-version>",
|
|
276
|
+
"status": "updated"
|
|
277
|
+
},
|
|
261
278
|
"requestId": "optional"
|
|
262
279
|
}
|
|
263
280
|
}
|
|
@@ -266,21 +283,31 @@ text.
|
|
|
266
283
|
`meta.executingCliVersion` is the version of the process that emitted the
|
|
267
284
|
response. For `viceme update`, the newly installed version is reported
|
|
268
285
|
separately as `data.cli_version` because the response is still emitted by the
|
|
269
|
-
process that started the update.
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
286
|
+
process that started the update. `meta.autoUpdate` is present only when this
|
|
287
|
+
command was automatically continued by a newly activated generation.
|
|
288
|
+
|
|
289
|
+
Every released installation passes through a bounded freshness gate before an
|
|
290
|
+
ordinary command. A validated result is reused for five minutes so a single
|
|
291
|
+
workflow does not repeatedly contact the release channel. When a newer stable
|
|
292
|
+
release exists, the CLI and all detected official Skills are activated as one
|
|
293
|
+
recoverable generation and the original command is automatically re-executed by
|
|
294
|
+
the new CLI. Release discovery is fail-open while offline; activation failure
|
|
295
|
+
stops the original command so an older process cannot perform a mutation after
|
|
296
|
+
a failed generation change.
|
|
297
|
+
|
|
298
|
+
An npm installation continues the original command automatically on every
|
|
299
|
+
supported platform. A standalone Windows binary may return the retryable code
|
|
300
|
+
`AUTO_UPDATE_RESTART_REQUIRED` once while Windows releases the old executable;
|
|
301
|
+
rerunning the exact command completes under the new generation.
|
|
276
302
|
|
|
277
303
|
```bash
|
|
278
304
|
viceme update --check
|
|
279
305
|
viceme update
|
|
280
306
|
```
|
|
281
307
|
|
|
282
|
-
|
|
283
|
-
|
|
308
|
+
`viceme update` remains an explicit repair command. The normal startup gate
|
|
309
|
+
already verifies the exact release, refreshes the matching official Skills, and
|
|
310
|
+
recovers interrupted activation as one compatible local generation.
|
|
284
311
|
|
|
285
312
|
## Security
|
|
286
313
|
|
|
@@ -291,7 +318,8 @@ and recovers interrupted activation as one compatible local generation.
|
|
|
291
318
|
- Credentials remain in the CLI's secure local store and are scoped to a
|
|
292
319
|
Profile and API origin; they are never part of Agent conversation state.
|
|
293
320
|
- Presigned upload URLs are not written to the local pending-operation store.
|
|
294
|
-
-
|
|
321
|
+
- Agent enrichment treats all package content as untrusted data and cannot bypass server-side package, media, ownership, or revision validation.
|
|
322
|
+
- Explicit platform-model analysis receives only filtered text, metadata, and image thumbnails.
|
|
295
323
|
- Public publication requires the exact reviewed copy, price, cover, and
|
|
296
324
|
ordered gallery to be displayed and explicitly authorized.
|
|
297
325
|
|
package/README.zh.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
也不会重复创建商品。
|
|
28
28
|
- **同时适合 Agent 和自动化**——稳定 JSON、错误码、Dry Run 和明确状态让每个动作
|
|
29
29
|
都可检查、可复现。
|
|
30
|
-
-
|
|
30
|
+
- **默认安全**——浏览器授权、绑定 Origin 的 Profile、本地 Secret 检查、不可变摘要
|
|
31
31
|
和已验证上传共同保护发布链路。
|
|
32
32
|
|
|
33
33
|
## 能做什么
|
|
@@ -53,15 +53,17 @@
|
|
|
53
53
|
Skills。
|
|
54
54
|
3. 附上本地 Skill 目录或 ZIP,然后直接说:
|
|
55
55
|
|
|
56
|
-
> 帮我把这个 Skill
|
|
56
|
+
> 帮我把这个 Skill 发布到 ViceMe。
|
|
57
57
|
|
|
58
58
|
Agent 会先检查登录状态,在整个流程中固定使用同一个 Profile,校验 Skill 后立即
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
上传私有草稿并打开真实创作者预览,不询价就继续上传候选媒体。当前用户的 Agent 随后
|
|
60
|
+
完成双语文案和素材建议,先把完整作品详情和图片直接展示出来,再把价格和详情修改合并成一个
|
|
61
|
+
问题;应用用户答案后展示最终成品,最后只询问一次是否确认并立即公开发布。
|
|
61
62
|
|
|
62
63
|
```text
|
|
63
|
-
本地 Skill → 登录 → 校验并私有上传 → 创作者预览 →
|
|
64
|
-
→
|
|
64
|
+
本地 Skill → 登录 → 校验并私有上传 → 创作者预览 → Agent 补全
|
|
65
|
+
→ 完整详情与价格合并询问 → 最终成品
|
|
66
|
+
→ 确认并发布 → 公开商品链接
|
|
65
67
|
```
|
|
66
68
|
|
|
67
69
|
最初的“帮我发布”不等于授权公开上架。只有完整审核稿已经展示、用户明确确认后,
|
|
@@ -80,7 +82,15 @@ viceme auth login
|
|
|
80
82
|
# 定价前先上传真实私有草稿,并打开创作者预览。
|
|
81
83
|
viceme skill publish --path ./my-skill
|
|
82
84
|
|
|
83
|
-
#
|
|
85
|
+
# 继续同一个未定价草稿并上传候选媒体。
|
|
86
|
+
viceme skill publish --resume <publication-id>
|
|
87
|
+
viceme publication review <publication-id>
|
|
88
|
+
|
|
89
|
+
# Agent 提交带 Draft revision 保护的建议;平台分析只作显式 fallback。
|
|
90
|
+
viceme publication suggest <publication-id> --input <suggestion.json>
|
|
91
|
+
# viceme publication analyze <publication-id> && viceme publication wait <publication-id>
|
|
92
|
+
|
|
93
|
+
# 查看完整作品详情后,在同一个草稿上设置人民币 1 元。
|
|
84
94
|
viceme skill publish --resume <publication-id> --price-minor 100
|
|
85
95
|
```
|
|
86
96
|
|
|
@@ -154,23 +164,23 @@ Agent Skills 负责对话流程和授权规则;CLI 负责确定性本地操作
|
|
|
154
164
|
| 登录 | 受保护 API 操作前完成浏览器授权;所有后续命令固定使用同一个 Profile 与 API Origin。 |
|
|
155
165
|
| 校验 | 本地拒绝危险路径、特殊文件、超限内容、敏感文件和常见 Secret 模式。 |
|
|
156
166
|
| 私有上传与预览 | 用户发起发布即授权上传私有草稿;真实包验证后先打开创作者预览。 |
|
|
157
|
-
|
|
|
158
|
-
|
|
|
167
|
+
| Agent 补全 | 用户当前的 Agent 把 Skill 当作不可信来源数据,生成双语文案并从已验证上传中选择封面和画廊;平台分析只作显式 fallback。 |
|
|
168
|
+
| 作品详情与定价 | 补全后,Agent 先展示标题、双语文案、封面和画廊,再把价格和详情修改合并成一个问题;不能单独询价。 |
|
|
159
169
|
| 图文审核 | Agent 展示精确文案、价格、封面和所有画廊图片。短简介最大显示宽度为 30:ASCII 计 1,中文及其他非 ASCII 计 2。 |
|
|
160
170
|
| 公开发布 | 用户只需做一次最终明确确认;随后完成审核确认并立即、不可逆地公开上架。 |
|
|
161
171
|
|
|
162
172
|
上传或响应中断后,继续原来的 Publication:
|
|
163
173
|
|
|
164
174
|
```bash
|
|
165
|
-
viceme
|
|
175
|
+
viceme skill publish --resume <publication-id>
|
|
166
176
|
```
|
|
167
177
|
|
|
168
178
|
不能因为上一次响应未知就创建第二个 Publication,应先查询或恢复原 ID。
|
|
169
179
|
|
|
170
180
|
## 登录与 Profile
|
|
171
181
|
|
|
172
|
-
每个 Profile
|
|
173
|
-
|
|
182
|
+
每个 Profile 绑定一个明确的 API Endpoint 和一个通过浏览器授权的账户。发布目标完全
|
|
183
|
+
由当前 Profile 的 Endpoint 决定;单独的分发区域只选择 CLI 与官方 Skills 的下载来源。
|
|
174
184
|
|
|
175
185
|
```bash
|
|
176
186
|
viceme auth login
|
|
@@ -186,7 +196,6 @@ viceme profile use default
|
|
|
186
196
|
```bash
|
|
187
197
|
viceme profile add \
|
|
188
198
|
--name private-cn \
|
|
189
|
-
--region cn \
|
|
190
199
|
--api-base-url https://api.example.com \
|
|
191
200
|
--use
|
|
192
201
|
viceme auth login
|
|
@@ -214,10 +223,13 @@ Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以
|
|
|
214
223
|
| `viceme skill listing get <listing-id>` | 读取权威的私有 Listing 状态。 |
|
|
215
224
|
| `viceme skill listing bind <listing-id> --path <path>` | 将来源明确绑定到用户选定且拥有的 Listing。 |
|
|
216
225
|
| `viceme skill publish --path <path>` | 定价前上传真实私有包并返回创作者预览。 |
|
|
217
|
-
| `viceme skill publish --resume <id
|
|
218
|
-
| `viceme publication wait <id>` | 等待后台分析,不重复上传。 |
|
|
226
|
+
| `viceme skill publish --resume <id>` | 继续同一个未定价 Draft 并上传媒体候选,不启动平台模型。 |
|
|
219
227
|
| `viceme publication review <id>` | 读取权威双语文案、价格、选定素材和审核状态。 |
|
|
220
|
-
| `viceme publication
|
|
228
|
+
| `viceme publication suggest <id> --input ...` | 以 Draft revision 保护提交 Agent 生成的双语文案与媒体选择。 |
|
|
229
|
+
| `viceme publication analyze <id>` | 当前 Agent 无法完成补全时,显式请求平台模型分析。 |
|
|
230
|
+
| `viceme publication wait <id>` | 等待已经显式请求的平台分析,不重复上传。 |
|
|
231
|
+
| `viceme skill publish --resume <id> --price-minor <fen>` | 在完整详情审核后,为同一个 Draft 写入人民币价格,不新建 Listing。 |
|
|
232
|
+
| `viceme publication asset upload ...` | 替换用户明确选择的媒体;加 `--candidate-only` 可暂存由 Agent 提供、随后交给 `publication suggest` 选择的媒体。 |
|
|
221
233
|
| `viceme publication update ...` | 用严格 JSON 文件替换完整 Listing Draft。 |
|
|
222
234
|
| `viceme publication confirm ...` | 确认当前精确 Review Digest。 |
|
|
223
235
|
| `viceme publication publish ...` | 公开已经确认的 Listing。 |
|
|
@@ -236,6 +248,11 @@ Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以
|
|
|
236
248
|
"data": {},
|
|
237
249
|
"meta": {
|
|
238
250
|
"executingCliVersion": "<version>",
|
|
251
|
+
"autoUpdate": {
|
|
252
|
+
"from": "<previous-version>",
|
|
253
|
+
"to": "<executing-version>",
|
|
254
|
+
"status": "updated"
|
|
255
|
+
},
|
|
239
256
|
"requestId": "optional"
|
|
240
257
|
}
|
|
241
258
|
}
|
|
@@ -243,18 +260,25 @@ Endpoint 必须使用 HTTPS;只有 localhost 和 loopback 本地开发可以
|
|
|
243
260
|
|
|
244
261
|
`meta.executingCliVersion` 表示输出本次响应的进程版本。对于 `viceme update`,
|
|
245
262
|
新安装版本单独由 `data.cli_version` 返回,因为最终响应仍由启动更新的旧进程输出。
|
|
263
|
+
只有当本次命令由新激活的版本自动继续执行时,响应才会包含 `meta.autoUpdate`。
|
|
264
|
+
|
|
265
|
+
正式安装在执行普通命令前都会经过有界的新鲜度检查。已经校验的结果会复用五分钟,
|
|
266
|
+
避免同一工作流反复访问发布渠道。发现新的稳定版本时,CLI 与所有检测到的官方
|
|
267
|
+
Skills 会作为一个可恢复的完整版本一起激活,随后由新 CLI 自动重新执行原命令。
|
|
268
|
+
断网时发布发现会继续使用最后一个完整版本;如果版本激活失败,原命令会停止,避免
|
|
269
|
+
旧进程在版本切换失败后继续执行写操作。
|
|
246
270
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
271
|
+
npm 安装在所有支持的平台都会自动继续原命令。Windows 独立二进制在等待操作系统释放
|
|
272
|
+
旧可执行文件时,可能会返回一次可重试的 `AUTO_UPDATE_RESTART_REQUIRED`;原样重试
|
|
273
|
+
同一个命令后会由新版本继续执行。
|
|
250
274
|
|
|
251
275
|
```bash
|
|
252
276
|
viceme update --check
|
|
253
277
|
viceme update
|
|
254
278
|
```
|
|
255
279
|
|
|
256
|
-
|
|
257
|
-
|
|
280
|
+
`viceme update` 保留为显式修复命令。正常启动检查已经会校验精确 Release、刷新匹配
|
|
281
|
+
版本的官方 Skills,并把中断的激活过程恢复成一个完整、兼容的本地版本。
|
|
258
282
|
|
|
259
283
|
## 安全边界
|
|
260
284
|
|
|
@@ -264,7 +288,8 @@ viceme update
|
|
|
264
288
|
- 凭据保存在 CLI 的本地安全存储中,并绑定 Profile 与 API Origin,不进入 Agent
|
|
265
289
|
对话状态。
|
|
266
290
|
- Pending operation 不保存预签名上传 URL。
|
|
267
|
-
-
|
|
291
|
+
- Agent 补全把所有包内容视为不可信数据,且不能绕过服务端包、媒体、归属或 revision 校验。
|
|
292
|
+
- 显式平台模型分析只接收筛选后的文本、元数据和图片缩略图。
|
|
268
293
|
- 公开发布前必须展示并明确授权当前精确文案、价格、封面和有序画廊。
|
|
269
294
|
|
|
270
295
|
## 开发
|
package/checksums.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
5d1a01daa98e11d4e8bbe4e06f369235f0b328b5622b413adf17d078dc19f149 viceme_0.16.0_darwin_amd64
|
|
2
|
+
c5668fe1b1306a2553573cf5c9f96e80a81d2771444b5b5bde44c2ece73141fc viceme_0.16.0_darwin_arm64
|
|
3
|
+
6c2d3b2c5d6ad9fe8b1479872f08d0e8b3fe52c7ed7d6ad591542d6588da8fcf viceme_0.16.0_linux_amd64
|
|
4
|
+
0e472d484c38ac0b60acaa044d99b4913936abe96f0a4aef7e1c9e2db207fe3f viceme_0.16.0_linux_arm64
|
|
5
|
+
8ea8942c0ad36505fa46abec12177cb2f75e7eaf4bec6213aefeb6962debf4f0 viceme_0.16.0_windows_amd64.exe
|
|
6
|
+
824895a0ea8b941b31944efb74ce339ba9be0782bc4b42043428146cc52df51c viceme_0.16.0_windows_arm64.exe
|
package/npm/bin/viceme.mjs
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { spawnSync } from "node:child_process";
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
5
6
|
import process from "node:process";
|
|
6
7
|
|
|
7
8
|
import { ensureBinary } from "../lib/installer.mjs";
|
|
9
|
+
import { launcherEnvironment } from "../lib/launcher-environment.mjs";
|
|
8
10
|
|
|
9
11
|
export async function main(args = process.argv.slice(2), environment = process.env) {
|
|
10
12
|
const packageDocument = JSON.parse(
|
|
@@ -17,13 +19,11 @@ export async function main(args = process.argv.slice(2), environment = process.e
|
|
|
17
19
|
const child = spawnSync(binary, args, {
|
|
18
20
|
stdio: "inherit",
|
|
19
21
|
env: {
|
|
20
|
-
...
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
? "development"
|
|
26
|
-
: "npm",
|
|
22
|
+
...launcherEnvironment(
|
|
23
|
+
environment,
|
|
24
|
+
fileURLToPath(import.meta.url),
|
|
25
|
+
process.execPath,
|
|
26
|
+
),
|
|
27
27
|
VICEME_NPM_PACKAGE_VERSION: packageDocument.version,
|
|
28
28
|
},
|
|
29
29
|
windowsHide: false,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function launcherEnvironment(environment, launcherPath, launcherRuntime) {
|
|
2
|
+
return {
|
|
3
|
+
...environment,
|
|
4
|
+
VICEME_INSTALL_METHOD:
|
|
5
|
+
environment.VICEME_INSTALL_METHOD === "npm"
|
|
6
|
+
? "npm"
|
|
7
|
+
: environment.VICEME_BINARY_PATH
|
|
8
|
+
? "development"
|
|
9
|
+
: "npm",
|
|
10
|
+
VICEME_NPM_LAUNCHER_PATH: launcherPath,
|
|
11
|
+
VICEME_NPM_LAUNCHER_RUNTIME: launcherRuntime,
|
|
12
|
+
};
|
|
13
|
+
}
|