openxiangda 2.31.2 → 2.31.3
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/documentation/backend.md +10 -2
- package/documentation/declarations-cheatsheet.md +1 -0
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +4 -4
- package/package.json +20 -22
- package/releases/2.31.3.json +32 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/backend.md +10 -2
- package/skills/openxiangda-v2/references/declarations-cheatsheet.md +1 -0
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
package/documentation/backend.md
CHANGED
|
@@ -275,7 +275,9 @@ const enroll = {
|
|
|
275
275
|
type: 'object', required: ['location'],
|
|
276
276
|
properties: { location: { type: 'string' } },
|
|
277
277
|
},
|
|
278
|
-
responseSchema: { type: 'object'
|
|
278
|
+
responseSchema: { type: 'object', properties: {
|
|
279
|
+
ticketNo: { type: 'string' }, locationName: { type: 'string' },
|
|
280
|
+
} },
|
|
279
281
|
ai: {
|
|
280
282
|
name: '发起访客预约', description: '校验访客信息、地点与时间后创建预约',
|
|
281
283
|
risk: 'write', resources: ['reservations'], sideEffects: ['创建访客预约'],
|
|
@@ -285,6 +287,10 @@ const enroll = {
|
|
|
285
287
|
aliases: ['发起邀约'],
|
|
286
288
|
supportOperations: ['reservation.locations'],
|
|
287
289
|
inputLookups: { location: 'reservation.locations' },
|
|
290
|
+
resultCard: { title: '预约已提交', fields: [
|
|
291
|
+
{ path: 'ticketNo', label: '预约单号' },
|
|
292
|
+
{ path: 'locationName', label: '地点' },
|
|
293
|
+
] },
|
|
288
294
|
},
|
|
289
295
|
},
|
|
290
296
|
};
|
|
@@ -292,7 +298,9 @@ const enroll = {
|
|
|
292
298
|
|
|
293
299
|
两个 `capability` 必须在 `authz.capabilities` 中声明为 `kind: 'backend'`,再授予相应角色。`supportOperations` 和 `inputLookups` 引用同一应用中的操作 code;被引用操作必须声明 `visibility: 'support'`、`risk: 'read'` 且使用 GET。`inputLookups` 的键必须存在于任务的 `requestSchema.properties`。示例问法最多 12 条、别名最多 20 条、辅助操作最多 12 个、字段绑定最多 32 个;运行时辅助查询仍应分页、有界,并返回业务标签与稳定引用。
|
|
294
300
|
|
|
295
|
-
|
|
301
|
+
`resultCard` 是已完成任务的只读结果卡片:只允许引用 `responseSchema.properties` 中明确声明的顶层字符串、数字或布尔字段,最多 8 项;不渲染任意 HTML/JS。应用须确保这些字段可向当前用户显示。平台助手已支持按应用声明自动执行普通写任务;待补信息表单、自定义 React 卡片 Host 仍按平台批次实现。本声明不改变既有 MCP Facade 的写入确认协议。
|
|
302
|
+
|
|
303
|
+
业务规则必须在后端操作中验证;提示词、卡片预填和前端校验不能取代权限与业务校验。完整输入、缺失输入、同名地点、权限不足、重复提交和结果未知都应有应用测试与回执核对。任务声明随 AppVersion 的 AI Catalog 一起发布,不能另建手工目录。
|
|
296
304
|
|
|
297
305
|
宿主(平台 AI 网关)用该目录装配 MCP Facade,应用不自己实现协议:
|
|
298
306
|
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
| GET 操作的 `ai.risk` 只能是 `read`;写操作不能是 `read` | `risk: 'read'` ↔ `method: 'GET'` |
|
|
59
59
|
| 面向普通用户的 Agent 只发现显式声明的业务任务;底层 CRUD 不会自动成为任务 | `ai.agent: { visibility: 'task', examples: ['帮我发起报修'], aliases: ['提交报修'] }` |
|
|
60
60
|
| 任务输入需要地点、人员等业务选择时,绑定同应用的只读辅助操作,用户不填内部编码 | `agent: { visibility: 'task', supportOperations: ['repair.locations'], inputLookups: { location: 'repair.locations' } }`;被引用的 GET 操作须有 `agent: { visibility: 'support' }`,`location` 须是请求 Schema 字段 |
|
|
61
|
+
| 任务完成后显示业务结果卡片 | `agent.resultCard: { title: '报修已提交', fields: [{ path: 'ticketNo', label: '单号' }] }`;`ticketNo` 必须是该操作响应 Schema 中的顶层标量字段,最多 8 项 |
|
|
61
62
|
| controller 路由必须绑定 `@OpenXiangdaOperation(appOperations.<code>)`,普通 CRUD 不写 controller | check 门禁会拒绝未绑定路由 |
|
|
62
63
|
| 事务守卫 `errorCode` 必须匹配 `^OPENXIANGDA_[A-Z0-9_]{1,96}$` | `errorCode: 'OPENXIANGDA_REPAIR_REQUEST_NOT_PENDING'` |
|
|
63
64
|
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.31.
|
|
72
|
-
pnpm dlx openxiangda@2.31.
|
|
73
|
-
pnpm dlx openxiangda@2.31.
|
|
74
|
-
pnpm dlx openxiangda@2.31.
|
|
71
|
+
pnpm dlx openxiangda@2.31.3 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.31.3 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.31.3 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.31.3 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.31.
|
|
178
|
-
pnpm dlx openxiangda@2.31.
|
|
179
|
-
pnpm dlx openxiangda@2.31.
|
|
177
|
+
pnpm dlx openxiangda@2.31.3 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.31.3 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.31.3 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.31.
|
|
3
|
+
"version": "2.31.3",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "9ae7dda856616e44a6c95bb886258a7d1b00f874dbaadff912b27101d5cc3ed0"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"id": "declarations-cheatsheet",
|
|
37
37
|
"title": "声明速查:一次写对 config",
|
|
38
38
|
"file": "declarations-cheatsheet.md",
|
|
39
|
-
"sha256": "
|
|
39
|
+
"sha256": "86c2f4c0d3f47fa0632b5d0aca96c4e2f91d619c44419ce7af8558de97af42dd"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"id": "application-foundation",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"id": "backend",
|
|
91
91
|
"title": "按需后端与业务动作",
|
|
92
92
|
"file": "backend.md",
|
|
93
|
-
"sha256": "
|
|
93
|
+
"sha256": "c134558dcf38562bb86b3ad3fda9788e306b87aa3bcddde37eba78af1db58f2c"
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
"id": "decimal-reservations",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.31.
|
|
3
|
+
"version": "2.31.3",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"antd-mobile": "5.42.3",
|
|
61
61
|
"dayjs": "1.11.18",
|
|
62
62
|
"docx-preview": "0.3.7",
|
|
63
|
-
"openxiangda-cli": "2.6.
|
|
64
|
-
"openxiangda-contracts": "2.30.
|
|
65
|
-
"openxiangda-devkit-core": "2.33.
|
|
63
|
+
"openxiangda-cli": "2.6.5",
|
|
64
|
+
"openxiangda-contracts": "2.30.1",
|
|
65
|
+
"openxiangda-devkit-core": "2.33.1",
|
|
66
66
|
"openxiangda-legacy": "npm:openxiangda@1.0.269",
|
|
67
|
-
"openxiangda-mcp": "2.0.
|
|
68
|
-
"openxiangda-nest": "2.7.
|
|
69
|
-
"openxiangda-skill-kit": "2.3.
|
|
67
|
+
"openxiangda-mcp": "2.0.55",
|
|
68
|
+
"openxiangda-nest": "2.7.8",
|
|
69
|
+
"openxiangda-skill-kit": "2.3.29",
|
|
70
70
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
@@ -132,37 +132,35 @@
|
|
|
132
132
|
},
|
|
133
133
|
"openxiangdaRelease": {
|
|
134
134
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
135
|
-
"version": "2.31.
|
|
135
|
+
"version": "2.31.3",
|
|
136
136
|
"status": "reviewed",
|
|
137
|
-
"title": "OpenXiangda 2.31.
|
|
138
|
-
"summary": "
|
|
137
|
+
"title": "OpenXiangda 2.31.3:业务 Agent 结果卡片声明",
|
|
138
|
+
"summary": "应用任务可以声明已完成操作的只读结果卡片。编译器把展示字段限制在响应 Schema 的顶层标量属性,并将声明随应用版本发布。",
|
|
139
139
|
"newFeatures": [
|
|
140
|
-
"backend.operations[].ai.
|
|
141
|
-
"
|
|
140
|
+
"backend.operations[].ai.agent.resultCard 支持标题和最多 8 个结果字段,并校验字段引用、类型及边界。",
|
|
141
|
+
"开发文档、速查表与 AI Skill 同步给出结果卡片示例和接入规则。"
|
|
142
142
|
],
|
|
143
143
|
"fixes": [],
|
|
144
144
|
"affectedUsers": [
|
|
145
|
-
"
|
|
145
|
+
"需要在平台助手会话中展示预约、报修等业务回执的 OpenXiangda 2.0 应用开发者。"
|
|
146
146
|
],
|
|
147
147
|
"upgradeSteps": [
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"平台 Agent 执行层须支持受管直接执行;npm 包发布本身不更新平台。"
|
|
148
|
+
"升级 openxiangda 并更新锁文件;在业务操作的 responseSchema.properties 中声明可展示的标量字段,再可选配置 agent.resultCard。",
|
|
149
|
+
"在预发验证完整业务结果、字段缺失和刷新恢复;卡片展示需要配套平台服务端与前端版本。"
|
|
151
150
|
],
|
|
152
151
|
"knownLimitations": [
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
"交互卡片资源与持久 Interaction 仍需后续批次交付。"
|
|
152
|
+
"本版只定义已完成业务操作的只读结果卡片;待补信息表单、持久 Interaction 与应用自定义 React Host 尚未发布。",
|
|
153
|
+
"结果卡片不改变应用权限、业务执行或既有 MCP Facade 的确认协议。"
|
|
156
154
|
],
|
|
157
155
|
"issues": [],
|
|
158
156
|
"compatibility": {
|
|
159
157
|
"node": ">=24",
|
|
160
158
|
"workspaceGenerations": "v2",
|
|
161
|
-
"platform": "
|
|
159
|
+
"platform": "结果卡片呈现需要配套平台 Agent 回执投影和会话前端。",
|
|
162
160
|
"v1": "独立 V1 引擎和工作区不受影响。"
|
|
163
161
|
},
|
|
164
|
-
"sha256": "
|
|
165
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.
|
|
162
|
+
"sha256": "56e36516118cda6a6d2d4029dc25e593a1b4e76198279cf27cf9e58bf8dc392e",
|
|
163
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.3"
|
|
166
164
|
},
|
|
167
165
|
"scripts": {
|
|
168
166
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.31.3",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.31.3:业务 Agent 结果卡片声明",
|
|
6
|
+
"summary": "应用任务可以声明已完成操作的只读结果卡片。编译器把展示字段限制在响应 Schema 的顶层标量属性,并将声明随应用版本发布。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"backend.operations[].ai.agent.resultCard 支持标题和最多 8 个结果字段,并校验字段引用、类型及边界。",
|
|
9
|
+
"开发文档、速查表与 AI Skill 同步给出结果卡片示例和接入规则。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [],
|
|
12
|
+
"affectedUsers": [
|
|
13
|
+
"需要在平台助手会话中展示预约、报修等业务回执的 OpenXiangda 2.0 应用开发者。"
|
|
14
|
+
],
|
|
15
|
+
"upgradeSteps": [
|
|
16
|
+
"升级 openxiangda 并更新锁文件;在业务操作的 responseSchema.properties 中声明可展示的标量字段,再可选配置 agent.resultCard。",
|
|
17
|
+
"在预发验证完整业务结果、字段缺失和刷新恢复;卡片展示需要配套平台服务端与前端版本。"
|
|
18
|
+
],
|
|
19
|
+
"knownLimitations": [
|
|
20
|
+
"本版只定义已完成业务操作的只读结果卡片;待补信息表单、持久 Interaction 与应用自定义 React Host 尚未发布。",
|
|
21
|
+
"结果卡片不改变应用权限、业务执行或既有 MCP Facade 的确认协议。"
|
|
22
|
+
],
|
|
23
|
+
"issues": [],
|
|
24
|
+
"compatibility": {
|
|
25
|
+
"node": ">=24",
|
|
26
|
+
"workspaceGenerations": "v2",
|
|
27
|
+
"platform": "结果卡片呈现需要配套平台 Agent 回执投影和会话前端。",
|
|
28
|
+
"v1": "独立 V1 引擎和工作区不受影响。"
|
|
29
|
+
},
|
|
30
|
+
"sha256": "56e36516118cda6a6d2d4029dc25e593a1b4e76198279cf27cf9e58bf8dc392e",
|
|
31
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.3"
|
|
32
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "b47a0088e786fa535c93743c7c063ef0524c1b25f2988e91d2dba12d04e86172"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -40,10 +40,10 @@ AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.31.
|
|
44
|
-
pnpm dlx openxiangda@2.31.
|
|
45
|
-
pnpm dlx openxiangda@2.31.
|
|
46
|
-
pnpm dlx openxiangda@2.31.
|
|
43
|
+
pnpm dlx openxiangda@2.31.3 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.31.3 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.31.3 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.31.3 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -275,7 +275,9 @@ const enroll = {
|
|
|
275
275
|
type: 'object', required: ['location'],
|
|
276
276
|
properties: { location: { type: 'string' } },
|
|
277
277
|
},
|
|
278
|
-
responseSchema: { type: 'object'
|
|
278
|
+
responseSchema: { type: 'object', properties: {
|
|
279
|
+
ticketNo: { type: 'string' }, locationName: { type: 'string' },
|
|
280
|
+
} },
|
|
279
281
|
ai: {
|
|
280
282
|
name: '发起访客预约', description: '校验访客信息、地点与时间后创建预约',
|
|
281
283
|
risk: 'write', resources: ['reservations'], sideEffects: ['创建访客预约'],
|
|
@@ -285,6 +287,10 @@ const enroll = {
|
|
|
285
287
|
aliases: ['发起邀约'],
|
|
286
288
|
supportOperations: ['reservation.locations'],
|
|
287
289
|
inputLookups: { location: 'reservation.locations' },
|
|
290
|
+
resultCard: { title: '预约已提交', fields: [
|
|
291
|
+
{ path: 'ticketNo', label: '预约单号' },
|
|
292
|
+
{ path: 'locationName', label: '地点' },
|
|
293
|
+
] },
|
|
288
294
|
},
|
|
289
295
|
},
|
|
290
296
|
};
|
|
@@ -292,7 +298,9 @@ const enroll = {
|
|
|
292
298
|
|
|
293
299
|
两个 `capability` 必须在 `authz.capabilities` 中声明为 `kind: 'backend'`,再授予相应角色。`supportOperations` 和 `inputLookups` 引用同一应用中的操作 code;被引用操作必须声明 `visibility: 'support'`、`risk: 'read'` 且使用 GET。`inputLookups` 的键必须存在于任务的 `requestSchema.properties`。示例问法最多 12 条、别名最多 20 条、辅助操作最多 12 个、字段绑定最多 32 个;运行时辅助查询仍应分页、有界,并返回业务标签与稳定引用。
|
|
294
300
|
|
|
295
|
-
|
|
301
|
+
`resultCard` 是已完成任务的只读结果卡片:只允许引用 `responseSchema.properties` 中明确声明的顶层字符串、数字或布尔字段,最多 8 项;不渲染任意 HTML/JS。应用须确保这些字段可向当前用户显示。平台助手已支持按应用声明自动执行普通写任务;待补信息表单、自定义 React 卡片 Host 仍按平台批次实现。本声明不改变既有 MCP Facade 的写入确认协议。
|
|
302
|
+
|
|
303
|
+
业务规则必须在后端操作中验证;提示词、卡片预填和前端校验不能取代权限与业务校验。完整输入、缺失输入、同名地点、权限不足、重复提交和结果未知都应有应用测试与回执核对。任务声明随 AppVersion 的 AI Catalog 一起发布,不能另建手工目录。
|
|
296
304
|
|
|
297
305
|
宿主(平台 AI 网关)用该目录装配 MCP Facade,应用不自己实现协议:
|
|
298
306
|
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
| GET 操作的 `ai.risk` 只能是 `read`;写操作不能是 `read` | `risk: 'read'` ↔ `method: 'GET'` |
|
|
59
59
|
| 面向普通用户的 Agent 只发现显式声明的业务任务;底层 CRUD 不会自动成为任务 | `ai.agent: { visibility: 'task', examples: ['帮我发起报修'], aliases: ['提交报修'] }` |
|
|
60
60
|
| 任务输入需要地点、人员等业务选择时,绑定同应用的只读辅助操作,用户不填内部编码 | `agent: { visibility: 'task', supportOperations: ['repair.locations'], inputLookups: { location: 'repair.locations' } }`;被引用的 GET 操作须有 `agent: { visibility: 'support' }`,`location` 须是请求 Schema 字段 |
|
|
61
|
+
| 任务完成后显示业务结果卡片 | `agent.resultCard: { title: '报修已提交', fields: [{ path: 'ticketNo', label: '单号' }] }`;`ticketNo` 必须是该操作响应 Schema 中的顶层标量字段,最多 8 项 |
|
|
61
62
|
| controller 路由必须绑定 `@OpenXiangdaOperation(appOperations.<code>)`,普通 CRUD 不写 controller | check 门禁会拒绝未绑定路由 |
|
|
62
63
|
| 事务守卫 `errorCode` 必须匹配 `^OPENXIANGDA_[A-Z0-9_]{1,96}$` | `errorCode: 'OPENXIANGDA_REPAIR_REQUEST_NOT_PENDING'` |
|
|
63
64
|
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.31.
|
|
72
|
-
pnpm dlx openxiangda@2.31.
|
|
73
|
-
pnpm dlx openxiangda@2.31.
|
|
74
|
-
pnpm dlx openxiangda@2.31.
|
|
71
|
+
pnpm dlx openxiangda@2.31.3 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.31.3 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.31.3 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.31.3 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.31.
|
|
178
|
-
pnpm dlx openxiangda@2.31.
|
|
179
|
-
pnpm dlx openxiangda@2.31.
|
|
177
|
+
pnpm dlx openxiangda@2.31.3 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.31.3 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.31.3 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|