@itpay/cli 2.1.34 → 2.1.41
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 +5 -12
- package/dist/src/client/backend.js +2 -33
- package/dist/src/client/http.js +0 -2
- package/dist/src/commands/buy.js +4 -7
- package/dist/src/commands/cart.js +15 -15
- package/dist/src/commands/catalog.js +7 -17
- package/dist/src/commands/checkout.js +5 -146
- package/dist/src/commands/checkout_handoff.js +10 -48
- package/dist/src/commands/docs.js +18 -7
- package/dist/src/commands/guidance.js +19 -69
- package/dist/src/commands/install.js +3 -6
- package/dist/src/commands/order.js +1 -14
- package/dist/src/commands/orders.js +9 -4
- package/dist/src/commands/pay.js +1 -1
- package/dist/src/commands/readyz.js +2 -2
- package/dist/src/commands/refund.js +5 -5
- package/dist/src/commands/services.js +167 -1712
- package/dist/src/commands/skill.js +5 -8
- package/dist/src/commands/vault.js +20 -27
- package/dist/src/commands/vault_handoff.js +0 -18
- package/dist/src/main.js +58 -294
- package/dist/src/render/markdown.js +3 -0
- package/dist/src/render/qr.js +1 -1
- package/dist/src/state/cart_session.js +1 -4
- package/dist/src/state/client_context.js +0 -72
- package/dist/src/state/config.js +14 -44
- package/dist/src/state/device_authority.js +41 -141
- package/docs/agent/buyer/cart-checkout.json +5 -6
- package/docs/agent/buyer/catalog-list.json +6 -24
- package/docs/agent/buyer/identity-and-sessions.json +9 -25
- package/docs/agent/buyer/install-and-setup.json +15 -11
- package/docs/agent/buyer/orders-refunds.json +5 -12
- package/docs/agent/buyer/payment-flow.json +3 -4
- package/docs/agent/buyer/purchased-content.json +4 -18
- package/docs/agent/buyer/quickstart.json +16 -24
- package/docs/agent/buyer/render-hosts.json +12 -23
- package/docs/agent/buyer/service-feedback.json +1 -2
- package/docs/cli-reference/agent-types.md +2 -7
- package/docs/cli-reference/commands/buy.md +1 -2
- package/docs/cli-reference/commands/cart/add.md +1 -1
- package/docs/cli-reference/commands/cart/clear.md +1 -1
- package/docs/cli-reference/commands/cart/index.md +1 -1
- package/docs/cli-reference/commands/cart/next.md +1 -1
- package/docs/cli-reference/commands/cart/remove.md +1 -1
- package/docs/cli-reference/commands/cart/show.md +1 -1
- package/docs/cli-reference/commands/catalog/index.md +1 -1
- package/docs/cli-reference/commands/catalog/list.md +2 -2
- package/docs/cli-reference/commands/checkout.md +2 -12
- package/docs/cli-reference/commands/device.md +11 -18
- package/docs/cli-reference/commands/docs/index.md +1 -1
- package/docs/cli-reference/commands/docs/list.md +1 -1
- package/docs/cli-reference/commands/docs/search.md +1 -1
- package/docs/cli-reference/commands/docs/show.md +1 -1
- package/docs/cli-reference/commands/install.md +6 -8
- package/docs/cli-reference/commands/next.md +1 -1
- package/docs/cli-reference/commands/order.md +1 -1
- package/docs/cli-reference/commands/pay.md +1 -1
- package/docs/cli-reference/commands/readyz.md +10 -58
- package/docs/cli-reference/commands/refund/cancel.md +1 -1
- package/docs/cli-reference/commands/refund/create.md +1 -1
- package/docs/cli-reference/commands/refund/get.md +2 -2
- package/docs/cli-reference/commands/refund/index.md +1 -1
- package/docs/cli-reference/commands/refund/list.md +1 -1
- package/docs/cli-reference/commands/refund/watch.md +1 -1
- package/docs/cli-reference/commands/services/action.md +3 -24
- package/docs/cli-reference/commands/services/checkout.md +2 -13
- package/docs/cli-reference/commands/services/events.md +1 -1
- package/docs/cli-reference/commands/services/get.md +2 -4
- package/docs/cli-reference/commands/services/index.md +3 -4
- package/docs/cli-reference/commands/services/invoke.md +4 -6
- package/docs/cli-reference/commands/services/list.md +1 -1
- package/docs/cli-reference/commands/services/next.md +12 -105
- package/docs/cli-reference/commands/services/quote.md +3 -3
- package/docs/cli-reference/commands/services/read-result.md +6 -17
- package/docs/cli-reference/commands/services/start.md +2 -2
- package/docs/cli-reference/commands/vault/access.md +1 -5
- package/docs/cli-reference/conventions.md +6 -4
- package/docs/cli-reference/index.md +1 -8
- package/docs/skill-bundle-rollout/01-mcp-authentication.md +134 -0
- package/docs/skill-bundle-rollout/02-platform-bundle-repositories.md +210 -0
- package/docs/skill-bundle-rollout/03-platform-publishing.md +161 -0
- package/docs/skill-bundle-rollout/04-first-wave-platforms.md +69 -0
- package/docs/skill-bundle-rollout/05-sync-operations.md +62 -0
- package/docs/skill-bundle-rollout/README.md +151 -0
- package/package.json +13 -20
- package/skills/itpay/SKILL.md +105 -101
- package/assets/sell-preview/index.html +0 -6
- package/assets/sell-preview/preview.js +0 -9
- package/bin/darwin-amd64/itpay-sell +0 -0
- package/bin/darwin-arm64/itpay-sell +0 -0
- package/bin/linux-amd64/itpay-sell +0 -0
- package/bin/linux-arm64/itpay-sell +0 -0
- package/bin/windows-amd64/itpay-sell.exe +0 -0
- package/dist/src/commands/presentation.js +0 -153
- package/dist/src/commands/rail_catalog.js +0 -261
- package/dist/src/render/browser.js +0 -65
- package/dist/src/sell/commands.js +0 -80
- package/dist/src/sell/contract.js +0 -86
- package/dist/src/sell/local.js +0 -260
- package/dist/src/sell/mcp.js +0 -49
- package/dist/src/sell/preview.js +0 -70
- package/dist/src/sell/sync.js +0 -145
- package/dist/src/state/account_auth.js +0 -332
- package/dist/src/state/task_journal.js +0 -90
- package/docs/agent/buyer/rail-booking.json +0 -162
- package/docs/agent/buyer/rail-fast-checkout.json +0 -48
- package/docs/cli-reference/commands/auth.md +0 -96
- package/docs/cli-reference/commands/sell.md +0 -1364
- package/docs/cli-reference/commands/services/page.md +0 -71
- package/docs/cli-reference/commands/services/run.md +0 -156
- package/docs/sell.md +0 -84
- /package/bin/{itp.mjs → itp} +0 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# 多平台仓库与 CLI Bundle 合同
|
|
2
|
+
|
|
3
|
+
状态:current。
|
|
4
|
+
最后核对:2026-08-10。
|
|
5
|
+
|
|
6
|
+
## 1. 原则
|
|
7
|
+
|
|
8
|
+
每个真实发布面可以有独立仓库,但所有仓库消费同一 MCP 和同一
|
|
9
|
+
`@itpay/cli`。独立仓库解决 manifest、安装、提示、审核和发布节奏差异,
|
|
10
|
+
不制造平台业务 fork。
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
itpay-ai/compose
|
|
14
|
+
Backend / OAuth / MCP / Web / Buyer / Vault
|
|
15
|
+
|
|
16
|
+
itpay-ai/cli
|
|
17
|
+
@itpay/cli source / command docs / bundle generator
|
|
18
|
+
|
|
19
|
+
platform repository
|
|
20
|
+
manifest / platform Skill / exact CLI bundle / tests / submission
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 2. 当前仓库注册表
|
|
24
|
+
|
|
25
|
+
具体发布状态只在
|
|
26
|
+
[04-first-wave-platforms.md](./04-first-wave-platforms.md) 维护。
|
|
27
|
+
|
|
28
|
+
| 产品面 | 仓库 | 本地 CLI | 远程 MCP |
|
|
29
|
+
| --- | --- | --- | --- |
|
|
30
|
+
| ChatGPT + Codex | `itpay-plugin-chatgpt` | local Codex | ChatGPT/cloud |
|
|
31
|
+
| WorkBuddy | `itpay-skill-workbuddy` | default when shell is available | explicit connection |
|
|
32
|
+
| OpenClaw | `itpay-skill-openclaw` | supported host-dependent | only after real client acceptance |
|
|
33
|
+
| Kimi Work / Kimi Code | `itpay-plugin-kimi-work` | Kimi Code host-dependent | Kimi Work/remote host-dependent |
|
|
34
|
+
| Hermes Agent | `itpay-skill-hermes` | supported host-dependent | only after real client acceptance |
|
|
35
|
+
|
|
36
|
+
Claude 和 Gemini 属于待开始支持目标;没有真实仓库、manifest 和验收前不放入
|
|
37
|
+
当前注册表。
|
|
38
|
+
|
|
39
|
+
## 3. 平台仓库最小内容
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
platform manifest / connector config
|
|
43
|
+
platform-specific SKILL.md
|
|
44
|
+
bin or scripts launcher # only for local-capable hosts
|
|
45
|
+
vendor/itpay-cli/ # generated, not edited
|
|
46
|
+
bundle.lock.json
|
|
47
|
+
tests/
|
|
48
|
+
README / submission / release notes
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
平台仓库不得包含:
|
|
52
|
+
|
|
53
|
+
- CLI 源码副本或手工 Agent Type patch;
|
|
54
|
+
- Backend/MCP/Vault 状态机;
|
|
55
|
+
- OAuth client secret、Access/Refresh Token;
|
|
56
|
+
- `.env`、用户 HOME、Device 私钥/session;
|
|
57
|
+
- 运行时 `npm install` 或 `latest`;
|
|
58
|
+
- 全局 CLI fallback。
|
|
59
|
+
|
|
60
|
+
## 4. Bundle 格式
|
|
61
|
+
|
|
62
|
+
优先复用现有已验证格式:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
npm-tree
|
|
66
|
+
vendor/itpay-cli/package/
|
|
67
|
+
vendor/itpay-cli/node_modules/ production only
|
|
68
|
+
|
|
69
|
+
single-file-esm
|
|
70
|
+
vendor/itpay-cli/itpay-cli.bundle.mjs
|
|
71
|
+
vendor/itpay-cli/docs/
|
|
72
|
+
vendor/itpay-cli/licenses/
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
WorkBuddy/OpenClaw/Hermes 等上传型 Skill 优先使用 `single-file-esm`,不包含
|
|
76
|
+
`node_modules`。只有真实平台证明 Node runtime 不可用时,才启动 standalone
|
|
77
|
+
executable 工作;不提前维护多架构二进制。
|
|
78
|
+
|
|
79
|
+
## 5. `bundle.lock.json`
|
|
80
|
+
|
|
81
|
+
至少包含:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"schemaVersion": 1,
|
|
86
|
+
"package": "@itpay/cli",
|
|
87
|
+
"version": "X.Y.Z",
|
|
88
|
+
"format": "single-file-esm",
|
|
89
|
+
"npmIntegrity": "sha512-...",
|
|
90
|
+
"sourceGitSha": "...",
|
|
91
|
+
"generatedAt": "<RFC3339>",
|
|
92
|
+
"node": ">=18",
|
|
93
|
+
"bundleDirectory": "vendor/itpay-cli",
|
|
94
|
+
"dependencyLockSha256": "<64 lowercase hex characters>"
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
`format` is `single-file-esm` or `npm-tree`. `bundleDirectory` is the
|
|
99
|
+
repository-relative Skill bundle directory, and `dependencyLockSha256` is the
|
|
100
|
+
raw lowercase SHA-256 hex digest emitted by `build-platform-bundle.mjs` (without
|
|
101
|
+
a `sha256:` prefix). The reusable synchronization workflow consumes these exact
|
|
102
|
+
field names.
|
|
103
|
+
|
|
104
|
+
不得包含 Token、registry credential、本机路径或 Device 状态。
|
|
105
|
+
|
|
106
|
+
## 6. 启动器规则
|
|
107
|
+
|
|
108
|
+
- 只调用 bundle 内入口;
|
|
109
|
+
- 转发全部参数、stdout、stderr、signal 和 exit code;
|
|
110
|
+
- 不修改 `HOME`;
|
|
111
|
+
- 不搜索 PATH 中其他 `itpay`;
|
|
112
|
+
- `itpay --version` 必须等于 lock version;
|
|
113
|
+
- 临时测试使用临时 HOME,不能触碰开发者真实 Device;
|
|
114
|
+
- 路径含空格和中文用户名仍可运行。
|
|
115
|
+
|
|
116
|
+
## 7. 平台 Skill 允许差异
|
|
117
|
+
|
|
118
|
+
允许:
|
|
119
|
+
|
|
120
|
+
- manifest 和安装路径;
|
|
121
|
+
- MCP 配置语法;
|
|
122
|
+
- Agent Type / host 选择;
|
|
123
|
+
- 平台工具名和浏览器/文件展示方式;
|
|
124
|
+
- 权限说明和审核材料;
|
|
125
|
+
- CLI/MCP 路由提示;
|
|
126
|
+
- 平台特有的安全限制。
|
|
127
|
+
|
|
128
|
+
不允许:
|
|
129
|
+
|
|
130
|
+
- 改变 CLI 命令参数和 JSON 合同;
|
|
131
|
+
- 改变 MCP 工具 Schema;
|
|
132
|
+
- 改变 Buyer/Vault/支付/退款规则;
|
|
133
|
+
- 保存 OAuth Token;
|
|
134
|
+
- 自动猜测并切换线路;
|
|
135
|
+
- 修改生成的 CLI bundle 业务代码。
|
|
136
|
+
|
|
137
|
+
## 8. Bundle 生成
|
|
138
|
+
|
|
139
|
+
生成器只接受精确 semver:
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
resolve exact npm version
|
|
143
|
+
-> fetch tarball metadata
|
|
144
|
+
-> verify npm integrity
|
|
145
|
+
-> install exact production dependencies with scripts disabled
|
|
146
|
+
-> remove cache/test/temp files
|
|
147
|
+
-> create requested bundle format
|
|
148
|
+
-> generate lock
|
|
149
|
+
-> secret/dangerous-file scan
|
|
150
|
+
-> offline smoke
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
拒绝 `latest`、范围、未发布版本和 integrity 不匹配。
|
|
154
|
+
|
|
155
|
+
## 9. CLI 发布后的同步
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
@itpay/cli X.Y.Z published
|
|
159
|
+
-> platform repo detects version drift
|
|
160
|
+
-> invoke reusable bundle workflow
|
|
161
|
+
-> rebuild and verify
|
|
162
|
+
-> update lock/manifest/release notes
|
|
163
|
+
-> create or refresh sync PR
|
|
164
|
+
-> platform owner reviews tests and Skill differences
|
|
165
|
+
-> merge/tag/publish separately
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
CLI 主仓库在 `main` 提供 reusable workflow。各平台仓库每小时错峰运行 caller workflow,并可手动触发;npm `dist-tags.latest` 或请求的 bundle format 与当前 `bundle.lock.json` 不同时更新。同步优先使用只安装到分发仓库、只拥有 Contents/Pull requests 写权限的 `itpay-bundle-sync` GitHub App 短期 token;未配置 App 时回落到平台仓库自己的 `GITHUB_TOKEN`,但该模式创建的 PR checks 需要仓库写权限用户批准。禁止使用个人 PAT。
|
|
169
|
+
|
|
170
|
+
同步决策同时读取 main 和当前版本的 open automation PR。目标版本、format 和 bundle directory 已存在于 open PR 时必须返回 `pr-current`,不得每小时重建、提交或 force-push 同一产物。
|
|
171
|
+
|
|
172
|
+
- 优先使用最小权限 GitHub App 短期 token;
|
|
173
|
+
- fallback 只使用平台仓库自己的 `GITHUB_TOKEN`;
|
|
174
|
+
- 禁止个人 PAT;
|
|
175
|
+
- 不自动合并;
|
|
176
|
+
- 不自动打 tag;
|
|
177
|
+
- 不自动提交商店;
|
|
178
|
+
- CLI 发布失败时不生成平台发布。
|
|
179
|
+
|
|
180
|
+
- 重新生成 bundle;
|
|
181
|
+
- 更新 manifest 版本、lock、changelog;
|
|
182
|
+
- 跑全套测试;
|
|
183
|
+
- 对启用 Skill 差异跟踪的平台,比较旧、新 `sourceGitSha` 的中心 `skills/itpay/SKILL.md`;有差异时创建 Draft PR、附 diff 和人工合并清单,但不覆盖平台 Skill;
|
|
184
|
+
- 创建或刷新 `automation/itpay-cli-X.Y.Z` 分支和同步 PR;同版本的后续计划任务必须为 no-op;
|
|
185
|
+
- PR 描述列出 CLI commit、integrity、dependency lock、同步 run、平台测试和是否需要商店重新审核;
|
|
186
|
+
- 新版本 PR 验证成功后,只关闭没有人工提交的旧机器人同步 PR;保留远程分支用于审计和恢复。
|
|
187
|
+
|
|
188
|
+
## 10. Repository tests
|
|
189
|
+
|
|
190
|
+
每个平台必须证明:
|
|
191
|
+
|
|
192
|
+
- 无全局 CLI;
|
|
193
|
+
- 测试期间禁止 npm 网络下载;
|
|
194
|
+
- bundle version/integrity/source SHA 正确;
|
|
195
|
+
- manifest 能被平台 validator 读取;
|
|
196
|
+
- platform Skill 只选择一个 CLI/MCP lane;
|
|
197
|
+
- MCP Token 不进入配置、prompt、tool 或 bundle;
|
|
198
|
+
- Device 文件不被打包或打印;
|
|
199
|
+
- 同机旧全局 CLI 不影响 bundled CLI;
|
|
200
|
+
- 升级/回滚不删除 `~/.itpay-v3`;
|
|
201
|
+
- 平台声称支持 MCP 时完成真实连接、刷新、重连和撤销测试。
|
|
202
|
+
|
|
203
|
+
## 11. 版本与回滚
|
|
204
|
+
|
|
205
|
+
第一阶段平台包版本跟随 CLI 版本,避免双版本映射。只有平台仅修改 manifest/
|
|
206
|
+
说明且真实需要独立发布节奏时,才增加 `pluginVersion`,同时保留
|
|
207
|
+
`cliVersion`。
|
|
208
|
+
|
|
209
|
+
回滚发布上一个通过验证的 bundle/manifest,不修改 Buyer、MCP Connection 或
|
|
210
|
+
Device 状态。
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# 各平台制作、验证、发布与回滚手册
|
|
2
|
+
|
|
3
|
+
状态:current operational handbook。
|
|
4
|
+
最后核对:2026-08-10。
|
|
5
|
+
|
|
6
|
+
平台规则会变化。每次正式提交前必须重新核对平台官方要求;本文只固定 ItPay
|
|
7
|
+
自己的安全、版本和职责边界。
|
|
8
|
+
|
|
9
|
+
## 1. 共用发布前门禁
|
|
10
|
+
|
|
11
|
+
- 平台存在于 [04-first-wave-platforms.md](./04-first-wave-platforms.md);
|
|
12
|
+
- manifest/Skill/MCP config 来自平台仓库,不来自 Compose 或 CLI 临时目录;
|
|
13
|
+
- CLI bundle 绑定精确 npm version、integrity、source SHA;
|
|
14
|
+
- 无全局 CLI、无运行时 npm、离线 smoke 通过;
|
|
15
|
+
- Skill 披露网络、命令、文件和外部 ItPay 授权页面;
|
|
16
|
+
- MCP OAuth Token 由平台原生客户端保管,模型/Skill/CLI 看不到;
|
|
17
|
+
- Local 使用 Device Authority,Remote 使用 MCP Connection;
|
|
18
|
+
- 一个任务只选一条线路,不静默 fallback;
|
|
19
|
+
- 公共 MCP `tools/list` 与当前批准合同一致;
|
|
20
|
+
- Buyer Vault 读取只返回授权字段;
|
|
21
|
+
- 支付/退款不因 OAuth、Skill 安装或 Vault 读取获得授权;
|
|
22
|
+
- `.env`、Secret、Token、私钥、Device 文件、用户数据未打包;
|
|
23
|
+
- website、support、privacy、terms、数据删除/断开说明可访问;
|
|
24
|
+
- 正向、负向、越权、撤销、刷新和回滚测试完成。
|
|
25
|
+
|
|
26
|
+
## 2. ChatGPT + Codex
|
|
27
|
+
|
|
28
|
+
仓库:`itpay-plugin-chatgpt`。
|
|
29
|
+
|
|
30
|
+
### ChatGPT 云端
|
|
31
|
+
|
|
32
|
+
- 只走远程 MCP OAuth;
|
|
33
|
+
- 平台原生保存/刷新 Token;
|
|
34
|
+
- 使用批准的五个 Buyer Vault read/authorization 工具;
|
|
35
|
+
- 不探测本地 HOME 或创建 Device;
|
|
36
|
+
- tool annotations、CSP、OAuth metadata、domain challenge 和审核材料在
|
|
37
|
+
OpenAI 平台仓库维护;
|
|
38
|
+
- 审核账号只含固定测试数据,不要求真实付款。
|
|
39
|
+
|
|
40
|
+
### 本地 Codex
|
|
41
|
+
|
|
42
|
+
- 有 bundled CLI 时默认 Local Device;
|
|
43
|
+
- Skill 使用 bundle 的确定入口,不调用全局 CLI;
|
|
44
|
+
- 用户明确要求 MCP 才选择远程 MCP;
|
|
45
|
+
- ChatGPT/Codex 共用发布仓库不代表共用凭据或运行路径。
|
|
46
|
+
|
|
47
|
+
验证:ChatGPT OAuth connect/refresh/revoke/Vault read;Codex fresh install、
|
|
48
|
+
Device persistence、CLI Vault read、同机旧全局 CLI 隔离。
|
|
49
|
+
|
|
50
|
+
## 3. WorkBuddy
|
|
51
|
+
|
|
52
|
+
仓库:`itpay-skill-workbuddy`。
|
|
53
|
+
|
|
54
|
+
- 有持久 Shell 和 Skill bundle 时默认 CLI;
|
|
55
|
+
- 用户明确连接/要求 MCP 时使用 WorkBuddy 原生 MCP OAuth;
|
|
56
|
+
- CLI 持久写 `~/.itpay-v3` 前遵循 WorkBuddy 权限模型;
|
|
57
|
+
- Checkout/Auth handoff 只使用官方 HTTPS URL/Action Card 和平台实际打开
|
|
58
|
+
工具;
|
|
59
|
+
- 不读取任意目录,不下载/rebuild QR,不处理用户 Device lock;
|
|
60
|
+
- MCP Access Token 到期必须静默 refresh;Vault window 到期只重新授权
|
|
61
|
+
Vault;
|
|
62
|
+
- 上传包使用 `single-file-esm`,不含 `node_modules`。
|
|
63
|
+
|
|
64
|
+
验证:默认权限、用户拒绝权限、完全访问权限、路径空格/中文、窄内置浏览器、
|
|
65
|
+
MCP 首次连接、扫码/回跳、refresh、关闭面板重连、Vault expiry/revoke。
|
|
66
|
+
|
|
67
|
+
SkillHub 上传/审核由仓库管理员执行;在官方确认前不宣称公共收录状态。
|
|
68
|
+
|
|
69
|
+
## 4. OpenClaw
|
|
70
|
+
|
|
71
|
+
仓库:`itpay-skill-openclaw`。
|
|
72
|
+
|
|
73
|
+
- 本地持久 host 使用 single-file CLI bundle;
|
|
74
|
+
- 每次需要 native presentation 的命令显式传可信 `--host` 和目标上下文;
|
|
75
|
+
- Telegram/Discord 等 host renderer 只负责展示,不改变业务合同;
|
|
76
|
+
- 只有平台的远程 MCP OAuth 通过真实验收后才启用 MCP lane;
|
|
77
|
+
- ClawHub 发布版本必须和 lock/Skill metadata 一致。
|
|
78
|
+
|
|
79
|
+
验证:无全局 CLI、host/target、原生按钮/普通内容 fallback、Device 持久化、
|
|
80
|
+
bundle 更新/回滚、若启用 MCP则连接/refresh/revoke。
|
|
81
|
+
|
|
82
|
+
## 5. Kimi Work / Kimi Code
|
|
83
|
+
|
|
84
|
+
仓库:`itpay-plugin-kimi-work`。
|
|
85
|
+
|
|
86
|
+
- Kimi Work 纯云端环境优先 MCP;
|
|
87
|
+
- Kimi Code 有持久 Shell 和 bundle 时默认 CLI;
|
|
88
|
+
- manifest/Skill 必须显式区分两个 surface;
|
|
89
|
+
- extension/plugin setting 不存 OAuth Token;
|
|
90
|
+
- 只有实际客户端证明的 token persistence/refresh 行为写入支持矩阵。
|
|
91
|
+
|
|
92
|
+
验证:两个 surface 分别全新安装、线路选择、升级、Token refresh、Device 文件
|
|
93
|
+
隔离和 Vault 跨平台读取。
|
|
94
|
+
|
|
95
|
+
## 6. Hermes Agent
|
|
96
|
+
|
|
97
|
+
仓库:`itpay-skill-hermes`。
|
|
98
|
+
|
|
99
|
+
- 本地 Skill tap 使用 single-file CLI bundle;
|
|
100
|
+
- 不调用全局 CLI或 runtime npm;
|
|
101
|
+
- Skills Hub/trusted 状态按真实上游结果记录;
|
|
102
|
+
- 远程 MCP 仅在 Hermes 客户端完成标准 OAuth 实测后启用。
|
|
103
|
+
|
|
104
|
+
验证:tap 安装/更新/回滚、无网 bundle、Device persistence、命令输出合同、若
|
|
105
|
+
启用 MCP则连接/refresh/revoke。
|
|
106
|
+
|
|
107
|
+
## 7. 后续平台
|
|
108
|
+
|
|
109
|
+
Claude 和 Gemini 不在当前仓库注册表。开始真实工作时才:
|
|
110
|
+
|
|
111
|
+
1. 核对当前官方 manifest/connector/auth 规则;
|
|
112
|
+
2. 确认真实分发面和仓库名;
|
|
113
|
+
3. 建平台仓库;
|
|
114
|
+
4. 选择 CLI/MCP lane;
|
|
115
|
+
5. 完成真实安装和 Token/Device 测试;
|
|
116
|
+
6. 加入注册表和发布矩阵。
|
|
117
|
+
|
|
118
|
+
不能根据旧文档中的“建议仓库”直接宣称已支持。
|
|
119
|
+
|
|
120
|
+
## 8. 发布顺序
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
Backend/MCP/Web contract accepted on Dev
|
|
124
|
+
-> CLI docs and implementation accepted
|
|
125
|
+
-> exact npm CLI published
|
|
126
|
+
-> platform sync PRs generated
|
|
127
|
+
-> each platform runs its own E2E/review
|
|
128
|
+
-> platform merge/tag/store submission
|
|
129
|
+
-> update actual version/status registry
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
如果仅远程 MCP 变化且平台 manifest/Skill 不变,平台仍需运行 connector E2E,
|
|
133
|
+
但不为了形式强制发布新 CLI bundle。
|
|
134
|
+
|
|
135
|
+
## 9. 回滚
|
|
136
|
+
|
|
137
|
+
- Backend/MCP/Web 使用 Compose release rollback,不改变平台 Token/Device;
|
|
138
|
+
- CLI 回滚发布上一个验证 bundle;
|
|
139
|
+
- 平台回滚使用上一个 tag/artifact;
|
|
140
|
+
- 不删除 `~/.itpay-v3`;
|
|
141
|
+
- 不撤销所有 MCP Connection,除非安全事件明确要求;
|
|
142
|
+
- 工具合同回滚后重新验证平台 `tools/list` 与 Backend compatibility;
|
|
143
|
+
- 记录原因、版本、时间、影响平台和恢复证据。
|
|
144
|
+
|
|
145
|
+
## 10. 实际发布矩阵
|
|
146
|
+
|
|
147
|
+
矩阵不写死在本文,统一维护在
|
|
148
|
+
[04-first-wave-platforms.md](./04-first-wave-platforms.md)。
|
|
149
|
+
|
|
150
|
+
每行至少记录:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
product surface
|
|
154
|
+
repository
|
|
155
|
+
supported lane
|
|
156
|
+
CLI bundle version/integrity (if local)
|
|
157
|
+
MCP contract/revision tested (if remote)
|
|
158
|
+
draft/review/published/blocked
|
|
159
|
+
last real acceptance date
|
|
160
|
+
rollback artifact/tag
|
|
161
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 当前平台仓库与发布状态注册表
|
|
2
|
+
|
|
3
|
+
状态:current operational registry。
|
|
4
|
+
最后核对:2026-08-10。
|
|
5
|
+
|
|
6
|
+
本文件是 CLI 文档中平台集合、仓库名称和实际发布状态的唯一权威来源。
|
|
7
|
+
不要在 README、bundle 合同或发布手册中维护另一份不同名单。
|
|
8
|
+
|
|
9
|
+
## 当前注册表
|
|
10
|
+
|
|
11
|
+
| 产品面 | 仓库 | 默认线路 | 当前形态 | 本轮发布状态 | 最近验收 | 回滚锚点 | 仍需持续验证 |
|
|
12
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
13
|
+
| ChatGPT + Codex | `itpay-plugin-chatgpt` | ChatGPT MCP;本地 Codex CLI | OpenAI app-plus-skills plugin、MCP config、Skill、离线 CLI | blocked:Buyer Vault 候选尚未完成外部发布 | 2026-08-10 automated CI;ChatGPT/Codex 真机待验收 | pre-Vault `2b1e8a9c8030` | 当前 MCP 合同、OAuth refresh/revoke、OpenAI 审核;本地 CLI bundle pin |
|
|
14
|
+
| WorkBuddy | `itpay-skill-workbuddy` | 本地 CLI;显式 MCP | SkillHub/local Skill 包、单文件 CLI、MCP OAuth | blocked:Buyer Vault 候选尚未同步 SkillHub | 2026-08-10 automated CI;WorkBuddy 真机待验收 | pre-Vault `584ebf3f8c46` | 权限模式、窄浏览器、OAuth 回跳/refresh、SkillHub 状态 |
|
|
15
|
+
| OpenClaw / ClawHub | `itpay-skill-openclaw` | host-dependent CLI | ClawHub Skill、单文件 CLI | blocked:Buyer Vault 候选尚未同步 ClawHub | 2026-08-10 automated CI;OpenClaw 真机待验收 | pre-Vault `af2aa79d85c8` | 公开目录/审核状态、host renderer、更新/回滚 |
|
|
16
|
+
| Kimi Work / Kimi Code | `itpay-plugin-kimi-work` | Work MCP;Code host-dependent CLI | Kimi plugin + Skill、离线 CLI | blocked:Buyer Vault 候选尚未发布;公开 release 仍为 `v2.0.17` | 2026-08-10 automated CI;两个 surface 真机待验收 | `v2.0.17` / `b8d40fe9cffd` | 两个 surface 真机、MCP Token persistence、市场状态 |
|
|
17
|
+
| Hermes Agent / Skills Hub | `itpay-skill-hermes` | host-dependent CLI | GitHub Skill tap、单文件 CLI | blocked:Buyer Vault 候选尚未同步 Skills Hub | 2026-08-10 automated CI;Hermes 真机待验收 | pre-Vault `1189f25103fd` | Skills Hub/trusted 状态、更新/回滚、可选 MCP 真机 |
|
|
18
|
+
|
|
19
|
+
CLI bundle 的实际版本、integrity 和 source SHA 只以各仓库
|
|
20
|
+
`bundle.lock.json` 为准,不在本文复制易过期版本号。
|
|
21
|
+
|
|
22
|
+
`blocked` means the repository candidate must not be presented as externally
|
|
23
|
+
published. Update the status, acceptance date, and rollback anchor only after
|
|
24
|
+
the named platform has real acceptance and its distribution surface is updated.
|
|
25
|
+
|
|
26
|
+
## 后续目标,不是当前仓库
|
|
27
|
+
|
|
28
|
+
| 平台 | 当前状态 | 加入注册表的条件 |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| Claude / Claude Code | planned | 确认分发面和仓库,完成 manifest、CLI/MCP 路由、OAuth/Device 真机验收。 |
|
|
31
|
+
| Gemini CLI | planned | 确认当前 Extension 规则,完成仓库、manifest、bundle 和真机验收。 |
|
|
32
|
+
| 豆包/扣子/火山/其他 | unconfirmed | 明确具体产品面和官方第三方发布入口,不能相互代替。 |
|
|
33
|
+
|
|
34
|
+
不要创建空仓库占位,也不要根据旧建议名单宣称支持。
|
|
35
|
+
|
|
36
|
+
## 统一合同
|
|
37
|
+
|
|
38
|
+
- CLI 唯一真源是精确 npm `@itpay/cli`;
|
|
39
|
+
- 平台仓库只保存 manifest、Skill、generated bundle、lock、测试和发布材料;
|
|
40
|
+
- 本地使用 Device Authority,远程使用 MCP OAuth Connection;
|
|
41
|
+
- 平台原生 MCP client 保管 Token;
|
|
42
|
+
- 一个任务只走一条线路,不静默 fallback;
|
|
43
|
+
- 不运行时下载 `latest`,不调用全局 CLI,不 patch generated bundle;
|
|
44
|
+
- 同步只创建 PR,不自动发布;
|
|
45
|
+
- Backend compatibility、CLI npm、平台 bundle 和 MCP contract 分别记录;
|
|
46
|
+
- 跨平台 Buyer Vault 功能上线后,公共 MCP 只注册批准的五个工具。
|
|
47
|
+
|
|
48
|
+
## 每次发布如何更新
|
|
49
|
+
|
|
50
|
+
五个平台仓库每小时错峰检查 npm `@itpay/cli` 的正式版。发现版本高于各自 `bundle.lock.json` 后,调用 CLI `main` 上的统一 reusable workflow,重建对应格式的 bundle并运行仓库测试。更新 PR 优先由最小权限 `itpay-bundle-sync` GitHub App 创建;仓库未配置 App 时回落到 `GITHUB_TOKEN` 并明确要求人工批准 PR checks。该流程禁止个人 PAT,不会自动合并或发布商店版本,同一个 CLI 版本已有有效 open PR 时不会重复 force-push。
|
|
51
|
+
|
|
52
|
+
平台 owner 在真实验收后更新对应行或附加 release record,至少记录:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
tested_at
|
|
56
|
+
platform package/tag
|
|
57
|
+
CLI version + npm integrity (local lane)
|
|
58
|
+
MCP/Backend revision (remote lane)
|
|
59
|
+
positive/negative test result
|
|
60
|
+
store/review status
|
|
61
|
+
rollback artifact
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
“CLI 已发布”或“Backend 已部署”不能推断平台已更新。
|
|
65
|
+
|
|
66
|
+
## 历史通用仓库
|
|
67
|
+
|
|
68
|
+
旧 `itpay-ai/skill` 不再作为 CLI 或平台业务真源。独立仓库迁移完成后,
|
|
69
|
+
它只能归档或作为不含 bundle/业务分叉的索引仓库;不能继续手工 patch CLI。
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Bundle 同步运维与事故处理
|
|
2
|
+
|
|
3
|
+
## 正常状态
|
|
4
|
+
|
|
5
|
+
每次同步必须在 Job Summary 中给出 published version、automation branch、同步决策、凭据模式、PR URL 和关闭的 superseded PR 数量。
|
|
6
|
+
|
|
7
|
+
同步决策只有以下正常结果:
|
|
8
|
+
|
|
9
|
+
- `base-current`:main 已经包含目标版本,无需更新。
|
|
10
|
+
- `pr-current`:当前版本的 open PR 已包含正确 bundle,不得产生新 commit。
|
|
11
|
+
- `update-required`:目标版本不存在,需要构建并创建 PR。
|
|
12
|
+
- `open-pr-artifact-missing`:PR 分支缺少 lock,需要重新构建。
|
|
13
|
+
- `open-pr-artifact-mismatch`:PR 中的 version、format 或 bundle directory 不符合 caller 合同,需要重新构建。
|
|
14
|
+
|
|
15
|
+
## 失败分类
|
|
16
|
+
|
|
17
|
+
### GitHub Actions 启动故障
|
|
18
|
+
|
|
19
|
+
以下证据表示仓库代码没有运行:
|
|
20
|
+
|
|
21
|
+
- run 的 `steps` 为空;
|
|
22
|
+
- 失败发生在 `Set up job`;
|
|
23
|
+
- `Failed to resolve action download info`;
|
|
24
|
+
- Hosted Runner 长时间 queued 后被 cancelled 或 timed out。
|
|
25
|
+
|
|
26
|
+
先查看 GitHub Status。官方确认恢复后重跑原 SHA;不得为了这种故障修改 bundle、测试或业务代码。
|
|
27
|
+
|
|
28
|
+
### Bundle 构建或测试故障
|
|
29
|
+
|
|
30
|
+
以下步骤失败才属于仓库或产物问题:
|
|
31
|
+
|
|
32
|
+
- Resolve published version
|
|
33
|
+
- Rebuild bundle
|
|
34
|
+
- Inspect upstream Skill changes
|
|
35
|
+
- Verify platform bundle
|
|
36
|
+
|
|
37
|
+
保留失败分支和日志,不创建或更新 PR,不跳过 `npm test`。
|
|
38
|
+
|
|
39
|
+
### `action_required`
|
|
40
|
+
|
|
41
|
+
由 `GITHUB_TOKEN` 创建或更新的 PR workflow 会进入 approval-required 状态。这不是测试失败,但测试尚未执行。仓库写权限用户可以批准该 run;要求零人工同步时,必须配置最小权限 GitHub App,禁止使用个人 PAT。
|
|
42
|
+
|
|
43
|
+
## 重跑规则
|
|
44
|
+
|
|
45
|
+
1. 只重跑仍指向当前 head SHA 的基础设施失败。
|
|
46
|
+
2. 新 commit 已存在时不重跑旧 SHA。
|
|
47
|
+
3. 同一个版本第二次同步必须保持 automation PR head SHA 不变。
|
|
48
|
+
4. 不把 cancelled、action-required 或旧 SHA 的 success 当作当前版本通过。
|
|
49
|
+
|
|
50
|
+
## Superseded PR
|
|
51
|
+
|
|
52
|
+
新版本 PR 建立并通过平台 `npm test` 后,可以关闭旧机器人同步 PR。自动关闭只允许处理带同步标记、分支符合 `automation/itpay-cli-X.Y.Z`、且所有提交均由 `itpay-bundle-bot` 产生的 PR。检测到人工提交时必须保留并在 summary 中提示。关闭时保留远程分支,不自动删除历史。
|
|
53
|
+
|
|
54
|
+
## GitHub App 权限
|
|
55
|
+
|
|
56
|
+
`itpay-bundle-sync` 只安装到分发仓库,权限限定为:
|
|
57
|
+
|
|
58
|
+
- Metadata: read
|
|
59
|
+
- Contents: read/write
|
|
60
|
+
- Pull requests: read/write
|
|
61
|
+
|
|
62
|
+
App 不需要 Actions、Secrets、Administration、Deployments 或 Packages 写权限。私钥只存于组织 Actions secrets,通过 reusable workflow 生成当前仓库、当前 job 有效的短期 token。
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# ItPay 平台 Skill / Plugin 与 CLI Bundle 文档入口
|
|
2
|
+
|
|
3
|
+
状态:current。
|
|
4
|
+
Authority:CLI 与平台发布边界入口。
|
|
5
|
+
最后核对:2026-08-10。
|
|
6
|
+
|
|
7
|
+
本目录只管理 CLI 和平台发布合同,不管理 Backend、OAuth Server、Buyer、
|
|
8
|
+
Vault 或授权状态机。
|
|
9
|
+
|
|
10
|
+
跨平台 Buyer Vault 读取的权威开发计划在 `itpay-ai/compose`:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
docs/v3/V3_CROSS_PLATFORM_BUYER_VAULT_READ_IMPLEMENTATION_PLAN.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
远程 MCP OAuth 与 Local Device Authority 的权威实现记录在:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
docs/v3/V3_MCP_OAUTH_AND_LOCAL_DEVICE_AUTH_IMPLEMENTATION_PLAN.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 文档路由
|
|
23
|
+
|
|
24
|
+
| 文件 | 负责内容 |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| [01-mcp-authentication.md](./01-mcp-authentication.md) | CLI Device 与远程 MCP OAuth 的边界、Token 保管、CLI/MCP 路由。 |
|
|
27
|
+
| [02-platform-bundle-repositories.md](./02-platform-bundle-repositories.md) | 平台独立仓库、bundle、lock、同步 PR 和禁止复制核心代码。 |
|
|
28
|
+
| [03-platform-publishing.md](./03-platform-publishing.md) | 平台制作、验证、发布、回滚的通用手册和平台差异。 |
|
|
29
|
+
| [04-first-wave-platforms.md](./04-first-wave-platforms.md) | 当前真实平台仓库注册表和发布状态;平台集合只以此文件为准。 |
|
|
30
|
+
| [05-sync-operations.md](./05-sync-operations.md) | Bundle 同步 GitHub App、fallback、幂等、事故处理和人工恢复。 |
|
|
31
|
+
|
|
32
|
+
## 当前身份边界
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
本地 Agent
|
|
36
|
+
-> bundled @itpay/cli
|
|
37
|
+
-> ~/.itpay-v3 Device Authority
|
|
38
|
+
-> exact Agent Instance
|
|
39
|
+
-> ItPay Backend
|
|
40
|
+
|
|
41
|
+
云端 Chat 平台
|
|
42
|
+
-> 原生 MCP OAuth
|
|
43
|
+
-> exact MCP Connection
|
|
44
|
+
-> ItPay MCP
|
|
45
|
+
-> short workload delegation
|
|
46
|
+
-> ItPay Backend
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
两条通道可以关联同一 Buyer 并读取同一 Buyer Vault,但不共享:
|
|
50
|
+
|
|
51
|
+
- Device 私钥或 Device Session;
|
|
52
|
+
- OAuth Access/Refresh Token;
|
|
53
|
+
- Agent Instance 或 MCP Connection;
|
|
54
|
+
- 临时 Vault 授权窗口;
|
|
55
|
+
- 工件首次揭示授权。
|
|
56
|
+
|
|
57
|
+
## 仓库职责
|
|
58
|
+
|
|
59
|
+
### CLI 仓库
|
|
60
|
+
|
|
61
|
+
负责:
|
|
62
|
+
|
|
63
|
+
- `@itpay/cli` 源码;
|
|
64
|
+
- Device Authority;
|
|
65
|
+
- 命令、参数和标准输出;
|
|
66
|
+
- 通用 Agent Type/host renderer;
|
|
67
|
+
- bundle 生成与可复现性合同;
|
|
68
|
+
- CLI 命令文档和测试。
|
|
69
|
+
|
|
70
|
+
不负责:
|
|
71
|
+
|
|
72
|
+
- MCP OAuth Token 保存;
|
|
73
|
+
- Buyer/Vault 业务状态机;
|
|
74
|
+
- 平台商店 manifest;
|
|
75
|
+
- 平台专属业务逻辑。
|
|
76
|
+
|
|
77
|
+
### 平台仓库
|
|
78
|
+
|
|
79
|
+
只负责:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
manifest / MCP config
|
|
83
|
+
平台专属 Skill 与 CLI/MCP 路由
|
|
84
|
+
精确 CLI bundle(本地平台)
|
|
85
|
+
bundle.lock.json
|
|
86
|
+
平台测试、审核和发布材料
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
不复制 CLI 源码,不实现 OAuth/Vault/支付,不在运行时下载 `latest`。
|
|
90
|
+
|
|
91
|
+
## 当前平台集合
|
|
92
|
+
|
|
93
|
+
当前发布面只以
|
|
94
|
+
[04-first-wave-platforms.md](./04-first-wave-platforms.md) 为准:
|
|
95
|
+
|
|
96
|
+
- ChatGPT + Codex;
|
|
97
|
+
- WorkBuddy;
|
|
98
|
+
- OpenClaw;
|
|
99
|
+
- Kimi Work / Kimi Code;
|
|
100
|
+
- Hermes Agent。
|
|
101
|
+
|
|
102
|
+
Claude 与 Gemini 是后续支持目标,不在没有真实实现和验收时创建占位仓库或
|
|
103
|
+
写成“首批已实施”。
|
|
104
|
+
|
|
105
|
+
## 一个任务只走一条线路
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
有持久本地 Shell + bundled CLI + 用户未指定 MCP -> CLI
|
|
109
|
+
纯云端平台 -> MCP
|
|
110
|
+
用户明确指定 MCP -> MCP
|
|
111
|
+
用户明确指定 CLI -> CLI
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
选定后禁止静默 fallback。Device 被吊销不能自动改走 MCP;MCP OAuth 失败
|
|
115
|
+
不能自动创建本地 Device。
|
|
116
|
+
|
|
117
|
+
## CLI 文档先行
|
|
118
|
+
|
|
119
|
+
任何命令变更必须遵守:
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
先更新 command reference
|
|
123
|
+
-> 冻结参数/状态/JSON/instruction/next/recovery
|
|
124
|
+
-> 再改代码
|
|
125
|
+
-> 自动测试
|
|
126
|
+
-> 构建真实 CLI
|
|
127
|
+
-> 临时 HOME + 真实 Backend 执行
|
|
128
|
+
-> 实际输出逐字段对照文档
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
JSON 模式 stdout 只能有一个标准 envelope;不能追加调试、进度或提示文本。
|
|
132
|
+
|
|
133
|
+
## 统一发布门禁
|
|
134
|
+
|
|
135
|
+
- npm 精确版本、integrity、source SHA 可验证;
|
|
136
|
+
- 平台 bundle 版本等于 `bundle.lock.json`;
|
|
137
|
+
- 无全局 CLI、无运行时 npm、离线 smoke 通过;
|
|
138
|
+
- Skill/bundle 不含 `.env`、Token、私钥、Device 文件或用户数据;
|
|
139
|
+
- 平台原生客户端保管和刷新 OAuth Token;Skill/CLI/模型看不到 Token;
|
|
140
|
+
- 同步只开 PR,不自动合并、打 tag 或发布商店;
|
|
141
|
+
- 每个平台分别保存实际已发布版本和回滚版本;
|
|
142
|
+
- Backend compatibility 返回精确最低 CLI 版本,不指导盲目安装 `latest`。
|
|
143
|
+
|
|
144
|
+
## 当前不做
|
|
145
|
+
|
|
146
|
+
- 不为每个平台部署一套 MCP Backend;
|
|
147
|
+
- 不建立第二套 Buyer 数据;
|
|
148
|
+
- 不把平台账号 ID 当 ItPay Buyer;
|
|
149
|
+
- 不为不兼容 OAuth 的平台发明模型可见固定 Token;
|
|
150
|
+
- 不为尚未开始的平台创建空仓库;
|
|
151
|
+
- 不在这个 CLI 文档目录重复服务端 Schema/API/Owner 设计。
|