# 🐱 SenSu 万能 Python TUI 项目管理器 — 插件化架构,任何项目都能挂载运行。 [](LICENSE) []() --- ## ✨ 特性 - 🎨 **Textual TUI** — 系统监控面板 + 命令补全 + CLI 回退 - 🔌 **插件系统** — 热加载、权限隔离、依赖解析、进程隔离 - 🗄️ **项目引擎** — 接管任何 Python/命令行项目 (subprocess + 日志 + stdin) - 🔀 **反向代理** — HTTP/WS 代理,本地/局域网/公网端口映射 - 📊 **SQLite 持久化** — 插件状态、权限、审计日志统一存储 - 🌐 **Web 管理面板** — aiohttp + SSE,项目管理/代理/插件控制页 - 🔐 **安全认证** — PBKDF2-SHA256、环境变量密码 - 🐳 **Docker 部署** — Alpine 镜像,systemd 服务文件 - 🧪 **28 个回归测试** — pytest,零失败 - 🛠️ **插件 SDK** — 命令装饰器 + Web 面板 + API + SSE 推送 ## 🚀 快速开始 ```bash pip install -r requirements.txt python main.py # TUI 模式 python main.py --headless # 后台模式 python -m pytest tests/ -v # 运行测试 ``` ## 🏗️ 架构 ``` main.py → SenSuFramework (15 服务) ├── ProjectEngine ← 接管任何项目 (subprocess + 日志) ├── ProxyService ← 反向代理 (HTTP+WS) ├── PyEnvManager ← Python 版本 + venv + git clone ├── PluginWebMixin ← 插件 Web 控制面板 SDK ├── PluginService ← 热加载 + 状态追踪 ├── SenSuDB ← SQLite 5 表 ├── TuiService ← Textual + 系统监控 ├── InternetService ← HTTP :4200 + WS :4240 └── WebPanelManager ← /SenSu 管理面板 ``` ## 📁 目录 ``` SenSu-Alpha/ ├── main.py, service_manager.py ├── sdk/ plugin_command, plugin_status, plugin_error, plugin_web ├── services/ 15 个核心服务 ├── bridges/ CoreBridge + PluginBridge + NetworkBridge ├── plugins/ 插件目录 + example_plugin (含 Web 面板) ├── deploy/ systemd + Dockerfile ├── tests/ 28 个测试 └── docs/ 开发文档 ``` ## 🌐 Web 面板 ``` http://0.0.0.0:4200/SenSu/ ├── /dashboard 仪表盘 ├── /pages/projects 项目管理 (添加/启动/Git部署) ← NEW ├── /pages/proxy 反向代理管理 ← NEW ├── /plugin/{name} 插件控制面板 ← NEW ├── /console Web 终端 ├── /logs 实时日志 └── /plugins 插件列表 ``` ## 🔌 插件开发 ```python from sdk.plugin_command_decorator import plugin_command from sdk.plugin_web import PluginWebMixin class Plugin(PluginWebMixin): def __init__(self, plugin_name=None, config=None, bridge=None): PluginWebMixin.__init__(self) self.plugin_name = plugin_name async def initialize(self): self.register_web_page("my_plugin", "My Panel", "