Commit Graph

21 Commits

Author SHA1 Message Date
AskaEth 4906b4dc2a Fix short-term issues: refactor main.py, test paths, sysmon optional psutil 2026-06-10 21:18:59 +08:00
AskaEth 3993cc41a9 Fix main.py imports (line-targeted, no try-block corruption)
- Phases 1-3 all integrated
- 28/28 tests passing
- 7/7 modules import OK
2026-06-10 20:56:01 +08:00
AskaEth e52f7f3566 Phase 3: PluginWebMixin SDK + web plugin control panels
- New: sdk/plugin_web.py (PluginWebMixin: web pages, API routes, SSE)
- New: services/web_panel/routes/plugin_web.py (3 endpoints)
- New: plugins/example_plugin/dashboard.html (counter + SSE demo)
- Updated: example_plugin uses PluginWebMixin
- Tests: 28/28 passing
2026-06-10 20:54:11 +08:00
AskaEth c680fea8e0 Phase 2: ProxyService reverse proxy (HTTP+WebSocket forwarding)
- New: services/proxy_service.py (path->URL mapping)
- New: services/web_panel/routes/proxy.py (3 REST endpoints)
- New: static/web_panel/pages/proxy.html (WebUI)
- Tests: 28/28 passing
2026-06-10 20:47:17 +08:00
AskaEth 8dbf628dd6 Phase 1: ProjectEngine + PyEnvManager + project management WebUI
- New: services/project_engine.py (async subprocess manager)
- New: services/pyenv_manager.py (Python version + venv + git clone)
- New: services/web_panel/routes/projects.py (5 REST endpoints)
- New: static/web_panel/pages/projects.html (WebUI)
- Tests: 28/28 passing, API verified (GET /api/projects)
- Docs: Phase1_Progress.md (local)
2026-06-10 20:41:24 +08:00
AskaEth 7e762b68fe Fix URL line wrapping: put URL on own line with leading space for terminal clickability 2026-06-10 19:54:51 +08:00
AskaEth 7e682190ab Fix: URL spacing for terminal clickability, DEBUG level from config 2026-06-10 19:51:07 +08:00
AskaEth 57009c7f43 Update version to v0.5.0 (config + TUI), clean DreamSu->SenSu in main.py 2026-06-10 19:46:09 +08:00
AskaEth b5d688700d Update docs: README + project structure for v0.5 2026-06-10 19:43:18 +08:00
AskaEth f5800cc6c3 Debug: fix headless mode, plugin compat, psutil optional, module imports
- headless: TUI skip now works correctly
- example_plugin: keyword args compat (plugin_name=, config=, bridge=)
- sysmon: psutil made optional (graceful degrade)
- tui_service: SysMonWidget optional
- All 22 modules import clean, 23 tests pass, integration verified
2026-06-10 19:26:41 +08:00
AskaEth 4b26b6f086 v0.4+v0.5: TUI dashboard, tab completion, systemd, Docker, process isolation
- New: services/sysmon_widget.py (CPU/MEM/DISK/NET real-time)
- Enhanced: tui_service.py (4-section layout, plugin status panel)
- Enhanced: command_service.py + tui (Tab completion)
- New: deploy/sensu.service (systemd)
- New: deploy/Dockerfile (Alpine, 4200+4240)
- New: services/process_isolated.py (multiprocess plugin isolation)
- Tests: 23/23 passing
2026-06-10 19:08:16 +08:00
AskaEth d48ef65b35 v0.3: SQLite persistence + ProjectService + dependency resolution
- New: services/sensu_db.py (SQLite, 5 tables)
- New: services/project_service.py (project registry, port allocation, dep resolution)
- Integrated into main.py (step 11.6)
- Tests: 23/23 passing (15 original + 8 new)
2026-06-10 18:59:25 +08:00
AskaEth c73e569958 v0.2.2: headless mode, debug server auto-start, WS fix, watchdog hot-reload, example plugin
- --headless flag (skip TUI for SSH/systemd)
- InitService auto-starts cyrene_debug_server.py
- Fixed log WS URL (home.html/api/logs/ws -> api/logs/ws)
- PluginService watchdog hot-reload (plugins/ dir)
- example_plugin: 2 commands (echo, plugin_status)
- Tests: 15/15 passing
2026-06-10 18:50:10 +08:00
AskaEth 3270a84c4e Rename core -> sdk (plugin SDK, self-documenting) 2026-06-10 18:19:05 +08:00
AskaEth 2bc00f8207 Rename fmfuncs -> core (cleaner, semantic) 2026-06-10 18:17:21 +08:00
AskaEth 5e23778d90 Update docs: architecture + plugin guide for v0.2.1 enhancements 2026-06-10 13:09:52 +08:00
AskaEth 1cbe52174d Add plugin enhancements: PluginStatus, PluginError, subscribe_plugin, config validation
- New: fmfuncs/plugin_status.py (9 states)
- New: fmfuncs/plugin_error.py (6 exception classes)
- Enhanced: bridges/plugin_bridge.py (subscribe_plugin)
- Enhanced: bridges/plugin_network_bridge.py (setup_data_transfer, send_data)
- Enhanced: services/plugin_service.py (config validation + status tracking)
- Tests: 15/15 passing (10 original + 5 new)
2026-06-10 13:02:33 +08:00
AskaEth 79f7fb86fe Add TOC to plugin dev guide (28 entries) + Android compat fixes 2026-06-10 12:51:18 +08:00
AskaEth ef23957bc8 Fix license in README: MIT -> Apache 2.0 2026-06-10 12:30:19 +08:00
AskaEth 1e2e2f7a27 Add Apache 2.0 License 2026-06-10 12:29:31 +08:00
AskaEth e6875f0b4b 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)
2026-06-10 12:28:05 +08:00