---
title: "core"
description: "初始化 Kasumi 桥接、查询宿主能力并执行底层命令调用。"
---


> 初始化 Kasumi 桥接、查询宿主能力并执行底层命令调用。

## 模块边界

`core` 负责桥接生命周期与统一调用，不负责具体文件、窗口或系统能力。
业务模块应优先使用 `KSM.fs`、`KSM.dialog` 等领域入口；只有在领域封装尚未覆盖
已注册命令时，才使用 `KSM.invoke()`。

实现入口是 `frontend/src/bridge/ksm.ts`，请求总线位于
`frontend/src/bridge/bus.ts`。

## 方法索引

|方法 |说明 |
| --- | --- |
| [initialize](/docs/kasumi/api/core/initialize) |创建桥接并安装传输层 |
| [dispose](/docs/kasumi/api/core/dispose) |销毁桥接并拒绝未完成请求 |
| [ping](/docs/kasumi/api/core/ping) |验证前后端通路 |
| [capabilities](/docs/kasumi/api/core/capabilities) |查询当前平台命令和权限 |
| [invoke](/docs/kasumi/api/core/invoke) |按协议命令名调用宿主 |

## 生命周期

推荐顺序是初始化、查询能力、按业务需要监听事件、在页面卸载时销毁：

```ts
KSM.initialize();

try {
  const capabilities = await KSM.capabilities();
  console.info(capabilities.platform);
} finally {
  KSM.dispose();
}
```

`initialize()` 不会自动调用 `ping()` 或 `capabilities()`。重复初始化会先销毁旧总线，
所以初始化后应重新查询能力，并重新建立业务事件监听。

## 别名

|规范入口 |等价入口 |
| --- | --- |
| `KSM.initialize(transport?)` | `KSM.init(transport?)` |
| `KSM.dispose()` | `KSM.shutdown()` |
| `KSM.capabilities()` | `KSM.get()` |

别名不增加新的协议命令，方法页只在规范入口说明参数和边界。

## 常见风险

- 在 `initialize()` 前调用模块方法会抛出不带错误码的普通 `Error`。
- `dispose()` 只销毁前端桥接，不关闭原生应用。
- `capabilities()` 有缓存，权限变化后不会自动失效。
- `invoke()` 不会为未知命令做本地契约校验，未知命令由宿主返回错误。

## 相关

- [types](/docs/kasumi/api/types)
- [errors](/docs/kasumi/api/errors)
- [events](/docs/kasumi/api/events)