- 创建 docs/ 文档目录,包含快速开始、架构说明、插件列表、插件开发、API参考、贡献指南 - 更新 LICENSE 完整 Apache 2.0 模板,添加作者 yongwanxing - README 许可证引用更新为 Copyright 2026 Falck, yongwanxing
2.8 KiB
2.8 KiB
NebulaShell
NebulaShell 是一个插件化运行时框架。一切功能皆由插件实现,核心仅保留插件加载与调度能力。
快速开始
# 克隆
git clone https://github.com/Starlight-apk/NebulaShell.git
cd NebulaShell
# 安装依赖
pip install -r requirements.txt
# 启动
python main.py
启动后访问 http://localhost:8080 进入管理控制台。
插件
所有功能以插件形式提供,位于 store/NebulaShell/ 目录下。当前内置 26 个插件。
| 插件 | 说明 |
|---|---|
plugin-loader |
插件加载核心 |
plugin-bridge |
插件间通信(事件总线 / RPC) |
http-api |
RESTful API 服务 |
ws-api |
WebSocket 服务 |
webui |
管理控制台 |
dashboard |
系统仪表盘 |
log-terminal |
日志查看与终端 |
pkg-manager |
插件包管理器 |
lifecycle |
生命周期管理 |
i18n |
国际化 |
plugin-storage |
插件持久化存储 |
dependency |
依赖关系解析 |
hot-reload |
热重载 |
signature-verifier |
签名验证 |
code-reviewer |
代码审查 |
plugin-loader-pro |
熔断/降级/容错 |
auto-dependency |
系统依赖自动安装 |
performance-optimizer |
性能优化 |
nodejs-adapter |
Node.js 运行时适配 |
http-tcp |
TCP 协议适配 |
firewall |
防火墙 |
ftp-server |
文件服务 |
frp-proxy |
内网穿透 |
json-codec |
JSON 编解码 |
log-terminal |
日志终端 |
polyglot-deploy |
多语言部署 |
开发一个插件
在 store/NebulaShell/ 下创建目录,包含 manifest.json 和 main.py:
{
"metadata": {
"name": "my-plugin",
"version": "1.0.0",
"description": "我的插件"
},
"config": { "enabled": true, "args": {} },
"dependencies": [],
"permissions": []
}
from oss.plugin.types import Plugin
class MyPlugin(Plugin):
def init(self, deps=None):
pass
def start(self):
pass
def stop(self):
pass
def New():
return MyPlugin()
使用其他插件
通过 use() 获取已加载的插件实例:
from store.NebulaShell.plugin_bridge.main import use
http_api = use("http-api")
webui = use("webui")
贡献
欢迎提交 Issue 和 Pull Request。
请确保代码通过语法检查:
find . -name "*.py" -not -path "./venv/*" -not -path "./.git/*" | \
xargs -I{} python3 -m py_compile {}
许可证
Copyright 2026 Falck, yongwanxing
Licensed under the Apache License, Version 2.0.