首页/新闻资讯/正文详情

OpenChamber 新特性前瞻:Session Timeline 时间线视图、扩展浏览器代理与全类型文件预览

发布时间:2026/9/25 15:35:22 来源:云帆数科 栏目:资讯中心
OpenChamber 新特性前瞻:Session Timeline 时间线视图、扩展浏览器代理与全类型文件预览
AI Agent人工智能代码智能体交互助手【免费下载链接】openchamberAgentic Development Environment based on OpenCode AI agent项目地址https://gitcode.com/gh_mirrors/op/openchamber点击查看免费下载本文基于仓库中 changelog/unreleased.md 记录的下一个未发布版本内容结合packages/ui、packages/sdk的源码与测试逐条拆解 OpenChamber 即将带来的三大核心能力——会话时间线视图、让扩展接管 Agent 浏览器的 Service 协议、以及可直接在应用内预览音视频 / CSV / 字体 / 图表等非文本文件的能力同时覆盖移动端、桌面端与 VS Code 扩展的改进与修复清单。读完本文你将清楚每个新特性的使用方式、对应的配置字段与底层实现位置可以直接对照源码深入验证。一、版本概览一份未发布变更日志说了什么changelog/unreleased.md是 OpenChamber 仓库中跟踪下一个版本变更的文档它采用App / SDK / VS Code三段式结构分别记录三端主应用、扩展 SDK、VS Code 扩展的New、Improvements与Fixes。与已发布版本日志不同这份文件没有被固定版本号约束内容随开发持续累积因此它是对正在路上的能力最及时、最贴近实现的观测窗口。本次变更的核心主题可以概括为三件事会话时间线视图侧边栏新增Timeline与Grouped两种视图切换让最近会话以一条按时间排列的纵向列表呈现扩展成为 Agent 的浏览器一个已安装的扩展可以声明service.provides: [browser]代替应用内浏览器响应 Agent 的browser.*动作并通过service.surface: true在侧栏rail展示实况画面用户可以点击接管、再交还给 Agent文件预览全面升级音频 / 视频 / CSV 表格 / 字体 / 图表如 Mermaid、SVG等非文本文件可直接在文件面板中查看Agent 还可以把生成的文件主动打开给你检查。二、新功能Session Timeline 会话时间线视图2.1 Grouped / Timeline 双视图切换变更日志原文Session timeline:the sidebar gets a Timeline view with a Grouped/Timeline switch, so recent sessions read as one chronological list.其实现细节记录在 packages/ui/src/components/session/sidebar/DOCUMENTATION.md 的 Timeline view 一节中可归纳为以下行为视图模式由 profile 作用域、按显示表面surface存储的sidebarViewMode控制在projects与timeline之间切换VS Code 没有该开关始终渲染projects。Timeline 保留受管理的 Chats 区但初始展示条数从常规的 Chats 限制改为 3 条置顶聊天始终显示、不占用该限额Show more / Show fewer只统计未置顶的行。Chats 行以renderContext: timeline-chat渲染单行、无左侧沟槽、置顶与状态点放在右侧时间旁边。折叠某个区头会重置其 Show more 状态。区头zone header行为不同在 projects 视图中区头是粘性的在 timeline 中从不粘性timeline 的区头去掉前导图标、使用更高的带条。Chats 区之下渲染一个timeline活动区头随后把所有项目与 worktree 的全部非归档根会话放进一个扁平列表按共享生命周期顺序排列置顶会话排在最前没有 reveal 限额列表是虚拟化的。Timeline 行携带renderContext: timeline、深度为 0、无子节点不可展开、无 chevron、无文件夹、无项目头、无 worktree 分组、也没有 Recent 投影。由于文件夹不投影行菜单隐藏Move to folder归档 / 删除动作仍覆盖整个子树collectSessionSubtreeIds在执行时从全局缓存解析后代。分支标签在每行都显示recent/sessionLocation.ts是会话所属项目、目录、worktree 与分支标签的唯一解析者先走会话归属索引受管理的 worktree 位于项目路径之外再回退到路径前缀匹配并以最长前缀找到所在 worktree。分支标签是live-first的实时 Git 状态优先于已发现的 worktree 元数据。Timeline 行自身的渲染组件是 packages/ui/src/components/session/sidebar/sessions/SessionTimelineRowBody.tsx第一行固定 20px 高放项目图标 项目标签 元数据目录指示、置顶标记、状态点、时间槽第二行是标题第三行按需显示分支标签、PR 徽章、zombie 指示与徽章。紧凑模式compact下则合并为单行。2.2 搜索规则与一致的行元数据Timeline 的搜索与 Recent 使用同一规则以ses_开头则只匹配完整会话 ID大小写不敏感、忽略两侧空白否则按标题包含匹配每个列出的行计一次命中。会话行、置顶标记、分支标签、PR 状态都复用同一套解析器因此同一会话在 Recent、Timeline 与项目分组中看到的分支信息保持一致。三、新功能扩展作为 Agent 的浏览器Browser Provider Shared Surface这是本次变更中协议层面最重的一项。变更日志原文Extensions as the agents browser:an installed extension can stand in for the agents browser, with a Browser provider dropdown in Settings and a live picture in the rail that you can click to take over and hand back to the agent.SDK: Services can declareservice.provides: [browser]to answer the agents browser actions andservice.surface: trueto show a live picture users can take over and hand back.也就是说宿主Host的openchamber_web工具发出的browser.*动作可以不再路由到应用内浏览器视图而是路由给一个服务扩展同时该扩展还可以把实时画面推给宿主由宿主画在侧栏面板里用户点击即可接管输入、再交还给 Agent。两份关键协议文档位于 SDKpackages/sdk/src/service-providers.tsBrowser Provider 契约packages/sdk/src/service-surface.tsShared Surface共享画面契约。3.1 Browser Provider 契约动作、参数与超时contributes.service.provides: [browser]声明扩展可以代替宿主角色。从 packages/sdk/src/service-providers.ts 看宿主把每个动作 POST 到服务回环地址上的/browser-control路径BROWSER_PROVIDER_PATH动作全集为动作关键参数返回值要点browser.openurl、可选viewportmobile/tablet/desktop/fillurl、title、settledfalse 表示页面仍在加载、viewport 摘要browser.snapshot可选selectortext、elements[]含 selector、tag、bounds、inViewport、role、label 等、consoleProblems页面日志的警告与错误browser.click可选selector/textclicked、label、urlbrowser.typeselector、value、submitselector、urlbrowser.scroll可选selector、directionup/down/top/bottomscrollY、maxScrollY、atTop、atBottom等browser.back/browser.forward无url、titlebrowser.inspectselector元素 bounds、styles、可访问性信息browser.capture可选labelbase64截图、mime、宽高由宿主写入项目并交给 Agent 路径browser.resizeviewport新的 viewport 摘要协议层的时间预算与上限同样定义在此文件这些是宿主强制的约束BROWSER_PROVIDER_OPEN_TIMEOUT_MS 45_000browser.open允许等待慢页面其余动作默认BROWSER_PROVIDER_ACTION_TIMEOUT_MS 20_000BROWSER_PROVIDER_RESPONSE_MAX 12_000_000单次响应上限截图最大BROWSER_PROVIDER_IDLE_MS 10 * 60_00010 分钟无动作后宿主停止服务下一次动作再拉起它——服务按需启动不需要常驻每个请求带requestId与contextdirectory、sessionId宿主从工具调用填充、模型从不手写服务可据此按项目或会话维护独立浏览器null视作未知作用域而非独立作用域。服务端解析入口是readBrowserProviderRequestpackages/sdk/src/service-providers.ts它信任宿主已经校验过参数只检查信封requestId / action / parameters / context因此服务 bundle 不需要引入 schema 库。错误响应约定error字段会被 Agent 读取应写下一步该怎么做如 No element matches #save而不是内部崩溃信息。3.2 Shared Surface 契约帧、输入与控制权service.surface: true声明服务向宿主展示某个 Agent 正在操作对象的实况画面浏览器、模拟器、桌面应用并接收用户的指针与键盘输入。协议定义在 packages/sdk/src/service-surface.ts宿主在扩展的侧栏面板中绘制画面服务只负责产帧与消费输入GET /surface/frame?afterseqwaitms返回比seq更新的下一帧最长等待waitms200 返回图片字节Content-Type为image/jpeg或image/png并携带x-surface-seq/x-surface-width/x-surface-height/x-surface-title/x-surface-agent-active头没有新帧则 204。序列号从 1 开始after0表示当前画面。宿主每个查看者一次只请求一帧——这就是背压机制慢的查看者不会堆积帧。POST /surface/input{ events: SurfaceInputEvent[] }坐标使用帧像素只在用户持有控制权时发送。事件类型包括pointerdown/up/move带 button 位掩码与修饰键、wheel、keydown/up带key与code、text粘贴或组合输入。POST /surface/control{ controller }取值为none/agent/user控制权变化时通知服务可在用户介入时暂停自己的自动化。POST /surface/resize{ width, height }服务应答它最终采用的尺寸或返回 400 保持自己的尺寸。GET /surface/clipboard{ text }用户在画面内复制的内容由宿主放入剪贴板。帧与输入侧的硬性上限帧请求等待SURFACE_FRAME_WAIT_MS 25_000ms、单帧最大8_000_000字节、单次输入批次最多 256 个事件、单事件文本最长 64_000、标题最长 200、维度上限 16_384。Agent 动作之后Agent 被视为持有控制SURFACE_AGENT_HOLD_MS 30_000ms。3.3 声明方式manifest 与校验service的声明在 manifest 的contributes中类型定义见 packages/sdk/src/manifest.ts{ apiVersion: 1, contributes: { service: { entry: service/main.js, runtime: host, permissions: { /* 可选sockets / exec */ }, provides: [browser], // 可选代替宿主角色 surface: true // 可选提供共享实况画面 } } }关键校验规则来自 packages/sdk/src/parse.ts 与 packages/sdk/src/parse.test.tsGUEST_SERVICE_PROVIDES [browser]目前只支持这一个角色重复provides或未知角色会被拒绝为invalid-service提供了角色的服务不需要 panel 或 background entry宿主在第一次动作时拉起它surface必须是字面量truesurface: false会报invalid-service若同时声明panel.entry与surface: truepanel.docktop/bottom/left/right默认top与panel.size24480 CSS px默认 40会把面板页停靠在画面的一侧形成工具栏 / 检查器 / 工具列两者必须与service.surface同时存在才合法否则invalid-panelprovides或surface任意一个存在即自动申请service能力安装时需用户批准。四、新功能文件预览与Agent 打开文件给你看4.1 文件面板中的非文本预览变更日志原文File previews:play audio and video, browse CSV tables, inspect fonts, and view diagrams directly in the files panel.实现集中在 packages/ui/src/components/views/files/previews/FilesView.renderArtifactPreview是停靠式与全屏式两个查看器共用的唯一分派入口见 packages/ui/src/components/views/files/DOCUMENTATION.md音频 / 视频MediaArtifactMediaArtifact.tsx使用浏览器原生播放器preloadmetadata读取时长与视频的宽高显示在元数据栏运行环境无法解码的编码器会以明确的无法播放状态呈现并给出下载入口而不是显示一个死掉的播放器。非文本且必须由浏览器拥有的资源PDF、音频、视频、字体通过getRuntimeUrlResolver().authenticatedAsset(/api/fs/raw, …)携带作用域 URL token 加载服务器流式响应字节范围以支持播放 seek。CSV / TSV 表格TableArtifactTableArtifact.tsx把分隔文本解析为网格粘性表头、等宽字体单元格并对行数设有硬上限以保证大导出也能渲染——上限会明确写在元数据栏里2,000 行与仅前 2,000 行含义不同不会隐藏。字体FontArtifactFontArtifact.tsx提供字体样张type specimen把字体注册到一次性的FontFace家族名oc-font-preview-*仅在该文件打开期间存在标签页关闭即从document.fonts移除避免被应用其他部分意外使用以 48 / 32 / 24 / 18 / 14 px 五档字号展示样本并给出字母、数字、符号的字形行。图表SVG、Mermaid.mmd与分隔文件是带 artifact 视图的文本每个文件都有按路径的 预览/源码 切换并且无论默认以文本打开设置如何都会以预览方式打开——因为 Agent 产出的 artifact 被打开就是为了让人看。图片ImageArtifact支持 fit 或 1:1 显示自然尺寸仍走 object-URL />赞分享AI Agent人工智能代码智能体交互助手【免费下载链接】openchamberAgentic Development Environment based on OpenCode AI agent项目地址https://gitcode.com/gh_mirrors/op/openchamber点击查看免费下载相关推荐Furion与前端框架集成React、Vue、Angular完美协作指南Furion与前端框架集成React、Vue、Angular完美协作指南 Furion是一个让.NET开发更简单、更通用、更流行的开源框架它不仅提供了强大的后端Web框架foobox-cn重构foobar2000默认用户界面的模块化皮肤配置方案foobox cn重构foobar2000默认用户界面的模块化皮肤配置方案 在数字音乐播放领域foobar2000以其卓越的音频处理能力和高度可定制性赢得了桌面应用音视频Harmony未来展望路线图与新特性预览Harmony未来展望路线图与新特性预览 Harmony 作为一款强大的.NET运行时方法修补库正在不断演进以满足现代软件开发的需求。这款终极的.NET方法开发工具上一篇Mealie 2024 年 10 月用户调查深度解析Recipe食谱功能改进建议全景解读下一篇QQ音乐加密歌单打不开QMCDecode免费解密工具极速上手指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Atlas 300V部署YOLO全流程:从环境配置到性能实测与踩坑记录
Atlas 300V部署YOLO全流程:从环境配置到性能实测与踩坑记录

