> ## Documentation Index
> Fetch the complete documentation index at: https://agent.minimaxi.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# miniapp.json 字段

> Mini App 声明的全部字段。未知字段一律拒绝。

## 顶层字段

| 字段 | 类型 | 说明 |
| - | - | - |
| `schemaVersion` | `1` | 固定为 1 |
| `artifacts.client` | `string[]` | 必填。页面载荷根目录，非空、不重复，位于 `miniapp/` 下 |
| `artifacts.node` | `string[]` | 必填。Node 载荷根目录，可以和 `client` 重叠 |
| `runtime.kind` | `"process"` | 固定为 `process` |
| `runtime.entry` | `string` | Node 入口，`.js` / `.mjs` / `.cjs`，必须在 Node 载荷内 |
| `runtime.lifecycle` | `"on-demand"` | 可省略。只支持按需启动；旧的 `background` 按 `on-demand` 处理 |
| `surface.path` | `string` | 页面入口路由，以 `/` 开头，不带 origin、query、fragment 和反斜杠 |
| `surface.window` | `object` | 可选。弹出成独立窗口时的属性，见[下表](/docs/miniapp/reference/manifest#window) |
| `mcpEndpoints` | `{ server, path }[]` | 托管 MCP。`server` 必须是 `plugin.json` 已声明的 MCP 服务器；没有就写空数组 |
| `hostConnectorAccess.providers` | `string[]` | 允许使用的 Connector provider，小写字母、数字、`_`、`-`，不重复 |
| `agentAccess` | `["session.run"]` | 可选。允许运行 Agent 回合；缺失或为空即禁止 |
| `agentConcurrency` | `integer` | 可选，1–32，默认 4。同时运行的 Agent 回合数；没有 `agentAccess` 时不生效 |

## surface.window

弹出窗口时应用的属性，是 Electron 窗口参数的白名单子集。每个字段都可选。

| 字段 | 默认值 | 说明 |
| - | - | - |
| `width` / `height` | 弹出前在文件面板里的尺寸 | 整数，200–10000 |
| `minWidth` / `minHeight` | 480 / 360 | 同时给出时，不能大于对应的 `width` / `height` |
| `resizable` | `true` | 为 `false` 时，运行时也不能改尺寸 |
| `frame` | `true` | 为 `false` 时要自己提供拖动区域 |
| `transparent` | `false` | 为 `true` 时必须同时声明 `frame: false` |
| `alwaysOnTop` | `false` | 运行时开启置顶的上限 |
| `skipTaskbar` | `false` | 不在任务栏显示 |
| `clickThrough` | `false` | 鼠标事件穿透到下层窗口，页面仍能收到移动事件；也是运行时开启的上限 |

不能声明的：和主窗口的关系（总是独立的顶层窗口，显隐不跟随主窗口：主窗口隐藏、最小化或关到托盘都不影响它）、标题（总是 `displayName`）、屏幕位置，以及打开和关闭行为（窗口只通过文件面板的弹出操作出现，关闭后回到文件面板）。
