e6875f0b4b
- 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)
4.2 KiB
4.2 KiB
🐱 SenSu
一个功能强大的Python后端框架,具有插件化架构和丰富的功能集。
✨ 特性
- 🎨 TUI界面: 基于Textual的终端用户界面
- 📝 强大日志系统: 多输出、文件切割、实时日志流
- 🔌 插件化架构: 热加载、权限管理、插件隔离
- 🌐 网络服务: WebSocket、HTTP API、反向代理
- 🔐 认证系统: 用户认证、令牌管理、权限验证
- 🔄 消息桥接: 模块间通信、插件间通信
- ⚡ 高性能: 异步架构、协程支持
- 🛡️ 安全: 权限验证、输入验证、错误隔离
🚀 快速开始
安装依赖
pip install -r requirements.txt
运行框架
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操作接口
🔌 插件开发
创建插件
- 在
plugins/目录下创建插件文件夹 - 创建必要的配置文件:
__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` 来启动框架