- main.py: 4360 → 146 lines (96.6% reduction), entry layer only - services/: rate_limiter, autostart, persona, connection, profile, hotspot, content, engagement, scheduler, queue_ops (10 business modules) - ui/app.py: all Gradio UI code extracted into build_app(cfg, analytics) - Fix: with gr.Blocks() indented inside build_app function - Fix: cfg.all property (not get_all method) - Fix: STATUS_LABELS, get_persona_keywords, fetch_proactive_notes imports - Fix: queue_ops module-level set_publish_callback moved into configure() - Fix: pub_queue.format_*() wrapped as queue_format_table/calendar helpers - All 14 files syntax-verified, build_app() runtime-verified - 58/58 tasks complete"
1002 B
1002 B
ADDED Requirements
Requirement: 开机自启管理函数迁移至独立模块
系统 SHALL 将开机自启相关常量和函数从 main.py 提取至 services/autostart.py,包括:_APP_NAME、_STARTUP_REG_KEY、_get_startup_script_path、_get_startup_bat_path、_create_startup_scripts、is_autostart_enabled、enable_autostart、disable_autostart、toggle_autostart。
Scenario: 模块导入成功
- WHEN
main.py执行from services.autostart import toggle_autostart, is_autostart_enabled - THEN 函数可正常调用
Scenario: Windows 注册表操作行为不变
- WHEN
enable_autostart()在 Windows 系统上被调用 - THEN SHALL 向注册表
HKCU\Software\Microsoft\Windows\CurrentVersion\Run写入启动项,行为与迁移前完全一致
Scenario: 非 Windows 平台处理不变
- WHEN
enable_autostart()在非 Windows 系统上被调用 - THEN SHALL 返回与迁移前相同的平台不支持提示信息