# 0.4.0 生态资产来源与验证 / Ecosystem verification

核对日期：**2026-10-09**。固定目标来源于官方发行标签及官方源码，不是已完成客户端验收的兼容矩阵。当前包未调用真实 API，不读取任何生产凭据，也未公开到 npm/GitHub。

| 项目 | 固定源码目标 | 已验证 | 尚未验证 |
| --- | --- | --- | --- |
| n8n | 2.42.6；Manual Trigger 1 / Code 2 / HTTP Request 4.2 | JSON 图引用、逐 item 链接调用方式、序列化表达式、实际内嵌 Code 代码、错误分类和输出合同 | 目标版本编辑器导入、credential 绑定、n8n runtime 执行、真实分类与费用 |
| Dify | 1.17.1；DSL 0.7.0；官方兼容插件源码 0.0.68 | JSON/YAML 解析、Start/LLM/End 图引用、输入与输出变量、provider 引用、无秘密/外部操作节点 | UI 导入、插件安装及凭据保存、Dify 服务端模型调用、流式与插件 transport 行为 |
| Cline | VS Code extension 4.1.23 | 人工配置清单结构、地址与型号约束、无凭据、离线 CLI | 扩展内连接、模型列表、流式、工具、图片、完整 Agent/仓库任务、账单 |

Node.js **24.14.0**：**43** 项测试通过，其中 **9** 项为本次生态资产测试；Python **3.14.3**：已有 **12** 项恢复测试通过。Dify `.yml` 另外用 **PyYAML 6.0.3** 解析，读取结果与 JSON 对象一致。核心运行不依赖 PyYAML；Dify 文件采用 JSON 语法这一合法 YAML 子集。其他 Node/Python 版本与操作系统未做本次验证。

`offline-demo.mjs`、Cline checker 及测试默认不读 Key、不发模型请求。核心历史测试只访问临时本机 HTTP fixture，不是付费 API。本次 n8n fixture 中分类和 token 数均为合成数据，不是准确率或费用证据。历史 CSV 工作流的 n8n 2.16.0 实测与本次单工单模板分开验收。

## 官方主源

- [n8n 2.42.6 release](https://github.com/n8n-io/n8n/releases/tag/n8n%402.42.6)：固定源码目标。
- [n8n import/export](https://docs.n8n.io/workflows/export-import/)：编辑器可导入 JSON；导出文件可能包含凭据名、ID 或从 curl 导入的认证头。本包只留通用占位名/ID。
- [n8n HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) 与 [固定节点字段源码](https://github.com/n8n-io/n8n/blob/n8n%402.42.6/packages/nodes-base/nodes/HttpRequest/V3/Description.ts)：核对 Header Auth、JSON body、fullResponse、neverError、redirect 与 timeout 的嵌套字段。
- [Dify 1.17.1 release](https://github.com/langgenius/dify/releases/tag/1.17.1)、[固定 DSL 版本常量](https://github.com/langgenius/dify/blob/1.17.1/api/constants/dsl_version.py)、[官方基础 Workflow fixture](https://github.com/langgenius/dify/blob/1.17.1/api/tests/fixtures/workflow/basic_llm_chat_workflow.yml)：核对 app envelope、graph、变量引用与节点字段；模板用该标签的当前 DSL 0.7.0，不沿用 fixture 的历史 0.3.1 版本号。
- [Dify import/export](https://docs.dify.ai/en/use-dify/workspace/app-management) 与 [供应商管理](https://docs.dify.ai/en/use-dify/workspace/model-providers)：DSL 与工作区供应商凭据是不同设置；管理员需手动准备供应商。
- [官方兼容插件 Marketplace](https://marketplace.dify.ai/plugin/langgenius/openai_api_compatible)、[固定 manifest](https://github.com/langgenius/dify-official-plugins/blob/f6b4a6a945b4e5909d7c9ceb4c593505f1a3238d/models/openai_api_compatible/manifest.yaml)、[provider 字段](https://github.com/langgenius/dify-official-plugins/blob/f6b4a6a945b4e5909d7c9ceb4c593505f1a3238d/models/openai_api_compatible/provider/openai_api_compatible.yaml)、[LLM 实现](https://github.com/langgenius/dify-official-plugins/blob/f6b4a6a945b4e5909d7c9ceb4c593505f1a3238d/models/openai_api_compatible/models/llm/llm.py)：源码 manifest 为 0.0.68；Chat 模式使用 endpoint prefix。验证逻辑可能发生附加请求/重试，因此不能承诺配置供应商免费或固定一次请求。
- [Cline OpenAI Compatible](https://docs.cline.bot/provider-config/openai-compatible)、[VS Code 4.1.23 manifest](https://github.com/cline/cline/blob/v4.1.23/apps/vscode/package.json)、[固定设置源码](https://github.com/cline/cline/blob/v4.1.23/apps/vscode/webview-ui/src/components/settings/providers/OpenAICompatible.tsx)、[4.1.23 release](https://github.com/cline/cline/releases/tag/v4.1.23)：核对 Base URL、私密 Key、Model ID 与能力字段；该版设置修改可刷新模型列表，发布说明包含未知结束原因时继续一次。本包不限制这些客户端请求。

原始源码下载的 SHA-256、标签、URL 和独立验证状态见 [source-review JSON](ecosystem-source-review.json)。这里只保留定位与哈希，不把官方项目源码或依赖装入分发 ZIP；包内生成器和任务逻辑按本包 MIT 许可发布。

## 复核步骤

```bash
npm test
npm run test:python
npm run demo:ecosystem
npm run check:cline
npm run build:ecosystem
```

最后一条只重建三个本地静态资产，不运行客户端。测试比较生成器输出与分发文件，实际执行 n8n 内嵌代码和 body 表达式，覆盖中文/引号、逐工单身份、非法输入、错误输出、截断、HTTP 与未知状态、图引用、私密凭据不读取及 Cline 配置误用。正式接入需在隔离客户端导入并重新选择私密凭据/供应商，再以受控预算验收。

## English

These are pinned source targets, not client-tested compatibility claims. Nine new offline tests exercise serialization, actual embedded n8n code, output/error handling, graph/variable references and local credential-free profile checks. The full suite passed 43 Node and 12 Python tests on the versions above. PyYAML 6.0.3 additionally parsed the Dify document; the distributed runtime/tests do not require that library.

No n8n/Dify UI import, provider setup, Cline connection or paid model execution was performed. Synthetic fixtures do not establish accuracy, billing or real service compatibility. Dify requires manual official-provider installation and private credential entry. Cline's JSON is a manual guide, not a native preset/import file. Runtime/plugin retries, continuation requests and client log retention require separate verification. The primary-source links and hashes identify the reviewed schema/version snapshots.
