---
id: "mnrrfzys-urudaf"
name: "Zod vs JSON Schema 兼容性修复"
type: "reference"
project: "null"
tags: [foliko, plugin, schema, gate-trading, zod, json-schema]
created: "2026-04-09"
---
**问题**：gate-trading 插件使用 Zod schema，但 Foliko framework 的 `_buildParamTable` 函数期望 JSON Schema 格式。

**原因**：`tool.js` 中 `_buildParamTable` 直接访问 `inputSchema.properties`，但 Zod schema 没有 `properties` 属性，只有 `shape` 属性。

**影响**：当插件使用 Zod schema 时，工具参数表格无法正确渲染。

**解决方案**：
1. 在 `_buildParamTable` 函数开头检测 schema 类型
2. 如果是 Zod schema（检测 `.shape` 属性），自动转换为 JSON Schema 格式
3. 或要求所有插件使用 JSON Schema 格式而非 Zod

**修复代码模式**：
```javascript
const _buildParamTable = (inputSchema, isRequired) => {
  // 兼容 Zod schema
  let schema = inputSchema;
  if (inputSchema && inputSchema.shape) {
    schema = zodToJsonSchema(inputSchema);
  }
  const properties = schema.properties || {};
  // ... 后续逻辑
};
```