前阵子一位做安防项目的朋友,拿着块 Atalas 300V 24G 的卡过来问我:这玩意儿是不是运算加速卡?我说是,但你得先搞清楚,它加速的是“推理”,不是“训练”。后来他又问,现有这套 YOLO 检测模型能不… · 2026/9/25 15:35:10

国产麒麟系统安装部署OpenClaw完整指南(适配V10/VSP)国产操作系统的AI智能体部署
国产麒麟系统安装部署OpenClaw完整指南(适配V10/VSP)国产操作系统的AI智能体部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 15:35:10

Flink+Iceberg实时数据湖落地指南:链路搭建、参数调优与避坑实践
Flink+Iceberg实时数据湖落地指南:链路搭建、参数调优与避坑实践

简介:实时数据处理正在从传统的Lambda架构向流批一体演进,核心挑战在于如何在持续写入的同时保证数据的一致性、可回溯性与查询性能。Iceberg作为一种表格式而非存储引擎,通过快照和ACID机制,让Flink的流式写入能够组织成结构清晰… · 2026/9/25 15:35:10

AI时代FDE前线部署工程师:从需求勘探到交付的实战方法论
AI时代FDE前线部署工程师:从需求勘探到交付的实战方法论

1. 从"实现不再是瓶颈"说起:FDE 到底在解决什么问题这两年跟不少做研发的朋友聊天,大家有个共同的感受:写代码这件事本身,正在变得越来越不"值钱"。不是说代码不重要,而是说"把需求翻译成能跑… · 2026/9/25 15:56:36

