Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aster 插件市场

Aster 的插件清单仓库。WebUI 的「插件市场」页读取本仓库的 index.json 展示可用插件。

仓库结构

.
├── index.json          插件清单(WebUI 读取这个文件)
├── plugins/            插件源码(每个插件一个子目录)
│   └── <插件名>/
├── schema.json         清单格式说明(JSON Schema)
└── templates/          插件模板,复制即可开始写新插件

index.json 格式

{
  "version": 1,
  "updated": "2026-09-17",
  "plugins": [
    {
      "name": "echo",
      "repo": "https://github.com/xlinxt/aster-plugin-echo.git",
      "desc": "复读机:把收到的内容原样发回",
      "author": "xlinxt",
      "tags": ["工具", "示例"],
      "version": "0.1.0"
    }
  ]
}
字段 必填 说明
name 是 插件名,与仓库目录名一致
repo 是 插件仓库地址(可 clone)
desc 是 一句话说明,显示在卡片上
author 是 作者
tags 否 分类标签,WebUI 用它做筛选
version 否 插件版本

如何提交插件

  1. 写插件:从 templates/ 复制一份,或参考 plugins/ 里的示例。
  2. 发布仓库:把插件推到一个公开 Git 仓库。
  3. 提交清单:在本仓库 index.json 的 plugins 数组里追加一条,然后提 PR。

要求:

  • 插件仓库根目录要有 Cargo.toml,crate 名与 name 一致
  • 插件须提供 pub fn plugin() -> aster::Plugin 作为入口
  • README.md 说明命令、权限和配置项
  • 不引入与本框架冲突的全局状态

插件如何被加载

Aster 目前是编译期加载:插件作为独立 crate,克隆到 Aster 项目的 plugins/ 目录后,在 src/plugin/mod.rs 或 App 组装处注册,然后重新 cargo build。

WebUI 的插件市场提供的是「复制安装命令」,不做运行时热加载——因为 Rust 无法安全地 把任意动态库接进已编译的二进制里。运行时加载在路线图上,但会走单独的机制。

许可

清单与模板以 MIT 提供。各插件遵循其自身仓库的许可。

About

Aster 插件市场:插件清单与模板

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages