Lavish-axi 总体架构解析:CLI、本地服务器与沙箱 iframe 如何协同工作

发布时间:2026/9/26 6:19:47

Lavish-axi 总体架构解析:CLI、本地服务器与沙箱 iframe 如何协同工作 Lavish-axi 总体架构解析CLI、本地服务器与沙箱 iframe 如何协同工作【免费下载链接】lavish-axiHTML is the new markdown. Lavish is the new editor for your HTML artifacts.项目地址: https://gitcode.com/gh_mirrors/la/lavish-axiLavish-axiLavish Editor是一个本地优先的 HTML 产物协作编辑器采用「CLI 本地服务器 沙箱 iframe」三层架构Agent 写好 HTML 文件后用lavish-axi 文件一条命令在本地浏览器打开用户可以直接圈选元素、批注文本、编辑 Mermaid 白板再通过长轮询把反馈送回给 Agent。整个闭环不依赖云端本文带你快速看懂这三层是如何协同的。整体架构一次反馈是如何流动的Lavish 的协作回路可以拆成 4 步Agent 产出产物Agent 按用户请求生成一个 HTML 文件计划、对比表、架构图、报告等CLI 打开评审界面lavish-axi html-file确保本地服务器在运行并在浏览器中打开该文件的评审页用户做标注在页面里点选元素、选中文字批注、排队提示词或把布局问题从收件箱里批量加入队列Agent 轮询取回lavish-axi poll html-file长轮询等待用户一提交反馈就原路返回给 Agent。这个流程在 README 的 How It Works 一节中有完整的 ASCII 流程图核心设计是**「文件路径即身份」**会话以 HTML 文件的路径为键sessionKey 用规范路径的 sha256 前 16 位作键Agent 无需处理任何不透明 ID直接说文件名即可。第一层CLI 与后台服务器的进程模型CLI 是整个架构的入口源码入口为 cli.js核心命令有命令作用lavish-axi html-file打开或恢复一个评审会话openCommandlavish-axi poll html-file长轮询等待用户反馈pollCommandlavish-axi export / share导出单文件 HTML / 发布到第三方托管lavish-axi stop关闭后台服务器它的关键设计是「一个后台服务器服务所有会话」CLI 以分离detached方式拉起lavish-axi server子进程startServer然后轮询/health接口拿到{ ok, app, version }才认为就绪之后每次调用 CLI都会先探测本机是否已有同版本服务器ensureServer有则复用、版本旧则优雅替换因此多个 Agent 在同一台机器上可以共享同一个服务器和同一份会话状态会话状态统一存放在~/.lavish-axi/state.json可用LAVISH_AXI_STATE_DIR改服务器空闲 30 分钟自动退出零云依赖。服务器本体是 server.js约 3000 行的 Express 应用它承担三个角色评审页服务、产物文件服务器、反馈事件总线基于 WebSocket 的实时通道 EventEmitter长轮询。第二层沙箱 iframe —— 产物如何被安全地打开打开评审页后页面结构是「外框 内嵌 iframe」外框chrome 页由 createChromeHtml 生成负责对话面板、批注卡片、发送按钮等 UI内嵌的 iframe 指向/artifact/:key/index.html加载的就是 Agent 写的那个 HTML 文件本身。安全隔离是这层的核心规则很清晰iframe 使用sandbox属性allow-scripts allow-forms allow-popups等没有allow-same-origin产物脚本拿不到外框 DOM 的任何特权内外通信只能走postMessage。为了让产物可批注服务器在产物响应时只做一处注入——injectLavishSdk 在/body前追加一个script src/sdk.js?key...标签。这个小 SDKartifact-sdk.js在 iframe 内提供元素/文本批注、DOM 快照、渲染期布局体检以及白板和表格语义解析。这个最小注入原则带来一个重要好处保存在磁盘上的 HTML 文件与直接双击打开时渲染效果完全一致Lavish 不往产物里塞任何设计系统或标记。一个有趣的延伸如果你要求 Agent 输出可编辑的 Mermaid 白板渲染出的每张 Mermaid 图都会被 SDK 替换成内嵌的 Excalidraw 画布点击即可解锁编辑实现见 whiteboard-core.js、whiteboard-store.js编辑摘要随反馈送回后Agent 只需更新产物里的 Mermaid 源码——源码始终是权威导出文件仍然是普通 Mermaid。第三层长轮询反馈回路 —— 把用户的话送回 Agent这是三层协同的最后一公里设计上有几个值得新手理解的点排队与送达分离用户在批注卡片或对话面板里提交的内容先进入服务器队列浏览器立即显示已排队气泡poll命令返回时反馈即被消费所以 Agent 端拿到后要完整读取响应轮询是有独占性的同一会话同一时刻只有一个poll持有者第二个并发poll会收到类型化错误而不是静默等待响应字段顺序是契约prompts、artifact_failures、next_step都排在可能很大的dom_snapshot之前即使 Agent 截断输出用户的原话和下一步指令也不会丢断线不丢反馈poll 被中断或超时后重跑是安全的队列里的反馈一直保留到真正交付为止。布局问题收件箱Layout issues也走同一条路SDK 在 iframe 内被动体检产物溢出、文字被裁切、遮挡等问题只进收件箱、永不主动唤醒 Agent——只有用户点击Queue selected fixes把问题批量入队后才会作为一条普通反馈随发送到达 Agent。这是刻意的被动检测设计避免自动修复的来回折腾。安全边界本地服务器不是免检通道虽然默认只监听127.0.0.1Lavish 仍给本地服务器加了两道全局中间件Host 头白名单拒绝任何Host缺失或不属于本服务器的请求用于防御 DNS rebinding 攻击Origin/Referer 守卫所有会改变状态的接口提交反馈、上传附件、发布分享等只接受来自自家评审页的同源请求无头请求的 CLI 控制通道则不受影响。另外会话键是派生而非秘密知道文件路径就等于知道会话键所以任何接口都不把持有键当作授权依据。附件上传也做了内容寻址id 是文件内容的 sha256 尺寸配额 参考计数清理路径完全由服务器决定客户端无法指向任意文件。关键模块路径速查模块职责src/cli.js全部 CLI 命令、服务器拉起与探测逻辑src/server.jsExpress 服务器、评审页与产物路由src/html-transform.js产物 SDK 注入唯一改动点src/artifact-sdk.jsiframe 内批注/快照/布局体检 SDKsrc/session-store.js会话状态、反馈队列与文件路径会话键src/layout-warnings.js布局问题生命周期指纹、状态机src/export-bundle.js本地资源内联的导出/分享打包src/whiteboard-core.jsMermaid → Excalidraw 白板核心总结三层各司其职CLI是 Agent 侧的唯一接口负责会话编排与反馈交付零安装即可npx -y lavish-axi运行本地服务器是所有会话共享的中枢负责状态持久化、实时事件与安全边界沙箱 iframe让任意 Agent 产出的 HTML 在隔离环境里既活着可交互、可批注又安全无同源特权且不改一个字节地保存。三者通过「文件路径做身份 postMessage 通信 长轮询交付」串成一个完整的 Human-AI 评审闭环——这正是 Lavish 把HTML is the new markdown落地的方式。想继续深入了解可以阅读 AGENTS.md 中的架构章节与 README.md 的完整 CLI 参考。【免费下载链接】lavish-axiHTML is the new markdown. Lavish is the new editor for your HTML artifacts.项目地址: https://gitcode.com/gh_mirrors/la/lavish-axi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/26 6:19:47

