### Problem / 问题 讲解动态过程、可调参数、空间关系时(排序过程、复利曲线、网络时序、预算构成……),纯文字和 Mermaid 都不够直观。对话区目前只渲染 Markdown,模型没办法给出一个能拖滑块、悬停看数值的小页面。ZCode、Codex 桌面版都已经有类似的内联可视化。 ### Proposed change / 期望改动 - 模型把一个 HTML 片段写到会话专属目录,在回复末尾加一行 `::visualize{"path":"…","title":"…"}`,对话区把它渲染成内联卡片。 - 卡片在沙箱 iframe 里运行:不能联网、不能读宿主页面或本地文件、没有弹窗和表单;跟随应用主题,高度自适应,可展开到大窗口查看。 - 内置一个 `visualize` skill 教模型写法,附带离线打包的图表库(D3)和样式套件,不依赖 CDN。 - 写入只允许该目录下的 `.html` 片段,不弹权限确认;会话删除时一起清理,fork 时复制被引用的片段。远程工作区会话不提供此能力。 ### Alternatives / 其他方案 - 仿 dsh-genui 的 JSON 组件白名单:更安全,但表达力有限,画不了自定义交互图。 - 允许 CDN:库更多,但等于开放任意外部代码和外传通道,暂不采用。 ### Additional context / 补充信息 参考了 ZCode visualize 插件(Apache-2.0)的样式套件和 skill 写法,已在 NOTICE 中署名。我会提交对应 PR。
Activity
feat(shared): add inline visualization contracts
feat(host-core): add a session visualization root
feat(desktop): serve visualizations through a sandboxed pi-genui scheme
feat(agent-runtime): teach agents to write inline visualizations
feat(chat): render visualization references as inline cards
docs: record inline generative UI visualizations
feat(shared): add inline visualization contracts
feat(host-core): add a session visualization root
feat(desktop): serve visualizations through a sandboxed pi-genui scheme
feat(agent-runtime): teach agents to write inline visualizations
feat(chat): render visualization references as inline cards
docs: record inline generative UI visualizations
perf(sessions): cache file-derived session summaries by file identity (…