Atlas 300V 24G推理卡部署YOLO:从ONNX到OM全流程与调优实践
Atlas 300V 24G推理卡部署YOLO:从ONNX到OM全流程与调优实践

最近在技术群里连续被问了好几次同一个问题:“Atlas 300V 24G 是运算加速卡吗?”紧接着下一句通常是:“我想用它部署 YOLO,能不能直接当显卡用?”老实说,这两个问题放在一起,恰好是很多刚接触昇… · 2026/9/25 15:56:36

Atlas 300V 24G部署YOLO:AI推理加速卡环境搭建与模型转换实战
Atlas 300V 24G部署YOLO:AI推理加速卡环境搭建与模型转换实战

很多人第一次拿到Atlas 300V 24G的时候,都会有一个很朴素的疑问:这东西到底是不是运算加速卡?答案很明确,是一块实打实的AI推理加速卡。但它和我们平时听说的游戏显卡、通用GPU不是一回事,如果你指望拿它去渲染画面&am… · 2026/9/25 15:56:36

SpringBoot整合MQTT实现软硬件通信实战
SpringBoot整合MQTT实现软硬件通信实战

1. 项目概述:为什么软硬件通信必须跨过“协议鸿沟”在工业现场、智能楼宇、农业物联网这些真实场景里,我见过太多团队卡在同一个地方:后端服务写得再漂亮,前端页面再炫酷,一到要跟温湿度传感器、PLC控制器、电表采集器… · 2026/9/25 15:56:17

Atlas 300V 24G实战:从PyTorch到昇腾的YOLO模型迁移与部署
Atlas 300V 24G实战:从PyTorch到昇腾的YOLO模型迁移与部署

1. 一张加速卡,为什么值得单独写一篇先说结论:Atlas 300V 24G 确实是运算加速卡,而且还是目前边缘端推理部署里相当能打的一类硬件。这两年 AI 项目落地时,很多团队在 GPU 和国产加速卡之间反复纠结,我自己的实测感受是… · 2026/9/25 15:56:05

Atlas 300V实战:基于昇腾AI加速卡的YOLO推理部署全攻略
Atlas 300V实战:基于昇腾AI加速卡的YOLO推理部署全攻略

1. Atlas 300V到底是什么先说结论:Atlas 300V Pro(也就是大家常说的Atlas 300V 24G)确实是一块运算加速卡,但它不是普通意义上的“显卡”。它是一块专门为AI推理设计的加速卡,主要任务是把已经训练好的深度学习模型&am… · 2026/9/25 15:56:05

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码