人形机器人真正的瓶颈不是硬件,而是数据

人形机器人是不是又要泡沫了,这两年被问得最多的就是这个问题。每次发布会开完,总有人拿着电机峰值扭矩、关节自由度、灵巧手抓握力这些参数反复对比,朋友圈里各种拆机报告、供应链图谱满天飞。但你要是真跑到产线上、实验室里蹲一段时间就会…

2026/9/26 6:14:47

猎头行业AI搜索实战:GEO让机构在AI回答中被提名引用

最近半年,我身边不少猎头同行都被“AI搜索”和“GEO”这两个词搞得心神不宁。群里天天有人转发所谓GEO服务商案例,可你问他GEO到底是什么、猎头应该怎么落地,十个有九个答不上来。我给人力和猎头机构做了多年招聘营销陪跑,今天就把…

2026/9/26 6:14:47

CodeBuddy IDE:面向工业协议开发的定制化交互式环境

1. CodeBuddy IDE 是什么?它不是另一个“套壳编辑器”我第一次听说 CodeBuddy IDE,是在帮一家做工业边缘网关的客户排查固件升级失败问题时。他们工程师甩给我一个截图:IDE 界面左下角赫然写着 “CodeBuddy v2.4.1”,但整个工作流…

2026/9/26 7:29:50

Zabbix集中式监控实战:Windows服务器TCP连接数采集与运维方案

干运维这些年,服务器监控这事我从最早的脚本巡检一路折腾到集中式管理平台,中间踩过的坑能写满一个笔记本。今天要分享的是我刚落地的一套 V5.0 集中式监控方案。这个版本的核心思路就一句话:所有采集动作都收敛到监控服务器这一台机器上&…

2026/9/26 7:29:50

从传统ETL到全域数据平台:架构演进、实时集成与湖仓一体实践

做了十几年数据集成,我越来越觉得ETL这个词已经装不下现代数据平台的复杂度。早年我们谈ETL,就是抽取、转换、加载,三个动词撑起一整套数仓。现在再聊数据集成架构,你得面对实时流、湖仓一体、数据血缘、数据服务化、元数据治理这…

2026/9/26 7:29:50

Java开发者首选的中间件:Redis从入门到实战全攻略

1. 为什么我把 Redis 列为 Java 学习者第一个必学的中间件做后端开发这几年,我带过不少实习生和转行的朋友,被问得最多的一个问题就是:“Java 基础学完了,Spring Boot 也会用了,接下来到底该学什么才能开始找工作/开始…

2026/9/26 7:29:50

分布式锁选型与避坑指南:Redis、ZooKeeper、etcd深度对比

1. 上篇讲了什么,这篇该重点读哪里如果你手边正同时开着 Redis、ZooKeeper 和 etcd 的文档,再对照着读这篇文章,说明你已经进入了分布式锁的正确状态。我在上篇把分布式锁最基础的东西讲透了,包括它用来解决什么问题、数据库行锁怎…

2026/9/26 7:29:50

杭电OJ刷题指南:从A+B到Accepted的完整路线与避坑技巧

简介:杭州电子科技大学OJ题库离线HTML快照,适合编程初学者、算法爱好者及ACM/ICPC备赛者使用。压缩包内共5743个html文件,整体大小53.36MB,每个文件以题目ID命名,对应题库中的具体题号,涵盖排序、搜索、图论…

2026/9/26 7:24:50

Spring Boot 3 + LangChain4j 构建企业级RAG应用实战

1. 这不是“又一个Spring Boot教程”,而是企业级AI应用落地的实操切口我带过三支不同行业的AI工程团队,从金融风控到制造业知识管理,最常被问的问题不是“大模型怎么调参”,而是:“老板说下周要上线一个制度问答助手&a…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