fe421ffc55
Co-authored-by: Cursor <cursoragent@cursor.com>
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# 笔临扩展开发指南
|
|
|
|
笔临 v2.0.0 提供 **扩展 API 骨架**,用于声明第三方扩展点。当前版本**不加载或执行**第三方代码,仅校验 `manifest` 并展示占位列表。
|
|
|
|
## BilinExtension 清单
|
|
|
|
在扩展包的 `bilin-extension.json` 中声明:
|
|
|
|
```json
|
|
{
|
|
"name": "my-extension",
|
|
"version": "1.0.0",
|
|
"description": "示例扩展",
|
|
"main": "index.js",
|
|
"permissions": ["filesystem.read"],
|
|
"contributes": {
|
|
"importers": [{ "id": "myfmt", "extensions": [".mybook"], "label": "My Format" }],
|
|
"exporters": [{ "id": "myexport", "extensions": [".mybook"], "label": "Export My Format" }]
|
|
}
|
|
}
|
|
```
|
|
|
|
## 扩展点
|
|
|
|
| 扩展点 | 说明 |
|
|
|--------|------|
|
|
| `sidePanels` | 侧栏自定义面板 |
|
|
| `importers` | 自定义导入格式 |
|
|
| `exporters` | 自定义导出格式 |
|
|
| `aiBackends` | 可选 AI 后端 |
|
|
| `skills` | AI Skill |
|
|
| `editorExtensions` | TipTap 节点/标记 |
|
|
| `menuItems` | 工具栏/右键菜单 |
|
|
|
|
## 安全
|
|
|
|
- 扩展默认沙箱运行,需声明 `permissions`
|
|
- 敏感权限需用户在设置中显式授权(后续版本)
|
|
- 扩展仅能通过笔临提供的 API 与核心交互
|
|
|
|
## 开发者模式
|
|
|
|
设置 → 扩展 → 开启「开发者模式」后,可从本地文件夹读取 manifest 做校验(不执行 `main`)。
|
|
|
|
## 相关类型
|
|
|
|
见 `src/shared/extension-api.ts` 与 `src/main/services/extension-registry.ts`。
|