openxiangda 2.20.4 → 2.21.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/bin/distribution/launcher.js +1 -2
- package/documentation/AGENTS.md +2 -2
- package/documentation/design-workflow.md +90 -74
- package/documentation/development.md +1 -1
- package/documentation/frontend.md +3 -3
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +8 -20
- package/documentation/product-design.md +1 -1
- package/documentation/reference/cli.md +0 -1
- package/package.json +22 -17
- package/releases/2.0.0.json +50 -0
- package/releases/2.0.1.json +39 -0
- package/releases/2.1.0.json +44 -0
- package/releases/2.1.1.json +48 -0
- package/releases/2.10.0.json +42 -0
- package/releases/2.11.0.json +41 -0
- package/releases/2.12.0.json +38 -0
- package/releases/2.13.0.json +41 -0
- package/releases/2.13.1.json +33 -0
- package/releases/2.13.2.json +31 -0
- package/releases/2.14.0.json +41 -0
- package/releases/2.15.0.json +40 -0
- package/releases/2.16.0.json +41 -0
- package/releases/2.17.0.json +39 -0
- package/releases/2.17.1.json +34 -0
- package/releases/2.18.0.json +37 -0
- package/releases/2.18.1.json +31 -0
- package/releases/2.18.10.json +29 -0
- package/releases/2.18.2.json +30 -0
- package/releases/2.18.3.json +30 -0
- package/releases/2.18.9.json +37 -0
- package/releases/2.19.0.json +38 -0
- package/releases/2.2.0.json +48 -0
- package/releases/2.2.1.json +35 -0
- package/releases/2.2.2.json +34 -0
- package/releases/2.20.0.json +36 -0
- package/releases/2.21.0.json +35 -0
- package/releases/2.3.0.json +37 -0
- package/releases/2.4.0.json +37 -0
- package/releases/2.4.1.json +35 -0
- package/releases/2.5.0.json +37 -0
- package/releases/2.6.0.json +37 -0
- package/releases/2.7.0.json +37 -0
- package/releases/2.7.1.json +31 -0
- package/releases/2.8.0.json +32 -0
- package/releases/2.8.1.json +30 -0
- package/releases/2.9.0.json +33 -0
- package/releases/2.9.1.json +31 -0
- package/releases/2.9.2.json +33 -0
- package/releases/2.9.3.json +31 -0
- package/releases/2.9.4.json +37 -0
- package/skills/manifest.json +2 -2
- package/skills/openxiangda-v2/SKILL.md +15 -15
- package/skills/openxiangda-v2/references/cli.md +0 -1
- package/skills/openxiangda-v2/references/design-workflow.md +90 -74
- package/skills/openxiangda-v2/references/development.md +1 -1
- package/skills/openxiangda-v2/references/frontend.md +3 -3
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
- package/skills/openxiangda-v2/references/product-design.md +1 -1
- package/documentation/design-craft.md +0 -1526
- package/documentation/opendesign-methods.md +0 -756
- package/releases/2.20.2.json +0 -30
- package/releases/2.20.3.json +0 -29
- package/skills/openxiangda-v2/references/design-craft.md +0 -1526
- package/skills/openxiangda-v2/references/opendesign-methods.md +0 -756
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.0:声明标准列表导入导出入口",
|
|
6
|
+
"summary": "应用可按默认或命名视图配置标准列表的导入、导出任务,PC 与移动端使用相同声明。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"crud[].list.actions 支持 import 与 export 布尔开关,直接资源声明同样支持。",
|
|
9
|
+
"关闭导入适用于原生与流程列表;关闭导出同时覆盖 PC 和移动列表。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"应用可通过公开配置移除首发范围之外的列表任务,无需修改共享组件或使用 CSS 隐藏。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"使用标准 CRUD 默认或命名视图,需要控制导入导出入口的 V2 应用开发者。"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"平台采用 openxiangda-contracts 2.7.0,应用采用 openxiangda 2.9.0 后重新生成和检查。",
|
|
19
|
+
"在目标视图的 list.actions 中将不需要的入口设为 false,再部署测试候选并验证 PC/移动页面。"
|
|
20
|
+
],
|
|
21
|
+
"knownLimitations": [
|
|
22
|
+
"省略开关保持既有行为;true 不授予权限,也不改变原生、流程或只读写入归属。",
|
|
23
|
+
"这是页面入口配置,Data API 和敏感字段仍按原有授权规则执行。",
|
|
24
|
+
"命名视图各自声明开关,不继承默认视图的任务选择;无需新增数据库迁移。"
|
|
25
|
+
],
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"node": ">=24",
|
|
28
|
+
"platform": "openxiangda-contracts 2.7.0"
|
|
29
|
+
},
|
|
30
|
+
"issues": [],
|
|
31
|
+
"sha256": "c9d413f52c85a7ca1ee5e113ca72d9284efd303b3a99dc8ba71ae35cf7526783",
|
|
32
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.0"
|
|
33
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.1",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.1:保留显式查询操作数与路径",
|
|
6
|
+
"summary": "修复标准客户端将成员包含查询的单值改成数组,导致合法查询返回400的问题。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"has操作保持单个稳定标识;in、between、hasAny、hasAll保留数组全部值,不再复用快捷筛选推断操作数形状。",
|
|
10
|
+
"显式查询path保持原值路径;单项快照和级联控件选择仍转为稳定查询值。",
|
|
11
|
+
"列表、批量列表和导出使用相同修正,应用无需修改正确的DataWhere条件。"
|
|
12
|
+
],
|
|
13
|
+
"affectedUsers": [
|
|
14
|
+
"使用openxiangda/core显式where成员筛选、数组操作或子值路径查询的V2应用。"
|
|
15
|
+
],
|
|
16
|
+
"upgradeSteps": [
|
|
17
|
+
"将应用的公开openxiangda依赖升级到2.9.1,重新检查并发布测试候选。",
|
|
18
|
+
"复测参与人归属、数组区间筛选及导出;生产晋级复用验收通过的原测试制品。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"快捷filters的既有界面语义不变;字段类型、行权限与查询边界仍由平台Data API验证。",
|
|
22
|
+
"本补丁不改变业务数据、权限或数据库结构;新增CRUD列表开关仍需平台采用contracts2.7.0。"
|
|
23
|
+
],
|
|
24
|
+
"compatibility": {
|
|
25
|
+
"node": ">=24",
|
|
26
|
+
"platform": "openxiangda-contracts 2.7.0"
|
|
27
|
+
},
|
|
28
|
+
"issues": [],
|
|
29
|
+
"sha256": "2cfb20fed9921fc7281f36970f9ba534192fe0eacafb55223e3031587b27f6c7",
|
|
30
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.1"
|
|
31
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.2",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.2:查询操作数修正与模板版本联动",
|
|
6
|
+
"summary": "修复标准客户端将成员包含查询的单值改成数组导致400的问题,并补齐根包和CLI模板的发布版本联动。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"has操作保持单个稳定标识;in、between、hasAny、hasAll保留数组全部值,不再复用快捷筛选推断操作数形状。",
|
|
10
|
+
"显式查询path保持原值路径;单项快照和级联控件选择仍转为稳定查询值。",
|
|
11
|
+
"列表、批量列表和导出使用相同修正,应用无需修改正确的DataWhere条件。",
|
|
12
|
+
"发布版本规划在写入版本前拒绝缺少CLI配套Changeset的根包升级,避免模板变更到不可变包检查阶段才被发现。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"使用openxiangda/core显式where成员筛选、数组操作或子值路径查询的V2应用。"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"将应用的公开openxiangda依赖升级到2.9.2,重新检查并发布测试候选。",
|
|
19
|
+
"复测参与人归属、数组区间筛选及导出;生产晋级复用验收通过的原测试制品。"
|
|
20
|
+
],
|
|
21
|
+
"knownLimitations": [
|
|
22
|
+
"快捷filters的既有界面语义不变;字段类型、行权限与查询边界仍由平台Data API验证。",
|
|
23
|
+
"本补丁不改变业务数据、权限或数据库结构;新增CRUD列表开关仍需平台采用contracts2.7.0。",
|
|
24
|
+
"2.9.1仅为被发布门禁拦截的未发布候选;其查询修正随2.9.2正式交付。"
|
|
25
|
+
],
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"node": ">=24",
|
|
28
|
+
"platform": "openxiangda-contracts 2.7.0"
|
|
29
|
+
},
|
|
30
|
+
"issues": [],
|
|
31
|
+
"sha256": "9989af7b2e2b9e5eaf81bf19b1307366a35b07522082b384918882f8db05d61c",
|
|
32
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.2"
|
|
33
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.3",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.3:明确记录用户授权的性能延期",
|
|
6
|
+
"summary": "修复功能验收完成但用户已延期性能时无法正式晋级的问题,保留原测量并明确区分性能通过与延期。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"AppSpec验收报告支持有授权人、实际时间、来源、证据及后续安排的performanceDeferral。",
|
|
10
|
+
"延期时保留真实超标测量,返回deferred与overBudget统计,生产阶段明确显示性能未通过。",
|
|
11
|
+
"没有授权延期时仍要求性能测量达标;延期不豁免功能AC、证据、原测试版本和制品绑定。"
|
|
12
|
+
],
|
|
13
|
+
"affectedUsers": [
|
|
14
|
+
"已由用户明确延期性能验收、需要按实际范围完成V2功能交付的应用开发者。"
|
|
15
|
+
],
|
|
16
|
+
"upgradeSteps": [
|
|
17
|
+
"更新项目的openxiangda依赖至2.9.3并刷新项目技能;已有测试制品可以沿用,不因验收工具升级而重建。",
|
|
18
|
+
"依据实际用户决定填写延期记录,保留成功与失败测量;正式spec verify后提交推送报告,用原TEST运行晋级。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"结构验证不证明授权或证据内容真实;不得制造用户确认、提高阈值或仅保留成功样本。",
|
|
22
|
+
"本次仅修复开发交付记录契约,不修复性能,也不修改平台后端、业务数据或运行时权限。"
|
|
23
|
+
],
|
|
24
|
+
"compatibility": {
|
|
25
|
+
"node": ">=24",
|
|
26
|
+
"platform": "沿用openxiangda-contracts 2.7.0,无新增平台能力要求"
|
|
27
|
+
},
|
|
28
|
+
"issues": [],
|
|
29
|
+
"sha256": "aea11cf79206afaae7d6a98eb72506bd71f13752ca6178e459d5395cde4b10a8",
|
|
30
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.3"
|
|
31
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.4",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.4:DingTalk OA 工作通知 SDK",
|
|
6
|
+
"summary": "应用通过平台托管的 Notification Hub 发送文本或 Markdown 钉钉 OA 工作通知,并查询投递结果。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"Nest SDK 增加 sendDingTalkWorkNotice 和 getDingTalkWorkNoticeResult。",
|
|
9
|
+
"工作通知支持按 Native 用户、部门或全员发送,平台负责渠道凭据、Native 标识映射、幂等、投递和审计。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [],
|
|
12
|
+
"affectedUsers": [
|
|
13
|
+
"需要从 OpenXiangda 2.0 应用发送钉钉文本或 Markdown 工作通知的开发者。"
|
|
14
|
+
],
|
|
15
|
+
"compatibility": {
|
|
16
|
+
"node": ">=24",
|
|
17
|
+
"workspaceGenerations": [
|
|
18
|
+
"v1",
|
|
19
|
+
"v2"
|
|
20
|
+
],
|
|
21
|
+
"v1Policy": "V1 引擎和已有应用不变。",
|
|
22
|
+
"platformPolicy": "需要部署包含 Notification Hub DingTalk OA 工作通知接口的匹配平台组合,并配置已启用的 OA 渠道。",
|
|
23
|
+
"releaseChannels": "latest / stable-v2:V2 正式版;legacy-v1:V1 维护版;alpha:预发布。"
|
|
24
|
+
},
|
|
25
|
+
"upgradeSteps": [
|
|
26
|
+
"平台先部署匹配的 Notification Hub 服务并确认 DingTalk OA 渠道和 Secret 引用可用。",
|
|
27
|
+
"将应用的 openxiangda 依赖升级到 2.9.4,更新锁文件并通过标准检查。",
|
|
28
|
+
"在测试环境验证用户、部门和全员目标的发送回执,再使用同一候选晋级生产。"
|
|
29
|
+
],
|
|
30
|
+
"knownLimitations": [
|
|
31
|
+
"首版内容类型为 text 和 markdown;钉钉最终接收结果仍以平台投递记录和钉钉响应为准。",
|
|
32
|
+
"发布包、平台部署和真实业务角色验收分别验证;本版本不自动配置渠道 Secret。"
|
|
33
|
+
],
|
|
34
|
+
"issues": [],
|
|
35
|
+
"sha256": "6383173f0e6bd4596286e95453fd651d07eb8d91948e829dcd1fe3dfbab1f485",
|
|
36
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.4"
|
|
37
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"skills": [
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
|
-
"description": "使用 OpenXiangda 2.0
|
|
7
|
-
"sha256": "
|
|
6
|
+
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
+
"sha256": "5b13a19363ecefe2417d9b6e730db7c7d8eaa12bbab253fffe9bef6fb5820886"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openxiangda-v2
|
|
3
|
-
description: 使用 OpenXiangda 2.0
|
|
3
|
+
description: 使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# OpenXiangda 2.0
|
|
@@ -9,7 +9,7 @@ description: 使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具
|
|
|
9
9
|
|
|
10
10
|
每个业务应用默认先建立并保留标准管理后台。管理后台是应用骨架,承载资源模型、表单、数据列表、详情/编辑、权限和流程入口;AI 必须先从后台完成数据与契约,再实现用户端体验。不得因为制作用户端首页而删除、隐藏或替换后台 Shell、后台路由或显式菜单。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Agent 按页面归属优化布局、视觉和交互:后台必须复用平台 Shell、导航、字段行为和权限;用户端 PC 与移动端按真实任务分别设计,并通过平台 runtime/Data API 读取后台数据。图片参考不定义交互、权限或验收。不得用图片、单页 HTML、iframe 或独立假后台冒充管理后台,也不得在用户端复制后台权限和导航状态。
|
|
13
13
|
|
|
14
14
|
设计、实现和发布验收必须分别核验管理后台入口、表单、数据列表、流程入口,以及用户端 PC/移动端入口。缺少标准管理后台的应用结构不完整,不能发布。
|
|
15
15
|
|
|
@@ -21,29 +21,29 @@ OpenDesign 按页面归属使用:后台页面可以用 OpenDesign 优化布局
|
|
|
21
21
|
|
|
22
22
|
遇到已有 V1 项目时,先核实 V2 能力覆盖、项目是否仍在测试阶段和迁移成本;能力满足、仍在测试阶段且代价可控时,优先建议转用 V2。先做只读评估,再按项目确认详细设计、数据/流程映射、测试和回滚;迁移实施前的原项目维护仍使用匹配的 V1 引擎。
|
|
23
23
|
|
|
24
|
-
有界面影响的开发和改版默认读[
|
|
24
|
+
有界面影响的开发和改版默认读[Agent 原生设计工作流](references/design-workflow.md),由当前 AI 在同一个 OpenXiangda 工作区确定视觉方向、直接实现真实页面并在浏览器修正。需要建立新方向时,按需使用用户指定或当前可用的图片生成能力(例如 Image 2.5)形成少量参考;图片不可用或质量不足时直接使用设计约束、成熟组件和浏览器迭代继续开发。保留字段与权限行为,旧默认皮肤或设备偏好可按任务重新设计。实际采用的参考图、token 和必要原型使用 AppSpec assets 固定;不把图片、结构检查或示例数据当成实际验收。
|
|
25
25
|
|
|
26
26
|
## AI 自动设计与开发
|
|
27
27
|
|
|
28
|
-
AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda
|
|
28
|
+
AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作区内执行以下闭环,不建立第二个设计项目或把实现转交给用户:
|
|
29
29
|
|
|
30
|
-
1. 读取本 Skill
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
30
|
+
1. 读取本 Skill 和 `references/design-workflow.md`,从当前 AppSpec、平台契约和用户材料确定页面、角色、设备、状态与验收目标。
|
|
31
|
+
2. 已有设计足够时直接沿用;需要新视觉方向时,用 Image 2.5 等当前图片能力生成一至三个关键视图,筛选后只固定实际采用的参考。图片中不得包含秘密、真实个人数据或未授权素材。
|
|
32
|
+
3. 从参考和产品约束提取布局、排版、颜色、间距与组件关系,直接使用真实 React、平台 Shell、Field Kit 和受支持组件实现;不逐像素照抄伪文字、虚构控件或图片中的错误交互。
|
|
33
|
+
4. 在目标视口打开真实页面,操作空、加载、失败、拒绝、校验、提交、恢复、未保存输入、键盘与响应式路径,依据截图和交互发现修正代码。图片和 Agent 自评不能替代浏览器断言。
|
|
34
|
+
5. 将本轮实际采用的参考图、设计说明、token 和必要原型记录到 `appspec/design`,运行本项目的 check、浏览器和真实角色验收;只有实际证据通过后才进入部署流程。
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
图片能力不可用、失败或结果不合格时,记录事实并继续直接实现和浏览器迭代;不能伪造设计产物或通过结果。静态图不拥有应用结构、交互、权限、数据或验收事实。
|
|
37
37
|
|
|
38
38
|
## 定位当前版本
|
|
39
39
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.
|
|
44
|
-
pnpm dlx openxiangda@2.
|
|
45
|
-
pnpm dlx openxiangda@2.
|
|
46
|
-
pnpm dlx openxiangda@2.
|
|
43
|
+
pnpm dlx openxiangda@2.21.0 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.21.0 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.21.0 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.21.0 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -61,7 +61,7 @@ pnpm dlx openxiangda@2.20.4 skill install --force
|
|
|
61
61
|
| 安装、登录、创建、连接开发 | [开始开发](references/getting-started.md) |
|
|
62
62
|
| 源码仓库、换电脑、旧项目导入、提交推送与重试 | [应用源码](references/getting-started.md#应用源码);先用 `source status` 读取实际绑定 |
|
|
63
63
|
| 模糊想法、模块发现、PRD、权限与架构设计 | [产品设计](references/product-design.md)、[交互模式](references/interaction-patterns.md) |
|
|
64
|
-
| 界面设计、改版、原型和视觉修正 | 先读[
|
|
64
|
+
| 界面设计、改版、原型和视觉修正 | 先读[Agent 原生设计工作流](references/design-workflow.md),按需用 Image 2.5 等当前图片能力生成参考,直接实现真实页面并完成浏览器闭环 |
|
|
65
65
|
| 理解需求与选择能力 | [开发流程](references/development.md)、[架构](references/concepts.md) |
|
|
66
66
|
| 写 openxiangda.config.ts 声明、避免首轮校验返工 | [声明速查](references/declarations-cheatsheet.md);先扫规则表再动手 |
|
|
67
67
|
| 模型、CRUD、字段与移动表单 | [业务模块](references/application-foundation.md)、[字段](references/field-components.md) |
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
| `pnpm openxiangda auth` | 只读 | 只读核验指定平台授权,不登录或刷新会话 |
|
|
8
8
|
| `pnpm openxiangda context` | 只读 | 只读查看工作区、版本与平台绑定 |
|
|
9
9
|
| `pnpm openxiangda docs` | 只读 | 按主题和章节读取当前版本中文资料 |
|
|
10
|
-
| `pnpm openxiangda design` | 远端变更 | 打开 OpenDesign 原版并透传完整原生 CLI;写入范围由原生命令决定 |
|
|
11
10
|
| `pnpm openxiangda admin` | 只读 | 只读查看应用管理能力和流程节点运行配置 |
|
|
12
11
|
| `pnpm openxiangda create` | 远端变更 | 创建、绑定并初始化应用 |
|
|
13
12
|
| `pnpm openxiangda source` | 远端变更 | 配置应用源码仓库、查看状态或提交推送 |
|
|
@@ -1,119 +1,135 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Agent 原生视觉设计与实现
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
有界面影响的新应用、页面或改版,由当前 AI Agent 在同一个 OpenXiangda 工作区内完成
|
|
4
|
+
视觉方向、真实页面实现、浏览器走查和修正。按需使用用户指定或当前可用的图片生成能力
|
|
5
|
+
(例如 Image 2.5)输出少量设计参考;不安装或调用独立设计运行时,也不在图片与实现之间
|
|
6
|
+
建立第二个项目状态。纯后端或无视觉影响的文字修正沿用已有设计。
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
图片只回答构图、层次、色彩、材质和氛围等视觉问题。AppSpec 继续定义用户、任务、页面、
|
|
9
|
+
字段、权限、状态和验收;真实 React 页面才是最终界面事实。静态图不能证明加载、失败、
|
|
10
|
+
拒绝、校验、提交、未保存输入、键盘、响应式或业务权限已经实现。
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
## 先固定设计输入 {#inputs}
|
|
8
13
|
|
|
9
|
-
|
|
10
|
-
pnpm openxiangda design open
|
|
11
|
-
pnpm openxiangda design status --json
|
|
12
|
-
pnpm openxiangda design cli --help
|
|
13
|
-
pnpm openxiangda design cli project list
|
|
14
|
-
pnpm openxiangda design cli templates list
|
|
15
|
-
pnpm openxiangda design cli design-systems list
|
|
16
|
-
pnpm openxiangda design cli tools directions --json
|
|
17
|
-
pnpm openxiangda design cli plugin --help
|
|
18
|
-
pnpm openxiangda design cli mcp
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
`cli` 后面的参数、标准输入、输出、JSON、错误码和取消交给原版;享搭不维护上游命令白名单。查看每条原生命令的 `--help` 再执行当前需要的操作。原版 MCP 可直接接到支持 stdio 的 Agent,启动命令为 `openxiangda design cli mcp`;它与享搭平台 MCP 分别拥有设计项目和平台契约,不合并权限。
|
|
22
|
-
|
|
23
|
-
AI 通过 CLI/MCP 工作时使用原生 `OD_DAEMON_URL` 或原版自动发现的本地运行时;不需要先执行 `design open`。桌面版 sidecar 只在用户主动预览时使用。原版桌面文件导入等操作可能要求桌面授权上下文;AI 应保留原版错误并停止该步骤,不伪造 token 或改数据库。享搭不会在 npm 安装时下载桌面应用、自动修改 Agent 凭据或开启云付费功能。
|
|
14
|
+
开始界面工作前,从当前 AppSpec、平台契约和用户材料形成一个短设计输入,至少明确:
|
|
24
15
|
|
|
25
|
-
|
|
16
|
+
- 目标用户、主任务、页面归属以及 PC/移动设备范围;
|
|
17
|
+
- 必须保留的平台 Shell、导航、字段协议、权限和数据来源;
|
|
18
|
+
- 页面信息层次、关键操作,以及空、加载、失败、拒绝、校验、提交中和成功状态;
|
|
19
|
+
- 用户提供的品牌、参考图和素材授权;没有品牌事实时标记为 Agent 推断;
|
|
20
|
+
- 目标视口、可访问性、内容长度、数据量和性能边界;
|
|
21
|
+
- 本轮可以改变、必须保留和明确不做的内容。
|
|
26
22
|
|
|
27
|
-
|
|
23
|
+
已有有效设计继续沿用。只有视觉方向存在真实取舍时才比较候选;已经确认的意图不重复
|
|
24
|
+
提问。不得凭空补充 KPI、品牌故事、业务统计、角色能力或示例数据来源。
|
|
28
25
|
|
|
29
|
-
|
|
26
|
+
## 图片参考 {#image-reference}
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
| 浏览器走查、修正已有原型及实现 | impeccable-design-polish | typography、color、anti-ai-slop、animation-discipline、accessibility-baseline |
|
|
36
|
-
| 信息层次、密集工作台、表单 | 按当前阶段选择上述方法 | typography-hierarchy、laws-of-ux、form-validation,按实际问题选读 |
|
|
28
|
+
图片生成是可选步骤。需要建立新视觉方向、比较布局或统一多页面风格时,可用 Image 2.5
|
|
29
|
+
等当前 Agent 图片能力生成一至三个关键视图;普通 CRUD、小范围样式修正或已有明确设计时
|
|
30
|
+
直接实现。生成提示应包含真实页面类型、主要内容、设备、密度、组件约束和不应出现的元素,
|
|
31
|
+
不得包含生产秘密、真实个人数据或未经授权的品牌和人物素材。
|
|
37
32
|
|
|
38
|
-
|
|
33
|
+
只保留实际采用的参考图,并记录实际模型、日期、提示摘要、目标视口和采用/拒绝理由。
|
|
34
|
+
不要逐像素照抄图片中的伪文字、虚构控件或不可能交互。Agent 应从参考图提取可实现的布局、
|
|
35
|
+
排版、颜色、间距和组件关系,再对照真实内容与平台组件修正。图片生成失败、不可用或结果
|
|
36
|
+
不合格时,记录事实并使用现有设计约束、成熟组件和浏览器迭代继续开发,不伪造产物。
|
|
39
37
|
|
|
40
|
-
##
|
|
38
|
+
## 页面归属与平台边界 {#adapter}
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
应用结构先于视觉:标准管理后台是默认骨架,必须保留平台 Shell、后台路由、显式菜单、
|
|
41
|
+
资源表单、数据列表、详情/编辑、权限和流程入口。Agent 可以在这些边界内优化布局、视觉和
|
|
42
|
+
交互,但不能用设计图、独立原型、单页 HTML 或 iframe 替代后台。
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
用户端 PC 与移动端按真实旅程分别实现,通过平台 runtime/Data API 使用后台数据,并与
|
|
45
|
+
后台保持独立的导航状态。Shell 的路由、当前用户、授权菜单和拒绝事实仍来自平台,不在
|
|
46
|
+
用户端复制。先复用 PC/移动 Field Kit 的输入、校验、上传、只读和权限行为;替换外观或
|
|
47
|
+
专业控件时,证明字段值、未保存输入、拒绝和恢复行为仍正确。
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
普通管理与录入保持工作型界面的扫描效率和信息密度。专业交互先评估项目已有依赖与成熟
|
|
50
|
+
组件,图表优先评估 ECharts。营销式大标题、装饰性卡片堆叠、无任务依据的插画、纯氛围
|
|
51
|
+
背景和重复导航不能因为参考图中出现就进入业务应用。
|
|
47
52
|
|
|
48
|
-
|
|
53
|
+
## 从参考到真实实现 {#loop}
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
1. 读取设计输入和相关契约,确定本轮页面、状态、视口与验收动作。
|
|
56
|
+
2. 需要时生成并筛选图片参考,提取可实现的视觉规则;不需要时直接沿用现有设计系统。
|
|
57
|
+
3. 在 `tokens.css` 或应用现有 token 源中定义实际采用的数值,派生 AntD theme 与移动 CSS
|
|
58
|
+
变量;不要在图片说明、组件和全局偏好中维护多份数值事实。
|
|
59
|
+
4. 直接使用真实 React、平台 Shell、Field Kit 和受支持组件实现页面。原型只有在能降低
|
|
60
|
+
高风险交互的不确定性时创建,且不得成为另一套长期业务代码。
|
|
61
|
+
5. 在目标尺寸打开真实页面,操作完整关键任务;检查布局、滚动、弹层、键盘、长文本、
|
|
62
|
+
空、加载、失败、拒绝、校验、提交、恢复和离开保护。浏览器控制台错误必须处理。
|
|
63
|
+
6. 获取实际截图与交互发现,修正代码并重复检查。截图用于比较视觉,不替代操作断言。
|
|
64
|
+
7. 连接平台后,从真实入口按实际角色验证后台与用户端、允许与拒绝路径;只有业务证据
|
|
65
|
+
通过后才进入部署。组件样例、本地数组和图片参考不能冒充远端业务验收。
|
|
51
66
|
|
|
52
|
-
|
|
67
|
+
现有交互模式作为任务检查依据,见[交互模式](interaction-patterns.md);它们允许按当前设计
|
|
68
|
+
改进,不是固定页面皮肤。
|
|
53
69
|
|
|
54
|
-
|
|
55
|
-
2. AI 通过原版 CLI/MCP 创建或复用项目、选择模板/设计系统,提供任务与必要参考;工作目录由当前 OpenXiangda 工作区确定。使用原版工作流形成设计方向,保留上游的项目和资源结构;用户可选打开客户端查看。
|
|
56
|
-
3. 通过原版 Agent、项目和预览做可运行原型,关键任务能从入口走到完成。标明示例数据;覆盖适用的空、加载、失败、拒绝、校验、提交中和成功状态。真实业务请求尚未接入时明确说明。
|
|
57
|
-
4. 使用原版预览、lint、导出和修正能力;在目标尺寸实际打开、点击和键盘操作。证据记录实际 URL/文件、尺寸、操作与发现,没有浏览器证据就写未验证。不能用 AI 评分或勾选表代替画面和操作结果。
|
|
58
|
-
5. 依据已有授权和实际答复记录确认范围,固定设计文档和 assets 摘要。工具检查只证明资料与资源一致,不代表审美通过。
|
|
59
|
-
6. 消费同一设计包接入真实组件、平台数据和权限。对照原型检查布局、字段、弹层、未保存输入、拒绝/返回、键盘与移动任务。验收证据关联本次真实实现;原型成功不能冒充业务验收。
|
|
70
|
+
## AppSpec 设计资源 {#artifacts}
|
|
60
71
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
## 原版产物交接到 AppSpec {#artifacts}
|
|
64
|
-
|
|
65
|
-
OpenDesign 项目保留自己的设计文件、清单和数值 token。交接时用原版文件/导出功能复制本轮实际采用的文件及依赖到以下目录,记录原版版本、项目 ID 和导出来源;不要求为了享搭改写上游 manifest 或重复制作原型。大型媒体和完整上游工作目录留在原项目,AppSpec 引用本轮可审阅、自包含的产物。
|
|
72
|
+
只固定本轮实际采用、可审阅且自包含的资源。目录可以按任务裁剪:
|
|
66
73
|
|
|
67
74
|
```text
|
|
68
|
-
appspec/design/visual.md
|
|
69
|
-
appspec/design/
|
|
70
|
-
appspec/design/system/DESIGN.md
|
|
71
|
-
appspec/design/system/tokens.css
|
|
72
|
-
appspec/design/prototypes/<task>/
|
|
75
|
+
appspec/design/visual.md # 范围、来源、取舍与受影响页面
|
|
76
|
+
appspec/design/references/<task>/ # 实际采用的图片参考及来源说明
|
|
77
|
+
appspec/design/system/DESIGN.md # 视觉语义与实现交接
|
|
78
|
+
appspec/design/system/tokens.css # 数值 token 的唯一可编辑来源
|
|
79
|
+
appspec/design/prototypes/<task>/ # 仅在必要时保留的可运行交互原型
|
|
73
80
|
```
|
|
74
81
|
|
|
75
|
-
|
|
82
|
+
图片来源可以用工具无关的清单记录;字段只描述实际事实,不要求特定模型或提供商:
|
|
76
83
|
|
|
77
84
|
```json
|
|
78
85
|
{
|
|
79
86
|
"schema": "openxiangda.design-system/v1",
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
"sources": [
|
|
88
|
+
{
|
|
89
|
+
"kind": "generated-image",
|
|
90
|
+
"model": "Image 2.5",
|
|
91
|
+
"path": "../references/request/desktop.png",
|
|
92
|
+
"viewport": "1440x1024",
|
|
93
|
+
"promptSummary": "内部事项办理台,紧凑主从布局"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
83
96
|
"tokens": "tokens.css",
|
|
84
|
-
"design": "DESIGN.md"
|
|
97
|
+
"design": "DESIGN.md",
|
|
98
|
+
"status": "reviewed-reference"
|
|
85
99
|
}
|
|
86
100
|
```
|
|
87
101
|
|
|
88
|
-
|
|
102
|
+
没有图片参考时省略 `sources` 和 `references`,不要创建占位文件。历史设计包已有其他来源
|
|
103
|
+
字段时仍可读取,不要求为了新流程重写。业务规则引用 AppSpec ID,图片清单不复制权限、
|
|
104
|
+
字段或页面协议。
|
|
105
|
+
|
|
106
|
+
运行时代码从 `tokens.css` 派生 AntD theme 与移动 CSS 变量。标准应用使用
|
|
107
|
+
`OpenXiangdaApplication` 的 `ui`,独立组件预览使用 `OpenXiangdaUiProvider` 的同名参数:
|
|
89
108
|
|
|
90
109
|
```tsx
|
|
91
110
|
const ui = { theme: derivedAntdTheme, className: 'project-design' };
|
|
92
111
|
<OpenXiangdaApplication {...applicationProps} ui={ui} />
|
|
93
112
|
```
|
|
94
113
|
|
|
95
|
-
`.project-design` 下的样式只覆盖本应用。移动端使用可继承的 `--oxa-mobile-*`
|
|
114
|
+
`.project-design` 下的样式只覆盖本应用。移动端使用可继承的 `--oxa-mobile-*` 输入;平台
|
|
115
|
+
Provider 让 PC 下拉、对话框、消息与通知留在当前应用作用域。使用上下文反馈 API,避免
|
|
116
|
+
AntD 静态 API 脱离作用域;不要通过 theme 变化给整个应用换 key,以免清空正在编辑的值。
|
|
96
117
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
维护仓库包含[可运行事项工作台样例](https://github.com/1377385356/openxiangda/tree/master/scripts/fixtures/design-workbench),演示同一设计包、PC/移动字段、错误恢复与主题作用域。它是示例,具体设计未获得用户确认,也不代表生产数据或业务验收。复制时固定所用工具版本并更换为实际平台契约。浏览器检查还覆盖 reduced-motion:保留组件所需的动画完成事件,不能简单用全局 animation:none 让弹层停在初始隐藏态。
|
|
100
|
-
|
|
101
|
-
在 `visual.md` 的 front matter 加入实际资源引用(路径从工作区根开始):
|
|
118
|
+
在 `visual.md` 的 front matter 中引用实际资源:
|
|
102
119
|
|
|
103
120
|
```yaml
|
|
104
121
|
assets:
|
|
122
|
+
- appspec/design/references/request
|
|
105
123
|
- appspec/design/system
|
|
106
|
-
- appspec/design/prototypes/request
|
|
107
124
|
```
|
|
108
125
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
## 上游更新与项目升级 {#updates}
|
|
114
|
-
|
|
115
|
-
原版运行时使用官方更新器或官方发行版升级;CLI 每次从当前安装读取入口和版本。进行中的设计在 AppSpec 记录实际版本与导出摘要。不要把 npm 包里的离线资料版本当成原版安装版本。下面的每日检查只维护随包离线资料,不替代原版更新器。
|
|
126
|
+
目录引用包含所有后代文件;新增、修改或删除依赖都会改变评审摘要。引用拒绝越界、符号
|
|
127
|
+
链接、空目录和超预算;每次检查最多 128 文件、单文件 2 MiB、总计 8 MiB、16 层目录。
|
|
128
|
+
参考图应压缩为足以评审的尺寸,大型媒体放在受控来源并记录摘要,不靠删除 assets 声明
|
|
129
|
+
绕过检查。`spec context` 只读取资源字节,不执行原型或图片内容。
|
|
116
130
|
|
|
117
|
-
|
|
131
|
+
## 完成标准 {#acceptance}
|
|
118
132
|
|
|
119
|
-
|
|
133
|
+
视觉完成至少同时具备:当前 AppSpec 设计范围、真实实现、目标视口截图、关键交互断言、
|
|
134
|
+
无不可解释的浏览器错误,以及适用的真实角色允许/拒绝证据。图片模型的输出、Agent 自评、
|
|
135
|
+
结构检查或组件样例只能是过程证据,不能单独宣称设计或业务验收通过。
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
## 选择平台能力 {#capabilities}
|
|
21
21
|
|
|
22
22
|
- 普通数据管理:通过 `defineDataModel`、`defineApplicationModule` 和显式 CRUD 视图声明;模型不自动生成菜单或写权限。
|
|
23
|
-
- 界面工作先按[
|
|
23
|
+
- 界面工作先按[Agent 原生设计工作流](design-workflow.md)形成具体视觉并直接实现真实页面;设备范围按真实任务选择。复用平台导航和字段行为,自定义报表/工具使用 admin 页面与显式导航。详见[页面归属](frontend.md#surface-selection)。
|
|
24
24
|
- 用户页面按实际旅程选择独立 PC/移动布局,手机端只覆盖已确认的用户任务。
|
|
25
25
|
- 图表等专业交互先检查已有依赖,再评估成熟组件或开源库;报表优先评估 ECharts,记录选型理由和加载/销毁边界。详见[组件选型](frontend.md#component-selection)。
|
|
26
26
|
- 无平台账号的外部表单:使用[匿名公开访问](public-access.md),不用普通 RBAC 角色冒充匿名主体。
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
## 先选页面归属,再写布局 {#surface-selection}
|
|
16
16
|
|
|
17
|
-
管理后台的设备范围按实际办理任务确定。数据管理、录入和报表复用平台 Shell 的路由与菜单事实,视觉依据[
|
|
17
|
+
管理后台的设备范围按实际办理任务确定。数据管理、录入和报表复用平台 Shell 的路由与菜单事实,视觉依据[Agent 原生设计工作流](design-workflow.md)实现并在浏览器修正;存在手机办理任务时同步设计与验证。
|
|
18
18
|
|
|
19
|
-
###
|
|
19
|
+
### 应用骨架优先与视觉页面边界
|
|
20
20
|
|
|
21
21
|
标准管理后台是每个业务应用的默认开发骨架,必须保留后台 Shell、显式菜单、资源表单、数据列表、详情/编辑、权限和流程入口。开发顺序先完成后台资源与契约,再实现用户端 PC/移动端;不能以用户端首页或设计原型替代后台。
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Agent 可以在标准后台内部优化布局、视觉和交互,但后台仍复用平台 Shell、导航、字段行为和权限。用户端 PC 与移动端按真实旅程分别设计,通过平台 runtime/Data API 使用后台数据。图片参考和原型不拥有业务事实;禁止用图片、单页 HTML、iframe 或自定义假后台替换标准后台,也不能把后台权限、导航状态复制到用户端。
|
|
24
24
|
|
|
25
25
|
发布前分别验证后台入口、表单、数据列表、流程入口和用户端 PC/移动端入口;没有完成后台骨架的应用不得发布。
|
|
26
26
|
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.
|
|
72
|
-
pnpm dlx openxiangda@2.
|
|
73
|
-
pnpm dlx openxiangda@2.
|
|
74
|
-
pnpm dlx openxiangda@2.
|
|
71
|
+
pnpm dlx openxiangda@2.21.0 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.21.0 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.21.0 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.21.0 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
|
|
@@ -173,9 +173,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
173
173
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
|
-
pnpm dlx openxiangda@2.
|
|
177
|
-
pnpm dlx openxiangda@2.
|
|
178
|
-
pnpm dlx openxiangda@2.
|
|
176
|
+
pnpm dlx openxiangda@2.21.0 auth status --base-url <平台> --json
|
|
177
|
+
pnpm dlx openxiangda@2.21.0 source resolve <仓库URL> --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.21.0 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -141,4 +141,4 @@ context 的 `readyForImplementation` 为真时才制定具体实现任务,把
|
|
|
141
141
|
- [Design OS,固定提交](https://github.com/buildermethods/design-os/tree/529dedb43bfec24b2cbb128f26dd8cbc6143f754)(MIT)。
|
|
142
142
|
- [Spec Kit,固定提交](https://github.com/github/spec-kit/tree/4a7341a93d944d6efe153b71da4a1adb9c2b578c)(MIT)。
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
有界面影响的工作默认由当前 AI Agent 完成视觉方向、真实页面实现和浏览器修正,见[设计工作流](design-workflow.md)。需要建立新方向时可按需使用 Image 2.5 等当前图片能力生成少量参考;图片不定义交互、权限或验收,采用的资源以 AppSpec assets 固定。
|