@viceme-ai/cli 0.8.2 → 0.9.1
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 +20 -0
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/checksums.txt +6 -6
- package/docs/releasing.md +27 -25
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.1] - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
|
|
7
|
+
- 修复 npm OIDC 发布与恢复流程 (`1f7567b`)
|
|
8
|
+
|
|
9
|
+
### Other Changes
|
|
10
|
+
|
|
11
|
+
- 更新飞书卡片 Action 版本 (`bab230a`)
|
|
12
|
+
|
|
13
|
+
## [0.9.0] - 2026-07-27
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- 新增结构化版本更新提醒 (`be3e975`)
|
|
18
|
+
|
|
19
|
+
### Fixes
|
|
20
|
+
|
|
21
|
+
- 修正 Profile 授权与编译等待指引 (`a62d199`)
|
|
22
|
+
|
|
3
23
|
## [0.8.2] - 2026-07-25
|
|
4
24
|
|
|
5
25
|
### Fixes
|
package/README.md
CHANGED
|
@@ -159,7 +159,7 @@ Normal `viceme auth login` never writes `apiBaseUrl` or `accessToken` into a pro
|
|
|
159
159
|
|
|
160
160
|
`VICEME_CLI_CONFIG_DIR` can override the config root. `VICEME_API_BASE_URL` and `VICEME_ACCESS_TOKEN` remain available as one-process overrides and take precedence over the selected profile. Otherwise the profile's explicit `apiBaseUrl`/`accessToken` is used before the region endpoint and secure-store login. A different normalized origin uses an isolated scope. API and presigned-upload requests fail closed on redirects so credential headers are never forwarded to another origin.
|
|
161
161
|
|
|
162
|
-
Update checks query the npm registry directly and store only the last successful version result in `~/.viceme-cli/update-state.json`. A result is used as a fallback for at most 24 hours when the registry is temporarily unavailable. npm operations launched by `viceme install` or `viceme update` use the isolated `~/.viceme-cli/npm-cache`, so a broken user-level `~/.npm` cache does not block the CLI. Both files are non-secret and can be deleted safely; credentials never enter either cache.
|
|
162
|
+
Update checks query the npm registry directly and store only the last successful version result in `~/.viceme-cli/update-state.json`. A result is used as a fallback for at most 24 hours when the registry is temporarily unavailable. Normal npm-managed CLI invocations read this cache synchronously and refresh it in the background at most once per 24 hours, so commands never wait for update discovery. When a newer release is known, structured success and error objects include `_notice.update` with `current`, `latest`, `message`, and the exact `viceme update` command so AI Agents can notify the user. The advisory never changes the command exit status and does not trigger an automatic update. Set `VICEME_NO_UPDATE_NOTIFIER=1` to suppress it outside CI; standard CI environments are skipped automatically. npm operations launched by `viceme install` or `viceme update` use the isolated `~/.viceme-cli/npm-cache`, so a broken user-level `~/.npm` cache does not block the CLI. Both files are non-secret and can be deleted safely; credentials never enter either cache.
|
|
163
163
|
|
|
164
164
|
## Agent Skills
|
|
165
165
|
|
|
@@ -269,7 +269,7 @@ Use `viceme <command> --help` for the exact flags. The release-checked machine-r
|
|
|
269
269
|
|
|
270
270
|
ViceMe selects the smallest stable representation for each command:
|
|
271
271
|
|
|
272
|
-
- Local/bootstrap commands such as `version`, `install`, `update`, `auth status`, `profile *`, and `skills doctor` write their formatted business result directly to **stdout**. They do not add `ok`, `data`, or unrelated build metadata.
|
|
272
|
+
- Local/bootstrap commands such as `version`, `install`, `update`, `auth status`, `profile *`, and `skills doctor` write their formatted business result directly to **stdout**. They do not add `ok`, `data`, or unrelated build metadata; a normal npm-managed invocation may add only the reserved `_notice.update` advisory described above.
|
|
273
273
|
- `skills read` writes the requested file byte-for-byte without a JSON wrapper.
|
|
274
274
|
- Interactive `viceme auth login` writes human guidance. AI Agents use `--no-wait --json`, then continue with `--device-code <code> --json`; those two commands return a formatted bare business object.
|
|
275
275
|
- Publication protocol commands under `skill` and `job` keep a stable envelope because action receipts, durable status, and bounded-wait metadata form one cross-command protocol.
|
package/README.zh.md
CHANGED
|
@@ -159,7 +159,7 @@ viceme profile configure local --clear-api-base-url
|
|
|
159
159
|
|
|
160
160
|
可以用 `VICEME_CLI_CONFIG_DIR` 覆盖配置根目录。`VICEME_API_BASE_URL` 与 `VICEME_ACCESS_TOKEN` 仍可作为单进程覆盖,并优先于所选 Profile;否则先使用 Profile 显式配置的 `apiBaseUrl`/`accessToken`,再回退到区域地址和安全凭证存储中的登录。不同 normalized origin 使用独立 scope。API 与预签名上传请求遇到重定向会直接失败,凭证请求头不会被转发到其他 origin。
|
|
161
161
|
|
|
162
|
-
更新检查直接请求 npm registry,并且只把最近一次成功查询到的版本写入 `~/.viceme-cli/update-state.json`;registry 暂时不可用时,该结果最多回退使用 24
|
|
162
|
+
更新检查直接请求 npm registry,并且只把最近一次成功查询到的版本写入 `~/.viceme-cli/update-state.json`;registry 暂时不可用时,该结果最多回退使用 24 小时。npm 管理的 CLI 在普通命令中只同步读取本地缓存,并且最多每 24 小时在后台刷新一次,因此命令不会等待版本发现。当缓存确认存在新版本时,结构化成功与错误对象都会携带 `_notice.update`,其中包含 `current`、`latest`、`message` 和精确的 `viceme update` 命令,AI Agent 可以据此提醒用户。该提醒不会改变命令退出码,也不会自动执行更新。非 CI 环境可以设置 `VICEME_NO_UPDATE_NOTIFIER=1` 关闭提醒;标准 CI 环境会自动跳过。`viceme install` 和 `viceme update` 启动的 npm 操作统一使用隔离的 `~/.viceme-cli/npm-cache`,不会因为用户级 `~/.npm` 缓存损坏而失败。这两个位置都不包含秘密信息,可以安全删除;凭证不会进入任何更新缓存。
|
|
163
163
|
|
|
164
164
|
## Agent Skills
|
|
165
165
|
|
|
@@ -266,7 +266,7 @@ viceme skill publish --file ./poster-skill-v2.zip \
|
|
|
266
266
|
|
|
267
267
|
ViceMe 根据命令语义选择最小且稳定的输出形式:
|
|
268
268
|
|
|
269
|
-
- `version`、`install`、`update`、`auth status`、`profile *`、`skills doctor` 等本地/引导命令,将格式化后的业务结果直接写入 **stdout**,不附加 `ok`、`data`
|
|
269
|
+
- `version`、`install`、`update`、`auth status`、`profile *`、`skills doctor` 等本地/引导命令,将格式化后的业务结果直接写入 **stdout**,不附加 `ok`、`data` 或无关构建元数据;npm 管理的普通调用最多只会附加上文约定的保留字段 `_notice.update`。
|
|
270
270
|
- `skills read` 按原始字节输出目标文件,不添加 JSON 包装。
|
|
271
271
|
- 交互式 `viceme auth login` 输出面向人的引导;AI Agent 使用 `--no-wait --json`,并在后续回合用 `--device-code <code> --json` 继续,这两个命令返回格式化的裸业务对象。
|
|
272
272
|
- `skill` 和 `job` 下的发布协议命令继续使用稳定 Envelope,因为 action receipt、持久状态与有界等待元数据共同构成跨命令协议。
|
package/checksums.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
e302f22d9921dd011b2cdc4db75b81ea4c228f14791dcf135156b13a20a53265 viceme_0.9.1_darwin_amd64
|
|
2
|
+
0f845914fbfd8880e72ac2c0e06572665c0294a79c5aeb459472821c9507dda9 viceme_0.9.1_darwin_arm64
|
|
3
|
+
942c1130d49cdb64d238f585348784eff3b0b7494177b0e15f957321dad196ce viceme_0.9.1_linux_amd64
|
|
4
|
+
05ceadd25e93e02d41379bb98520dc4efc6e6888f008bfe26fc6d1995326d5ea viceme_0.9.1_linux_arm64
|
|
5
|
+
6621dfccd262852737dbfc4ddded6c65125ebcc42c7004b53e2365948d97cd08 viceme_0.9.1_windows_amd64.exe
|
|
6
|
+
e623261616e74e58dba6fd5d0c8e26c60b0379757598a4731ff46e7abd1f86f3 viceme_0.9.1_windows_arm64.exe
|
package/docs/releasing.md
CHANGED
|
@@ -26,10 +26,12 @@ files, create tags, write changelog entries, or run npm commands locally.
|
|
|
26
26
|
checks, and is updated to `chore(release): vX.Y.Z` with exact run and commit
|
|
27
27
|
evidence. No internal preparation PR is created.
|
|
28
28
|
8. A maintainer reviews and merges that same Release PR.
|
|
29
|
-
9.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
9. Merging the Release PR pushes its merge commit to `main`.
|
|
30
|
+
`CLI release publication` resolves that commit back to exactly one merged,
|
|
31
|
+
repository-owned `dev` to `main` PR, then tags the exact reviewed `dev`
|
|
32
|
+
head, reruns the quality gates, builds six platform binaries and six
|
|
33
|
+
checksums, creates the GitHub Release, bundles those exact checksums into
|
|
34
|
+
the npm launcher, publishes it, and then sends an
|
|
33
35
|
AI-generated release summary to the release notification group in Feishu.
|
|
34
36
|
|
|
35
37
|
## One-time repository setup
|
|
@@ -73,13 +75,11 @@ Configure npm trusted publishing for:
|
|
|
73
75
|
|
|
74
76
|
- npm package: `@viceme-ai/cli`;
|
|
75
77
|
- GitHub organization/repository: `ViceMe-AI/cli`;
|
|
76
|
-
- workflow
|
|
78
|
+
- workflow filename: `release.yml`.
|
|
77
79
|
|
|
78
|
-
Trusted publishing is the
|
|
79
|
-
provenance.
|
|
80
|
-
|
|
81
|
-
granular automation token limited to `@viceme-ai/cli` publication. Remove that
|
|
82
|
-
secret after the package exists and trusted publishing is confirmed.
|
|
80
|
+
Trusted publishing is the only publication credential path and uses GitHub OIDC
|
|
81
|
+
plus npm provenance. Do not configure `NPM_TOKEN`; the publication job does not
|
|
82
|
+
generate an npm auth file or expose a long-lived token.
|
|
83
83
|
|
|
84
84
|
The npm tarball contains `checksums.txt`, generated from the six immutable
|
|
85
85
|
GitHub Release checksum assets immediately before publication. The launcher
|
|
@@ -89,10 +89,10 @@ public npmmirror binary mirror. Registering `viceme-cli` with cnpmcore enables
|
|
|
89
89
|
the public `/-/binary/viceme-cli/` mirror; it does not create another npm
|
|
90
90
|
package.
|
|
91
91
|
|
|
92
|
-
`GITHUB_TOKEN` is provided by Actions and is used
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
`GITHUB_TOKEN` is provided by Actions and is used to maintain the Release PR
|
|
93
|
+
and resolve a merged `main` commit back to its reviewed Release PR.
|
|
94
|
+
`RELEASE_APP_ID` and `RELEASE_APP_PRIVATE_KEY` authenticate the narrowly scoped
|
|
95
|
+
Release App.
|
|
96
96
|
|
|
97
97
|
The release notification job uses the same repository secrets as ViceMe Web,
|
|
98
98
|
API, and Engine:
|
|
@@ -109,14 +109,16 @@ successful.
|
|
|
109
109
|
|
|
110
110
|
## Recovery
|
|
111
111
|
|
|
112
|
-
The original
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
112
|
+
The original `push` publication run is safe to rerun from GitHub Actions.
|
|
113
|
+
Existing tags must point to the same reviewed commit. Existing GitHub Release
|
|
114
|
+
assets are compared byte-for-byte and never overwritten. Existing npm versions
|
|
115
|
+
must have the same registry integrity as the locally packed artifact; otherwise
|
|
116
|
+
the workflow fails closed. A rerun of an older version cannot move the npm
|
|
117
|
+
`latest` tag behind a newer release.
|
|
118
|
+
|
|
119
|
+
If the tag and GitHub Release succeeded but npm publication did not, a
|
|
120
|
+
maintainer may manually dispatch `CLI release publication` with that exact
|
|
121
|
+
stable tag. Recovery refuses missing tags, version mismatches, draft or missing
|
|
122
|
+
GitHub Releases, changed release assets, and npm integrity mismatches. It cannot
|
|
123
|
+
create a new release identity. Normal production releases still originate only
|
|
124
|
+
from merging the repository-owned `dev` Release PR into `main`.
|