三角主线:上游 core/ ⇢(HTTP JSON) 中游 plugins/ ⇢(视图分发) 下游 renderer/,core → renderer import 直调构成闭环
核心子模块
HTTP Server 端口体系
AgentHttpServer·ConfigHttpServer·DataHttpServer·ModuleHttpServer·ThemeHttpServer·CoreHttpServer(+ ScraperBridgeServer)- 端口文件:
.agent_port·.config_port·.data_port·.module_port·.theme_port·.core_port - renderer 与 HTML 插件 bridge 均经端口文件发现端口
HTML 插件 · 用户侧主路径
- 产物:
module/index.html + manifest.json(manifest"template":"html") - 创作:
html-creator三栏 IDE · AI 生成 · 一键导出 - 运行:
html_modle本地 HTTP + WebView +platform.*JS Bridge - 主题:
--evg-*CSS 变量实时注入;进程:manifestprocess白名单(fail-closed)
开发者模式 · 高级能力
ModuleDispatch 自动选视图(弃用 descriptor.ui)
template非空且非 v4 → TemplateRegistry.render(html / scraper / theme-creator / skill-creator / dsh / zju)pages非空 → TemplateRegistry.render(v4 composite)workspace.enabled→ EditorView;ai-assistant → ChatControllerView;其他 → DefaultView 兜底
模板注册表
templates_index.json 生成 · release profile tree-shake 裁剪 · 未知配置静默回退
html_modle 机制
- 本地 HTTP(127.0.0.1 随机端口)+ WebView(Windows webview_windows / Android webview_flutter)+ JS Bridge 双通道
- 特例:html-creator 走 Dart 原生 HtmlCreatorView(不启 WebView)
runApp(ProviderScope overrides) → EvergreenApp —— 注入 registry / orchestrator / servers / agent / theme / skin / v2Manifests
get(name) 缓存优先读取 · list() 数据源清单 · refresh(name) 读缓存 · subscribe(name, fn) 订阅变化(data:changed)· testConnectivity() 连通性测试
chat(prompt, style) → POST /agent/chat(AgentHttpServer);style 可选 explanatory / learning / concise / socratic
call(service, path, {method, body}) → agent / config / data / module / theme / core 六组服务通用转发,端口来自 .xxx_port 端口文件
get(key) 读取 · set(key, value) 写 ConfigHttpServer 并同步 .greenix/config.json
get / set / remove / clear / list → 模块私有 storage.json;同时注册为数据源 <id>_storage
getColors() 返回 8 语义色;--evg-* CSS 变量注入,主题切换实时推送(theme:changed)
run / start / write / stop / read / onOutput / onExit → manifest process 白名单 fail-closed;scope:"long" 常驻
页级事件:PageEventBus 广播与订阅,同页跨栏 / 模块联动
plugins/<id>/module/index.html + manifest.json("template":"html"),由 html-creator 创作、html_modle(本地 HTTP + WebView + JS Bridge)运行;「JSON 声明 + .exe」已降级为开发者模式 / 高级能力。② 渲染机制 —— 弃用 renderMode 双渲染表述:ModuleDispatch 按 template / pages / workspace 自动选视图(不再使用 descriptor.ui),经模板注册表路由 v4 / html / scraper / theme-creator / skill-creator / dsh / zju 等。
③ 装配流程 —— main.dart 经 AppBootstrap 25 步启动(详见上方详情卡逐站点亮)。
④ 保留仍正确的核心 —— core/ 纯 Dart 服务层不画像素、renderer/ 只消费 core barrel API、HTTP 端口体系与 JS Bridge 能力表。