Initial commit: SenSu Alpha 0.2.0
- 13-service async plugin framework - Textual TUI with CLI fallback - Plugin hot-reload + permission system - Web management panel (aiohttp) - Bridge-based inter-module communication - 10 regression tests Fixes applied: - PBKDF2-SHA256 auth (was plain SHA256) - Auth bypass removed (was allow-all on fail) - Bare excepts replaced with logged errors - CatFramework/DreamSu -> SenSu naming unified - ServiceManager: health checks + startup_order - Env var credentials (SENSU_ADMIN_PASSWORD etc)
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
# 🐱 SenSu
|
||||
|
||||
一个功能强大的Python后端框架,具有插件化架构和丰富的功能集。
|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 🎨 **TUI界面**: 基于Textual的终端用户界面
|
||||
- 📝 **强大日志系统**: 多输出、文件切割、实时日志流
|
||||
- 🔌 **插件化架构**: 热加载、权限管理、插件隔离
|
||||
- 🌐 **网络服务**: WebSocket、HTTP API、反向代理
|
||||
- 🔐 **认证系统**: 用户认证、令牌管理、权限验证
|
||||
- 🔄 **消息桥接**: 模块间通信、插件间通信
|
||||
- ⚡ **高性能**: 异步架构、协程支持
|
||||
- 🛡️ **安全**: 权限验证、输入验证、错误隔离
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 运行框架
|
||||
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
|
||||
### 基本命令
|
||||
|
||||
在TUI底部输入框中输入命令:
|
||||
|
||||
- `help` - 显示帮助信息
|
||||
- `status` - 显示框架状态
|
||||
- `history` - 显示命令历史
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
project_root/
|
||||
├── main.py # 框架主入口
|
||||
├── service_manager.py # 服务管理器
|
||||
├── requirements.txt # 依赖包列表
|
||||
├── README.md # 项目说明
|
||||
│
|
||||
├── config/ # 运行时生成的配置文件
|
||||
│ ├── framework/ # 框架核心配置
|
||||
│ ├── plugins/ # 插件配置
|
||||
│ ├── services/ # 服务配置
|
||||
│ └── permissions/ # 权限配置
|
||||
│
|
||||
├── logs/ # 日志文件目录
|
||||
│ ├── debug/ # debug级别日志
|
||||
│ └── runtime/ # 运行时日志
|
||||
│
|
||||
├── services/ # 核心服务模块
|
||||
│ ├── init_service.py # 初始化服务
|
||||
│ ├── log_service.py # 日志服务
|
||||
│ ├── tui_service.py # TUI服务
|
||||
│ ├── command_service.py # 指令服务
|
||||
│ ├── auth_service.py # 认证服务
|
||||
│ ├── internet_service.py # 互联网服务
|
||||
│ ├── plugin_service.py # 插件服务
|
||||
│ ├── permission_service.py # 权限服务
|
||||
│ ├── api_service.py # API服务
|
||||
│ └── shutdown_service.py # 关闭服务
|
||||
│
|
||||
├── bridges/ # 桥接模块
|
||||
│ ├── core_bridge.py # 核心桥接
|
||||
│ └── plugin_bridge.py # 插件桥接
|
||||
│
|
||||
├── fmfuncs/ # 框架功能集
|
||||
│ ├── file_utils.py # 文件操作工具
|
||||
│ ├── config_utils.py # 配置工具
|
||||
│ ├── validation_utils.py # 验证工具
|
||||
│ ├── network_utils.py # 网络工具
|
||||
│ └── plugin_utils.py # 插件工具
|
||||
│
|
||||
├── plugins/ # 插件目录
|
||||
│ └── example_plugin/ # 示例插件
|
||||
│
|
||||
└── gui/ # GUI接口
|
||||
└── api.py # GUI操作接口
|
||||
```
|
||||
|
||||
## 🔌 插件开发
|
||||
|
||||
### 创建插件
|
||||
|
||||
1. 在 `plugins/` 目录下创建插件文件夹
|
||||
2. 创建必要的配置文件:
|
||||
- `__init__.py` - 插件主模块
|
||||
- `config.yaml` - 插件配置
|
||||
- `permissions.yaml` - 权限申请
|
||||
|
||||
### 插件示例
|
||||
|
||||
参考 `plugins/example_plugin/` 目录中的示例插件。
|
||||
|
||||
## 🔧 配置说明
|
||||
|
||||
框架配置位于 `config/framework/` 目录:
|
||||
|
||||
- `base_config.yaml` - 基础框架配置
|
||||
- `permission_rules.yaml` - 权限规则配置
|
||||
|
||||
## 📡 API接口
|
||||
|
||||
框架提供以下API接口:
|
||||
|
||||
- WebSocket服务: `ws://localhost:8765`
|
||||
- HTTP API服务: `http://localhost:8000`
|
||||
- GUI API服务: `http://localhost:8080`
|
||||
|
||||
## 🐛 问题排查
|
||||
|
||||
查看 `logs/` 目录中的日志文件获取详细错误信息。
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
MIT License
|
||||
|
||||
## 🤝 贡献
|
||||
|
||||
欢迎提交Issue和Pull Request!
|
||||
```
|
||||
|
||||
这个完整的Python后端框架包含了这些功能:
|
||||
|
||||
- ✅ TUI渲染界面(三部分布局)
|
||||
- ✅ 强大的日志处理模块
|
||||
- ✅ 初始化系统和指令模块
|
||||
- ✅ 核心桥接和插件桥接
|
||||
- ✅ 互联网模块集(WebSocket、HTTP API)
|
||||
- ✅ 插件管理器(热加载、错误隔离)
|
||||
- ✅ 权限管理器(权限申请和验证)
|
||||
- ✅ API管理器
|
||||
- ✅ 优雅的关闭方法
|
||||
- ✅ 丰富的debug日志
|
||||
- ✅ GUI API接口
|
||||
- ✅ 清晰的目录结构
|
||||
|
||||
每个文件都有完整的错误处理和详细的日志记录 可以直接运行 `python main.py` 来启动框架
|
||||
```
|
||||
Reference in New Issue
Block a user