Skip to content

插件系统 & 导出 API #88

@wyf9

Description

@wyf9

现在的计划: 在 plugin.py 提供一个类 Plugin
插件存储在 plugins/文件夹/__init__.py
插件在 from plugin import Plugin 后使用 p = Plugin(__name__) 初始化插件实例
通过插件实例来区分不同插件, 以及提供访问 config, data, route 之类的接口


进度:

  • 加载插件
  • 插件默认配置 & 访问插件配置
  • [前置] 数据存储改为 SQL
  • 提供插件独立的数据存储
  • index.html 注入 (卡片 & 隐藏)
  • 管理面板注入
  • eventhandler 拦截事件
  • before_request / after_request 事件 (/ hook?)
  • require_sleepy_version 指定需要的 sleepy 版本号
  • requirements.txt 声明依赖
  • pyproject.toml 读取元数据
  • 插件使用文档
  • 插件开发文档

另:

html 注入思路: 提供卡片注册接口, 系统自带卡片标记为 mainmore-info, 多个插件可以同时注入到一个卡片, 从而实现例如一言直接注入到现有 更多信息 卡片中的效果

用户可以在设置里通过卡片 id 来重新进行排序

管理面板不支持 注入系统卡片 / 追加卡片
随时更改, 可建议

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions