关于 agent-onboarding
这是 Syncfusion 技术栈的入口技能,供需要配置或开发 Syncfusion 项目的 Agent 使用。它要求先查阅平台清单,再将任务路由到匹配的官方技能,并规定了安装与验证流程。
主要功能
- 01按平台清单匹配技能
- 02依据行为而非名称辨别组件
- 03规定包管理器安装流程
- 04设置模式与任务模式
- 05要求安装结果的文件证明
适用场景
- 01为项目配置 Syncfusion 技能
- 02根据用户需求选择组件技能
- 03安装或升级 Syncfusion 包
- 04排查组件选择或安装流程问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ agent-onboarding-skill --skill agent-onboarding安装后在 Claude Code 中输入/agent-onboarding确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/licensing.mdmcp-setup.mdskill-packs.mdverification.mdversion-resolution.md详细介绍
Syncfusion 入门
将此技能用作了解 Syncfusion 的入口。将任务路由到官方框架或组件技能。不要试图在此处凭记忆复现 Syncfusion API——Syncfusion 涵盖 Web、桌面、移动、文档处理、查看器和编辑器产品,而同一组件名称在不同产品中的软件包、导入、注册和许可规则各不相同。跨框架猜测是导致 Syncfusion 代码无法编译的首要原因。其次是同一平台上的名称冲突:用户输入的词对应一个组件,但他们要求的行为却属于另一个组件——应通过对比清单描述与所需行为来判断,绝不能只看名称。
操作模式
此技能以两种模式运行。两种模式都是可执行的流程,而非描述性摘要。若模型在未生成所需证明材料的情况下就给出最终报告,则并未完成该模式——它只是在描述流程。
硬性规则——命名任何技能之前先阅读清单
此规则是设置模式第 2 步(读取用于生成清单的平台索引)和任务模式第 3 步(使用保留的会话清单)的前置条件。必须首先满足此规则,才能开始任一模式。
在本次会话中,你必须先阅读 https://ai.syncfusion.com/<platform-slug>/inventory.txt 上的平台清单,然后才能命名、安装任何 Syncfusion 组件技能,或据此编写代码。如果你在本次会话中尚未阅读该清单,请现在阅读,不要继续。
用户询问某个组件时,在说“我将安装技能 X”或编写任何代码之前:
- 说明你考虑过的候选技能(必须来自清单,而非凭记忆)。
- 说明根据用户请求推断出的所需行为。
- 说明依据——清单中匹配的条目、名称或描述。
- 引用你已阅读的清单文件。
如果没有清单条目涵盖所需行为,请明确说明,并在继续之前询问用户。绝不要提出刚刚阅读的清单中不存在的技能名称、软件包名称或导入路径。如果某个名称的唯一来源是你的训练数据,请将其标注为未验证,并停止操作,直到你能够引用清单或已安装的 SKILL.md。
硬性规则 — 使用包管理器安装包,绝不通过编辑清单文件安装
安装包的过程包括运行包管理器、由注册表解析依赖、协调对等依赖、更新锁文件,以及填充 node_modules / 等效目录。手动编辑清单文件时,这些事情都不会发生。
安装、升级、降级、迁移或移除 Syncfusion 包,或安装任何 Syncfusion 变更所依赖的项目包时:
- 始终调用包管理器。 React / Angular / Vue / JavaScript:使用
npm install <pkg>、pnpm add <pkg>或yarn add <pkg>。.NET:使用dotnet add package <pkg>。Flutter: 使用flutter pub add <pkg>。使用项目当前已有的同一款包管理器;不要更换包管理器。 - 绝不手动编辑清单文件。 不要为了安装包而在
package.json/.csproj/pubspec.yaml中添加一行。未运行包管理器就把包名写入清单,属于损坏的安装:没有对等依赖解析、没有node_modules/obj/.dart_tool,也没有锁文件更新。下次运行npm install/ restore 时,这一行要么会被静默重写,要么会导致失败。 - 版本字符串必须由规则决定,而非编辑者决定。 对于 npm,使用主版本选择器(例如
@33),让锁文件成为事实来源;对于 NuGet,每次都传入--version <exact>;对于 Flutter,传入现有约束中的'^X.Y.Z'。 - 只有环境受限时才可例外。 如果这里无法运行包管理器(没有网络、执行器处于沙箱中、用户拒绝授权),请停止并询问用户,而不是代替用户编辑清单文件。告诉用户需要在终端中运行的确切命令。
- 清单文件是只读输入。 检查清单文件中的现有版本和信号,但不能将其用作安装工具。即使你打算一分钟后就撤销变更,也必须遵守此规则:留下过时的清单行仍属于偏离状态,后续 Agent 不会知道你原本打算撤销它。
- 证明材料。 报告中提到“已安装的包”时,必须列出确切的包管理器命令及其退出状态,不能引用清单差异。清单差异是安装程序生成的,不是 Agent 生成的。
此规则可防止以下故障:
package.json中列出了一个锁文件未解析的包 → 下次运行npm install时,该条目会被静默还原,Agent 却以为安装成功了。package.json固定了一个版本,而node_modules中是另一个版本 → 测试在本地通过,但 CI 在 restore 时失败。.csproj中列出了<PackageReference>,但未运行dotnet restore→ 首次构建时报错 NU1605/NU1105,开发者又会重复同一套有问题的工作流。pubspec.yaml中列出了syncfusion_flutter_*,但从未运行flutter pub get→ 运行时出现“找不到包”,编译时却没有任何提示。- Agent 看不到对等依赖偏差(例如
@syncfusion/ej2-react-grids中的react版本不匹配),因为包管理器从未运行。
Setup Mode(设置模式)
在用户请求以下事项时触发:
- 设置 Syncfusion
- 为项目配置入门环境
- 准备 AI Agent
- 配置 Syncfusion 技能
Setup Mode 会实际执行技能安装,而不只是描述安装步骤。 如果回复中包含“I will install”或“skills to install”,但未通过步骤 8 的验证,则 Setup Mode 尚未完成,回复不完整。步骤 10 通过之前,不要生成最终报告(报告本身必须包含步骤 4 中的 Fresh Version Gate 行,以及步骤 8 中的磁盘证明)。
各步骤均设有门槛。每个步骤都必须生成一项必需的证明材料,并在执行下一步之前出现在你的工作输出中。如果缺少证明材料,请停止并修复该步骤。
| # | 步骤 | 进入下一步前所需的证明材料 |
|---|---|---|
| 1 | 根据仓库清单文件(package.json、*.csproj、pubspec.yaml、*.sln、syncfusion.config.json)检测平台。 | 一行声明:Platform: <slug>,并注明识别该平台所依据的清单文件信号。 |
| 2 | 阅读平台索引 https://ai.syncfusion.com/<platform-slug>/llms.txt。 | 已读取的平台索引文件路径。 |
| 3 | 检查项目清单文件中已有的 Syncfusion 软件包。 | 从 package.json / *.csproj / pubspec.yaml 中逐字提取的 name@version 项目符号列表。 |
| 4 | 最新版本检查关卡——必须执行。 重新读取项目清单文件和锁定文件。根据 references/version-resolution.md 中的软件包管理器规则确定项目的 Syncfusion 版本:npm = 共享主版本号,NuGet = 精确版本,pub.dev = 精确约束。不得凭记忆编造版本。如果尚未安装 Syncfusion,记录 no existing packages,并使用该平台系列中的最新稳定版本。如果存在冲突,请停止并报告。 | 一行声明:Project Syncfusion version (package-manager rule): <value>(npm 使用 npm shared major=<N>;NuGet 使用 exact=<X.Y.Z>;Flutter 使用 constraint=<^X.Y.Z>;或使用 no existing packages)。 |
| 5 | 对检测到的每个 Syncfusion 组件、控件、库、查看器、编辑器、SDK 或迁移任务,运行 npx skills add syncfusion/<repo> --skill <detected-component-skill>。一个组件对应一次 npx skills add 调用。不得合并调用。 | 实际执行的确切命令以及终端退出状态 / 输出片段。 |
| 6 | 如果未检测到 Syncfusion 软件包,则不要安装组件技能(这是 Setup Mode 中唯一的“不要安装”规则)。设置期间不要安装 Syncfusion 产品软件包。如果之后(Task Mode)添加、升级、降级或移除 Syncfusion 产品软件包,务必始终调用软件包管理器——npm install、pnpm add、yarn add、dotnet add package 或 flutter pub add——并让它更新清单文件、锁定文件和依赖树。切勿直接编辑清单文件。 | 一行声明:Packages detected: <list or "none">,并附上步骤 5 中执行的命令,或明确说明未安装的决定。对于 Task Mode 中添加 / 升级软件包的操作,证明材料必须是实际运行的确切软件包管理器命令及其退出状态,而非清单文件差异。 |
| 7 | 检测 MCP 是否可用(读取 syncfusion.config.json 中的 mcp 区块,以及主机编辑器的 MCP 配置文件(如果存在))。 | MCP 状态以及读取的文件路径。 |
| 8 | 验证安装已写入文件。 列出目标技能目录,并确认每个已安装的 SKILL.md 都存在。 | 显示磁盘上 SKILL.md 路径的 ls / dir / Get-ChildItem 输出。如果安装失败或没有写入任何文件,请停止并报告失败——不得继续执行步骤 9。 |
| 9 | 获取平台注册表索引 https://ai.syncfusion.com/r/<platform-slug>/registry.json(如果该平台没有注册表,则跳过)。不要获取单个变体文件——这将在 Task Mode 中进行。 | 一行声明:Registry index fetched: <url or "no registry for platform">。 |
| 10 | 使用下方的必需输出模板生成 Setup Mode 报告。 | 报告本身,须符合模板、填写所有字段并注明所有磁盘路径。 |
步骤 5(安装技能)的命令标志:
- 使用
-y(非交互模式),避免安装因提示而阻塞。 - 如果已知主机 Agent,请使用
--agent <name>(例如--agent codestudio、--agent cursor、--agent claude-code);如果省略此参数,则安装到共享的.agents/skills/目录。 - 如果主机有要求,请在联网安装前遵守主机的授权规则。
- 一个检测到的组件对应一次
npx skills add调用。不得合并调用。
设置模式 — 必需的输出模板
第 10 步的最终报告必须使用此模板。每个字段均为必填项。不得遗漏任何字段。不得用“见上文”概括字段内容。 如果某个字段不适用,请填写 <reason>。
## Setup Mode report
Platform: <slug from /llms.txt platform-slug table>
Project Syncfusion version (Fresh Version Gate, step 4 — package-manager rule):
- <npm shared major=<N> | NuGet exact=<X.Y.Z> | pub.dev constraint=<^X.Y.Z> | no existing packages>
Detected Syncfusion packages (from project manifest):
- <name>@<version> (source: <manifest file>)
Packages installed (Task Mode only — list commands executed by the package manager):
- <exact npm install / pnpm add / yarn add / dotnet add package / flutter pub add command> (exit code: <N>)
Installed skills (on-disk proof, from step 8):
Skill install commands executed:
- <exact npx skills add … command>
Installed skills (on-disk proof, from step 8):
- <absolute path to installed SKILL.md> (ls/dir output: <one-line snippet>)
Registry index: <url fetched | "no registry for platform">
MCP status: <integrated | not integrated>
- config file read: <path or "none">
- server name(s): <sf-<platform>-mcp>
Licensing status: <license key present | license key absent>
- license registration site: <https://…>
- registerLicense call site: <file:line or "not present">
Human action required: <bulleted list, or "None — setup is autonomous">
如果回复不符合此模板,则表示尚未完成设置模式。
新项目
项目中可能没有任何 Syncfusion 软件包。
在这种情况下:
- 检测平台。
- 不要安装组件技能。
- 不要安装 Syncfusion 产品软件包。
- 使用上述模板报告未检测到现有的 Syncfusion 使用情况,并填写
Detected Syncfusion packages: none和Human action required: None — no Syncfusion usage detected。这仍算完成设置模式,并非绕过流程。
仅在以下情况下安装组件技能:
- 检测到现有的 Syncfusion 使用情况,或
- 用户请求新增 Syncfusion 功能。
任务模式
当用户请求 Syncfusion 代码、组件、控件、库、升级、迁移或故障排查时触发。
继续之前:
- 重新读取项目清单文件。
- 最新版本门禁 — 必须执行。 重新读取清单文件和锁定文件。按照
references/version-resolution.md中的软件包管理器规则确定项目的 Syncfusion 版本:npm = 共享主版本,NuGet = 精确版本,pub.dev = 精确约束。不得凭记忆臆造版本。除非 Syncfusion 软件包的版本符合该规则,否则不得安装该软件包。安装新软件包时,安装符合该规则的最新已发布版本。如果存在冲突,请停止并报告;不要自行统一版本。必需的证明材料:Project Syncfusion version (package-manager rule): <value>。 - 根据保留的会话清单确定候选组件技能。应按所需行为匹配,而不是按用户输入的词语匹配。严格按照硬性规则,准确说明候选项、所需行为和证据(匹配的清单条目)。仅当本次会话中已通过清单解析此请求时,才可跳过此步骤。
- 必要时安装缺失的技能。每个检测到的组件分别运行一次
npx skills add --skill <name>。不要安装整个平台包。 - 查阅平台注册表,寻找匹配的变体;如果存在,请据此调整所选模板。
- 完整阅读所选组件的
SKILL.md,以及任务所需的参考资料。 - 安装任何软件包之前,遵循版本解析策略。
- 继续实施。
优先选择路由
最快且正确的流程几乎总是:
- 根据仓库清单识别平台。
- 获取该平台的
https://ai.syncfusion.com/<platform-slug>/llms.txt。其中包含所有必要信息: 技能包、包、许可证注册、完整示例和验证清单。 - 在设置期间读取一次平台清单 —
https://ai.syncfusion.com/<platform-slug>/inventory.txt,而非每次请求都读取。从中保留一份会话清单:一张精简的路由图,列出每项组件技能的类别、对应包,以及其描述涵盖的行为。 在整个会话记忆有效期间,会话清单都是其余会话内容的路由依据。 - 根据会话清单列出候选组件技能,并按照所需行为选择技能。
- 获取平台注册表,选择最接近的变体并进行调整。只有没有匹配模板时才跳过 — 回退到组件技能并说明原因。
- 在安装、升级、降级任何 Syncfusion 包或针对其生成代码之前,运行新鲜版本检查。重新读取清单文件和锁定文件。按照
references/version-resolution.md中的包管理器规则确定项目的 Syncfusion 版本 — npm = 共享主版本号,NuGet = 精确版本,pub.dev = 精确约束。不要凭记忆臆造版本,也不要在 NuGet 或 Flutter 中默认采用 npm 风格的“主版本号相同”。如果存在冲突,请停止并报告;不要自行统一版本。 - 在处理任何密钥之前,都要阅读
https://ai.syncfusion.com/licensing.md,即使是在同一平台内也不例外,而不仅仅是在跨平台时阅读:“显示事件的日历”同时符合 Calendars 技能(日期选择输入)和 Scheduler 技能(事件和约会管理)。 - 根据所需行为选择,而不是根据用户输入的词语选择;并严格按照上文“硬性规则”清单的要求说明候选项、选择结果和依据。如果两个候选项仍然难分高下,且选择会改变实现方式,请提出一个简短问题并停止。
- 仅安装检测到的 Syncfusion 用法或当前任务所需的组件技能。
- 在处理任何密钥之前阅读
https://ai.syncfusion.com/licensing.md。
同一会话中的后续请求应根据会话清单进行判断 — 不要再次获取清单。这既适用于直接请求(“添加一个 Grid”),也适用于描述目标而非命名组件的请求(“查看我的 PDF 文件”“编辑文档”“在日历上显示事件”)。将描述的行为与清单中记录的各项技能所涵盖的行为进行匹配;不要只根据用户用词匹配,因为这会浪费上下文并导致选择错误的组件。仅当会话清单无法确定请求时,才重新获取清单:没有候选项涵盖所需行为、两个候选项难分高下且选择会改变实现方式,或请求指定的组件不在清单中 — 它可能比设置时读取的清单更新,或属于其他平台标识。
组件注册表
组件注册表是按平台整理的 JSON 模板索引。每个模板都包含完整且经过验证的实现:源代码、精确的包版本和许可方案。在编写任何组件代码之前,务必先获取平台注册表索引。以最匹配的模板为起点。只有当需求超出所有模板的描述范围时才跳过 — 并明确说明原因。
注册表目前涵盖 Angular、React、Vue、aspnet-core、aspnet-mvc、Blazor、JavaScript、.NET MAUI、WinForms、WPF 和 WinUI。其他所有平台都只能使用技能包进行开发。
端点
- 注册表索引(按平台):
https://ai.syncfusion.com/r/<platform-slug>/registry.json - 单个模板源:
https://ai.syncfusion.com/r/<platform-slug>/<variant>.json - 对于 React,需包含语言段:
https://ai.syncfusion.com/r/react/<js|ts>/<variant>.json
何时查阅注册表
将注册表视为完成请求的常规步骤。满足以下任一条件时,应查阅注册表:
- 用户提到了已知变体 — 例如“添加一个支持分组的 Grid”“显示堆叠柱形图”“渲染带注释的 PDF 查看器”。变体已明确,因此获取匹配的模板比凭记忆生成更准确。
- 用户提出了模糊的组件请求 — 例如“添加一个图表”“我需要一个 scheduler”“插入一个数据网格”。选择
name或description最符合意图的模板,将其适配到项目中,并在适配前说明所选模板。 - 请求明显对应某个可用模板。 以该模板为起点。根据框架、语言、主题和包版本进行适配;如果项目约定不同,不要原样粘贴。
何时不查阅注册表
如果需求超出所有模板的描述范围,例如自定义行为、应用级组合,或不存在对应变体的工作负载,则跳过注册表。在这些情况下,完全不要使用注册表;改用平台技能包,并说明原因。
编写代码前的步骤
- 根据清单确定目标平台(参见“确定项目上下文”)。
- 先安装相关组件技能(参见“路径 A — 官方 Agent 技能”)。技能包会介绍集成和许可规则;注册表条目则将这些规则应用于某个特定实现。
- 每个会话获取一次
https://ai.syncfusion.com/r/<platform-slug>/registry.json。 - 根据意图选择匹配的模板。如果有多个模板匹配,优先选择
behaviors与用户所述需求最吻合的模板。 - 获取
https://ai.syncfusion.com/r/<platform-slug>/<variant>.json(或 React 的js|ts变体),以获取完整源代码、确切的依赖版本、包名称和许可信息。 - 在将任何源代码粘贴到项目中之前,引用注册表 URL 和匹配的模板名称。
- 适配模板,包括框架、语言、主题、包版本和项目约定。
- 运行验证清单(参见“验证”)。
与平台清单的关系
inventory.txt 和 registry.json 面向不同用途;不要将二者混为一谈:
inventory.txt是路由层。它将平台上的每项组件技能映射到其类别、包和行为。设置期间读取一次,之后在会话中保留清单。registry.json是已知变体的工作层。它提供完整且经过验证的实现模板,而非路由映射。
当请求描述目标(“查看我的 PDF 文件”“在日历上显示事件”)时,从清单入手。当请求提到组件或变体时,直接查阅注册表。
回退方案
如果平台没有注册表、没有模板匹配,或匹配的模板仅能部分满足需求,则回退到平台技能包,并明确说明差距:涉及哪个平台、用户提出了什么请求,以及注册表为何不适用。如果存在涵盖相同行为的模板,绝不要默默凭训练记忆生成。
知识来源
有两种来源。选择你实际查阅的来源,并在提出主张时明确说明:
- 会话清单 — 从
inventory.txt和已安装技能的SKILL.md/references/*.md中保留的路由图。关于组件的包、导入或 行为的任何主张,都应使用此来源。请注明文件和章节。 - 训练记忆 — 融入模型的模式。不可引用。不要用它来填补会话清单中的空白;“先路由”中的重新获取触发条件会说明接下来该怎么做。
平台 Slug:react angular javascript vue blazor aspnet-core aspnet-mvc flutter maui
maui-toolkit winforms wpf winui document-sdk xamarin-to-maui-migration
主索引:https://ai.syncfusion.com/llms.txt
如果无法访问网络,本技能及其参考资料足以继续操作。
确定项目上下文
检查代码仓库,然后再询问用户任何已存在的信息。确定以下内容:
- 框架、语言、运行时、包管理器
- 现有 Syncfusion 包及其准确版本(用于 Fresh Version Gate;只有清单或锁文件中有记录时,才能提及版本)
- 所请求的组件或 SDK,以及实际需要的功能
- 这是新的集成、编辑、升级、迁移还是故障排查
- 现有主题和 CSS 设置、应用启动配置,以及测试和构建命令
- 现有技能目录和 MCP 配置
- 许可证注册的证据——不得打印或泄露任何密钥
清单线索:React、Angular、Vue 和 JavaScript 使用 package.json;Blazor、
ASP.NET Core、ASP.NET MVC、MAUI、WPF、WinForms 和 WinUI 使用 .csproj;
Flutter 使用 pubspec.yaml。
不要混用不同平台的示例。如果代码仓库无法确定平台,且平台选择会改变实现方式,请提出一个简短问题并停止。
两个 slug 都可能正确:在浏览器中显示 PDF、并在 .NET 服务上为其签名的 React 应用需要 pdf-viewer-sdk 和 document-sdk。两个 UI 框架 slug 则绝不会同时正确。
选择路径
| 需求 | 路径 |
|---|---|
| 生成或修改 Syncfusion 代码 | A — 官方 Agent 技能 |
| 核实当前 API、版本变更或高级配置 | B — 当前文档 |
| 解决许可证设置或许可证警告 | C — 许可证 |
| 在更改项目之前评估 Syncfusion | D — 仅研究 |
典型的实现会使用 A,在细节不确定时查阅 B,始终遵循 C,并以验证收尾。
路径 A — 官方 Agent 技能
Syncfusion 发布了组件感知技能,其中包含设置、导入、模块和服务、属性、事件、主题、无障碍指南和实现模式;更重要的是,还包含公开文档中未提及的失败模式。
- 检查匹配的技能是否已安装在 Agent 的技能目录中。
- 如果缺少该技能,且安装属于用户请求的范围,请根据上述基于行为的比较,从保留的清单路由图中选择范围最小的官方技能包或组件技能。阅读
references/skill-packs.md,了解经过验证的仓库名称和命令。 - 在运行联网安装或更改项目级 Agent 配置之前,遵循宿主环境的授权规则。
- 在开始实现之前,完整阅读所选组件的
SKILL.md。仅阅读请求功能所需的支持参考资料。 - 遵循已安装技能的指引,不要依赖记忆中的代码片段。每次安装、升级、降级或迁移 Syncfusion 包,或更改代码生成内容之前,都要运行 Fresh Version Gate——参见
references/version-resolution.md。匹配规则因包管理器而异:npm 使用相同主版本,NuGet 使用精确版本,Flutter 使用精确约束。不要凭记忆选择版本。Fresh Version Gate 通过之前,不要安装包或生成 Syncfusion 代码。除非用户已选择明确的升级策略,否则应与项目现有版本保持一致。
对于检测到的 Syncfusion 用法或当前任务,只安装所需的组件技能。
不要仅仅因为检测到某个平台或预计未来会有相关工作,就安装该平台清单中的所有组件技能。在项目本地安装技能,可使其与仓库保持同步,并便于团队共享。
安装 Agent 技能不会安装 Syncfusion 产品包。组件技能会指出实际的运行时依赖;请另行安装这些依赖。
路径 B — 当前文档
当答案取决于当前 API、近期发布的功能、精确的包版本、迁移行为或故障排除细节时使用。
- 如果已配置 Syncfusion MCP 服务,请使用它及其文档搜索工具。
- 否则,请搜索与具体框架、组件和已安装版本相对应的官方文档。
- 使用官方示例和仓库作为文档补充——切勿使用通过通用搜索找到的跨框架代码片段。
技能用于指导代码生成;MCP 服务用于检索当前文档。二者相辅相成,MCP 是可选的——使用它需要 API 密钥,而且匿名方式也必须可用。参见 references/mcp-setup.md。
说明哪些细节已经通过当前文档核实。如果无法获得权威信息,不要臆造 API;请说明哪些内容无法确认。
路径 C — 许可
安装和阅读 Syncfusion Agent 技能无需许可证。使用 Syncfusion 组件库或文档 SDK 受适用的商业版、Community、试用版或其他产品许可证约束。
- 切勿生成、猜测、记录、回显或提交许可证密钥或 MCP API 密钥。
- 不要因为软件包成功构建或已安装技能,就声称项目已获得许可。
- 沿用项目现有的机密管理模式。除非平台的官方注册方法明确要求在应用程序级别注册,否则不要将机密纳入源代码管理,也不要输出给客户端。
- 使用与确切框架和已安装版本对应的许可页面;不同平台和版本的机制各不相同。
- 切勿压制、隐藏或通过 CSS 隐藏许可横幅或警告。
- 如果需要密钥或账户操作,请说明用户必须获取或授权的内容,然后停止。
- 将许可条款视为权威依据。未经核实,不要根据试用版或 Community 许可证推断生产使用权。
MCP API 密钥是文档助手的凭据,不是产品许可证密钥。
完整规则:references/licensing.md
路径 D — 仅研究
用户正在评估 Syncfusion 时,不要安装任何内容——包括软件包、技能或 MCP 配置。确定目标框架和工作负载,然后比较相关的官方产品、文档、演示、部署模式和许可要求。将已核实的事实与建议区分开来。
实施
- 保留项目的框架版本、架构、格式和依赖约定。
- 仅安装所选组件和功能所需的软件包。
- 包含组件技能所述的所有必需导入、模块或服务注入、提供程序、处理程序、标记帮助程序注册、主题样式表、运行时资源和服务器依赖项。
- 使用真实的类型化数据,实现能够展示所请求行为的最小端到端切片。
- 输出完整文件。不要使用省略号,不要写“其余代码”,也不要将部分差异作为主要输出。
- 在相关情况下,验证加载、空内容、错误和主要交互状态。
- 为每项组件声明注明来源——会话清单或已安装的
SKILL.md。无法注明来源的内容不要写。
验证
不要仅凭编译成功就报告成功。完整清单:references/verification.md
至少要确认:组件能够渲染或执行;所请求的功能已得到实际演示;未出现许可警告;运行时日志中没有缺少模块或资源的错误;差异中没有密钥。如果你的环境无法进行运行时验证,请明确说明尚未验证的内容,并向用户提供简明的手动检查方法。
按以下顺序排查
- 框架与 Syncfusion 软件包版本兼容性
- 缺少的软件包、对等依赖项、模块、服务、提供程序、处理程序或导入
- 主题 CSS、字体、脚本、静态资源或必需的服务器端端点
- 数据形状、标识符、日期和数字解析、异步生命周期
- 已安装组件技能中的特定功能配置
- 当前官方文档或 MCP 查询
- 移除无关应用程序代码后的最小复现
保留原始错误文本。区分产品缺陷与集成或配置问题。如果最小复现仍不符合文档所述行为,请联系 Syncfusion Support: https://support.syncfusion.com/
对于每项拟议的修复,均须按照“实施”和上述“硬性规则”注明来源。
参考资料
| 参考资料 | 适用场景 |
| --- | --- | 必须遵守。匹配规则因包管理器而异(npm = 主版本号相同,NuGet = 版本号完全一致,Flutter = 约束条件完全一致)。
| references/skill-packs.md | 选择或安装技能包;需要经过验证的仓库名称 |
| references/mcp-setup.md | 配置 MCP 服务,或判断是否需要 MCP 服务 |
| references/licensing.md | 任何与密钥、机密、CI 或账户相关的问题 |
| references/version-resolution.md | 在安装、升级、降级任何 Syncfusion 包,或基于其生成代码之前 — 匹配规则因包管理器而异 |
| references/verification.md | 在报告实现可用之前 |