跳至主要内容

社区插件

提交插件

了解如何为 Sidefy 构建、测试并提交社区插件。

开发指南

插件开发指南

使用 JavaScript 与 Sidefy 完整 API 为 Sidefy 创建强大插件。

核心函数结构

function fetchEvents(config) {
    // Your plugin logic here
    return events;  // Return events array
}

每个 Sidefy 插件必须实现 fetchEvents 函数,接受 config 参数并返回 events 数组。

事件对象格式

{
    title: "Event Title",
    startDate: "2024-01-01T10:00:00Z",
    endDate: "2024-01-01T11:00:00Z",
    color: "#3B82F6",
    isAllDay: false,
    isPointInTime: false,
    notes: "Optional description",
    icon: "https://example.com/icon.png",
    href: "https://example.com",
    imageURL: "https://example.com/image.jpg"
}

必填字段

  • title — 事件标题(字符串)
  • startDate — 开始时间,ISO8601 格式
  • endDate — 结束时间,ISO8601 格式(isPointInTime 为 true 时可省略)
  • color — 十六进制颜色值
  • isAllDay — 是否全天事件(布尔值)
  • isPointInTime — 是否瞬时事件(布尔值)

可选字段

  • notes — 事件描述(字符串)
  • icon — 图标 URL(字符串)
  • href — 点击链接(支持 http://、https://、popup://)
  • imageURL — 图片 URL(字符串)

可用 API

可用 API

在插件中通过 sidefy 对象访问强大功能。

HTTP 请求

sidefy.http.get(url) sidefy.http.post(url, data)

本地存储

sidefy.storage.get(key) sidefy.storage.set(key, value) sidefy.storage.clear()

上限 1MB

日期处理

sidefy.date.parse(dateString) sidefy.date.format(date, format)

AI 功能

sidefy.ai.chat(prompt)

网页抓取

sidefy.crawler(url)

使用 Jina Reader API 提取网页内容。返回 {success, title, url, content, description}

弹窗构建

sidefy.popup.build(title, content)

为事件 href 字段构建 popup:// 协议 URL,在弹窗中显示自定义内容

应用信息

sidefy.app.language()

返回当前语言代码:'zh'、'en'、'ja'、'ko'、'de'、'es'、'fr'、'pt'、'ru'

国际化

sidefy.i18n(translations)

根据用户语言设置自动选择文案,提供更好的体验:

const greeting = sidefy.i18n({
    "zh": "你好,世界!",
    "en": "Hello, World!",
    "ja": "こんにちは、世界!",
    "ko": "안녕하세요, 세계!",
    "de": "Hallo, Welt!",
    "es": "¡Hola, Mundo!",
    "fr": "Bonjour, le monde!",
    "pt": "Olá, Mundo!",
    "ru": "Привет, мир!"
});

return [{
    title: greeting,
    startDate: sidefy.date.format(Date.now())
}];
  • 优先返回当前应用语言的翻译
  • 当前语言不可用时回退到英文("en")
  • 英文也不可用时返回第一个可用值

提交流程

导出与提交流程

按以下步骤将插件提交到社区仓库。

步骤 1

开发插件

使用 fetchEvents 函数与可用 API 创建插件,充分测试以确保兼容性。

在 Sidefy 中测试:使用 Sidefy 内置插件编辑器在应用内编写并测试插件代码。在插件管理界面可编辑代码、实时查看事件输出并调试,确保与 Sidefy 兼容。

步骤 2

准备文档

撰写清晰文档,说明插件功能、要求与使用方法。

从 Sidefy 导出:使用插件导出按钮,将 info.json 与 main.js 导出到以插件命名的目录。生成标准插件结构,便于分发与提交到社区仓库。

步骤 3

提交到 GitHub

向 sidefy-plugins 仓库创建 Pull Request,包含插件代码与文档。

// Directory name, also the unique plugin ID for the client
your-plugin-name/
    ├── main.js # Plugin code
    ├── info.json # Plugin basic information
    └── README.md # Documentation
访问 sidefy-plugins 仓库

步骤 4

审核与合并

团队将审核插件的质量、安全性与兼容性,通过后合并到仓库。

常见问题

常见问题

关于插件开发与提交的常见问题。

插件可以使用哪些编程语言?

插件使用 JavaScript,在沙箱环境中运行。可使用现代 JavaScript 特性与提供的 sidefy API。

审核需要多久?

审核通常需要 1–3 个工作日。我们会全面测试每个插件的质量、安全性与兼容性。

提交后可以更新插件吗?

可以,随时通过相同的 GitHub Pull Request 流程提交更新。