openxiangda 2.31.5 → 2.31.6

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.
@@ -39,13 +39,15 @@ await bridge.submit({ locationId: found.items[0].value, description: '空调不
39
39
  // apps/web/vite.agent-card.config.ts
40
40
  import { defineConfig } from 'vite';
41
41
  export default defineConfig({
42
+ // lib 模式打包 React/Ant Design 时,确保浏览器沙箱内不残留 Node 的 process。
43
+ define: { 'process.env.NODE_ENV': JSON.stringify('production') },
42
44
  build: { outDir: 'dist', emptyOutDir: false, cssCodeSplit: false,
43
45
  lib: { entry: 'src/agent-card.tsx', name: 'OpenXiangdaRepairCard', formats: ['iife'], fileName: () => 'agent-cards/repair.js' },
44
46
  },
45
47
  });
46
48
  ```
47
49
 
48
- 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
50
+ 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。产物须小于 2 MiB;构建通过后还须在 `sandbox="allow-scripts"`、无同源权限和 Host CSP 的 iframe 中运行一次真实浏览器测试,确认没有 `process is not defined` 等异常,且能完成 `ready/state/options/submit` 消息往返。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
49
51
 
50
52
  卡片在 8 秒内无法握手、资源缺失或版本变化时,平台显示标准卡片。卡片消息不会修改 Codex 原生 SSE 文本流。这个桥采用与 MCP Apps 相同的资源/宿主调用思路,但首版不是官方 MCP Apps 线级协议;不要在应用里自行实现新工具网关或把 UI 脚本注入平台主页面。
51
53
 
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
68
68
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
69
69
 
70
70
  ```bash
71
- pnpm dlx openxiangda@2.31.5 skill install --force
72
- pnpm dlx openxiangda@2.31.5 auth status --base-url <平台地址> --json
73
- pnpm dlx openxiangda@2.31.5 login --cwd my-app --base-url https://platform.example.com
74
- pnpm dlx openxiangda@2.31.5 create my-app --base-url https://platform.example.com
71
+ pnpm dlx openxiangda@2.31.6 skill install --force
72
+ pnpm dlx openxiangda@2.31.6 auth status --base-url <平台地址> --json
73
+ pnpm dlx openxiangda@2.31.6 login --cwd my-app --base-url https://platform.example.com
74
+ pnpm dlx openxiangda@2.31.6 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.5 auth status --base-url <平台> --json
178
- pnpm dlx openxiangda@2.31.5 source resolve <仓库URL> --base-url <平台> --json
179
- pnpm dlx openxiangda@2.31.5 source clone <仓库URL> <新目录> --base-url <平台> --json
177
+ pnpm dlx openxiangda@2.31.6 auth status --base-url <平台> --json
178
+ pnpm dlx openxiangda@2.31.6 source resolve <仓库URL> --base-url <平台> --json
179
+ pnpm dlx openxiangda@2.31.6 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.5",
3
+ "version": "2.31.6",
4
4
  "topics": [
5
5
  {
6
6
  "id": "getting-started",
7
7
  "title": "安装与开始开发",
8
8
  "file": "getting-started.md",
9
- "sha256": "9e2c56e9a8c7741400c5b6e915256b5e781f218d9cfe0f0c984249484b7a3406"
9
+ "sha256": "882550d61063b8a6685c4cc2734fb510da651e0e006ec4571f16bd709731a580"
10
10
  },
11
11
  {
12
12
  "id": "product-design",
@@ -96,7 +96,7 @@
96
96
  "id": "agent-cards",
97
97
  "title": "应用 Agent 自定义卡片",
98
98
  "file": "agent-cards.md",
99
- "sha256": "dcd2ae65c999a44e58228a767f861e622ea328ed09eff9cc511d9746f21851ef"
99
+ "sha256": "e31ec54d319502b47b8f60196e42eba40be61b41e024aee0ae2cc62a78fb79fc"
100
100
  },
101
101
  {
102
102
  "id": "decimal-reservations",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda",
3
- "version": "2.31.5",
3
+ "version": "2.31.6",
4
4
  "description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -64,13 +64,13 @@
64
64
  "antd-mobile": "5.42.3",
65
65
  "dayjs": "1.11.18",
66
66
  "docx-preview": "0.3.7",
67
- "openxiangda-cli": "2.6.7",
67
+ "openxiangda-cli": "2.6.8",
68
68
  "openxiangda-contracts": "2.31.1",
69
69
  "openxiangda-devkit-core": "2.34.1",
70
70
  "openxiangda-legacy": "npm:openxiangda@1.0.269",
71
71
  "openxiangda-mcp": "2.0.57",
72
72
  "openxiangda-nest": "2.7.10",
73
- "openxiangda-skill-kit": "2.3.31",
73
+ "openxiangda-skill-kit": "2.3.32",
74
74
  "xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
75
75
  },
76
76
  "peerDependencies": {
@@ -136,36 +136,32 @@
136
136
  },
137
137
  "openxiangdaRelease": {
138
138
  "schemaVersion": "openxiangda.release-notes/v1",
139
- "version": "2.31.5",
139
+ "version": "2.31.6",
140
140
  "status": "reviewed",
141
- "title": "OpenXiangda 2.31.5:应用 Agent 自定义卡片",
142
- "summary": "应用可以把填写卡和结果卡的自定义脚本随同一发布版本交付,由平台在隔离卡片 Host 中展示。",
143
- "newFeatures": [
144
- "ai.agent.inputCard 和 resultCard 可声明受限的 agent-cards/*.js 资源;发布时核验脚本进入同一前端制品。",
145
- "openxiangda/agent-card SDK 提供状态接收、只读选项查询、固定任务提交和尺寸同步;中文开发资料与 Skill 给出构建和验收示例。"
141
+ "title": "OpenXiangda 2.31.6:补充 Agent 卡片浏览器构建规范",
142
+ "summary": "明确自定义 Agent 卡片的浏览器独立运行要求,防止脚本构建成功但在隔离 iframe 中无法显示。",
143
+ "newFeatures": [],
144
+ "fixes": [
145
+ "Vite 单文件 IIFE 示例明确替换 process.env.NODE_ENV,并要求在无同源 sandbox 与 CSP 下验证卡片握手和提交消息。"
146
146
  ],
147
- "fixes": [],
148
147
  "affectedUsers": [
149
- "需要在平台业务 Agent 中展示应用自有填写或结果布局的 OpenXiangda 2.0 应用开发者。"
148
+ "开发应用 Agent 自定义卡片的 OpenXiangda 2.0 应用开发者。"
150
149
  ],
151
150
  "upgradeSteps": [
152
- "升级 openxiangda 并更新锁文件;保留标准 inputCard/resultCard 字段声明作为资源失败时的回退。",
153
- "将使用 SDK 的卡片构建为单文件 IIFE 放入前端 dist/agent-cards/,配置对应 resource,然后运行 check 与预发 deploy。",
154
- "确认平台已发布配套 Agent 卡片资源端点与隔离 Host;在预发验证歧义选择、刷新、重复提交、权限拒绝与业务回读。"
151
+ "在卡片专用 Vite 配置中加入示例的生产环境替换,重新构建并在隔离浏览器 iframe 中验收。"
155
152
  ],
156
153
  "knownLimitations": [
157
- "首版消息桥是平台限定协议,不宣称与官方 MCP Apps 线级兼容;卡片只支持已声明的选项查询和固定提交。",
158
- "结果卡只收到已声明的标量字段;复杂列表、附件和额外工具调用仍需后续独立契约。"
154
+ "本版只补充构建文档;卡片消息桥仍为平台限定协议。"
159
155
  ],
160
156
  "issues": [],
161
157
  "compatibility": {
162
158
  "node": ">=24",
163
159
  "workspaceGenerations": "v2",
164
- "platform": "自定义卡片需要配套 Agent Center 资源解析服务和无同源 iframe Host。",
160
+ "platform": "沿用已发布的 Agent Center 卡片资源解析服务和 iframe Host。",
165
161
  "v1": "独立 V1 引擎和工作区不受影响。"
166
162
  },
167
- "sha256": "b674dd23dcb5fc9e00a7af758f01291295c78b8b6756b43d5f678ba79e4df345",
168
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.5"
163
+ "sha256": "3e1ffae9d677ad5c0c5e70030f34067bdc76c5751afe7045a77b51d40f641cad",
164
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.6"
169
165
  },
170
166
  "scripts": {
171
167
  "build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
@@ -0,0 +1,29 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.31.6",
4
+ "status": "reviewed",
5
+ "title": "OpenXiangda 2.31.6:补充 Agent 卡片浏览器构建规范",
6
+ "summary": "明确自定义 Agent 卡片的浏览器独立运行要求,防止脚本构建成功但在隔离 iframe 中无法显示。",
7
+ "newFeatures": [],
8
+ "fixes": [
9
+ "Vite 单文件 IIFE 示例明确替换 process.env.NODE_ENV,并要求在无同源 sandbox 与 CSP 下验证卡片握手和提交消息。"
10
+ ],
11
+ "affectedUsers": [
12
+ "开发应用 Agent 自定义卡片的 OpenXiangda 2.0 应用开发者。"
13
+ ],
14
+ "upgradeSteps": [
15
+ "在卡片专用 Vite 配置中加入示例的生产环境替换,重新构建并在隔离浏览器 iframe 中验收。"
16
+ ],
17
+ "knownLimitations": [
18
+ "本版只补充构建文档;卡片消息桥仍为平台限定协议。"
19
+ ],
20
+ "issues": [],
21
+ "compatibility": {
22
+ "node": ">=24",
23
+ "workspaceGenerations": "v2",
24
+ "platform": "沿用已发布的 Agent Center 卡片资源解析服务和 iframe Host。",
25
+ "v1": "独立 V1 引擎和工作区不受影响。"
26
+ },
27
+ "sha256": "3e1ffae9d677ad5c0c5e70030f34067bdc76c5751afe7045a77b51d40f641cad",
28
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.31.6"
29
+ }
@@ -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": "b63f43c88bdeae8bb2adc6422acf07062ada0251ab2782ecfba4e9bc42dd6f73"
7
+ "sha256": "5b2475f3e5431b5a862399f4b0eb485f0533ac71e73d85d669b1f2d83b65029b"
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.5 auth status --cwd <应用目录> --base-url <平台地址> --json
44
- pnpm dlx openxiangda@2.31.5 login --cwd <应用目录> --base-url <平台地址>
45
- pnpm dlx openxiangda@2.31.5 create <应用目录> --base-url <同一平台地址>
46
- pnpm dlx openxiangda@2.31.5 skill install --force
43
+ pnpm dlx openxiangda@2.31.6 auth status --cwd <应用目录> --base-url <平台地址> --json
44
+ pnpm dlx openxiangda@2.31.6 login --cwd <应用目录> --base-url <平台地址>
45
+ pnpm dlx openxiangda@2.31.6 create <应用目录> --base-url <同一平台地址>
46
+ pnpm dlx openxiangda@2.31.6 skill install --force
47
47
  ```
48
48
 
49
49
  创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
@@ -39,13 +39,15 @@ await bridge.submit({ locationId: found.items[0].value, description: '空调不
39
39
  // apps/web/vite.agent-card.config.ts
40
40
  import { defineConfig } from 'vite';
41
41
  export default defineConfig({
42
+ // lib 模式打包 React/Ant Design 时,确保浏览器沙箱内不残留 Node 的 process。
43
+ define: { 'process.env.NODE_ENV': JSON.stringify('production') },
42
44
  build: { outDir: 'dist', emptyOutDir: false, cssCodeSplit: false,
43
45
  lib: { entry: 'src/agent-card.tsx', name: 'OpenXiangdaRepairCard', formats: ['iife'], fileName: () => 'agent-cards/repair.js' },
44
46
  },
45
47
  });
46
48
  ```
47
49
 
48
- 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
50
+ 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。产物须小于 2 MiB;构建通过后还须在 `sandbox="allow-scripts"`、无同源权限和 Host CSP 的 iframe 中运行一次真实浏览器测试,确认没有 `process is not defined` 等异常,且能完成 `ready/state/options/submit` 消息往返。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
49
51
 
50
52
  卡片在 8 秒内无法握手、资源缺失或版本变化时,平台显示标准卡片。卡片消息不会修改 Codex 原生 SSE 文本流。这个桥采用与 MCP Apps 相同的资源/宿主调用思路,但首版不是官方 MCP Apps 线级协议;不要在应用里自行实现新工具网关或把 UI 脚本注入平台主页面。
51
53
 
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
68
68
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
69
69
 
70
70
  ```bash
71
- pnpm dlx openxiangda@2.31.5 skill install --force
72
- pnpm dlx openxiangda@2.31.5 auth status --base-url <平台地址> --json
73
- pnpm dlx openxiangda@2.31.5 login --cwd my-app --base-url https://platform.example.com
74
- pnpm dlx openxiangda@2.31.5 create my-app --base-url https://platform.example.com
71
+ pnpm dlx openxiangda@2.31.6 skill install --force
72
+ pnpm dlx openxiangda@2.31.6 auth status --base-url <平台地址> --json
73
+ pnpm dlx openxiangda@2.31.6 login --cwd my-app --base-url https://platform.example.com
74
+ pnpm dlx openxiangda@2.31.6 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.5 auth status --base-url <平台> --json
178
- pnpm dlx openxiangda@2.31.5 source resolve <仓库URL> --base-url <平台> --json
179
- pnpm dlx openxiangda@2.31.5 source clone <仓库URL> <新目录> --base-url <平台> --json
177
+ pnpm dlx openxiangda@2.31.6 auth status --base-url <平台> --json
178
+ pnpm dlx openxiangda@2.31.6 source resolve <仓库URL> --base-url <平台> --json
179
+ pnpm dlx openxiangda@2.31.6 source clone <仓库URL> <新目录> --base-url <平台> --json
180
180
  ```
181
181
 
182
182
  登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回